Пример #1
0
 public function updateOrganisationAction()
 {
     if (!empty($_POST)) {
         $data = $this->getRequest()->getPost();
         $model = new Model_Wep();
         $account_id = $org_id = $data['org_id'];
         $user_id = $data['user_id'];
         $profile_id = $data['profile_id'];
         // Remove password element if password is empty.
         if (!$data['password']) {
             unset($data['password']);
             unset($data['confirmpassword']);
         }
         $defaultFieldsValues = $model->getDefaults('default_field_values', 'account_id', $org_id);
         $default['field_values'] = $defaultFieldsValues->getDefaultFields();
         $defaultFieldGroup = $model->getDefaults('default_field_groups', 'account_id', $org_id);
         $default['fields'] = $defaultFieldGroup->getProperties();
         $form = new Form_Wep_Accountregister();
         $form->add($default);
         $form->organisation_username->clearValidators();
         if ($form->isValidPartial($data)) {
             $account['address'] = $data['organisation_address'];
             $model->updateRow('account', $account, 'id', $org_id);
             //Update User Info
             if ($data['password']) {
                 $user['password'] = md5($data['password']);
             }
             $user['email'] = $data['email'];
             $user['user_name'] = $data['admin_username'];
             $user_id = $model->updateRow('user', $user, 'user_id', $user_id);
             $admin['first_name'] = $data['first_name'];
             $admin['middle_name'] = $data['middle_name'];
             $admin['last_name'] = $data['last_name'];
             $admin_id = $model->updateRow('profile', $admin, 'id', $profile_id);
             //Update defaults
             $default = new Model_Defaults();
             $default->updateDefaults($data, $org_id);
             $privilegeFields['resource'] = serialize($defaultKey);
             $privilegeFieldId = $model->updateRow('Privilege', $privilegeFields, 'owner_id', $account_id);
             $this->_helper->FlashMessenger->addMessage(array('message' => "Organisation Information\n                                       Sucessfully Updated."));
             $this->_redirect('/admin/edit-organisation/?id=' . $org_id);
         } else {
             $form->populate($data);
             $form->addElement('hidden', 'org_id', array('value' => $org_id));
             $form->addElement('hidden', 'user_id', array('value' => $user_id));
             $form->addElement('hidden', 'profile_id', array('value' => $profile_id));
             $form->organisation_name->setAttrib('readonly', 'true');
             $form->organisation_username->setAttrib('readonly', 'true');
             $form->admin_username->setAttrib('readonly', 'true');
             $form->Signup->setLabel('Save');
         }
         $this->view->form = $form;
     } else {
         $this->_redirect('admin/register');
     }
 }
Пример #2
0
 public function settingsAction()
 {
     if (Simplified_Model_Simplified::isSimplified()) {
         $this->_redirect('simplified/default/settings');
     }
     $identity = Zend_Auth::getInstance()->getIdentity();
     $model = new Model_Wep();
     $modelRegistryInfo = new Model_RegistryInfo();
     $defaultFieldsValues = $model->getDefaults('default_field_values', 'account_id', $identity->account_id);
     $default['field_values'] = $defaultFieldsValues->getDefaultFields();
     $defaultFieldGroup = $model->getDefaults('default_field_groups', 'account_id', $identity->account_id);
     $default['fields'] = $defaultFieldGroup->getProperties();
     $form = new Form_Wep_EditDefaults();
     $form->edit($default);
     $registryInfoData = $modelRegistryInfo->getOrgRegistryInfo($identity->account_id);
     if ($registryInfoData) {
         $form->populate($registryInfoData->toArray());
     }
     if ($_POST) {
         try {
             $data = $this->getRequest()->getPost();
             if (!$form->isValid($data)) {
                 $this->_helper->FlashMessenger->addMessage(array('error' => "You have some error in your data"));
                 $form->populate($data);
             } else {
                 //Trim
                 $data['default_reporting_org'] = trim($data['default_reporting_org']);
                 $data['reporting_org_ref'] = trim($data['reporting_org_ref']);
                 //Get default fields values for reporting org
                 $defaultFieldsValues = $model->getDefaults('default_field_values', 'account_id', $identity->account_id);
                 $defaults = $defaultFieldsValues->getDefaultFields();
                 $reportingOrgOld['@ref'] = $defaults['reporting_org_ref'];
                 $reportingOrgOld['@type'] = $defaults['reporting_org_type'];
                 $reportingOrgOld['@xml_lang'] = $defaults['reporting_org_lang'];
                 $reportingOrgOld['text'] = $defaults['reporting_org'];
                 $reportingOrgOld = serialize($reportingOrgOld);
                 //Get values from settings form
                 $reportingOrgNew['@ref'] = $data['reporting_org_ref'];
                 $reportingOrgNew['@type'] = $data['reporting_org_type'];
                 $reportingOrgNew['@xml_lang'] = $data['reporting_org_lang'];
                 $reportingOrgNew['text'] = $data['default_reporting_org'];
                 $reportingOrgNew = serialize($reportingOrgNew);
                 //Update Publishing Info
                 $modelRegistryInfo->updateRegistryInfoFromData($data);
                 //Update Default Values
                 $defaults = new Model_Defaults();
                 $defaults->updateDefaults($data);
                 if (isset($_GET['btn'])) {
                     $save = $_GET['btn'];
                 }
                 //If reporting org change
                 if ($reportingOrgNew != $reportingOrgOld) {
                     if ($save == "ok") {
                         $model->updateIatiIdentifiers($data['reporting_org_ref']);
                         $model->settingsChange();
                         //Check push_to_registry for activity
                         $modelPublished = new Model_Published();
                         $activityPublish = $modelPublished->isPushedToRegistry($identity->account_id);
                         if ($activityPublish) {
                             $this->pushToRegistry('Published');
                         }
                         //Check push_to_registry for organisation data
                         $modelOrganisationPublished = new Model_OrganisationPublished();
                         $organisationPublish = $modelOrganisationPublished->isPushedToRegistry($identity->account_id);
                         if ($organisationPublish) {
                             $this->pushToRegistry('OrganisationPublished');
                         }
                     }
                 }
                 $this->_helper->FlashMessenger->addMessage(array('message' => "Settings successfully updated."));
                 if ($identity->role == 'superadmin') {
                     $this->_redirect('admin/dashboard');
                 } else {
                     if ($identity->role == 'admin') {
                         $this->_redirect('wep/dashboard');
                     }
                 }
             }
         } catch (Exception $e) {
             print $e;
         }
     }
     $this->view->blockManager()->enable('partial/dashboard.phtml');
     $this->view->form = $form;
 }