protected function SetupCustomField()
 {
     // Lookup Object PK information from Query String (if applicable)
     // Set mode to Edit or New depending on what's found
     $intCustomFieldId = QApplication::QueryString('intCustomFieldId');
     if ($intCustomFieldId) {
         $this->objCustomField = CustomField::Load($intCustomFieldId);
         if (!$this->objCustomField) {
             throw new Exception('Could not find a CustomField object with PK arguments: ' . $intCustomFieldId);
         }
         $this->strTitleVerb = QApplication::Translate('Edit');
         $this->blnEditMode = true;
     } else {
         $this->objCustomField = new CustomField();
         $this->strTitleVerb = QApplication::Translate('Create');
         $this->blnEditMode = false;
     }
 }
 /**
  * Override method to perform a property "Get"
  * This will get the value of $strName
  *
  * @param string $strName Name of the property to get
  * @return mixed
  */
 public function __get($strName)
 {
     switch ($strName) {
         ///////////////////
         // Member Variables
         ///////////////////
         case 'AssetCustomFieldAssetModelId':
             // Gets the value for intAssetCustomFieldAssetModelId (Read-Only PK)
             // @return integer
             return $this->intAssetCustomFieldAssetModelId;
         case 'AssetModelId':
             // Gets the value for intAssetModelId (Not Null)
             // @return integer
             return $this->intAssetModelId;
         case 'CustomFieldId':
             // Gets the value for intCustomFieldId (Not Null)
             // @return integer
             return $this->intCustomFieldId;
             ///////////////////
             // Member Objects
             ///////////////////
         ///////////////////
         // Member Objects
         ///////////////////
         case 'AssetModel':
             // Gets the value for the AssetModel object referenced by intAssetModelId (Not Null)
             // @return AssetModel
             try {
                 if (!$this->objAssetModel && !is_null($this->intAssetModelId)) {
                     $this->objAssetModel = AssetModel::Load($this->intAssetModelId);
                 }
                 return $this->objAssetModel;
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         case 'CustomField':
             // Gets the value for the CustomField object referenced by intCustomFieldId (Not Null)
             // @return CustomField
             try {
                 if (!$this->objCustomField && !is_null($this->intCustomFieldId)) {
                     $this->objCustomField = CustomField::Load($this->intCustomFieldId);
                 }
                 return $this->objCustomField;
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
             ////////////////////////////
             // Virtual Object References (Many to Many and Reverse References)
             // (If restored via a "Many-to" expansion)
             ////////////////////////////
         ////////////////////////////
         // Virtual Object References (Many to Many and Reverse References)
         // (If restored via a "Many-to" expansion)
         ////////////////////////////
         case '__Restored':
             return $this->__blnRestored;
         default:
             try {
                 return parent::__get($strName);
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
     }
 }
 /**
  * Override method to perform a property "Get"
  * This will get the value of $strName
  *
  * @param string $strName Name of the property to get
  * @return mixed
  */
 public function __get($strName)
 {
     switch ($strName) {
         ///////////////////
         // Member Variables
         ///////////////////
         case 'EntityQtypeCustomFieldId':
             /**
              * Gets the value for intEntityQtypeCustomFieldId (Read-Only PK)
              * @return integer
              */
             return $this->intEntityQtypeCustomFieldId;
         case 'EntityQtypeId':
             /**
              * Gets the value for intEntityQtypeId (Not Null)
              * @return integer
              */
             return $this->intEntityQtypeId;
         case 'CustomFieldId':
             /**
              * Gets the value for intCustomFieldId (Not Null)
              * @return integer
              */
             return $this->intCustomFieldId;
             ///////////////////
             // Member Objects
             ///////////////////
         ///////////////////
         // Member Objects
         ///////////////////
         case 'CustomField':
             /**
              * Gets the value for the CustomField object referenced by intCustomFieldId (Not Null)
              * @return CustomField
              */
             try {
                 if (!$this->objCustomField && !is_null($this->intCustomFieldId)) {
                     $this->objCustomField = CustomField::Load($this->intCustomFieldId);
                 }
                 return $this->objCustomField;
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
             ////////////////////////////
             // Virtual Object References (Many to Many and Reverse References)
             // (If restored via a "Many-to" expansion)
             ////////////////////////////
         ////////////////////////////
         // Virtual Object References (Many to Many and Reverse References)
         // (If restored via a "Many-to" expansion)
         ////////////////////////////
         case '_RoleEntityQtypeCustomFieldAuthorization':
             /**
              * Gets the value for the private _objRoleEntityQtypeCustomFieldAuthorization (Read-Only)
              * if set due to an expansion on the role_entity_qtype_custom_field_authorization.entity_qtype_custom_field_id reverse relationship
              * @return RoleEntityQtypeCustomFieldAuthorization
              */
             return $this->_objRoleEntityQtypeCustomFieldAuthorization;
         case '_RoleEntityQtypeCustomFieldAuthorizationArray':
             /**
              * Gets the value for the private _objRoleEntityQtypeCustomFieldAuthorizationArray (Read-Only)
              * if set due to an ExpandAsArray on the role_entity_qtype_custom_field_authorization.entity_qtype_custom_field_id reverse relationship
              * @return RoleEntityQtypeCustomFieldAuthorization[]
              */
             return (array) $this->_objRoleEntityQtypeCustomFieldAuthorizationArray;
         default:
             try {
                 return parent::__get($strName);
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
     }
 }
 /**
  * This loads an expanded array of CustomFieldSelections and their associated values
  * The values for each selection can be accessed by looping through: $CustomFieldSelections[$i]->CustomFieldValue->ShortDescription
  *
  * @param integer $intAssetId
  * @param integer $intCustomAssetFieldId
  * @param string $strOrderBy
  * @param string $strLimit
  * @param ExpansionMap Object $objExpansionMap
  * @return CustomAssetFieldSelection
  */
 public static function LoadExpandedArray($intEntityId, $intEntityQtypeId, $intCustomFieldId, $strOrderBy = null, $strLimit = null, $objExpansionMap = null)
 {
     switch ($intEntityQtypeId) {
         case 1:
             $strPrimaryKey = 'asset_id';
             $strId = 'asset`.`asset_id';
             $strHelperTable = '`asset_custom_field_helper`';
             break;
         case 2:
             $strPrimaryKey = 'inventory_model_id';
             $strId = 'inventory_model`.`inventory_model_id';
             $strHelperTable = '`inventory_model_custom_field_helper`';
             break;
         case 4:
             $strPrimaryKey = 'asset_model_id';
             $strId = 'asset_model`.`asset_model_id';
             $strHelperTable = '`asset_model_custom_field_helper`';
             break;
         case 5:
             $strPrimaryKey = 'manufacturer_id';
             $strId = 'manufacturer`.`manufacturer_id';
             $strHelperTable = '`manufacturer_custom_field_helper`';
             break;
         case 6:
             $strPrimaryKey = 'category_id';
             $strId = 'category`.`category_id';
             $strHelperTable = '`category_custom_field_helper`';
             break;
         case 7:
             $strPrimaryKey = 'company_id';
             $strId = 'company`.`company_id';
             $strHelperTable = '`company_custom_field_helper`';
             break;
         case 8:
             $strPrimaryKey = 'contact_id';
             $strId = 'contact`.`contact_id';
             $strHelperTable = '`contact_custom_field_helper`';
             break;
         case 9:
             $strPrimaryKey = 'address_id';
             $strId = 'address`.`address_id';
             $strHelperTable = '`address_custom_field_helper`';
             break;
         case 10:
             $strPrimaryKey = 'shipment_id';
             $strId = 'shipment`.`shipment_id';
             $strHelperTable = '`shipment_custom_field_helper`';
             break;
         case 11:
             $strPrimaryKey = 'receipt_id';
             $strId = 'receipt`.`receipt_id';
             $strHelperTable = '`receipt_custom_field_helper`';
             break;
     }
     $objDatabase = CustomField::GetDatabase();
     $strQuery = sprintf("SELECT * FROM %s WHERE %s = %s", $strHelperTable, $strPrimaryKey, $intEntityId);
     $objDbResult = $objDatabase->Query($strQuery);
     $objToReturn = array();
     $objDbRow = $objDbResult->GetNextRow();
     $strShortDescription = $objDbRow->GetColumn('cfv_' . $intCustomFieldId, 'String');
     $objCustomFieldSelection = new CustomFieldSelection();
     $objCustomFieldSelection->intEntityQtypeId = $intEntityQtypeId;
     $objCustomFieldSelection->intEntityId = $intEntityId;
     $objCustomFieldSelection->CustomFieldSelectionId = 0;
     $objCustomField = CustomField::Load($intCustomFieldId);
     // If it is a select custom field
     if ($objCustomField->CustomFieldQtypeId == 2 && !empty($strShortDescription)) {
         @($objCustomFieldValue = CustomFieldValue::LoadByCustomFieldShortDescription($intCustomFieldId, $strShortDescription));
         if ($objCustomFieldValue) {
             $objCustomFieldSelection->CustomFieldValueId = $objCustomFieldValue->CustomFieldValueId;
         }
     } else {
         $objCustomFieldSelection->CustomFieldValueId = 0;
         $objCustomFieldValue = new CustomFieldValue();
         $objCustomFieldValue->CustomFieldValueId = 0;
         $objCustomFieldValue->CustomFieldId = $intCustomFieldId;
         //$objCustomFieldValue->ShortDescription = $objDbRow->GetColumn('cfv_' . $intCustomFieldId, 'String');
         $objCustomFieldValue->ShortDescription = $strShortDescription;
     }
     $objCustomFieldSelection->CustomFieldValue = $objCustomFieldValue;
     $objToReturn = $objCustomFieldSelection;
     return $objToReturn;
     /*			// Expand to include Values
     			$objExpansionMap[CustomFieldSelection::ExpandCustomFieldValue] = true;
     			
     			// Call to ArrayQueryHelper to Get Database Object and Get SQL Clauses
     			CustomFieldSelection::ArrayQueryHelper($strOrderBy, $strLimit, $strLimitPrefix, $strLimitSuffix, $strExpandSelect, $strExpandFrom, $objExpansionMap, $objDatabase);
     			
     			// Properly Escape All Input Parameters using Database->SqlVariable()
     			$intEntityId = $objDatabase->SqlVariable($intEntityId);
     			$intEntityQtypeId = $objDatabase->SqlVariable($intEntityQtypeId);
     			$intCustomFieldId = $objDatabase->SqlVariable($intCustomFieldId);
     			
     			$strQuery = sprintf('
     				SELECT
     					%s
     					`custom_field_selection`.*
     					%s
     				FROM
     					`custom_field_selection`
     					%s
     				WHERE
     					`custom_field_selection` . `entity_id` = %s AND
     					`custom_field_selection` . `entity_qtype_id` = %s AND
     					`custom_field_selection__custom_field_value_id` . `custom_field_id` = %s
     				%s
     				%s', $strLimitPrefix, $strExpandSelect, $strExpandFrom,
     				$intEntityId, $intEntityQtypeId, $intCustomFieldId, 
     				$strOrderBy, $strLimitSuffix);
     
     			// Perform the Query and Instantiate the Result
     			$objDbResult = $objDatabase->Query($strQuery);
     			return CustomFieldSelection::InstantiateDbRow($objDbResult->GetNextRow());*/
 }
 public function btnEdit_Click($strFormId, $strControlId, $strParameter)
 {
     $strParameterArray = explode(',', $strParameter);
     $objCustomField = CustomField::Load($strParameterArray[0]);
     $objEditPanel = new CustomFieldEditPanel($this, $this->strCloseEditPanelMethod, $objCustomField);
     $strMethodName = $this->strSetEditPanelMethod;
     $this->objForm->{$strMethodName}($objEditPanel);
 }
 /**
  * Reload this CustomField from the database.
  * @return void
  */
 public function Reload()
 {
     // Make sure we are actually Restored from the database
     if (!$this->__blnRestored) {
         throw new QCallerException('Cannot call Reload() on a new, unsaved CustomField object.');
     }
     // Reload the Object
     $objReloaded = CustomField::Load($this->intCustomFieldId);
     // Update $this's local variables to match
     $this->CustomFieldQtypeId = $objReloaded->CustomFieldQtypeId;
     $this->DefaultCustomFieldValueId = $objReloaded->DefaultCustomFieldValueId;
     $this->strShortDescription = $objReloaded->strShortDescription;
     $this->blnActiveFlag = $objReloaded->blnActiveFlag;
     $this->blnRequiredFlag = $objReloaded->blnRequiredFlag;
     $this->blnAllAssetModelsFlag = $objReloaded->blnAllAssetModelsFlag;
     $this->blnSearchableFlag = $objReloaded->blnSearchableFlag;
     $this->CreatedBy = $objReloaded->CreatedBy;
     $this->dttCreationDate = $objReloaded->dttCreationDate;
     $this->ModifiedBy = $objReloaded->ModifiedBy;
     $this->strModifiedDate = $objReloaded->strModifiedDate;
 }
示例#7
0
 public function getLstKeys()
 {
     $arrToReturn = array();
     foreach ($this->lstMapHeaderArray as $item) {
         if (get_class($item) == 'QListBox') {
             if (is_numeric(str_replace('asset_', '', $item->SelectedValue))) {
                 $arrToReturn[] = CustomField::Load(str_replace('asset_', '', $item->SelectedValue))->ShortDescription;
             } else {
                 $arrToReturn[] = $item->SelectedValue;
             }
         }
     }
     return $arrToReturn;
 }
 /**
  * Override method to perform a property "Get"
  * This will get the value of $strName
  *
  * @param string $strName Name of the property to get
  * @return mixed
  */
 public function __get($strName)
 {
     switch ($strName) {
         ///////////////////
         // Member Variables
         ///////////////////
         case 'CustomFieldValueId':
             /**
              * Gets the value for intCustomFieldValueId (Read-Only PK)
              * @return integer
              */
             return $this->intCustomFieldValueId;
         case 'CustomFieldId':
             /**
              * Gets the value for intCustomFieldId (Not Null)
              * @return integer
              */
             return $this->intCustomFieldId;
         case 'ShortDescription':
             /**
              * Gets the value for strShortDescription 
              * @return string
              */
             return $this->strShortDescription;
         case 'CreatedBy':
             /**
              * Gets the value for intCreatedBy 
              * @return integer
              */
             return $this->intCreatedBy;
         case 'CreationDate':
             /**
              * Gets the value for dttCreationDate 
              * @return QDateTime
              */
             return $this->dttCreationDate;
         case 'ModifiedBy':
             /**
              * Gets the value for intModifiedBy 
              * @return integer
              */
             return $this->intModifiedBy;
         case 'ModifiedDate':
             /**
              * Gets the value for strModifiedDate (Read-Only Timestamp)
              * @return string
              */
             return $this->strModifiedDate;
             ///////////////////
             // Member Objects
             ///////////////////
         ///////////////////
         // Member Objects
         ///////////////////
         case 'CustomField':
             /**
              * Gets the value for the CustomField object referenced by intCustomFieldId (Not Null)
              * @return CustomField
              */
             try {
                 if (!$this->objCustomField && !is_null($this->intCustomFieldId)) {
                     $this->objCustomField = CustomField::Load($this->intCustomFieldId);
                 }
                 return $this->objCustomField;
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         case 'CreatedByObject':
             /**
              * Gets the value for the UserAccount object referenced by intCreatedBy 
              * @return UserAccount
              */
             try {
                 if (!$this->objCreatedByObject && !is_null($this->intCreatedBy)) {
                     $this->objCreatedByObject = UserAccount::Load($this->intCreatedBy);
                 }
                 return $this->objCreatedByObject;
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
         case 'ModifiedByObject':
             /**
              * Gets the value for the UserAccount object referenced by intModifiedBy 
              * @return UserAccount
              */
             try {
                 if (!$this->objModifiedByObject && !is_null($this->intModifiedBy)) {
                     $this->objModifiedByObject = UserAccount::Load($this->intModifiedBy);
                 }
                 return $this->objModifiedByObject;
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
             ////////////////////////////
             // Virtual Object References (Many to Many and Reverse References)
             // (If restored via a "Many-to" expansion)
             ////////////////////////////
         ////////////////////////////
         // Virtual Object References (Many to Many and Reverse References)
         // (If restored via a "Many-to" expansion)
         ////////////////////////////
         case '_CustomFieldAsDefault':
             /**
              * Gets the value for the private _objCustomFieldAsDefault (Read-Only)
              * if set due to an expansion on the custom_field.default_custom_field_value_id reverse relationship
              * @return CustomField
              */
             return $this->_objCustomFieldAsDefault;
         case '_CustomFieldAsDefaultArray':
             /**
              * Gets the value for the private _objCustomFieldAsDefaultArray (Read-Only)
              * if set due to an ExpandAsArray on the custom_field.default_custom_field_value_id reverse relationship
              * @return CustomField[]
              */
             return (array) $this->_objCustomFieldAsDefaultArray;
         case '_CustomFieldSelection':
             /**
              * Gets the value for the private _objCustomFieldSelection (Read-Only)
              * if set due to an expansion on the custom_field_selection.custom_field_value_id reverse relationship
              * @return CustomFieldSelection
              */
             return $this->_objCustomFieldSelection;
         case '_CustomFieldSelectionArray':
             /**
              * Gets the value for the private _objCustomFieldSelectionArray (Read-Only)
              * if set due to an ExpandAsArray on the custom_field_selection.custom_field_value_id reverse relationship
              * @return CustomFieldSelection[]
              */
             return (array) $this->_objCustomFieldSelectionArray;
         default:
             try {
                 return parent::__get($strName);
             } catch (QCallerException $objExc) {
                 $objExc->IncrementOffset();
                 throw $objExc;
             }
     }
 }
 /**
  * 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 CustomFieldMetaControl
  * @param integer $intCustomFieldId primary key value
  * @param QMetaControlCreateType $intCreateType rules governing CustomField object creation - defaults to CreateOrEdit
  * @return CustomFieldMetaControl
  */
 public static function Create($objParentObject, $intCustomFieldId = null, $intCreateType = QMetaControlCreateType::CreateOrEdit)
 {
     // Attempt to Load from PK Arguments
     if (strlen($intCustomFieldId)) {
         $objCustomField = CustomField::Load($intCustomFieldId);
         // CustomField was found -- return it!
         if ($objCustomField) {
             return new CustomFieldMetaControl($objParentObject, $objCustomField);
         } else {
             if ($intCreateType != QMetaControlCreateType::CreateOnRecordNotFound) {
                 throw new QCallerException('Could not find a CustomField object with PK arguments: ' . $intCustomFieldId);
             }
         }
         // 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 CustomFieldMetaControl($objParentObject, new CustomField());
 }