public function __construct($objParentObject, $intEntityQtypeId = null, $strControlId = null) { // First, call the parent to do most of the basic setup try { parent::__construct($objParentObject, $strControlId); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } $this->objParentObject = $objParentObject; $this->intEntityQtypeId = $intEntityQtypeId; $this->chkEntityView = new QCheckBox($this); $this->chkEntityEdit = new QCheckBox($this); $this->chkBuiltInView = new QCheckBox($this); $this->chkBuiltInView->Enabled = false; $this->chkBuiltInView->Checked = true; $intRoleId = QApplication::QueryString('intRoleId'); if ($intRoleId) { $objBuiltInViewAuth = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId($intRoleId, $intEntityQtypeId, 1); } if (isset($objBuiltInViewAuth)) { $this->chkBuiltInView->Checked = $objBuiltInViewAuth->AuthorizedFlag; } $this->chkBuiltInEdit = new QCheckBox($this); if ($intRoleId) { $objBuiltInEditAuth = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId($intRoleId, $intEntityQtypeId, 2); } if (isset($objBuiltInEditAuth)) { $this->chkBuiltInEdit->Checked = $objBuiltInEditAuth->AuthorizedFlag; } // Load all custom fields and their values into an array arrCustomChecks $objCustomFieldArray = CustomField::LoadObjCustomFieldArray($intEntityQtypeId, false, null); foreach ($objCustomFieldArray as $objCustomField) { $chkCustomView = new QCheckBox($this); $chkCustomEdit = new QCheckBox($this); $objEntityQtypeCustomField = EntityQtypeCustomField::LoadByEntityQtypeIdCustomFieldId($intEntityQtypeId, $objCustomField->CustomFieldId); if ($objEntityQtypeCustomField) { $objCustomAuthView = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId($intRoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 1); if ($objCustomAuthView) { $chkCustomView->Checked = $objCustomAuthView->AuthorizedFlag; } $objCustomAuthEdit = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId($intRoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 2); if ($objCustomAuthEdit) { $chkCustomEdit->Checked = $objCustomAuthEdit->AuthorizedFlag; } } $this->arrCustomChecks[] = array('name' => $objCustomField->ShortDescription . ':', 'view' => $chkCustomView, 'edit' => $chkCustomEdit); } }
protected function SetupRoleEntityQtypeCustomFieldAuthorization() { // Lookup Object PK information from Query String (if applicable) // Set mode to Edit or New depending on what's found $intRoleEntityQtypeCustomFieldAuthorizationId = QApplication::QueryString('intRoleEntityQtypeCustomFieldAuthorizationId'); if ($intRoleEntityQtypeCustomFieldAuthorizationId) { $this->objRoleEntityQtypeCustomFieldAuthorization = RoleEntityQtypeCustomFieldAuthorization::Load($intRoleEntityQtypeCustomFieldAuthorizationId); if (!$this->objRoleEntityQtypeCustomFieldAuthorization) { throw new Exception('Could not find a RoleEntityQtypeCustomFieldAuthorization object with PK arguments: ' . $intRoleEntityQtypeCustomFieldAuthorizationId); } $this->strTitleVerb = QApplication::Translate('Edit'); $this->blnEditMode = true; } else { $this->objRoleEntityQtypeCustomFieldAuthorization = new RoleEntityQtypeCustomFieldAuthorization(); $this->strTitleVerb = QApplication::Translate('Create'); $this->blnEditMode = false; } }
protected function chkCustom_Create() { $intRoleId = QApplication::QueryString('intRoleId'); $objCustomFieldArray = CustomField::LoadObjCustomFieldArray($this->intEntityQtypeId, false, null); foreach ($objCustomFieldArray as $objCustomField) { //For each Custom Field, we setup one checkbox for View Access and one for Edit Access $chkCustomView = new QCheckBox($this); $chkCustomView->AddAction(new QClickEvent(), new QAjaxAction('chkCustom_Click')); $chkCustomEdit = new QCheckBox($this); //When we click in a View Checkbox, we need to control the Edit Checkbox Control too in the chkCustom_Click method. $chkCustomView->ActionParameter = $chkCustomEdit->ControlId; //In order to manipulate the RoleEntityQtypeCustomFieldAuthorization table, we need to obtain the EntityQtypeCustomFieldId field. $objEntityQtypeCustomField = EntityQtypeCustomField::LoadByEntityQtypeIdCustomFieldId($this->intEntityQtypeId, $objCustomField->CustomFieldId); if ($objEntityQtypeCustomField) { $objCustomAuthView = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId($intRoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 1); //If Creation Mode, the View Privilege of the Custom Fields is checked by default if (!$this->blnEditMode) { $chkCustomView->Checked = 1; } elseif (isset($objCustomAuthView)) { $chkCustomView->Checked = $objCustomAuthView->AuthorizedFlag; } $objCustomAuthEdit = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId($intRoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 2); //If Creation Mode, the Edit Privilege of the Custom Fields is checked by default if (!$this->blnEditMode) { $chkCustomEdit->Checked = 1; } elseif (isset($objCustomAuthEdit)) { $chkCustomEdit->Checked = $objCustomAuthEdit->AuthorizedFlag; } //if view access is not authorized, edit access won't be authorized if (!$chkCustomView->Checked) { $chkCustomEdit->Enabled = false; $chkCustomEdit->Checked = false; } } //In order to manipulate all the custom checkbox of the entity, we save them in an associated array. $this->arrCustomChecks[] = array('name' => $objCustomField->ShortDescription . ':', 'view' => $chkCustomView, 'edit' => $chkCustomEdit, 'id' => $objCustomField->CustomFieldId); } }
protected function Form_Create() { if (QApplication::QueryString('intDownloadCsv')) { $this->RenderBegin(false); session_cache_limiter('must-revalidate'); // force a "no cache" effect header("Pragma: hack"); // IE chokes on "no cache", so set to something, anything, else. $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time()) . " GMT"; header($ExpStr); header('Content-Type: text/csv'); header('Content-Disposition: csv; filename=skipped_records.csv'); $file = fopen(sprintf("%s/%s_contact_skipped.csv", __TRACMOR_TMP__, $_SESSION['intUserAccountId']), "r"); ob_end_clean(); while ($row = fgets($file, 1000)) { print $row; @ob_flush(); flush(); } QApplication::$JavaScriptArray = array(); QApplication::$JavaScriptArrayHighPriority = array(); $this->RenderEnd(false); exit; } // Create the Header Menu $this->ctlHeaderMenu_Create(); //$this->ctlShortcutMenu_Create(); $this->pnlMain_Create(); $this->pnlStepOne_Create(); $this->Buttons_Create(); $this->intStep = 1; $this->intSkippedRecordCount = 0; $this->blnImportEnd = true; $this->btnRemoveArray = array(); $this->arrItemCustomField = array(); $this->Labels_Create(); $this->objDatabase = Asset::GetDatabase(); // Load Custom Field foreach (CustomField::LoadArrayByActiveFlagEntity(1, EntityQtype::Contact) as $objCustomField) { $this->arrItemCustomField[$objCustomField->CustomFieldId] = $objCustomField; } $this->blnError = true; $intRoleId = QApplication::$objUserAccount->RoleId; $objRoleEntityQtypeBuiltInAuthorization = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId($intRoleId, EntityQtype::Contact, 2); // Check the user have edit permissions if ($objRoleEntityQtypeBuiltInAuthorization && $objRoleEntityQtypeBuiltInAuthorization->AuthorizedFlag) { $this->blnError = false; } if (isset($intCustomFieldIdArray) && count($intCustomFieldIdArray)) { //QApplication::$Database[1]->EnableProfiling(); // Load restrict permisions for Custom Fields $objConditions = QQ::AndCondition(QQ::Equal(QQN::RoleEntityQtypeCustomFieldAuthorization()->RoleId, (string) $intRoleId), QQ::In(QQN::RoleEntityQtypeCustomFieldAuthorization()->EntityQtypeCustomField->CustomFieldId, $intCustomFieldIdArray), QQ::Equal(QQN::RoleEntityQtypeCustomFieldAuthorization()->AuthorizedFlag, false)); $objClauses = array(); array_push($objClauses, QQ::Expand(QQN::RoleEntityQtypeCustomFieldAuthorization()->EntityQtypeCustomField->EntityQtypeCustomFieldId)); array_push($objClauses, QQ::OrderBy(QQN::RoleEntityQtypeCustomFieldAuthorization()->EntityQtypeCustomFieldId)); $arrRoleEntityQtypeCustomFieldAuthorization = RoleEntityQtypeCustomFieldAuthorization::QueryArray($objConditions, $objClauses); if ($arrRoleEntityQtypeCustomFieldAuthorization) { foreach ($arrRoleEntityQtypeCustomFieldAuthorization as $objRoleAuth) { if (array_key_exists($objRoleAuth->EntityQtypeCustomField->CustomFieldId, $this->arrAssetCustomField)) { unset($this->arrAssetCustomField[$objRoleAuth->EntityQtypeCustomField->CustomFieldId]); } } } //QApplication::$Database[1]->OutputProfiling(); } $this->intUserArray = array(); // Load Users foreach (UserAccount::LoadAll() as $objUser) { $this->intUserArray[strtolower($objUser->Username)] = $objUser->UserAccountId; } $this->strAcceptibleMimeArray = array('text/plain' => 'txt', 'text/comma-separated-values' => 'csv', 'text/csv' => 'csv', 'text/x-comma-separated-values' => 'csv', 'application/vnd.ms-excel' => 'csv', 'application/csv' => 'csv', 'text/x-csv' => 'csv'); }
/** * Counts all associated RoleEntityQtypeCustomFieldAuthorizations * @return int */ public function CountRoleEntityQtypeCustomFieldAuthorizations() { if (is_null($this->intEntityQtypeCustomFieldId)) { return 0; } return RoleEntityQtypeCustomFieldAuthorization::CountByEntityQtypeCustomFieldId($this->intEntityQtypeCustomFieldId); }
public static function GetSoapArrayFromArray($objArray) { if (!$objArray) { return null; } $objArrayToReturn = array(); foreach ($objArray as $objObject) { array_push($objArrayToReturn, RoleEntityQtypeCustomFieldAuthorization::GetSoapObjectFromObject($objObject, true)); } return unserialize(serialize($objArrayToReturn)); }
protected function DeleteEntityQtypeCustomFields() { $objEntityQtypeCustomFieldArray = EntityQtypeCustomField::LoadArrayByCustomFieldId($this->objCustomField->CustomFieldId); if ($objEntityQtypeCustomFieldArray) { foreach ($objEntityQtypeCustomFieldArray as $objEntityQtypeCustomField) { // If the EntityQtype needs to be deleted, you must delete EntityQtypeId for all roles in RoleEntityQTypeCustomFieldAuthorization $objRoleEntityCustomAuthArray = RoleEntityQtypeCustomFieldAuthorization::LoadArrayByEntityQtypeCustomFieldId($objEntityQtypeCustomField->EntityQtypeCustomFieldId); if ($objRoleEntityCustomAuthArray) { foreach ($objRoleEntityCustomAuthArray as $objRoleEntityCustomAuth) { $objRoleEntityCustomAuth->Delete(); } } // If there was Asset Type Custom field Delete AssetCustomField if ($objEntityQtypeCustomField->EntityQtypeId == 1) { $this->DeleteAssetCustomFieldAssetModels(); } // If the helper table exists for that EntityQtype delete the columns in the helper table if ($strHelperTableArray = CustomFieldValue::GetHelperTableByEntityQtypeId($objEntityQtypeCustomField->EntityQtypeId)) { $strHelperTable = $strHelperTableArray[0]; $objDatabase = CustomField::GetDatabase(); $strQuery = sprintf("ALTER TABLE %s DROP `cfv_%s`;", $strHelperTable, $objEntityQtypeCustomField->CustomFieldId); $objDatabase->NonQuery($strQuery); } // Delete the EntityQtypeCustomField last $objEntityQtypeCustomField->Delete(); } } }
protected function UpdateFieldLevelAuthorizations() { if ($this->objModuleArray) { //First, we get all the panels that we need to manipulate foreach ($this->objModuleArray as $objModule) { switch ($objModule->ModuleId) { case 2: $arrEntity[] = array('objPanel' => $this->pnlAssets, 'intEntity' => EntityQtype::Asset); $arrEntity[] = array('objPanel' => $this->pnlAssetModel, 'intEntity' => EntityQtype::AssetModel); break; case 3: $arrEntity[] = array('objPanel' => $this->pnlInventory, 'intEntity' => EntityQtype::Inventory); break; case 4: $arrEntity[] = array('objPanel' => $this->pnlCompany, 'intEntity' => EntityQtype::Company); $arrEntity[] = array('objPanel' => $this->pnlContact, 'intEntity' => EntityQtype::Contact); $arrEntity[] = array('objPanel' => $this->pnlAddress, 'intEntity' => EntityQtype::Address); break; case 5: $arrEntity[] = array('objPanel' => $this->pnlShipping, 'intEntity' => EntityQtype::Shipment); break; case 6: $arrEntity[] = array('objPanel' => $this->pnlReceiving, 'intEntity' => EntityQtype::Receipt); break; } } //One Panel= One Entity. For each entity, we must save chkBuiltIn for View and Edit and several CustomChecks, for View and Edit foreach ($arrEntity as $entity) { //We look for the BuiltIn View entry, searching by RoleId, EntityId and authorizationId=1 (View) $objRoleEntityQTypeBuiltInAuthView = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId($this->objRole->RoleId, $entity['intEntity'], 1); // If the entry doesn't exists, we create it. if (!$objRoleEntityQTypeBuiltInAuthView) { $objRoleEntityQTypeBuiltInAuthView = new RoleEntityQtypeBuiltInAuthorization(); $objRoleEntityQTypeBuiltInAuthView->RoleId = $this->objRole->RoleId; $objRoleEntityQTypeBuiltInAuthView->EntityQtypeId = $entity['intEntity']; $objRoleEntityQTypeBuiltInAuthView->AuthorizationId = 1; } $objRoleEntityQTypeBuiltInAuthView->AuthorizedFlag = $entity['objPanel']->chkBuiltInView->Checked; $objRoleEntityQTypeBuiltInAuthView->Save(); //We look for the BuiltIn Edit entry, searching by RoleId, EntityId and authorizationId=2 (Edit) $objRoleEntityQTypeBuiltInAuthEdit = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId($this->objRole->RoleId, $entity['intEntity'], 2); // If the entry doesn't exists, we create it. if (!$objRoleEntityQTypeBuiltInAuthEdit) { $objRoleEntityQTypeBuiltInAuthEdit = new RoleEntityQtypeBuiltInAuthorization(); $objRoleEntityQTypeBuiltInAuthEdit->RoleId = $this->objRole->RoleId; $objRoleEntityQTypeBuiltInAuthEdit->EntityQtypeId = $entity['intEntity']; $objRoleEntityQTypeBuiltInAuthEdit->AuthorizationId = 2; } $objRoleEntityQTypeBuiltInAuthEdit->AuthorizedFlag = $entity['objPanel']->chkBuiltInEdit->Checked; $objRoleEntityQTypeBuiltInAuthEdit->Save(); //We must now save the View and Edit checkboxs values of the Custom checks. if ($entity['objPanel']->arrCustomChecks) { foreach ($entity['objPanel']->arrCustomChecks as $objCustomCheck) { //We look into EntityQtypeCustomFieldId because we need to get EntityQtypeCustomFieldId in order to save into the RoleEntityCustom tables $objEntityQtypeCustomField = EntityQtypeCustomField::LoadByEntityQtypeIdCustomFieldId($entity['intEntity'], $objCustomCheck['id']); //We look for the Custom View entry, searching by RoleId, EntityQtypeCustomFieldId and authorization_id=1(View) $objRoleEntityQtypeCustomFieldView = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId($this->objRole->RoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 1); // If the entry doesn't exists, we create it. if (!$objRoleEntityQtypeCustomFieldView) { $objRoleEntityQtypeCustomFieldView = new RoleEntityQtypeCustomFieldAuthorization(); $objRoleEntityQtypeCustomFieldView->RoleId = $this->objRole->RoleId; $objRoleEntityQtypeCustomFieldView->EntityQtypeCustomFieldId = $objEntityQtypeCustomField->EntityQtypeCustomFieldId; $objRoleEntityQtypeCustomFieldView->AuthorizationId = 1; } $objRoleEntityQtypeCustomFieldView->AuthorizedFlag = $objCustomCheck['view']->Checked; $objRoleEntityQtypeCustomFieldView->Save(); //We look for the Custom View entry, searching by RoleId, EntityQtypeCustomFieldId and authorization_id=2(Edit) $objRoleEntityQtypeCustomFieldEdit = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId($this->objRole->RoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 2); // If the entry doesn't exists, we create it. if (!$objRoleEntityQtypeCustomFieldEdit) { $objRoleEntityQtypeCustomFieldEdit = new RoleEntityQtypeCustomFieldAuthorization(); $objRoleEntityQtypeCustomFieldEdit->RoleId = $this->objRole->RoleId; $objRoleEntityQtypeCustomFieldEdit->EntityQtypeCustomFieldId = $objEntityQtypeCustomField->EntityQtypeCustomFieldId; $objRoleEntityQtypeCustomFieldEdit->AuthorizationId = 2; } $objRoleEntityQtypeCustomFieldEdit->AuthorizedFlag = $objCustomCheck['edit']->Checked; $objRoleEntityQtypeCustomFieldEdit->Save(); } } } } }
/** * Counts all associated RoleEntityQtypeCustomFieldAuthorizationsAsCreatedBy * @return int */ public function CountRoleEntityQtypeCustomFieldAuthorizationsAsCreatedBy() { if (is_null($this->intUserAccountId)) { return 0; } return RoleEntityQtypeCustomFieldAuthorization::CountByCreatedBy($this->intUserAccountId); }
/** * Main utility method to aid with data binding. It is used by the default BindAllRows() databinder but * could and should be used by any custom databind methods that would be used for instances of this * MetaDataGrid, by simply passing in a custom QQCondition and/or QQClause. * * If a paginator is set on this DataBinder, it will use it. If not, then no pagination will be used. * It will also perform any sorting (if applicable). * * @param QQCondition $objConditions override the default condition of QQ::All() to the query, itself * @param QQClause[] $objOptionalClauses additional optional QQClause object or array of QQClause objects for the query * @return void */ public function MetaDataBinder(QQCondition $objCondition = null, $objOptionalClauses = null) { // Setup input parameters to default values if none passed in if (!$objCondition) { $objCondition = QQ::All(); } $objClauses = $objOptionalClauses ? $objOptionalClauses : array(); // We need to first set the TotalItemCount, which will affect the calcuation of LimitClause below if ($this->Paginator) { $this->TotalItemCount = RoleEntityQtypeCustomFieldAuthorization::QueryCount($objCondition, $objClauses); } // If a column is selected to be sorted, and if that column has a OrderByClause set on it, then let's add // the OrderByClause to the $objClauses array if ($objClause = $this->OrderByClause) { array_push($objClauses, $objClause); } // Add the LimitClause information, as well if ($objClause = $this->LimitClause) { array_push($objClauses, $objClause); } // Set the DataSource to be a Query result from RoleEntityQtypeCustomFieldAuthorization, given the clauses above $this->DataSource = RoleEntityQtypeCustomFieldAuthorization::QueryArray($objCondition, $objClauses); }
protected function chkCustomFieldsForAll_Create() { $this->chkCustomFieldsForAllModels = new QCheckBoxList($this); $this->chkCustomFieldsForAllModels->Name = 'Asset Custom Fields for all Models:'; $arrAssetCustomFieldOptions = EntityQtypeCustomField::LoadArrayByEntityQtypeId(QApplication::Translate(EntityQtype::Asset)); if (count($arrAssetCustomFieldOptions) > 0) { if ($this->blnEditMode) { $arrChosenCustomFieldId = array(); $arrChosenCustomField = AssetCustomFieldAssetModel::LoadArrayByAssetModelId($this->objAssetModel->AssetModelId); foreach ($arrChosenCustomField as $objChosenCustomField) { $arrChosenCustomFieldId[] = $objChosenCustomField->CustomFieldId; } } foreach ($arrAssetCustomFieldOptions as $arrAssetCustomFieldOption) { $selected = false; if ($this->blnEditMode) { $selected = in_array($arrAssetCustomFieldOption->CustomField->CustomFieldId, $arrChosenCustomFieldId); } $role = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId(QApplication::$objRoleModule->RoleId, $arrAssetCustomFieldOption->EntityQtypeCustomFieldId, 2); if ($role instanceof RoleEntityQtypeCustomFieldAuthorization) { $role = $role->AuthorizedFlag; } if ($arrAssetCustomFieldOption->CustomField->AllAssetModelsFlag && $arrAssetCustomFieldOption->CustomField->ActiveFlag && (int) $role == 1) { $this->chkCustomFieldsForAllModels->AddItem(new QListItem($arrAssetCustomFieldOption->CustomField->ShortDescription, $arrAssetCustomFieldOption->CustomField->CustomFieldId, true)); } } } $this->chkCustomFieldsForAllModels->Enabled = false; }
/** * Static Helper Method to Create using PK arguments * You must pass in the PK arguments on an object to load, or leave it blank to create a new one. * If you want to load via QueryString or PathInfo, use the CreateFromQueryString or CreateFromPathInfo * static helper methods. Finally, specify a CreateType to define whether or not we are only allowed to * edit, or if we are also allowed to create a new one, etc. * * @param mixed $objParentObject QForm or QPanel which will be using this RoleEntityQtypeCustomFieldAuthorizationMetaControl * @param integer $intRoleEntityQtypeCustomFieldAuthorizationId primary key value * @param QMetaControlCreateType $intCreateType rules governing RoleEntityQtypeCustomFieldAuthorization object creation - defaults to CreateOrEdit * @return RoleEntityQtypeCustomFieldAuthorizationMetaControl */ public static function Create($objParentObject, $intRoleEntityQtypeCustomFieldAuthorizationId = null, $intCreateType = QMetaControlCreateType::CreateOrEdit) { // Attempt to Load from PK Arguments if (strlen($intRoleEntityQtypeCustomFieldAuthorizationId)) { $objRoleEntityQtypeCustomFieldAuthorization = RoleEntityQtypeCustomFieldAuthorization::Load($intRoleEntityQtypeCustomFieldAuthorizationId); // RoleEntityQtypeCustomFieldAuthorization was found -- return it! if ($objRoleEntityQtypeCustomFieldAuthorization) { return new RoleEntityQtypeCustomFieldAuthorizationMetaControl($objParentObject, $objRoleEntityQtypeCustomFieldAuthorization); } else { if ($intCreateType != QMetaControlCreateType::CreateOnRecordNotFound) { throw new QCallerException('Could not find a RoleEntityQtypeCustomFieldAuthorization object with PK arguments: ' . $intRoleEntityQtypeCustomFieldAuthorizationId); } } // If EditOnly is specified, throw an exception } else { if ($intCreateType == QMetaControlCreateType::EditOnly) { throw new QCallerException('No PK arguments specified'); } } // If we are here, then we need to create a new record return new RoleEntityQtypeCustomFieldAuthorizationMetaControl($objParentObject, new RoleEntityQtypeCustomFieldAuthorization()); }
/** * This loads the array of custom fields, and their selections and values if an existing entity * If it is a new entity, it only loads the custom fields without values. * * @param integer $intEntityQtypeId e.g., 1 == Asset, 2 == Inventory * @param bool $blnEditMode if creating a new entity or editing an existing one * @param integer $intEntityId e.g., AssetId, InventoryId * @return Array $objCustomFieldArray of CustomField objects */ public static function LoadObjCustomFieldArray($intEntityQtypeId, $blnEditMode, $intEntityId = null, $searchable = false, $intAssetModel = null) { $objExpansionMap[CustomField::ExpandDefaultCustomFieldValue] = true; $objCustomFieldArray = CustomField::LoadArrayByActiveFlagEntity(true, $intEntityQtypeId, null, null, $objExpansionMap, $searchable); if ($objCustomFieldArray && $blnEditMode) { foreach ($objCustomFieldArray as $objCustomField) { $objCustomField->LoadExpandedArrayByEntity($intEntityQtypeId, $intEntityId); } } // Custom Fiedls load for Asset in asset_edit if ($intAssetModel) { $arrCustomFieldsForAssetModel = array(); // Select only if (is_int($intAssetModel)) { $arrAssetCustomFields = AssetCustomFieldAssetModel::LoadArrayByAssetModelId($intAssetModel); foreach ($arrAssetCustomFields as $anAssetCustomField) { $arrCustomFieldsForAssetModel[] = $anAssetCustomField->CustomField->CustomFieldId; } } elseif ($intAssetModel == 'all') { $arrAssetCustomFields = EntityQtypeCustomField::LoadArrayByEntityQtypeId(1); foreach ($arrAssetCustomFields as $anAssetCustomField) { if ($anAssetCustomField->CustomField->AllAssetModelsFlag) { $arrCustomFieldsForAssetModel[] = $anAssetCustomField->CustomField->CustomFieldId; } } } $arrForAssetModel = array(); foreach ($objCustomFieldArray as $objCustomField) { if (in_array($objCustomField->CustomFieldId, $arrCustomFieldsForAssetModel) || $objCustomField->AllAssetModelsFlag == 1) { $arrForAssetModel[] = $objCustomField; } } $objCustomFieldArray = $arrForAssetModel; } if ($objCustomFieldArray) { foreach ($objCustomFieldArray as $objCustomField) { $objEntityQtypeCustomField = EntityQtypeCustomField::LoadByEntityQtypeIdCustomFieldId($intEntityQtypeId, $objCustomField->CustomFieldId); if ($objEntityQtypeCustomField) { $objRoleEntityQtypeCustomFieldAuthorization = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId(QApplication::$objUserAccount->RoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 1); if ($objRoleEntityQtypeCustomFieldAuthorization) { $objCustomField->objRoleAuthView = $objRoleEntityQtypeCustomFieldAuthorization; } $objRoleEntityQtypeCustomFieldAuthorization2 = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId(QApplication::$objUserAccount->RoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 2); if ($objRoleEntityQtypeCustomFieldAuthorization2) { $objCustomField->objRoleAuthEdit = $objRoleEntityQtypeCustomFieldAuthorization2; } } } } return $objCustomFieldArray; }
protected function chkAssetCustomFields_Refresh() { $arrAssetCustomFieldOptions = EntityQtypeCustomField::LoadArrayByEntityQtypeId(QApplication::Translate(EntityQtype::Asset)); if (count($arrAssetCustomFieldOptions) > 0) { if ($this->blnEditMode) { $arrChosenCustomFieldId = array(); $arrChosenCustomField = AssetCustomFieldAssetModel::LoadArrayByAssetModelId($this->objAssetModel->AssetModelId); foreach ($arrChosenCustomField as $objChosenCustomField) { $arrChosenCustomFieldId[] = $objChosenCustomField->CustomFieldId; } } foreach ($arrAssetCustomFieldOptions as $arrAssetCustomFieldOption) { $selected = false; if ($this->blnEditMode) { $selected = in_array($arrAssetCustomFieldOption->CustomField->CustomFieldId, $arrChosenCustomFieldId); } /* else{ $selected = $arrAssetCustomFieldOption->CustomField->AllAssetModelsFlag; } */ //Excluding AllAssetModelsFlaged Items just until setup qcodo 4.22 $role = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId(QApplication::$objRoleModule->RoleId, $arrAssetCustomFieldOption->EntityQtypeCustomFieldId, 2); if ($role instanceof RoleEntityQtypeCustomFieldAuthorization) { $role = $role->AuthorizedFlag; } if (!$arrAssetCustomFieldOption->CustomField->AllAssetModelsFlag && $arrAssetCustomFieldOption->CustomField->ActiveFlag && (int) $role == 1) { $this->chkAssetCustomFields->AddItem(new QListItem($arrAssetCustomFieldOption->CustomField->ShortDescription, $arrAssetCustomFieldOption->CustomField->CustomFieldId, $selected)); } } } if ($this->chkAssetCustomFields->ItemCount == 0) { $this->chkAssetCustomFields->Display = false; } if ($this->blnEditMode) { $this->chkAssetCustomFields->Enabled = false; } }
protected function dtgRoleEntityQtypeCustomFieldAuthorization_Bind() { // Because we want to enable pagination AND sorting, we need to setup the $objClauses array to send to LoadAll() // Remember! We need to first set the TotalItemCount, which will affect the calcuation of LimitClause below $this->dtgRoleEntityQtypeCustomFieldAuthorization->TotalItemCount = RoleEntityQtypeCustomFieldAuthorization::CountAll(); // Setup the $objClauses Array $objClauses = array(); // If a column is selected to be sorted, and if that column has a OrderByClause set on it, then let's add // the OrderByClause to the $objClauses array if ($objClause = $this->dtgRoleEntityQtypeCustomFieldAuthorization->OrderByClause) { array_push($objClauses, $objClause); } // Add the LimitClause information, as well if ($objClause = $this->dtgRoleEntityQtypeCustomFieldAuthorization->LimitClause) { array_push($objClauses, $objClause); } // Set the DataSource to be the array of all RoleEntityQtypeCustomFieldAuthorization objects, given the clauses above $this->dtgRoleEntityQtypeCustomFieldAuthorization->DataSource = RoleEntityQtypeCustomFieldAuthorization::LoadAll($objClauses); }
/** * Deletes all associated RoleEntityQtypeCustomFieldAuthorizations * @return void */ public function DeleteAllRoleEntityQtypeCustomFieldAuthorizations() { if (is_null($this->intRoleId)) { throw new QUndefinedPrimaryKeyException('Unable to call UnassociateRoleEntityQtypeCustomFieldAuthorization on this unsaved Role.'); } // Get the Database Object for this Class $objDatabase = Role::GetDatabase(); // Journaling if ($objDatabase->JournalingDatabase) { foreach (RoleEntityQtypeCustomFieldAuthorization::LoadArrayByRoleId($this->intRoleId) as $objRoleEntityQtypeCustomFieldAuthorization) { $objRoleEntityQtypeCustomFieldAuthorization->Journal('DELETE'); } } // Perform the SQL Query $objDatabase->NonQuery(' DELETE FROM `role_entity_qtype_custom_field_authorization` WHERE `role_id` = ' . $objDatabase->SqlVariable($this->intRoleId) . ' '); }
public function dtgRoleEntityQtypeCustomFieldAuthorization_Bind() { // Get Total Count b/c of Pagination $this->dtgRoleEntityQtypeCustomFieldAuthorization->TotalItemCount = RoleEntityQtypeCustomFieldAuthorization::CountAll(); $objClauses = array(); if ($objClause = $this->dtgRoleEntityQtypeCustomFieldAuthorization->OrderByClause) { array_push($objClauses, $objClause); } if ($objClause = $this->dtgRoleEntityQtypeCustomFieldAuthorization->LimitClause) { array_push($objClauses, $objClause); } $this->dtgRoleEntityQtypeCustomFieldAuthorization->DataSource = RoleEntityQtypeCustomFieldAuthorization::LoadAll($objClauses); }
protected function DeleteEntityQtypeCustomFields() { $objEntityQtypeCustomFieldArray = EntityQtypeCustomField::LoadArrayByCustomFieldId($this->objCustomField->CustomFieldId); if ($objEntityQtypeCustomFieldArray) { foreach ($objEntityQtypeCustomFieldArray as $objEntityQtypeCustomField) { // If the EntityQtype needs to be deleted, you must delete EntityQtypeId for all roles in RoleEntityQTypeCustomFieldAuthorization $objRoleEntityCustomAuthArray = RoleEntityQtypeCustomFieldAuthorization::LoadArrayByEntityQtypeCustomFieldId($objEntityQtypeCustomField->EntityQtypeCustomFieldId); if ($objRoleEntityCustomAuthArray) { foreach ($objRoleEntityCustomAuthArray as $objRoleEntityCustomAuth) { $objRoleEntityCustomAuth->Delete(); } } // Delete the EntityQtypeCustomField last //$objEntityQtypeCustomField->Delete(); } } }
/** * This loads the array of custom fields, and their selections and values if an existing entity * If it is a new entity, it only loads the custom fields without values. * * @param integer $intEntityQtypeId e.g., 1 == Asset, 2 == Inventory * @param bool $blnEditMode if creating a new entity or editing an existing one * @param integer $intEntityId e.g., AssetId, InventoryId * @return Array $objCustomFieldArray of CustomField objects */ public static function LoadObjCustomFieldArray($intEntityQtypeId, $blnEditMode, $intEntityId = null) { $objExpansionMap[CustomField::ExpandDefaultCustomFieldValue] = true; $objCustomFieldArray = CustomField::LoadArrayByActiveFlagEntity(true, $intEntityQtypeId, null, null, $objExpansionMap); if ($objCustomFieldArray && $blnEditMode) { foreach ($objCustomFieldArray as $objCustomField) { $objCustomField->LoadExpandedArrayByEntity($intEntityQtypeId, $intEntityId); } } if ($objCustomFieldArray) { foreach ($objCustomFieldArray as $objCustomField) { $objEntityQtypeCustomField = EntityQtypeCustomField::LoadByEntityQtypeIdCustomFieldId($intEntityQtypeId, $objCustomField->CustomFieldId); if ($objEntityQtypeCustomField) { $objRoleEntityQtypeCustomFieldAuthorization = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId(QApplication::$objUserAccount->RoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 1); if ($objRoleEntityQtypeCustomFieldAuthorization) { $objCustomField->objRoleAuthView = $objRoleEntityQtypeCustomFieldAuthorization; } $objRoleEntityQtypeCustomFieldAuthorization2 = RoleEntityQtypeCustomFieldAuthorization::LoadByRoleIdEntityQtypeCustomFieldIdAuthorizationId(QApplication::$objUserAccount->RoleId, $objEntityQtypeCustomField->EntityQtypeCustomFieldId, 2); if ($objRoleEntityQtypeCustomFieldAuthorization2) { $objCustomField->objRoleAuthEdit = $objRoleEntityQtypeCustomFieldAuthorization2; } } } } return $objCustomFieldArray; }