コード例 #1
0
 /**
  * prepare organizations for display
  * 
  * 
  * @access public
  * @param array $organizationsArray
  * @return array organizations prepared for display
  */
 public function prepareForDisplay($organizationsArray)
 {
     $OSArray = OrganizationEntity::getOSs();
     $langsArray = OrganizationEntity::getStaticLangs();
     $officeVersionsArray = OrganizationEntity::getOfficeVersions();
     foreach ($organizationsArray as $organization) {
         switch ($organization->type) {
             case OrganizationEntity::TYPE_ATC:
                 $organization->typeText = "ATC";
                 break;
             case OrganizationEntity::TYPE_ATP:
                 $organization->typeText = "ATP";
                 break;
             case OrganizationEntity::TYPE_BOTH:
                 $organization->typeText = "ATC/ATP";
                 break;
         }
         if (array_key_exists($organization->officeLang, $langsArray)) {
             $organization->officeLangText = $langsArray[$organization->officeLang];
         }
         if (array_key_exists($organization->operatingSystemLang, $langsArray)) {
             $organization->operatingSystemLangText = $langsArray[$organization->operatingSystemLang];
         }
         if (array_key_exists($organization->officeVersion, $officeVersionsArray)) {
             $organization->officeVersionText = $officeVersionsArray[$organization->officeVersion];
         }
         if (array_key_exists($organization->operatingSystem, $OSArray)) {
             $organization->operatingSystemText = $OSArray[$organization->operatingSystem];
         }
     }
     return $organizationsArray;
 }
コード例 #2
0
 /**
  * more details of an ATC
  * 
  * 
  * @access public
  * 
  * @return ViewModel
  */
 public function editAction()
 {
     $variables = array();
     $id = $this->params('id');
     $query = $this->getServiceLocator()->get('wrapperQuery');
     $orgsQuery = $this->getServiceLocator()->get('wrapperQuery')->setEntity('Organizations\\Entity\\Organization');
     $orgObj = $query->find('Organizations\\Entity\\Organization', $id);
     $orgModel = $this->getServiceLocator()->get('Organizations\\Model\\Organization');
     $rolesArray = $orgModel->getRequiredRoles($orgObj->getType());
     $validationResult = $this->getServiceLocator()->get('aclValidator')->validateOrganizationAccessControl($this->getResponse(), $rolesArray, $orgObj);
     if ($validationResult["isValid"] === false && !empty($validationResult["redirectUrl"])) {
         return $this->redirect()->toUrl($validationResult["redirectUrl"]);
     }
     // for checking on attachments
     $crAttachment = $orgObj->CRAttachment;
     $atcLicenseAttachment = $orgObj->atcLicenseAttachment;
     $atpLicenseAttachment = $orgObj->atpLicenseAttachment;
     $oldStatus = $orgObj->getStatus();
     $auth = new AuthenticationService();
     $storage = $auth->getIdentity();
     $isAdminUser = false;
     if ($auth->hasIdentity()) {
         if (in_array(Role::ADMIN_ROLE, $storage['roles'])) {
             $isAdminUser = true;
         }
     }
     // allow access for admins for all users
     // restrict access for current user only for non-admin users
     $options = array();
     $options['query'] = $query;
     $options['staticLangs'] = OrgEntity::getStaticLangs();
     $options['staticOss'] = OrgEntity::getOSs();
     $options['staticOfficeVersions'] = OrgEntity::getOfficeVersions();
     $atcSkippedParams = $this->getServiceLocator()->get('Config')['atcSkippedParams'];
     $atpSkippedParams = $this->getServiceLocator()->get('Config')['atpSkippedParams'];
     $form = new orgForm(null, $options);
     $form->bind($orgObj);
     $request = $this->getRequest();
     if ($request->isPost()) {
         //            Make certain to merge the files info!
         //            $fileData = $request->getFiles()->toArray();
         $fileData = $request->getFiles()->toArray();
         $data = array_merge_recursive($request->getPost()->toArray(), $fileData);
         $form->setInputFilter($orgObj->getInputFilter($orgsQuery->setEntity("Organizations\\Entity\\Organization")));
         $inputFilter = $form->getInputFilter();
         $form->setData($data);
         // file not updated
         if (isset($fileData['CRAttachment']['name']) && empty($fileData['CRAttachment']['name'])) {
             // Change required flag to false for any previously uploaded files
             $input = $inputFilter->get('CRAttachment');
             $input->setRequired(false);
         }
         if (isset($fileData['wireTransferAttachment']['name']) && empty($fileData['wireTransferAttachment']['name'])) {
             // Change required flag to false for any previously uploaded files
             $input = $inputFilter->get('wireTransferAttachment');
             $input->setRequired(false);
         }
         if (isset($fileData['atcLicenseAttachment']['name']) && empty($fileData['atcLicenseAttachment']['name'])) {
             // Change required flag to false for any previously uploaded files
             $input = $inputFilter->get('atcLicenseAttachment');
             $input->setRequired(false);
         }
         if (isset($fileData['atpLicenseAttachment']['name']) && empty($fileData['atpLicenseAttachment']['name'])) {
             // Change required flag to false for any previously uploaded files
             $input = $inputFilter->get('atpLicenseAttachment');
             $input->setRequired(false);
         }
         switch ($data['type']) {
             case '1':
                 array_push($atcSkippedParams, 'testCenterAdmin_id');
                 foreach ($atcSkippedParams as $param) {
                     $inputFilter->get($param)->setRequired(false);
                     $data[$param] = null;
                 }
                 break;
             case '2':
                 array_push($atcSkippedParams, 'trainingManager_id');
                 foreach ($atpSkippedParams as $param) {
                     $inputFilter->get($param)->setRequired(false);
                     $data[$param] = null;
                 }
                 break;
         }
         if ($form->isValid()) {
             $orgModel->saveOrganization($data, $orgObj, $oldStatus, null, null, $isAdminUser);
             // redirecting
             if ($data['type'] == 1) {
                 $url = $this->getEvent()->getRouter()->assemble(array('action' => 'atps'), array('name' => 'list_atc_orgs'));
             } else {
                 if ($data['type'] == 2 || $data['type'] == 3) {
                     $url = $this->getEvent()->getRouter()->assemble(array('action' => 'atcs'), array('name' => 'list_atp_orgs'));
                 }
             }
             $this->redirect()->toUrl($url);
         }
     }
     $variables['wireTransferAttachment'] = $crAttachment;
     $variables['CRAttachment'] = $crAttachment;
     $variables['atpLicenseAttachment'] = $atpLicenseAttachment;
     $variables['atcLicenseAttachment'] = $atcLicenseAttachment;
     $variables['organizationForm'] = $this->getFormView($form);
     $organizationArray = array($orgObj);
     $versionModel = $this->getServiceLocator()->get('Versioning\\Model\\Version');
     $organizationLogs = $versionModel->getLogEntriesPerEntities($organizationArray, array(), null, Status::STATUS_NOT_APPROVED);
     $hasPendingChanges = count($organizationLogs) > 0 ? true : false;
     $pendingUrl = $this->getEvent()->getRouter()->assemble(array('id' => $id), array('name' => 'organizationsPending'));
     $variables['messages'] = $versionModel->getPendingMessages($hasPendingChanges, $pendingUrl);
     return new ViewModel($variables);
 }