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(); } } } }
/** * 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); }
/** * 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; }
/** * 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; }
protected function arrControls_Create() { if ($this->objModuleArray) { foreach ($this->objModuleArray as $objModule) { // Create Access List Controls $objAccessControl = new QListBox($this); $objAccessControl->ActionParameter = $objModule->ModuleId; $objAccessControl->Width = 100; $objAccessControl->CssClass = "greentext"; $objEnabledItem = new QListItem('Enabled', 1, false, null, 'CssClass="greentext"'); $objDisabledItem = new QListItem('Disabled', 0, false, null, 'CssClass="redtext"'); if ($this->blnEditMode) { $objRoleModule = RoleModule::LoadByRoleIdModuleId($this->objRole->RoleId, $objModule->ModuleId); if ($objRoleModule) { if ($objRoleModule->AccessFlag) { $objEnabledItem->Selected = true; $objDisabledItem->Selected = false; $objAccessControl->CssClass = "greentext"; } else { $objEnabledItem->Selected = false; $objDisabledItem->Selected = true; $objAccessControl->CssClass = "redtext"; } } } // Add Items to Access Control $objAccessControl->AddItem($objEnabledItem); $objAccessControl->AddItem($objDisabledItem); $objAccessControl->AddAction(new QChangeEvent(), new QAjaxAction('lstAccessControl_Select')); // Set the List Item objects to null because QCodo will maintain them in the formstate otherwise $objEnabledItem = null; $objDisabledItem = null; $this->arrControls[$objModule->ShortDescription]['access'] = $objAccessControl; $objAccessControl = null; if ($this->objAuthorizationArray) { foreach ($this->objAuthorizationArray as $objAuthorization) { // Create Authorization Controls foreach authorization type (view/edit/delete) // We could loop through AuthorizationLevels here, but no need to right now $objControl = new QListBox($this); $objControl->Width = 100; $objControl->ActionParameter = $objModule->ModuleId; $objAllItem = new QListItem('All', 1); $objOwnerItem = new QListItem('Owner', 2); $objNoneItem = new QListItem('None', 3); if ($this->blnEditMode && $objRoleModule) { $objControl->Enabled = $objRoleModule->AccessFlag ? true : false; $objRoleModuleAuthorization = RoleModuleAuthorization::LoadByRoleModuleIdAuthorizationId($objRoleModule->RoleModuleId, $objAuthorization->AuthorizationId); if ($objRoleModuleAuthorization) { // Select the Proper Authorization Level if ($objRoleModuleAuthorization->AuthorizationLevelId == 1) { $objAllItem->Selected = true; $objOwnerItem->Selected = false; $objNoneItem->Selected = false; } elseif ($objRoleModuleAuthorization->AuthorizationLevelId == 2) { $objAllItem->Selected = false; $objOwnerItem->Selected = true; $objNoneItem->Selected = false; } elseif ($objRoleModuleAuthorization->AuthorizationLevelId == 3) { $objAllItem->Selected = false; $objOwnerItem->Selected = false; $objNoneItem->Selected = true; } } // Add the RoleModuleAuthorization to an array so that it can be checked for Optimistic Locking Constraints when saving $this->objRoleModuleAuthorizationArray[$objRoleModule->RoleModuleId . '-' . $objAuthorization->AuthorizationId] = $objRoleModuleAuthorization; $objRoleModuleAuthorization = null; } else { $objAllItem->Selected = true; } $objControl->AddItem($objAllItem); $objControl->AddItem($objOwnerItem); // Do not include the 'None' List Item for View // If an administrator does not want to allow for viewing, they should disable access. This eliminates the problem of setting View: None, but Edit: All // The problem with View: Owner and Edit: All still exists if ($objAuthorization->AuthorizationId != 1) { $objControl->AddItem($objNoneItem); } $objAllItem = null; $objOwnerItem = null; $objNoneItem = null; // Assign the Controls array if ($objAuthorization->ShortDescription == 'edit') { $objControl->AddAction(new QChangeEvent(), new QAjaxAction('lstEdit_Change')); $arrEditControlIdModuleId[] = $objControl->ControlId . "-" . $objModule->ModuleId; //$this->lstEdit_Change($this->FormId, $objControl->ControlId, $objModule->ModuleId); } $this->arrControls[$objModule->ShortDescription][$objAuthorization->ShortDescription] = $objControl; $objControl = null; } } $objRoleModule = null; } } foreach ($arrEditControlIdModuleId as $strControlIdModuleId) { $arrExplode = explode("-", $strControlIdModuleId); $this->lstEdit_Change($this->FormId, $arrExplode[0], $arrExplode[1]); } // Create control for Move $objControl = new QListBox($this); $objControl->Width = 100; $objAllItem = new QListItem('All', 1); $objOwnerItem = new QListItem('Owner', 2); $objNoneItem = new QListItem('None', 3); $objControl->ActionParameter = 1; if ($this->blnEditMode) { $objRoleTransactionTypeAuthorization = RoleTransactionTypeAuthorization::LoadByRoleIdTransactionTypeId($this->objRole->RoleId, 1); if ($objRoleTransactionTypeAuthorization) { // Select the Proper Authorization Level if ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 1) { $objAllItem->Selected = true; $objOwnerItem->Selected = false; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 2) { $objAllItem->Selected = false; $objOwnerItem->Selected = true; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 3) { $objAllItem->Selected = false; $objOwnerItem->Selected = false; $objNoneItem->Selected = true; } } } $objControl->AddItem($objAllItem); $objControl->AddItem($objOwnerItem); $objControl->AddItem($objNoneItem); $this->arrControls['move'] = $objControl; // Create control for Check In/Out $objControl = new QListBox($this); $objControl->Width = 100; $objAllItem = new QListItem('All', 1); $objOwnerItem = new QListItem('Owner', 2); $objNoneItem = new QListItem('None', 3); $objControl->ActionParameter = 2; if ($this->blnEditMode) { $objRoleTransactionTypeAuthorization = RoleTransactionTypeAuthorization::LoadByRoleIdTransactionTypeId($this->objRole->RoleId, 2); if ($objRoleTransactionTypeAuthorization) { // Select the Proper Authorization Level if ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 1) { $objAllItem->Selected = true; $objOwnerItem->Selected = false; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 2) { $objAllItem->Selected = false; $objOwnerItem->Selected = true; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 3) { $objAllItem->Selected = false; $objOwnerItem->Selected = false; $objNoneItem->Selected = true; } } } $objControl->AddItem($objAllItem); $objControl->AddItem($objOwnerItem); $objControl->AddItem($objNoneItem); $this->arrControls['check_in_out'] = $objControl; // Create control for Reserve/Unreserve $objControl = new QListBox($this); $objControl->Width = 100; $objAllItem = new QListItem('All', 1); $objOwnerItem = new QListItem('Owner', 2); $objNoneItem = new QListItem('None', 3); $objControl->ActionParameter = 3; if ($this->blnEditMode) { $objRoleTransactionTypeAuthorization = RoleTransactionTypeAuthorization::LoadByRoleIdTransactionTypeId($this->objRole->RoleId, 8); if ($objRoleTransactionTypeAuthorization) { // Select the Proper Authorization Level if ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 1) { $objAllItem->Selected = true; $objOwnerItem->Selected = false; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 2) { $objAllItem->Selected = false; $objOwnerItem->Selected = true; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 3) { $objAllItem->Selected = false; $objOwnerItem->Selected = false; $objNoneItem->Selected = true; } } } $objControl->AddItem($objAllItem); $objControl->AddItem($objOwnerItem); $objControl->AddItem($objNoneItem); $this->arrControls['reserve_unreserve'] = $objControl; // Create control for Take Out $objControl = new QListBox($this); $objControl->Width = 100; $objAllItem = new QListItem('All', 1); $objOwnerItem = new QListItem('Owner', 2); $objNoneItem = new QListItem('None', 3); $objControl->ActionParameter = 4; if ($this->blnEditMode) { $objRoleTransactionTypeAuthorization = RoleTransactionTypeAuthorization::LoadByRoleIdTransactionTypeId($this->objRole->RoleId, 5); if ($objRoleTransactionTypeAuthorization) { // Select the Proper Authorization Level if ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 1) { $objAllItem->Selected = true; $objOwnerItem->Selected = false; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 2) { $objAllItem->Selected = false; $objOwnerItem->Selected = true; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 3) { $objAllItem->Selected = false; $objOwnerItem->Selected = false; $objNoneItem->Selected = true; } } } $objControl->AddItem($objAllItem); $objControl->AddItem($objOwnerItem); $objControl->AddItem($objNoneItem); $this->arrControls['take_out'] = $objControl; // Create control for Restock $objControl = new QListBox($this); $objControl->Width = 100; $objAllItem = new QListItem('All', 1); $objOwnerItem = new QListItem('Owner', 2); $objNoneItem = new QListItem('None', 3); $objControl->ActionParameter = 5; if ($this->blnEditMode) { $objRoleTransactionTypeAuthorization = RoleTransactionTypeAuthorization::LoadByRoleIdTransactionTypeId($this->objRole->RoleId, 4); if ($objRoleTransactionTypeAuthorization) { // Select the Proper Authorization Level if ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 1) { $objAllItem->Selected = true; $objOwnerItem->Selected = false; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 2) { $objAllItem->Selected = false; $objOwnerItem->Selected = true; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 3) { $objAllItem->Selected = false; $objOwnerItem->Selected = false; $objNoneItem->Selected = true; } } } $objControl->AddItem($objAllItem); $objControl->AddItem($objOwnerItem); $objControl->AddItem($objNoneItem); $this->arrControls['restock'] = $objControl; // Create control for Check In/Out $objControl = new QListBox($this); $objControl->Width = 100; $objAllItem = new QListItem('All', 1); $objOwnerItem = new QListItem('Owner', 2); $objNoneItem = new QListItem('None', 3); $objControl->ActionParameter = 6; if ($this->blnEditMode) { $objRoleTransactionTypeAuthorization = RoleTransactionTypeAuthorization::LoadByRoleIdTransactionTypeId($this->objRole->RoleId, 10); if ($objRoleTransactionTypeAuthorization) { // Select the Proper Authorization Level if ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 1) { $objAllItem->Selected = true; $objOwnerItem->Selected = false; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 2) { $objAllItem->Selected = false; $objOwnerItem->Selected = true; $objNoneItem->Selected = false; } elseif ($objRoleTransactionTypeAuthorization->AuthorizationLevelId == 3) { $objAllItem->Selected = false; $objOwnerItem->Selected = false; $objNoneItem->Selected = true; } } } $objControl->AddItem($objAllItem); $objControl->AddItem($objOwnerItem); $objControl->AddItem($objNoneItem); $this->arrControls['archive_unarchive'] = $objControl; }
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)); } } } }