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'); } }
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; }