コード例 #1
0
    /**
     * 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());
    }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
 /**
  * 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());
 }
コード例 #5
0
ファイル: prepend.inc.php プロジェクト: heshuai64/einv2
 /**
  * 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;
 }
コード例 #6
0
 /**
  * Counts all associated RoleModuleAuthorizations
  * @return int
  */
 public function CountRoleModuleAuthorizations()
 {
     if (is_null($this->intRoleModuleId)) {
         return 0;
     }
     return RoleModuleAuthorization::CountByRoleModuleId($this->intRoleModuleId);
 }
コード例 #7
0
ファイル: role_edit.php プロジェクト: brustj/tracmor
 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();
     //}
 }
コード例 #8
0
ファイル: shipment_edit.php プロジェクト: proxymoron/tracmor
 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));
             }
         }
     }
 }
コード例 #9
0
 /**
  * Counts all associated RoleModuleAuthorizationsAsCreatedBy
  * @return int
  */
 public function CountRoleModuleAuthorizationsAsCreatedBy()
 {
     if (is_null($this->intUserAccountId)) {
         return 0;
     }
     return RoleModuleAuthorization::CountByCreatedBy($this->intUserAccountId);
 }
コード例 #10
0
 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);
 }
コード例 #11
0
 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));
 }
コード例 #12
0
    /**
     * 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) . '
			');
    }
コード例 #13
0
 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);
 }
コード例 #14
0
    /**
     * 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) . '
			');
    }
コード例 #15
0
ファイル: Shortcut.class.php プロジェクト: heshuai64/einv2
    /**
     * 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);
    }
コード例 #16
0
ファイル: receipt_edit.php プロジェクト: proxymoron/tracmor
 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();
             }
         }
     }
 }
コード例 #17
0
ファイル: role_edit.php プロジェクト: heshuai64/einv2
 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;
     			}
     			}*/
 }