Ejemplo n.º 1
0
 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;
     }
 }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
 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));
 }
Ejemplo n.º 7
0
 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();
         }
     }
 }
Ejemplo n.º 8
0
 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();
                 }
             }
         }
     }
 }
Ejemplo n.º 9
0
 /**
  * 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());
 }
Ejemplo n.º 13
0
 /**
  * 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;
 }
Ejemplo n.º 14
0
 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);
 }
Ejemplo n.º 16
0
    /**
     * 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);
 }
Ejemplo n.º 18
0
 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();
         }
     }
 }
Ejemplo n.º 19
0
 /**
  * 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;
 }