Ejemplo n.º 1
0
 public function createDefaults($data, $accountId)
 {
     $model = new Model_Wep();
     //Save default values
     $fieldString = $this->prepareDefaultFieldValues($data);
     $defaultValues['object'] = $fieldString;
     $defaultValues['account_id'] = $accountId;
     $defaultValuesId = $model->insertRowsToTable('default_field_values', $defaultValues);
     //Insert Default Fields
     $defaultFieldGroup = new Iati_WEP_AccountDisplayFieldGroup();
     $default = array('title', 'description', 'activity_status', 'activity_date', 'participating_org', 'recipient_country', 'sector', 'budget', 'transaction');
     foreach ($default as $eachField) {
         $defaultFieldGroup->setProperties($eachField);
     }
     $fieldString = serialize($defaultFieldGroup);
     $defaultFields['object'] = $fieldString;
     $defaultFields['account_id'] = $accountId;
     $defaultFieldId = $model->insertRowsToTable('default_field_groups', $defaultFields);
 }
Ejemplo n.º 2
0
 /**
  * Function to create a new account.
  *
  * This function creates a new account, admin user for the account, admin user's profile and sets default values for
  * the admin user. It also sends mail to the user and the admin.
  * @param array $userData   array of account informatio.
  * @return int $accountId   id of the account created.
  */
 public function registerUser($userData)
 {
     $modelWep = new Model_Wep();
     $data = array();
     $data['email'] = $userData['email'];
     $data['first_name'] = $userData['first_name'];
     $data['last_name'] = $userData['last_name'];
     $data['account_identifier'] = $userData['account_identifier'];
     $data['user_name'] = $userData['user_name'];
     $data['password'] = $userData['password'];
     $data['org_name'] = trim($userData['org_name']);
     $data['org_address'] = $userData['org_address'];
     //Save Organisation Info
     $account['name'] = $data['org_name'];
     $account['address'] = $data['org_address'];
     $account['username'] = trim($data['account_identifier']);
     $account['uniqid'] = md5(date('Y-m-d H:i:s'));
     $accountId = $modelWep->insertRowsToTable('account', $account);
     //Save User Info
     $user['user_name'] = trim($data['user_name']);
     $user['password'] = md5($data['password']);
     $user['role_id'] = 1;
     $user['email'] = $data['email'];
     $user['account_id'] = $accountId;
     $user['status'] = 1;
     $user_id = $modelWep->insertRowsToTable('user', $user);
     //Save User Profile
     $admin['first_name'] = $data['first_name'];
     $admin['last_name'] = $data['last_name'];
     $admin['user_id'] = $user_id;
     $admin_id = $modelWep->insertRowsToTable('profile', $admin);
     //Create defaults
     $defaults = new Model_Defaults();
     $defaults->createDefaults($data, $accountId);
     //Send notification
     $notification = new Model_Notification();
     $notification->sendRegistrationNotifications($data);
     return $accountId;
 }
Ejemplo n.º 3
0
 public function createOrganisation($orgId, $default)
 {
     $wepModelObj = new Model_Wep();
     // Save Organization
     $organisationInfo['@xml_lang'] = $default['language'];
     $organisationInfo['@last_updated_datetime'] = date('Y-m-d H:i:s');
     $organisationInfo['@default_currency'] = $default['currency'];
     $organisationInfo['account_id'] = $orgId;
     $organisationId = $wepModelObj->insertRowsToTable('iati_organisation', $organisationInfo);
     //Save reporting org
     $reporting_org = array();
     $reporting_org['@ref'] = $default['reporting_org_ref'];
     $reporting_org['text'] = $default['reporting_org'];
     $reporting_org['@type'] = $default['reporting_org_type'];
     $reporting_org['@xml_lang'] = $default['reporting_org_lang'];
     $reporting_org['organisation_Id'] = $organisationId;
     $reporting_org_id = $wepModelObj->insertRowsToTable('iati_organisation/reporting_org', $reporting_org);
     //Save  Identifier
     $identifier = array();
     $identifier['text'] = trim($default['reporting_org_ref']);
     $identifier['organisation_Id'] = $organisationId;
     $identifier_id = $wepModelObj->insertRowsToTable('iati_organisation/identifier', $identifier);
     return (int) $organisationId;
 }
Ejemplo n.º 4
0
 public function dashboardAction()
 {
     if (Simplified_Model_Simplified::isSimplified()) {
         $this->_redirect('simplified/default/dashboard');
     }
     $identity = Zend_Auth::getInstance()->getIdentity();
     $account_id = $identity->account_id;
     $model = new Model_Wep();
     $activityModel = new Model_Activity();
     $activities_id = $model->listAll('iati_activities', 'account_id', $account_id);
     if (empty($activities_id)) {
         $data['@version'] = '01';
         $data['@generated_datetime'] = date('Y-m-d H:i:s');
         $data['user_id'] = $identity->user_id;
         $data['account_id'] = $identity->account_id;
         $data['unqid'] = uniqid();
         $activities_id = $model->insertRowsToTable('iati_activities', $data);
     } else {
         $activities_id = $activities_id[0]['id'];
     }
     $activityCollModel = new Model_ActivityCollection();
     $activities = $activityCollModel->getActivitiesByAccount($account_id);
     $activitiesAttribs = $activityCollModel->getActivityAttribs($activities);
     $regInfoModel = new Model_RegistryInfo();
     $regInfo = $regInfoModel->getOrgRegistryInfo($account_id);
     $regPublishModel = new Model_RegistryPublishedData();
     $publishedFiles = $regPublishModel->getPublishedInfoByOrg($account_id);
     $this->view->published_data = $published_data;
     $this->view->activity_count = sizeof($activities);
     $this->view->state_count = $activityModel->getCountByState($activities);
     $this->view->last_updated_datetime = $activityModel->getLastUpdatedDatetime($activities);
     $this->view->published_activity_count = $regPublishModel->getActivityCount($publishedFiles);
     $this->view->activity_elements_info = $activitiesAttribs;
     $this->view->registry_url = "/publisher/" . $regInfo->publisher_id;
     $this->view->activities_id = $activities_id;
 }
Ejemplo n.º 5
0
 /**
  * Function to duplicate an activity
  *
  * An activity is duplicated with the provided iati identifier and activity data of the activity to be duplicated.
  * @param int $orgId    organisation id (activities id) of the organisation creating the activity
  * @param int $oldActivityId    id of the activity to be duplicated
  * @param array $activityData   complete fetch data (activity data) of old activity
  * @param array $iatiIdentifier    array of iati identifier text and activity identifier
  * @return int $activityId  Activity id of the activity created after duplication
  */
 public function duplicateActivity($orgId, $oldActivityId, $activityData, $iatiIdentifier)
 {
     $wepModel = new Model_Wep();
     $activityInfo['@xml_lang'] = $activityData['@xml_lang'];
     $activityInfo['@default_currency'] = $activityData['@default_currency'];
     $activityInfo['@hierarchy'] = $activityData['@hierarchy'];
     $activityInfo['@linked_data_uri'] = $activityData['linked_data_default'];
     $activityInfo['@last_updated_datetime'] = date('Y-m-d H:i:s');
     $activityInfo['activities_id'] = $orgId;
     $activityId = $wepModel->insertRowsToTable('iati_activity', $activityInfo);
     $iati_identifier['text'] = trim($iatiIdentifier['iati_identifier']);
     $iati_identifier['activity_identifier'] = trim($iatiIdentifier['activity_identifier']);
     $iati_identifier['activity_id'] = $activityId;
     $wepModel->insertRowsToTable('iati_identifier', $iati_identifier);
     $element = new Iati_Aidstream_Element_Activity();
     $childElements = $element->getChildElements();
     foreach ($childElements as $child) {
         // Don't duplicate IatiIdentifer or Transaction
         if ($child == 'IatiIdentifier' || $child == 'Transaction') {
             continue;
         }
         $child = 'Iati_Aidstream_Element_Activity_' . $child;
         $childElement = new $child();
         $childElement->setDuplicate(true);
         $result = $childElement->fetchData($oldActivityId, true);
         if (count($result)) {
             $elementsData[$childElement->getClassName()] = $result;
             $id = $childElement->save($elementsData[$childElement->getClassName()], $activityId, true);
         }
         unset($elementsData);
     }
     return (int) $activityId;
 }
Ejemplo n.º 6
0
 public function createOrganisationGroupAction()
 {
     $form = new Form_Admin_CreateOrganisationGroup();
     $this->view->form = $form;
     if ($this->getRequest()->isPost()) {
         $data = $this->getRequest()->getPost();
         if (!$form->isValid($data)) {
             $form->populate($data);
         } else {
             $model = new Model_Wep();
             $userGroupModel = new User_Model_DbTable_UserGroup();
             $groupModel = new User_Model_DbTable_Group();
             $user['user_name'] = $data['group_identifier'] . '_group';
             $user['password'] = md5($data['password']);
             $user['role_id'] = 4;
             $user['email'] = $data['email'];
             $user['account_id'] = 0;
             $user['status'] = 1;
             $user_id = $model->insertRowsToTable('user', $user);
             $information['first_name'] = $data['first_name'];
             $information['middle_name'] = $data['middle_name'];
             $information['last_name'] = $data['last_name'];
             $information['user_id'] = $user_id;
             $profile_id = $model->insertRowsToTable('profile', $information);
             $group['name'] = $data['group_name'];
             $group['username'] = $data['group_identifier'];
             $group['user_id'] = $user_id;
             $group_id = $userGroupModel->insertUserGroup($group);
             $accountIds = $data['group_organisations'];
             foreach ($accountIds as $account_id) {
                 $groupModel->insertGroupWithAccountId($account_id, $group_id);
             }
             $this->_helper->FlashMessenger->addMessage(array('message' => "Organisation Group successfully created."));
             $this->_redirect('/admin/group-organisations');
         }
     }
 }