示例#1
0
 /**
  * Список поданных заявок для админа.
  */
 public function action_index_by_admin()
 {
     $user = Model_User::create();
     $udata = (object) $user->getAuth();
     $app = Model_Application::create();
     $request = $this->getRequest();
     //echo '<pre>';var_dump($request );echo '</pre>';
     //die();
     $params = array();
     ($requestData = $request->post) || ($requestData = $request->get);
     $params['sort_field'] = isset($requestData['sort_field']) ? $requestData['sort_field'] : 'fio';
     $params['sort_direction'] = isset($requestData['sort_field']) ? $requestData['sort_direction'] : 'asc';
     $params['filter_status'] = isset($requestData['filter_status']) ? $requestData['filter_status'] : 'work';
     $params['filter_name'] = isset($requestData['sort_field']) ? $requestData['filter_name'] : 'all';
     $params['filter_object_type'] = isset($requestData['sort_field']) ? $requestData['filter_object_type'] : 'all';
     $params['filter_object_id'] = isset($requestData['sort_field']) ? $requestData['filter_object_id'] : 'all';
     $params['page'] = isset($requestData['page']) && $requestData['save_page_num'] ? intval($requestData['page']) : 0;
     //print_r($params);
     $appsFull = $app->getAllAppsInfo($params['sort_field'], $params['sort_direction'], $params['filter_status'], $params['filter_name'], $params['filter_object_type'], $params['filter_object_id'], $params['page']);
     $apps =& $appsFull['data'];
     $pageCount = ceil($appsFull['count'] / Model_Application::APPS_ON_PAGE);
     foreach ($apps as $i => $a) {
         if ($a['status'] == 'accepted') {
             $modelEducProg = Model_Education_Programs::create();
             if ($a['type'] == 'program') {
                 $apps[$i]['paid_type'] = $modelEducProg->getProgramPaidType($a['object_id']);
             } elseif ($a['type'] == 'discipline') {
                 $programId = $modelEducProg->getProgramIdByDiscipline($a['object_id']);
                 $apps[$i]['paid_type'] = $modelEducProg->getProgramPaidType($programId);
             }
         } elseif ($a['status'] == 'signed') {
             $apps[$i] = $app->addInfoIntoKortegAboutPaidState($a);
         }
     }
     $listObjects = $app->getListObjectsApps();
     $listNames = $app->getListUsersApps();
     $listPrograms = array();
     $listDisciplines = array();
     foreach ($listObjects as $korteg) {
         if ($korteg['type'] == 'program') {
             $listPrograms[] = array('object_id' => $korteg['object_id'], 'title' => $korteg['program_title']);
         } else {
             if ($korteg['type'] == 'discipline') {
                 $listDisciplines[] = array('object_id' => $korteg['object_id'], 'title' => $korteg['discipline_title']);
             }
         }
     }
     $this->set('applications', $apps);
     $this->set('statuses', Model_Application::getStatusMap());
     $this->set('listNames', $listNames);
     $this->set('listPrograms', $listPrograms);
     $this->set('listDisciplines', $listDisciplines);
     $this->set('invalidMaterialsForms', array());
     $this->set('links', Resources::getInstance()->links);
     $this->set('sortField', $params['sort_field']);
     $this->set('sortDirection', $params['sort_direction']);
     $this->set('filterStatus', $params['filter_status']);
     $this->set('filterName', $params['filter_name']);
     $this->set('filterObjectType', $params['filter_object_type']);
     $this->set('filterObjectId', $params['filter_object_id']);
     $this->set('page', $params['page']);
     $this->set('pageCount', $pageCount);
     $contract = Model_Contract::create();
     $requestData = $request->files;
     if (empty($requestData)) {
         $this->render('applications/index_by_admin');
     }
     // загрузка договора
     $invalidMaterialsForms = array();
     foreach ($request->files as $key => $item) {
         //list($empty_str,$app_id) = (split('fileReference',$key));
         list($empty_str, $app_id) = explode('fileReference', $key);
     }
     $request->set('get', array('filename' => $request->files['fileReference' . $app_id]['name'], 'sort_field' => $params['sort_field'], 'sort_direction' => $params['sort_direction'], 'filterStatus' => $params['filter_status'], 'filterName' => $params['filter_name'], 'filterObjectType' => $params['filter_object_type'], 'filterObjectId ' => $params['filter_object_id']));
     $contractForm = Form_Contract_Upload::create('');
     $contractForm->setMethod(Form_Abstract::METHOD_GET);
     if (!$contractForm->validate($request)) {
         $invalidMaterialsForms[] = $contractForm;
     } else {
         $postman = Resources::getInstance()->postman;
         $postman->sendContractStudent($udata->email, $request->files['fileReference' . $app_id]['tmp_name']);
         $contract->addContract($request->files['fileReference' . $app_id], $app_id);
     }
     if (!empty($invalidMaterialsForms)) {
         $this->set('invalidMaterialsForms', $invalidMaterialsForms);
         $this->render('educational_materials/upload');
     }
     $links = Resources::getInstance()->links;
     $this->flash('Договор успешно загружен', $links->get('admin.applications'), 3);
 }
示例#2
0
 /**
  * редактирование группы точек
  */
 public function action_edit_dots_group()
 {
     $params = $this->request->post('params');
     $result = Model_Contract::editDotsGroup($params);
     if (!empty($result)) {
         $this->jsonResult(false);
     }
     $this->jsonResult(true);
 }
示例#3
0
 /**
  * список выставленных счетов по контракту
  */
 public function action_bills_list()
 {
     $params = ['contract_id' => $this->request->post('contract_id'), 'offset' => $this->request->post('offset'), 'pagination' => true];
     list($history, $more) = Model_Contract::getBillsList($params);
     if (empty($history)) {
         $this->jsonResult(false);
     }
     $this->jsonResult(true, ['items' => $history, 'more' => $more]);
 }