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);
     }
 }
 public function __construct($objParentObject, $strClosePanelMethod, $arrayModelId)
 {
     try {
         parent::__construct($objParentObject, $strClosePanelMethod);
     } catch (QCallerException $objExc) {
         $objExc->IncrementOffset();
         throw $objExc;
     }
     $this->arrModelsToEdit = $arrayModelId;
     //Set Edit Display Logic of Built-In Fields
     $objRoleEntityQtypeBuiltInAuthorization = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId(QApplication::$objRoleModule->RoleId, 4, 2);
     if ($objRoleEntityQtypeBuiltInAuthorization && $objRoleEntityQtypeBuiltInAuthorization->AuthorizedFlag) {
         $this->blnEditBuiltInFields = true;
     } else {
         $this->blnEditBuiltInFields = false;
     }
     $this->txtLongDescription->Enabled = false;
     // Create Asset Custom Fields
     $this->UpdateCustomFields();
     // Create Checkboxes
     $this->chkCategory_Create();
     $this->chkManufacturer_Create();
     $this->chkLongDescription_Create();
     $this->btnApply_Create();
     // Load Custom Fields
     $objCustomFieldArray = CustomField::LoadObjCustomFieldArray(EntityQtype::AssetModel, false);
     if ($objCustomFieldArray) {
         $this->arrCustomFields = CustomField::CustomFieldControlsCreate($objCustomFieldArray, false, $this, true, true, false);
         foreach ($this->arrCustomFields as $field) {
             $field['input']->Enabled = false;
             $this->arrCheckboxes[$field['input']->strControlId] = new QCheckBox($this, 'chk' . $field['input']->strControlId);
             $this->arrCheckboxes[$field['input']->strControlId]->Checked = false;
             $this->arrCheckboxes[$field['input']->strControlId]->AddAction(new QClickEvent(), new QJavaScriptAction("enableInput(this)"));
             $this->arrCheckboxes[$field['input']->strControlId]->Enabled = $field['blnEdit'];
         }
     }
     $this->btnSave->CausesValidation = QCausesValidation::SiblingsOnly;
     $this->Overflow = QOverflow::Auto;
     // Modify Code Generated Controls
     // $this->btnSave->RemoveAllActions('onclick');
     //$this->btnSave->AddAction(new QClickEvent(), new QServerControlAction($this, 'btnSave_Click'));
 }
Ejemplo n.º 3
0
 protected function chkBuiltIn_Create()
 {
     $this->chkBuiltInView = new QCheckBox($this);
     //because many built-in fields must be visible to navigate within Tracmor
     //the View privilege for built-in fields will always be set as enabled for
     //entities within modules which a user role has module-level access to
     //The View privilege is checked and unchecked automatically, acording to the module-level-access
     $this->chkBuiltInView->Enabled = false;
     $this->chkBuiltInView->Checked = true;
     $intRoleId = QApplication::QueryString('intRoleId');
     $this->chkBuiltInEdit = new QCheckBox($this);
     //	If $intRoleId is set, then it is Edit Mode, so we load the EditPrivilege of BuiltIn Fields
     if ($intRoleId) {
         $objBuiltInEditAuth = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId($intRoleId, $this->intEntityQtypeId, 2);
     }
     //If Creation Mode, the Edit Privilege of the BuiltIn Fields is checked by default
     if (!$this->blnEditMode) {
         $this->chkBuiltInEdit->Checked = 1;
     } elseif (isset($objBuiltInEditAuth)) {
         $this->chkBuiltInEdit->Checked = $objBuiltInEditAuth->AuthorizedFlag;
     }
 }
 public function __construct($objParentObject, $strClosePanelMethod, $arrayInventoryId)
 {
     try {
         parent::__construct($objParentObject);
     } catch (QCallerException $objExc) {
         $objExc->IncrementOffset();
         throw $objExc;
     }
     $this->arrInventoryToEdit = $arrayInventoryId;
     //Set Edit Display Logic of Built-In Fields
     $objRoleEntityQtypeBuiltInAuthorization = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId(QApplication::$objRoleModule->RoleId, EntityQtype::Inventory, 2);
     if ($objRoleEntityQtypeBuiltInAuthorization && $objRoleEntityQtypeBuiltInAuthorization->AuthorizedFlag) {
         $this->blnEditBuiltInFields = true;
     } else {
         $this->blnEditBuiltInFields = false;
     }
     $this->txtLongDescription_Create();
     $this->lstCategory_Create();
     $this->lstManufacturer_Create();
     $this->chkCategory_Create();
     $this->chkManufacturer_Create();
     $this->chkLongDescription_Create();
     $this->btnApply_Create();
     $this->btnCancel_Create();
     // Load Custom Fields
     $objCustomFieldArray = CustomField::LoadObjCustomFieldArray(2, false);
     if ($objCustomFieldArray) {
         $this->arrCustomFields = CustomField::CustomFieldControlsCreate($objCustomFieldArray, false, $this, true, true, false);
         foreach ($this->arrCustomFields as $field) {
             $field['input']->Enabled = false;
             $this->arrCheckboxes[$field['input']->strControlId] = new QCheckBox($this, 'chk' . $field['input']->strControlId);
             $this->arrCheckboxes[$field['input']->strControlId]->Checked = false;
             $this->arrCheckboxes[$field['input']->strControlId]->AddAction(new QClickEvent(), new QJavaScriptAction("enableInput(this)"));
             $this->arrCheckboxes[$field['input']->strControlId]->Enabled = $field['blnEdit'];
         }
     }
 }
Ejemplo n.º 5
0
 protected function UpdateAddressAccess()
 {
     //checks if the entity 4 (AssetModel) has edit authorization
     $objRoleEntityQtypeBuiltInAuthorization = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId(QApplication::$objRoleModule->RoleId, EntityQtype::Address, 2);
     if ($objRoleEntityQtypeBuiltInAuthorization && $objRoleEntityQtypeBuiltInAuthorization->AuthorizedFlag) {
         $this->lblNewToAddress->Visible = true;
     } else {
         $this->lblNewToAddress->Visible = false;
     }
 }
Ejemplo n.º 6
0
 protected function UpdateBuiltInFields()
 {
     //Set View Display Logic of Built-In Fields
     $objRoleEntityQtypeBuiltInAuthorization = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId(QApplication::$objRoleModule->RoleId, EntityQtype::Address, 1);
     if ($objRoleEntityQtypeBuiltInAuthorization && $objRoleEntityQtypeBuiltInAuthorization->AuthorizedFlag) {
         $this->blnViewBuiltInFields = true;
     } else {
         $this->blnViewBuiltInFields = false;
     }
     //Set Edit Display Logic of Built-In Fields
     $objRoleEntityQtypeBuiltInAuthorization2 = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId(QApplication::$objRoleModule->RoleId, EntityQtype::Address, 2);
     if ($objRoleEntityQtypeBuiltInAuthorization2 && $objRoleEntityQtypeBuiltInAuthorization2->AuthorizedFlag) {
         $this->blnEditBuiltInFields = true;
     } else {
         $this->blnEditBuiltInFields = false;
     }
 }
Ejemplo n.º 7
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');
 }
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
 protected function UpdateContactAccess()
 {
     //checks if the entity  has edit authorization
     $objRoleEntityQtypeBuiltInAuthorization = RoleEntityQtypeBuiltInAuthorization::LoadByRoleIdEntityQtypeIdAuthorizationId(QApplication::$objRoleModule->RoleId, EntityQtype::Contact, 2);
     if ($objRoleEntityQtypeBuiltInAuthorization && $objRoleEntityQtypeBuiltInAuthorization->AuthorizedFlag) {
         $this->lblNewFromContact->Visible = true;
         $this->lblNewToContact->Visible = true;
     } else {
         $this->lblNewFromContact->Visible = false;
         $this->lblNewToContact->Visible = false;
     }
 }