/** * Список вакансий (главная страница) * @return void */ public function indexAction() { if ($this->_authorize('vacancies', 'view')) { $objVacancies = new Vacancies(); $vacancies = $objVacancies->fetchAll(); //echo "dump: " . var_dump($vacancies); $this->view->vacancies = $objVacancies->fetchAll(); // выбираем из базы данные о тестах $objVT = new VacanciesTest(); $tests = $objVT->getTestsV(); $tests = $this->convertArr($tests, 'vacancy_id', true); $this->view->tests = $tests; } }
/** * Добавление/обновление соискателя * @return void */ private function edit($action) { if ($action == 'edit' && $this->isAllowed('applicants', 'edit') || $action == 'add' && $this->isAllowed('applicants', 'add')) { $objForm = new Form_Applicant_Edit(); $objForm->setAction($this->view->url(array('controller' => 'applicant', 'action' => $action))); $objVacancies = new Vacancies(); $objForm->setSelectOptions($objVacancies->fetchAll()->toArray()); if ($this->getRequest()->isPost()) { if ($objForm->isValid($_POST)) { $objApplicants = new Applicants(); $applicantId = $objForm->applicantId->getValue(); $objApplicant = $objApplicants->getObjectById($applicantId); if (!$objApplicant instanceof Applicant) { $applicantId = null; $objApplicant = $objApplicants->createRow(); $objApplicant->status = "new"; } $LastName = $objForm->LastName->getValue(); $Name = $objForm->Name->getValue(); $Patronymic = $objForm->Patronymic->getValue(); $Birth = $objForm->Birth->getValue(); $VacancyId = $objForm->VacancyId->getValue(); $Email = $objForm->Email->getValue(); $Phone = $objForm->Phone->getValue(); $Resume = $objForm->Resume->getValue(); $objApplicant->last_name = $LastName; $objApplicant->name = $Name; $objApplicant->patronymic = $Patronymic; $objApplicant->birth = $Birth; $objApplicant->vacancy_id = $VacancyId; $objApplicant->email = $Email; $objApplicant->phone = $Phone; $objApplicant->resume = $Resume; if ($objApplicant->status == "staff") { $objApplicant->number = $this->getRequest()->getParam('Number'); } $objApplicant->save(); if ($applicantId == null) { $applicantId = $objApplicants->getAdapter()->lastInsertId(); $comments = new Comments(); $comment = $comments->createRow(); $comment->user_id = Auth::getInstance()->getIdentity(); $comment->applicant_id = $applicantId; $comment->comment = "Applicant added to base"; $comment->save(); } if ($objForm->Photo->getValue() != "") { if ($objForm->Photo->receive()) { $filename = $_SERVER['DOCUMENT_ROOT'] . '/public/images/photos/' . $applicantId . '.jpg'; @unlink($filename); rename($objForm->Photo->getFileName(), $filename); } } $this->_helper->redirector('index', 'applicant'); } else { $objForm->populate($this->getRequest()->getParams()); } } else { $applicantId = $this->getRequest()->getParam('applicantId'); if ($applicantId != '') { // выбираем из базы данные о редактируемом соискателе $objApplicants = new Applicants(); $objApplicant = $objApplicants->getObjectById($applicantId); if ($objApplicant) { $this->view->applicantId = $applicantId; if ($objApplicant->status == "staff") { $objForm->showNumber(); } $objForm->populate(array('LastName' => $objApplicant->last_name, 'Name' => $objApplicant->name, 'Patronymic' => $objApplicant->patronymic, 'Birth' => substr($objApplicant->birth, 0, 10), 'VacancyId' => $objApplicant->vacancy_id, 'Email' => $objApplicant->email, 'Phone' => $objApplicant->phone, 'Resume' => $objApplicant->resume, 'Number' => $objApplicant->number, 'applicantId' => $applicantId)); } } } $this->view->objForm = $objForm; } }