/** * Load a RoleModuleAuthorization from PK Info * @param integer $intRoleModuleAuthorizationId * @return RoleModuleAuthorization */ public static function LoadByRoleModuleIdAuthorizationId($intRoleModuleId, $intAuthorizationId) { // Call to ArrayQueryHelper to Get Database Object and Get SQL Clauses RoleModuleAuthorization::QueryHelper($objDatabase); // Properly Escape All Input Parameters using Database->SqlVariable() $intRoleModuleId = $objDatabase->SqlVariable($intRoleModuleId); $intAuthorizationId = $objDatabase->SqlVariable($intAuthorizationId); // Setup the SQL Query $strQuery = sprintf(' SELECT `role_module_authorization_id`, `role_module_id`, `authorization_id`, `authorization_level_id`, `created_by`, `creation_date`, `modified_by`, `modified_date` FROM `role_module_authorization` WHERE `role_module_id` = %s AND `authorization_id` = %s', $intRoleModuleId, $intAuthorizationId); // Perform the Query and Instantiate the Row $objDbResult = $objDatabase->Query($strQuery); return RoleModuleAuthorization::InstantiateDbRow($objDbResult->GetNextRow()); }
protected function SetupRoleModuleAuthorization() { // Lookup Object PK information from Query String (if applicable) // Set mode to Edit or New depending on what's found $intRoleModuleAuthorizationId = QApplication::QueryString('intRoleModuleAuthorizationId'); if ($intRoleModuleAuthorizationId) { $this->objRoleModuleAuthorization = RoleModuleAuthorization::Load($intRoleModuleAuthorizationId); if (!$this->objRoleModuleAuthorization) { throw new Exception('Could not find a RoleModuleAuthorization object with PK arguments: ' . $intRoleModuleAuthorizationId); } $this->strTitleVerb = QApplication::Translate('Edit'); $this->blnEditMode = true; } else { $this->objRoleModuleAuthorization = new RoleModuleAuthorization(); $this->strTitleVerb = QApplication::Translate('Create'); $this->blnEditMode = false; } }
/** * This function returns the SQL necessary for all Load and Count scripts for list pages * * @param string $strEntity 'asset', 'company', e.g., the name of the table */ public static function AuthorizationSql($strEntity) { // if $objRoleModule is empty, then they are in the administration module so they have access to everything if (empty(QApplication::$objRoleModule)) { $strToReturn = ''; } else { // Load the RoleModuleAuthorization $objRoleModuleAuthorization = RoleModuleAuthorization::LoadByRoleModuleIdAuthorizationId(QApplication::$objRoleModule->RoleModuleId, 1); if (!$objRoleModuleAuthorization) { throw new Exception('No valid RoleModuleAuthorization for this User Role.'); } elseif ($objRoleModuleAuthorization->AuthorizationLevelId == 2) { $strToReturn = sprintf('AND `%s` . `created_by` = %s', $strEntity, QApplication::$objUserAccount->UserAccountId); } elseif ($objRoleModuleAuthorization->AuthorizationLevelId == 3) { $strToReturn = sprintf('AND `%s` . `created_by` = 0', $strEntity); } else { $strToReturn = ''; } } return $strToReturn; }
/** * 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 RoleModuleAuthorizationMetaControl * @param integer $intRoleModuleAuthorizationId primary key value * @param QMetaControlCreateType $intCreateType rules governing RoleModuleAuthorization object creation - defaults to CreateOrEdit * @return RoleModuleAuthorizationMetaControl */ public static function Create($objParentObject, $intRoleModuleAuthorizationId = null, $intCreateType = QMetaControlCreateType::CreateOrEdit) { // Attempt to Load from PK Arguments if (strlen($intRoleModuleAuthorizationId)) { $objRoleModuleAuthorization = RoleModuleAuthorization::Load($intRoleModuleAuthorizationId); // RoleModuleAuthorization was found -- return it! if ($objRoleModuleAuthorization) { return new RoleModuleAuthorizationMetaControl($objParentObject, $objRoleModuleAuthorization); } else { if ($intCreateType != QMetaControlCreateType::CreateOnRecordNotFound) { throw new QCallerException('Could not find a RoleModuleAuthorization object with PK arguments: ' . $intRoleModuleAuthorizationId); } } // 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 RoleModuleAuthorizationMetaControl($objParentObject, new RoleModuleAuthorization()); }
/** * This function returns the SQL necessary for all Load and Count scripts for list pages * * @param string $strEntity 'asset', 'company', e.g., the name of the table */ public static function AuthorizationSql($strEntity) { // Load the RoleModuleAuthorization $objRoleModuleAuthorization = RoleModuleAuthorization::LoadByRoleModuleIdAuthorizationId(QApplication::$objRoleModule->RoleModuleId, 1); if (!$objRoleModuleAuthorization) { throw new Exception('No valid RoleModuleAuthorization for this User Role.'); } elseif ($objRoleModuleAuthorization->AuthorizationLevelId == 2) { $strToReturn = sprintf('AND `%s` . `created_by` = %s', $strEntity, QApplication::$objUserAccount->UserAccountId); } elseif ($objRoleModuleAuthorization->AuthorizationLevelId == 3) { $strToReturn = sprintf('AND `%s` . `created_by` = 0', $strEntity); } else { $strToReturn = ''; } return $strToReturn; }
/** * Counts all associated RoleModuleAuthorizations * @return int */ public function CountRoleModuleAuthorizations() { if (is_null($this->intRoleModuleId)) { return 0; } return RoleModuleAuthorization::CountByRoleModuleId($this->intRoleModuleId); }
protected function UpdateAuthorizations() { if ($this->objModuleArray) { foreach ($this->objModuleArray as $objModule) { if ($this->blnEditMode) { $objRoleModule = RoleModule::LoadByRoleIdModuleId($this->objRole->RoleId, $objModule->ModuleId); } else { $objRoleModule = new RoleModule(); $objRoleModule->ModuleId = $objModule->ModuleId; $objRoleModule->RoleId = $this->objRole->RoleId; } $objRoleModule->AccessFlag = $this->arrControls[$objModule->ShortDescription]['access']->SelectedValue; $objRoleModule->Save(); if ($this->objAuthorizationArray) { foreach ($this->objAuthorizationArray as $objAuthorization) { if ($this->blnEditMode) { $objRoleModuleAuthorization = $this->objRoleModuleAuthorizationArray[$objRoleModule->RoleModuleId . '-' . $objAuthorization->AuthorizationId]; } else { $objRoleModuleAuthorization = new RoleModuleAuthorization(); $objRoleModuleAuthorization->RoleModuleId = $objRoleModule->RoleModuleId; $objRoleModuleAuthorization->AuthorizationId = $objAuthorization->AuthorizationId; } $objRoleModuleAuthorization->AuthorizationLevelId = $this->arrControls[$objModule->ShortDescription][$objAuthorization->ShortDescription]->SelectedValue; $objRoleModuleAuthorization->Save(); } } } } // Home module not implemented yet. When it is, uncomment the code below //if (!$this->blnEditMode) { // $objRoleModule = new RoleModule(); // $objRoleModule->ModuleId = 1; // $objRoleModule->RoleId = $this->objRole->RoleId; // $objRoleModule->AccessFlag = true; // $objRoleModule->Save(); //} }
protected function Form_Create() { // check rigths for the Inventory to Ship $this->blnShowInventory = true; $objRoleModule = RoleModule::LoadByRoleIdModuleId(QApplication::$objUserAccount->RoleId, 3); if ($objRoleModule->AccessFlag) { $objRoleModuleAuthorization = RoleModuleAuthorization::LoadByRoleModuleIdAuthorizationId($objRoleModule->RoleModuleId, 2); if ($objRoleModuleAuthorization->AuthorizationLevelId == 3) { $this->blnShowInventory = false; } } else { $this->blnShowInventory = false; } // Call SetupShipment to either Load/Edit Existing or Create New $this->SetupShipment(); $this->objCompanyArray = Company::LoadAll(QQ::Clause(QQ::OrderBy(QQN::Company()->ShortDescription))); // Create the Header Menu $this->ctlHeaderMenu_Create(); // Create the Shortcut Menu $this->ctlShortcutMenu_Create(); // Packing List Link $this->lblPackingListLink_Create(); // Shipping Labels $this->lblShipmentNumber_Create(); $this->lblHeaderShipment_Create(); $this->lblShipDate_Create(); $this->lblFromCompany_Create(); $this->lblFromContact_Create(); $this->lblFromAddress_Create(); $this->lstToCompany_Create(); $this->lblNewToCompany_Create(); $this->lstToContact_Create(); $this->lblNewToContact_Create(); $this->lstToAddress_Create(); $this->lblNewToAddress_Create(); $this->lblFromAddressFull_Create(); $this->lblToCompany_Create(); $this->lblToContact_Create(); $this->lblToAddress_Create(); $this->lblToAddressFull_Create(); $this->lblCourier_Create(); $this->pnlNote_Create(); $this->lblTrackingNumber_Create(); // Shipping Inputs $this->dlgExchange_Create(); $this->dlgDueDate_Create(); $this->calShipDate_Create(); $this->lstFromCompany_Create(); $this->lblNewFromCompany_Create(); $this->lstFromContact_Create(); $this->lblNewFromContact_Create(); $this->lstFromAddress_Create(); $this->lblNewFromAddress_Create(); if (QApplication::$TracmorSettings->CustomShipmentNumbers) { $this->txtShipmentNumber_Create(); } $this->lstCourier_Create(); $this->txtNote_Create(); $this->txtNewAssetCode_Create(); if ($this->blnShowInventory) { $this->txtNewInventoryModelCode_Create(); $this->btnLookup_Create(); $this->ctlInventorySearchTool_Create(); $this->lstSourceLocation_Create(); $this->txtQuantity_Create(); $this->btnAddInventory_Create(); } $this->txtTrackingNumber_Create(); //$this->lblAdvanced_Create(); $this->txtReceiptAssetCode_Create(); $this->chkAutoGenerateAssetCode_Create(); $this->dtpScheduleReceiptDueDate_Create(); $this->rblAssetType_Create(); $this->chkScheduleReceipt_Create(); $this->btnAddAsset_Create(); $this->ctlAssetSearchTool_Create(); $this->btnSaveExchange_Create(); $this->btnCancelExchange_Create(); $this->btnSaveDueDate_Create(); $this->btnCancelDueDate_Create(); $this->pnlAttachments_Create(); // Create all custom asset fields $this->customFields_Create(); //Set display logic of Built-In Fields $this->UpdateBuiltInFields(); $this->UpdateAddressAccess(); $this->UpdateCompanyAccess(); $this->UpdateContactAccess(); // New entities Dialog $this->dlgNew_Create(); if (!$this->objShipment->ShippedFlag) { // Shipping Buttons $this->btnDelete_Create(); } $this->btnSave_Create(); $this->btnCancel_Create(); $this->btnEdit_Create(); $this->atcAttach_Create(); // Complete Shipment Buttons $this->btnCompleteShipment_Create(); $this->btnCancelShipment_Create(); $this->btnCancelCompleteShipment_Create(); // Shipping Datagrids $this->dtgAssetTransact_Create(); $this->dtgInventoryTransact_Create(); // Load the objAssetTransactionArray and objInventoryTransactionArray for the first time if ($this->blnEditMode) { $objClauses = array(); if ($objClause = $this->dtgAssetTransact->OrderByClause) { array_push($objClauses, $objClause); } /*if ($objClause = $this->dtgAssetTransact->LimitClause) array_push($objClauses, $objClause);*/ if ($objClause = QQ::Expand(QQN::AssetTransaction()->Asset->AssetModel)) { array_push($objClauses, $objClause); } if ($objClause = QQ::Expand(QQN::AssetTransaction()->SourceLocation)) { } array_push($objClauses, $objClause); $this->objAssetTransactionArray = AssetTransaction::LoadArrayByTransactionId($this->objShipment->TransactionId, $objClauses); $objClauses = null; $objClauses = array(); if ($objClause = $this->dtgInventoryTransact->OrderByClause) { array_push($objClauses, $objClause); } /*if ($objClause = $this->dtgInventoryTransact->LimitClause) array_push($objClauses, $objClause);*/ if ($objClause = QQ::Expand(QQN::InventoryTransaction()->InventoryLocation->InventoryModel)) { } array_push($objClauses, $objClause); $this->objInventoryTransactionArray = InventoryTransaction::LoadArrayByTransactionId($this->objShipment->TransactionId, $objClauses); // If shipped, display labels. Otherwise, we don't need to call DisplayLabels because only labels are on the QPanel. $this->DisplayLabels(); } elseif (!$this->blnEditMode) { $this->DisplayInputs(); } // Check if there is an Asset or InventoryModel ID in the query string to automatically add them - they would be coming from AssetEdit or InventoryEdit if (!$this->blnEditMode) { $intAssetId = QApplication::QueryString('intAssetId'); // If an Asset was passed in the query string, load the txt in the Asset Tag text box and click the add button if ($intAssetId) { $objAsset = Asset::Load($intAssetId); if ($objAsset) { $this->txtNewAssetCode->Text = $objAsset->AssetCode; $this->btnAddAsset_Click($this, null, null); } } $intInventoryModelId = QApplication::QueryString('intInventoryModelId'); // If an InventoryModel was passed in the query string, load the text in the InventoryModel text box and set the focus to the quantity box if ($intInventoryModelId) { $objInventoryModel = InventoryModel::Load($intInventoryModelId); if ($objInventoryModel) { $this->txtNewInventoryModelCode->Text = $objInventoryModel->InventoryModelCode; $this->btnLookup_Click($this, null, null); QApplication::ExecuteJavaScript(sprintf("document.getElementById('%s').focus()", $this->lstSourceLocation->ControlId)); } } } }
/** * Counts all associated RoleModuleAuthorizationsAsCreatedBy * @return int */ public function CountRoleModuleAuthorizationsAsCreatedBy() { if (is_null($this->intUserAccountId)) { return 0; } return RoleModuleAuthorization::CountByCreatedBy($this->intUserAccountId); }
protected function dtgRoleModuleAuthorization_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->dtgRoleModuleAuthorization->TotalItemCount = RoleModuleAuthorization::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->dtgRoleModuleAuthorization->OrderByClause) { array_push($objClauses, $objClause); } // Add the LimitClause information, as well if ($objClause = $this->dtgRoleModuleAuthorization->LimitClause) { array_push($objClauses, $objClause); } // Set the DataSource to be the array of all RoleModuleAuthorization objects, given the clauses above $this->dtgRoleModuleAuthorization->DataSource = RoleModuleAuthorization::LoadAll($objClauses); }
public static function GetSoapArrayFromArray($objArray) { if (!$objArray) { return null; } $objArrayToReturn = array(); foreach ($objArray as $objObject) { array_push($objArrayToReturn, RoleModuleAuthorization::GetSoapObjectFromObject($objObject, true)); } return unserialize(serialize($objArrayToReturn)); }
/** * Deletes all associated RoleModuleAuthorizations * @return void */ public function DeleteAllRoleModuleAuthorizations() { if (is_null($this->intAuthorizationLevelId)) { throw new QUndefinedPrimaryKeyException('Unable to call UnassociateRoleModuleAuthorization on this unsaved AuthorizationLevel.'); } // Get the Database Object for this Class $objDatabase = AuthorizationLevel::GetDatabase(); // Journaling if ($objDatabase->JournalingDatabase) { foreach (RoleModuleAuthorization::LoadArrayByAuthorizationLevelId($this->intAuthorizationLevelId) as $objRoleModuleAuthorization) { $objRoleModuleAuthorization->Journal('DELETE'); } } // Perform the SQL Query $objDatabase->NonQuery(' DELETE FROM `role_module_authorization` WHERE `authorization_level_id` = ' . $objDatabase->SqlVariable($this->intAuthorizationLevelId) . ' '); }
public function dtgRoleModuleAuthorization_Bind() { // Get Total Count b/c of Pagination $this->dtgRoleModuleAuthorization->TotalItemCount = RoleModuleAuthorization::CountAll(); $objClauses = array(); if ($objClause = $this->dtgRoleModuleAuthorization->OrderByClause) { array_push($objClauses, $objClause); } if ($objClause = $this->dtgRoleModuleAuthorization->LimitClause) { array_push($objClauses, $objClause); } $this->dtgRoleModuleAuthorization->DataSource = RoleModuleAuthorization::LoadAll($objClauses); }
/** * Deletes all associated RoleModuleAuthorizationsAsCreatedBy * @return void */ public function DeleteAllRoleModuleAuthorizationsAsCreatedBy() { if (is_null($this->intUserAccountId)) { throw new QUndefinedPrimaryKeyException('Unable to call UnassociateRoleModuleAuthorizationAsCreatedBy on this unsaved UserAccount.'); } // Get the Database Object for this Class $objDatabase = UserAccount::GetDatabase(); // Journaling if ($objDatabase->JournalingDatabase) { foreach (RoleModuleAuthorization::LoadArrayByCreatedBy($this->intUserAccountId) as $objRoleModuleAuthorization) { $objRoleModuleAuthorization->Journal('DELETE'); } } // Perform the SQL Query $objDatabase->NonQuery(' DELETE FROM `role_module_authorization` WHERE `created_by` = ' . $objDatabase->SqlVariable($this->intUserAccountId) . ' '); }
/** * Load an array of Shortcut objects, * by QApplication::$objRoleModule->RoleModuleId and by the Role Edit Access to the Built-in Fields of the Module. * @param string $strOrderBy * @param string $strLimit * @param array $objExpansionMap map of referenced columns to be immediately expanded via early-binding * @return Shortcut[] */ public static function LoadArrayByRoleModule($strOrderBy = null, $strLimit = null, $objExpansionMap = null) { // Call to ArrayQueryHelper to Get Database Object and Get SQL Clauses Shortcut::ArrayQueryHelper($strOrderBy, $strLimit, $strLimitPrefix, $strLimitSuffix, $strExpandSelect, $strExpandFrom, $objExpansionMap, $objDatabase); // Properly Escape All Input Parameters using Database->SqlVariable() $intModuleId = $objDatabase->SqlVariable(QApplication::$objRoleModule->ModuleId, true); $intRoleId = $objDatabase->SqlVariable(QApplication::$objRoleModule->RoleId, true); $objViewRoleModuleAuthorization = RoleModuleAuthorization::LoadByRoleModuleIdAuthorizationId(QApplication::$objRoleModule->RoleModuleId, 1); if (!$objViewRoleModuleAuthorization) { throw new Exception('No valid RoleModuleAuthorization for this User Role.'); } elseif ($objViewRoleModuleAuthorization->AuthorizationLevelId == 1 || $objViewRoleModuleAuthorization->AuthorizationLevelId == 2) { $blnView = true; } else { $blnView = false; } $objEditRoleModuleAuthorization = RoleModuleAuthorization::LoadByRoleModuleIdAuthorizationId(QApplication::$objRoleModule->RoleModuleId, 2); if (!$objEditRoleModuleAuthorization) { throw new Exception('No valid RoleModuleAuthorization for this User Role.'); } elseif ($objEditRoleModuleAuthorization->AuthorizationLevelId == 1 || $objEditRoleModuleAuthorization->AuthorizationLevelId == 2) { $blnEdit = true; } else { $blnEdit = false; } if ($blnView && $blnEdit) { $strAuthorizationSql = 'AND (`shortcut`.`authorization_id` = 1 OR `shortcut`.`authorization_id` = 2)'; } elseif ($blnView) { $strAuthorizationSql = 'AND `shortcut`.`authorization_id` = 1'; } elseif ($blnEdit) { $strAuthorizationSql = 'AND `shortcut`.`authorization_id` = 2'; } else { $strAuthorizationSql = 'AND `shortcut`.`authorization_id` != 1 AND `shortcut`.`authorization_id` != 2'; } //Set the entities sql according to the Module switch (QApplication::$objRoleModule->ModuleId) { case 2: $strEntitiesSql = 'AND (`FLA`.`entity_qtype_id`=1 OR `FLA`.`entity_qtype_id`=4)'; break; case 3: $strEntitiesSql = 'AND (`FLA`.`entity_qtype_id`=2)'; break; case 4: $strEntitiesSql = 'AND (`FLA`.`entity_qtype_id`=7 OR `FLA`.`entity_qtype_id`=8 OR `FLA`.`entity_qtype_id`=9)'; break; case 5: $strEntitiesSql = 'AND (`FLA`.`entity_qtype_id`=10)'; break; case 6: $strEntitiesSql = 'AND (`FLA`.`entity_qtype_id`=11)'; break; case 7: $strEntitiesSql = ''; break; } // Setup the SQL Query that checks "edit" authorization to the module $strQuery = sprintf(' SELECT %s `shortcut`.`shortcut_id` AS `shortcut_id`, `shortcut`.`module_id` AS `module_id`, `shortcut`.`authorization_id` AS `authorization_id`, `shortcut`.`short_description` AS `short_description`, `shortcut`.`link` AS `link`, `shortcut`.`image_path` AS `image_path`, `shortcut`.`entity_qtype_id` AS `entity_qtype_id`, `shortcut`.`create_flag` AS `create_flag` %s FROM `shortcut` AS `shortcut`, `role_entity_qtype_built_in_authorization` AS `FLA` %s WHERE (`FLA`.`role_id` %s %s AND `FLA`.`authorization_id`=2) AND `shortcut`.`module_id` %s %s AND (`shortcut`.`entity_qtype_id`=`FLA`.`entity_qtype_id`) AND (`shortcut`.`create_flag`=0 OR `FLA`.`authorized_flag`=1) %s %s', $strLimitPrefix, $strExpandSelect, $strExpandFrom, $intRoleId, $strEntitiesSql, $intModuleId, $strAuthorizationSql, $strOrderBy, $strLimitSuffix); // Perform the Query and Instantiate the Result $objDbResult = $objDatabase->Query($strQuery); return Shortcut::InstantiateDbResult($objDbResult); }
protected function Form_Create() { // check rigths for the Inventory to Ship $this->blnShowInventory = true; $objRoleModule = RoleModule::LoadByRoleIdModuleId(QApplication::$objUserAccount->RoleId, 3); if ($objRoleModule->AccessFlag) { $objRoleModuleAuthorization = RoleModuleAuthorization::LoadByRoleModuleIdAuthorizationId($objRoleModule->RoleModuleId, 2); if ($objRoleModuleAuthorization->AuthorizationLevelId == 3) { $this->blnShowInventory = false; } } else { $this->blnShowInventory = false; } // Call Setup Receipt to either load existing or create new receipt $this->SetupReceipt(); // Create the Header Menu $this->ctlHeaderMenu_Create(); // Create the Shortcut Menu $this->ctlShortcutMenu_Create(); // Create the labels $this->lblHeaderReceipt_Create(); $this->lblFromCompany_Create(); $this->lblFromContact_Create(); $this->lblToContact_Create(); $this->lblToAddress_Create(); $this->lblReceiptNumber_Create(); $this->pnlNote_Create(); $this->lblDueDate_Create(); $this->lblReceiptDate_Create(); // Create the inputs $this->lstFromCompany_Create(); $this->lblNewFromCompany_Create(); $this->lstFromContact_Create(); $this->lblNewFromContact_Create(); $this->lstToContact_Create(); $this->lblNewToContact_Create(); $this->lstToAddress_Create(); $this->lblNewToAddress_Create(); $this->txtNote_Create(); // Create all custom asset fields - this must be here for tab ordering $this->customFields_Create(); if ($this->blnShowInventory) { $this->txtNewInventoryModelCode_Create(); $this->ctlInventorySearchTool_Create(); $this->txtQuantity_Create(); $this->btnAddInventory_Create(); } $this->txtNewAssetCode_Create(); $this->rblAssetType_Create(); $this->lstAssetModel_Create(); $this->chkAutoGenerateAssetCode_Create(); $this->calDueDate_Create(); $this->calDateReceived_Create(); if (QApplication::$TracmorSettings->CustomReceiptNumbers) { $this->txtReceiptNumber_Create(); } // Create the buttons $this->btnSave_Create(); $this->btnEdit_Create(); $this->btnCancel_Create(); $this->btnDelete_Create(); $this->atcAttach_Create(); $this->pnlAttachments_Create(); $this->btnAddAsset_Create(); $this->ctlAssetSearchTool_Create(); //Set display logic of Built-In Fields $this->UpdateBuiltInFields(); // Set display logic of certain Entities $this->UpdateAddressAccess(); $this->UpdateCompanyAccess(); $this->UpdateContactAccess(); // Check prerequisites for scheduling receipts $this->CheckPrerequisites(); // Create the datagrids $this->dtgAssetTransact_Create(); $this->dtgInventoryTransact_Create(); // New entities Dialog $this->dlgNew_Create(); // Load the objAssetTransactionArray and objInventoryTransactionArray for the first time if ($this->blnEditMode) { $objClauses = array(); if ($objClause = $this->dtgAssetTransact->OrderByClause) { array_push($objClauses, $objClause); } /*if ($objClause = $this->dtgAssetTransact->LimitClause) array_push($objClauses, $objClause);*/ if ($objClause = QQ::Expand(QQN::AssetTransaction()->Asset->AssetModel)) { array_push($objClauses, $objClause); } $this->objAssetTransactionArray = AssetTransaction::LoadArrayByTransactionId($this->objReceipt->TransactionId, $objClauses); $objClauses = null; $objClauses = array(); if ($objClause = $this->dtgInventoryTransact->OrderByClause) { array_push($objClauses, $objClause); } /*if ($objClause = $this->dtgInventoryTransact->LimitClause) array_push($objClauses, $objClause);*/ if ($objClause = QQ::Expand(QQN::InventoryTransaction()->InventoryLocation->InventoryModel)) { } array_push($objClauses, $objClause); $this->objInventoryTransactionArray = InventoryTransaction::LoadArrayByTransactionId($this->objReceipt->TransactionId, $objClauses); $this->DisplayLabels(); } elseif (!$this->blnEditMode) { $this->DisplayInputs(); } // Check if there is an Asset or InventoryModel ID in the query string to automatically add them - they would be coming from AssetEdit or InventoryEdit if (!$this->blnEditMode) { $intAssetId = QApplication::QueryString('intAssetId'); // If an Asset was passed in the query string, load the txt in the Asset Code text box and click the add button if ($intAssetId) { $objAsset = Asset::Load($intAssetId); if ($objAsset) { $this->txtNewAssetCode->Text = $objAsset->AssetCode; $this->btnAddAsset_Click($this, null, null); } } $intInventoryModelId = QApplication::QueryString('intInventoryModelId'); // If an InventoryModel was passed in the query string, load the text in the InventoryModel text box and set the focus to the quantity box if ($intInventoryModelId) { $objInventoryModel = InventoryModel::Load($intInventoryModelId); if ($objInventoryModel) { $this->txtNewInventoryModelCode->Text = $objInventoryModel->InventoryModelCode; $this->txtQuantity->Focus(); } } } }
protected function UpdateAuthorizations() { if ($this->objModuleArray) { foreach ($this->objModuleArray as $objModule) { if ($this->blnEditMode) { $objRoleModule = RoleModule::LoadByRoleIdModuleId($this->objRole->RoleId, $objModule->ModuleId); } else { $objRoleModule = new RoleModule(); $objRoleModule->ModuleId = $objModule->ModuleId; $objRoleModule->RoleId = $this->objRole->RoleId; } $objRoleModule->AccessFlag = $this->arrControls[$objModule->ShortDescription]['access']->SelectedValue; $objRoleModule->Save(); if ($this->objAuthorizationArray) { foreach ($this->objAuthorizationArray as $objAuthorization) { if ($this->blnEditMode) { $objRoleModuleAuthorization = $this->objRoleModuleAuthorizationArray[$objRoleModule->RoleModuleId . '-' . $objAuthorization->AuthorizationId]; } else { $objRoleModuleAuthorization = new RoleModuleAuthorization(); $objRoleModuleAuthorization->RoleModuleId = $objRoleModule->RoleModuleId; $objRoleModuleAuthorization->AuthorizationId = $objAuthorization->AuthorizationId; } $objRoleModuleAuthorization->AuthorizationLevelId = $this->arrControls[$objModule->ShortDescription][$objAuthorization->ShortDescription]->SelectedValue; $objRoleModuleAuthorization->Save(); } } } } // If creating a new Role, manually give access to the Home module //if (!$this->blnEditMode) { // $objRoleModule = new RoleModule(); // $objRoleModule->ModuleId = 1; // $objRoleModule->RoleId = $this->objRole->RoleId; // $objRoleModule->AccessFlag = true; // $objRoleModule->Save(); /* // Give view, edit, and delete access for ALL for the home module if ($this->objAuthorizationArray) { foreach ($this->objAuthorizationArray as $objAuthorization) { $objRoleModuleAuthorization = new RoleModuleAuthorization(); $objRoleModuleAuthorization->RoleModuleId = $objRoleModule->RoleModuleId; $objRoleModuleAuthorization->AuthorizationId = $objAuthorization->AuthorizationId; $objRoleModuleAuthorization->AuthorizationLevelId = 3; $objRoleModuleAuthorization->Save(); } } */ //} /* // Delete all RoleModules - this will cascade to all RoleModuleAuthorizations also if ($this->blnEditMode) { // Set the Role Module Access $objRoleModuleArray = RoleModule::LoadArrayByRoleId($this->objRole->RoleId); if ($objRoleModuleArray) { foreach ($objRoleModuleArray as $objRoleModule) { $objRoleModule->Delete(); $objRoleModule = null; } } } if ($this->objModuleArray) { foreach ($this->objModuleArray as $objModule) { $objRoleModule = new RoleModule(); $objRoleModule->ModuleId = $objModule->ModuleId; $objRoleModule->RoleId = $this->objRole->RoleId; $objRoleModule->AccessFlag = $this->arrControls[$objModule->ShortDescription]['access']->SelectedValue; $objRoleModule->Save(); if ($this->objAuthorizationArray) { foreach ($this->objAuthorizationArray as $objAuthorization) { $objRoleModuleAuthorization = new RoleModuleAuthorization(); $objRoleModuleAuthorization->RoleModuleId = $objRoleModule->RoleModuleId; $objRoleModuleAuthorization->AuthorizationId = $objAuthorization->AuthorizationId; $objRoleModuleAuthorization->AuthorizationLevelId = $this->arrControls[$objModule->ShortDescription][$objAuthorization->ShortDescription]->SelectedValue; $objRoleModuleAuthorization->Save(); $objRoleModuleAuthorization = null; } } $objRoleModule = null; } }*/ }