Beispiel #1
0
 public function duplicateActivityAction()
 {
     $identity = Zend_Auth::getInstance()->getIdentity();
     $activityId = $this->_getParam('activity_id');
     if (!$activityId) {
         $this->_helper->FlashMessenger->addMessage(array('error' => "No id provided."));
         $this->_redirect('wep/view-activities');
     }
     $activityClassObj = new Iati_Aidstream_Element_Activity();
     $activityModel = new Model_Activity();
     $wepModel = new Model_Wep();
     $activities = $wepModel->listAll('iati_activities', 'account_id', $identity->account_id);
     $activities_id = $activities[0]['id'];
     $activityData = $activityClassObj->fetchData($activityId, false);
     $form = new Form_Wep_IatiIdentifier('add', $identity->account_id);
     $form->add('add', $identity->account_id);
     $form->populate(array('reporting_org' => $activityData['Activity']['ReportingOrg']['@ref']));
     if ($data = $this->getRequest()->getPost()) {
         if (!$form->isValid($data)) {
             $form->populate($data);
         } else {
             $iatiIdentifier = array();
             $iatiIdentifier['iati_identifier'] = $data['iati_identifier_text'];
             $iatiIdentifier['activity_identifier'] = $data['activity_identifier'];
             $newActivityId = $activityModel->duplicateActivity($activities_id, $activityId, $activityData['Activity'], $iatiIdentifier);
         }
         if ($newActivityId) {
             $this->_helper->FlashMessenger->addMessage(array('message' => "Activity duplication successful. View duplicated \n                    <a href='{$this->view->baseUrl()}/activity/view-activity-info/?activity_id={$newActivityId}'>activity</a>."));
             $this->_redirect('/wep/view-activities');
         } else {
             $this->_helper->FlashMessenger->addMessage(array('error' => 'Activity duplication failed.'));
             $this->_redirect('/wep/view-activities');
         }
     }
     $this->view->form = $form;
     $this->view->activity_info = $activityData['Activity'];
 }