From f684517432670d3135dec0cc18f3c5b427ead9d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20M=C3=BCller?= Date: Wed, 7 May 2014 10:51:24 +0200 Subject: [PATCH] #260 --- app/Controller/JobController.php | 711 ++++++++++++++++--------------- app/View/Job/opening_edit.ctp | 2 +- 2 files changed, 359 insertions(+), 354 deletions(-) diff --git a/app/Controller/JobController.php b/app/Controller/JobController.php index 697fedc..eae017b 100644 --- a/app/Controller/JobController.php +++ b/app/Controller/JobController.php @@ -4,362 +4,367 @@ App::uses('AppController', 'Controller'); class JobController extends AppController { - /** - * This controller use User Model - * - * @var array - */ - - public $uses = array('DreamjobJobOpening','DreamjobJobFavority','DreamjobJobApplication','DreamjobPageText','DreamjobPageImage','DreamjobJobMsg','DreamjobCvEntry','DreamjobListCvCategory','DreamjobListBranch','DreamjobListCity'); - - /** - * Displays a view - * - * @param mixed What page to display - * @return void - * @throws NotFoundException When the view file could not be found - * or MissingViewException in debug mode. - */ - - + /** + * This controller use User Model + * + * @var array + */ + public $uses = array('DreamjobJobOpening', 'DreamjobJobFavority', 'DreamjobJobApplication', 'DreamjobPageText', 'DreamjobPageImage', 'DreamjobJobMsg', 'DreamjobCvEntry', 'DreamjobListCvCategory', 'DreamjobListBranch', 'DreamjobListCity'); - public function openingList() { - $this->MiconwareSession->init($this); - - $this->MiconwareSession->initWeb($this); - $self = $this->MiconwareSession->getCompany(); - - if(!is_array($self) or count($self) <= 0){ - $this->set('error', 'dreamjob.error.noPermision'); - $this->render('/Home/error'); - }else{ - if(!empty($this->request->query['del'])){ - $o =$this->DreamjobJobOpening->findById($this->request->query['del']); - if($o['AppUser']['id']== $self['AppUser']['id']){ - $this->DreamjobJobOpening->delete($this->request->query['del'],false); - $this->MiconwareSession->setFlash(__('dreamjob.opening.delete'),'flash',array('alert'=>'success')); - }else{ - $this->MiconwareSession->setFlash(__('dreamjob.opening.delete.error'),'flash',array('alert'=>'danger')); - } - } - $openings = $this->DreamjobJobOpening->find('all',array('conditions' => array('DreamjobJobOpening.company_id' => $self['AppUser']['id']))); - $this->set('openings',$openings); - $this->render('/Job/opening_list'); - } - } + /** + * Displays a view + * + * @param mixed What page to display + * @return void + * @throws NotFoundException When the view file could not be found + * or MissingViewException in debug mode. + */ + public function openingList() { + $this->MiconwareSession->init($this); - public function openingAdd() { - $this->MiconwareSession->init($this); - $this->MiconwareSession->initWeb($this); - $c = $this->MiconwareSession->getCompany(); - if(!empty($c)){ - if ($this->request->is('post')) { - $this->DreamjobJobOpening->create($this->request->data); - $this->DreamjobJobOpening->data['DreamjobJobOpening']['company_id'] = $c['AppUser']['id']; - if ($this->DreamjobJobOpening->save()) { - $this->MiconwareSession->setFlash(__('dreamjob.opening.save.add'),'flash',array('alert'=>'success')); - }else{ - $this->MiconwareSession->setFlash(__('dreamjob.opening.save.error'),'flash',array('alert'=>'danger')); - } - } - $this->set('kindofjobs', $this->DreamjobJobOpening->DreamjobListKindofjob->find('list')); - $this->set('graducations', $this->DreamjobJobOpening->DreamjobListGraducation->find('list')); - $this->set('branches',$this->DreamjobListBranch->find('list')); - $this->set('cities',$this->DreamjobListCity->find('list')); - $this->render('/Job/opening_edit'); - }else{ - $this->set('error', 'dreamjob.error.noCompany'); - $this->render('/Home/error'); - } - } - public function openingEdit() { - $this->MiconwareSession->init($this); - $this->MiconwareSession->initWeb($this); - - $a = $this->MiconwareSession->getCompany(); - if(empty($a)){ - $this->set('error', 'dreamjob.error.noCompany'); - $this->render('/Home/error'); - return null; - } - if(!empty($this->request->params['id'])){ - $load = $this->DreamjobJobOpening->findById($this->request->params['id']); - $cid = $a['AppUser']['id']; - if (!empty($load) and $load['DreamjobJobOpening']['company_id'] == $cid) { - if ($this->request->is(array('post', 'put'))) { - $this->DreamjobJobOpening->create($this->request->data); - $this->DreamjobJobOpening->data['DreamjobJobOpening']['id'] = $this->request->params['id']; - $this->DreamjobJobOpening->data['DreamjobJobOpening']['company_id'] = $cid; - if ($this->DreamjobJobOpening->save($this->DreamjobJobOpening->data)) { - $this->MiconwareSession->setFlash(__('dreamjob.opening.save'),'flash',array('alert'=>'success')); + $this->MiconwareSession->initWeb($this); + $self = $this->MiconwareSession->getCompany(); - }else - $this->MiconwareSession->setFlash(__('dreamjob.opening.save.error'),'flash',array('alert'=>'danger')); - } - } - $this->request->data=$load; - $this->set('kindofjobs', $this->DreamjobJobOpening->DreamjobListKindofjob->find('list')); - $this->set('graducations', $this->DreamjobJobOpening->DreamjobListGraducation->find('list')); - $this->set('branches',$this->DreamjobListBranch->find('list')); - $this->set('cities',$this->DreamjobListCity->find('list')); - } - - if(empty($this->request->data['DreamjobJobOpening'])){ - $this->set('error', 'dreamjob.error.opening.notFound'); - $this->render('/Home/error'); - }elseif( $this->request->data['DreamjobJobOpening']['company_id'] != $a['AppUser']['id']){ - $this->set('error', 'dreamjob.error.noPermision'); - $this->render('/Home/error'); - }else{ - $this->render('/Job/opening_edit'); - } - } - - public function openingGet() { - $this->MiconwareSession->init($this); - - $opening = false; - - - if(!empty($this->request->params['id'])){ - if(!empty($this->request->params['favorite']) and count($this->request->params['favorite'])>0){ - $WORKER = $this->MiconwareSession->getWorker(); - $fav=false; - foreach($WORKER['Favority'] as $val){ - if($val['id'] == $this->request->params['id']) - $fav=true; - } - $data = array('DreamjobJobFavority' => array('opening_id' => $this->request->params['id'], 'worker_id' => $WORKER['AppUser']['id']),'modified' => false); - $data2 = array('DreamjobJobFavority.opening_id' => $this->request->params['id'], 'DreamjobJobFavority.worker_id' => $WORKER['AppUser']['id']); - if($fav){ - $this->MiconwareSession->setFlash(__('dreamjob.opening.fav.delete'),'flash',array('alert'=>'success')); - $this->DreamjobJobFavority->deleteAll($data2,false); - }else{ - $this->DreamjobJobFavority->create(); - $this->DreamjobJobFavority->save($data); - $this->MiconwareSession->setFlash(__('dreamjob.opening.fav.add'),'flash',array('alert'=>'success')); - } - } - $con = $this->MiconwareSession->getOpeningCondition(); - $con['DreamjobJobOpening.id'] = $this->request->params['id']; - $opening = $this->DreamjobJobOpening->find('first',array('conditions' => $con)); - } - - - $this->MiconwareSession->refreshCache(); - $this->MiconwareSession->initWeb($this); - - if(!is_array($opening) or count($opening) <= 0 ){ - $this->set('error', 'dreamjob.error.opening.notFound'); - $this->render('/Home/error'); - }else{ - $this->set('opening',$opening); - $this->render('/Job/opening'); - } - } - - public function favorite() { - $this->MiconwareSession->init($this); - - $this->MiconwareSession->initWeb($this); - $self = $this->MiconwareSession->getWorker(); - if(!is_array($self) or count($self) <= 0){ - $this->set('error', 'dreamjob.error.noPermision'); - $this->render('/Home/error'); - }else{ - $fav_id = array(); - foreach($self['Favority'] as $fav) - $fav_id[]=$fav['id']; - $con = $this->MiconwareSession->getOpeningCondition(); - $con['DreamjobJobOpening.id'] =$fav_id; - $openings = $this->DreamjobJobOpening->find('all',array('conditions' => $con)); - $this->set('openings',$openings); - $this->set('opening_MINI',true); - $this->render('/Job/favorite'); - } - } - public function applicationList() { - $this->MiconwareSession->init($this); - - $this->MiconwareSession->initWeb($this); - $self = $this->MiconwareSession->getWorker(); + if (!is_array($self) or count($self) <= 0) { + $this->set('error', 'dreamjob.error.noPermision'); + $this->render('/Home/error'); + } else { + if (!empty($this->request->query['del'])) { + $o = $this->DreamjobJobOpening->findById($this->request->query['del']); + if ($o['AppUser']['id'] == $self['AppUser']['id']) { + $this->DreamjobJobOpening->delete($this->request->query['del'], false); + $this->MiconwareSession->setFlash(__('dreamjob.opening.delete'), 'flash', array('alert' => 'success')); + } else { + $this->MiconwareSession->setFlash(__('dreamjob.opening.delete.error'), 'flash', array('alert' => 'danger')); + } + } + $openings = $this->DreamjobJobOpening->find('all', array('conditions' => array('DreamjobJobOpening.company_id' => $self['AppUser']['id']))); + $this->set('openings', $openings); + $this->render('/Job/opening_list'); + } + } + + public function openingAdd() { + $this->MiconwareSession->init($this); + $this->MiconwareSession->initWeb($this); + $c = $this->MiconwareSession->getCompany(); + if (!empty($c)) { + if ($this->request->is('post')) { + $this->DreamjobJobOpening->create($this->request->data); + $this->DreamjobJobOpening->data['DreamjobJobOpening']['company_id'] = $c['AppUser']['id']; + if ($this->DreamjobJobOpening->save()) { + $this->MiconwareSession->setFlash(__('dreamjob.opening.save.add'), 'flash', array('alert' => 'success')); + return $this->redirect(array('action' => 'openingByOpening','id'=>$this->DreamjobJobOpening->id)); + } else { + $this->MiconwareSession->setFlash(__('dreamjob.opening.save.error'), 'flash', array('alert' => 'danger')); + } + }else{ + $this->request->data['DreamjobJobOpening']['active']=true; + } + $this->set('kindofjobs', $this->DreamjobJobOpening->DreamjobListKindofjob->find('list')); + $this->set('graducations', $this->DreamjobJobOpening->DreamjobListGraducation->find('list')); + $this->set('branches', $this->DreamjobListBranch->find('list')); + $this->set('cities', $this->DreamjobListCity->find('list')); + $this->render('/Job/opening_edit'); + } else { + $this->set('error', 'dreamjob.error.noCompany'); + $this->render('/Home/error'); + } + } + + public function openingEdit() { + $this->MiconwareSession->init($this); + $this->MiconwareSession->initWeb($this); + + $a = $this->MiconwareSession->getCompany(); + if (empty($a)) { + $this->set('error', 'dreamjob.error.noCompany'); + $this->render('/Home/error'); + return null; + } + if (!empty($this->request->params['id'])) { + $load = $this->DreamjobJobOpening->findById($this->request->params['id']); + $cid = $a['AppUser']['id']; + if (!empty($load) and $load['DreamjobJobOpening']['company_id'] == $cid) { + if ($this->request->is(array('post', 'put'))) { + $this->DreamjobJobOpening->create($this->request->data); + $this->DreamjobJobOpening->data['DreamjobJobOpening']['id'] = $this->request->params['id']; + $this->DreamjobJobOpening->data['DreamjobJobOpening']['company_id'] = $cid; + if ($this->DreamjobJobOpening->save($this->DreamjobJobOpening->data)) { + $this->MiconwareSession->setFlash(__('dreamjob.opening.save'), 'flash', array('alert' => 'success')); + return $this->redirect(array('action' => 'openingByOpening','id'=>$this->request->params['id'])); + } else + $this->MiconwareSession->setFlash(__('dreamjob.opening.save.error'), 'flash', array('alert' => 'danger')); + } + } + $this->request->data = $load; + $this->set('kindofjobs', $this->DreamjobJobOpening->DreamjobListKindofjob->find('list')); + $this->set('graducations', $this->DreamjobJobOpening->DreamjobListGraducation->find('list')); + $this->set('branches', $this->DreamjobListBranch->find('list')); + $this->set('cities', $this->DreamjobListCity->find('list')); + } + + if (empty($this->request->data['DreamjobJobOpening'])) { + $this->set('error', 'dreamjob.error.opening.notFound'); + $this->render('/Home/error'); + } elseif ($this->request->data['DreamjobJobOpening']['company_id'] != $a['AppUser']['id']) { + $this->set('error', 'dreamjob.error.noPermision'); + $this->render('/Home/error'); + } else { + $this->render('/Job/opening_edit'); + } + } + + public function openingGet() { + $this->MiconwareSession->init($this); + + $opening = false; + + + if (!empty($this->request->params['id'])) { + if (!empty($this->request->params['favorite']) and count($this->request->params['favorite']) > 0) { + $WORKER = $this->MiconwareSession->getWorker(); + $fav = false; + foreach ($WORKER['Favority'] as $val) { + if ($val['id'] == $this->request->params['id']) + $fav = true; + } + $data = array('DreamjobJobFavority' => array('opening_id' => $this->request->params['id'], 'worker_id' => $WORKER['AppUser']['id']), 'modified' => false); + $data2 = array('DreamjobJobFavority.opening_id' => $this->request->params['id'], 'DreamjobJobFavority.worker_id' => $WORKER['AppUser']['id']); + if ($fav) { + $this->MiconwareSession->setFlash(__('dreamjob.opening.fav.delete'), 'flash', array('alert' => 'success')); + $this->DreamjobJobFavority->deleteAll($data2, false); + } else { + $this->DreamjobJobFavority->create(); + $this->DreamjobJobFavority->save($data); + $this->MiconwareSession->setFlash(__('dreamjob.opening.fav.add'), 'flash', array('alert' => 'success')); + } + } + $con = $this->MiconwareSession->getOpeningCondition(); + $con['DreamjobJobOpening.id'] = $this->request->params['id']; + var_dump($con); + $opening = $this->DreamjobJobOpening->find('first', array('conditions' => $con)); + } + + + $this->MiconwareSession->refreshCache(); + $this->MiconwareSession->initWeb($this); + + if (!is_array($opening) or count($opening) <= 0) { + $this->set('error', 'dreamjob.error.opening.notFound'); + $this->render('/Home/error'); + } else { + $this->set('opening', $opening); + $this->render('/Job/opening'); + } + } + + public function favorite() { + $this->MiconwareSession->init($this); + + $this->MiconwareSession->initWeb($this); + $self = $this->MiconwareSession->getWorker(); + if (!is_array($self) or count($self) <= 0) { + $this->set('error', 'dreamjob.error.noPermision'); + $this->render('/Home/error'); + } else { + $fav_id = array(); + foreach ($self['Favority'] as $fav) + $fav_id[] = $fav['id']; + $con = $this->MiconwareSession->getOpeningCondition(); + $con['DreamjobJobOpening.id'] = $fav_id; + $openings = $this->DreamjobJobOpening->find('all', array('conditions' => $con)); + $this->set('openings', $openings); + $this->set('opening_MINI', true); + $this->render('/Job/favorite'); + } + } + + public function applicationList() { + $this->MiconwareSession->init($this); + + $this->MiconwareSession->initWeb($this); + $self = $this->MiconwareSession->getWorker(); + + if (!is_array($self) or count($self) <= 0) { + $this->set('error', 'dreamjob.error.noPermision'); + $this->render('/Home/error'); + } else { + $applications = $this->DreamjobJobApplication->find('all', array('conditions' => array('DreamjobJobApplication.worker_id' => $self['AppUser']['id']))); + $this->set('applications', $applications); + $this->set('opening_MINI', true); + $this->render('/Job/applicationWorker_list'); + } + } + + public function applicationGet() { + $this->MiconwareSession->init($this); + + $this->MiconwareSession->initWeb($this); + $WORKER = $this->MiconwareSession->getWorker(); + $COMPANY = $self = $this->MiconwareSession->getCompany(); + $application = null; + if (isset($this->request->params['id'])) { + if (is_array($WORKER) and count($WORKER) > 0) + $application = $this->DreamjobJobApplication->find('first', array('conditions' => array('DreamjobJobApplication.worker_id' => $WORKER['AppUser']['id'], 'DreamjobJobApplication.id' => $this->request->params['id']))); + if (is_array($COMPANY) and count($COMPANY) > 0) + $application = $this->DreamjobJobApplication->find('first', array('conditions' => array('DreamjobJobOpening.company_id' => $COMPANY['AppUser']['id'], 'DreamjobJobApplication.id' => $this->request->params['id']))); + } + + if (!is_array($application) or count($application) <= 0) { + $this->set('error', 'dreamjob.error.noPermision'); + $this->render('/Home/error'); + } else { + $this->set('page', null); + $this->set("edit", false); + if (!empty($this->request->params['hiv'])) { + $this->DreamjobJobApplication->id = $application['DreamjobJobApplication']['id']; + if ($this->DreamjobJobApplication->saveField('closed', !$application['DreamjobJobApplication']['closed'])) { + $application = $this->DreamjobJobApplication->find('first', array('conditions' => array('DreamjobJobApplication.id' => $this->request->params['id']))); + $this->MiconwareSession->setFlash(__('dreamjob.application.archiv'), 'flash', array('alert' => 'success')); + } else { + $this->MiconwareSession->setFlash(__('dreamjob.application.archiv.error'), 'flash', array('alert' => 'danger')); + } + } + if (!empty($this->request->params['ages'])) { + $this->set('msg', true); + if ($this->request->is('post')) { + $this->DreamjobJobMsg->create($this->request->data); + $this->DreamjobJobMsg->data['DreamjobJobMsg']['saw'] = false; + $this->DreamjobJobMsg->data['DreamjobJobMsg']['application_id'] = $application['DreamjobJobApplication']['id']; + $this->DreamjobJobMsg->data['DreamjobJobMsg']['fromcompany'] = is_array($COMPANY) and count($COMPANY) > 0; + if ($this->DreamjobJobMsg->sendMessage()) { + $application = $this->DreamjobJobApplication->find('first', array('conditions' => array('DreamjobJobApplication.id' => $this->request->params['id']))); + $this->MiconwareSession->setFlash(__('dreamjob.application.msg.add'), 'flash', array('alert' => 'success')); + } else { + $this->MiconwareSession->setFlash(__('dreamjob.application.msg.error'), 'flash', array('alert' => 'danger')); + } + } + if (is_array($WORKER) and count($WORKER) > 0) + $this->DreamjobJobMsg->updateAll(array("saw" => true), array("DreamjobJobMsg.fromcompany" => true, "DreamjobJobMsg.application_id" => $this->request->params['id'])); + if (is_array($COMPANY) and count($COMPANY) > 0) + $this->DreamjobJobMsg->updateAll(array("saw" => true), array("DreamjobJobMsg.fromcompany" => false, "DreamjobJobMsg.application_id" => $this->request->params['id'])); + }else { + $this->set('msg', false); + // CV + if (!empty($this->request->params['vitea'])) { + $cv = $this->DreamjobCvEntry->find('all', array('conditions' => array('worker_id' => $application['DreamjobJobApplication']['worker_id']))); + $this->set("cv", $cv); + $cvp0 = $this->DreamjobListCvCategory->find('first', array('conditions' => array('DreamjobListCvCategory.position' => 0))); + $this->set('cvp0', $cvp0); + } else { + if (!empty($this->request->params['page'])) { + /* $this->set('pageInh',$this->DreamjobJobApplication->Page->find('first', + array('conditions' => array("Page.id" => $this->request->params['page'])) + )); */ + $page = $this->DreamjobJobApplication->PageText->find('first', array('conditions' => array("PageText.page_ptr_id" => $this->request->params['page'])) + ); + if (!is_array($page) or count($page) <= 0) + $page = $this->DreamjobJobApplication->PageImage->find('first', array('conditions' => array("PageImage.page_ptr_id" => $this->request->params['page'])) + ); + $this->set('page', $page); + } + } + } + $this->set('application', $application); + $this->render('/Job/application'); + } + } + + public function applicationByOpening() { + $this->MiconwareSession->init($this); + + $this->MiconwareSession->initWeb($this); + $COMPANY = $self = $this->MiconwareSession->getCompany(); + $applications = null; + $opening = null; + if (isset($this->request->params['id'])) { + if (is_array($COMPANY) and count($COMPANY) > 0) + $opening = $this->DreamjobJobOpening->find('first', array('conditions' => array('DreamjobJobOpening.company_id' => $COMPANY['AppUser']['id'], 'DreamjobJobOpening.id' => $this->request->params['id']))); + if (!empty($this->request->query['archiv']) and count($opening) > 0) { + $application = $this->DreamjobJobApplication->find('first', array('conditions' => array('DreamjobJobApplication.id' => $this->request->query['archiv'], 'DreamjobJobApplication.opening_id' => $this->request->params['id']))); + $this->DreamjobJobApplication->id = $this->request->query['archiv']; + if ($this->DreamjobJobApplication->saveField('closed', !$application['DreamjobJobApplication']['closed'])) { + $application = $this->DreamjobJobApplication->find('first', array('conditions' => array('DreamjobJobApplication.id' => $this->request->params['id']))); + $this->MiconwareSession->setFlash(__('dreamjob.application.archiv'), 'flash', array('alert' => 'success')); + } else { + $this->MiconwareSession->setFlash(__('dreamjob.application.archiv.error'), 'flash', array('alert' => 'danger')); + } + } + + $filter_current = false; + $filter_archiv = false; + $condition = array('DreamjobJobOpening.company_id' => $COMPANY['AppUser']['id'], 'DreamjobJobApplication.opening_id' => $this->request->params['id']); + if (isset($this->request->query['filter']) and $this->request->query['filter'] == 'all') { + + } elseif (isset($this->request->query['filter']) and $this->request->query['filter'] == 'archiv') { + $condition['closed'] = true; + $filter_archiv = true; + } else { + $condition['closed'] = false; + $filter_current = true; + } + + + $applications = $this->DreamjobJobApplication->find('all', array('conditions' => $condition)); + $this->set("filter_archiv", $filter_archiv); + $this->set("filter_current", $filter_current); + } + if (!is_array($opening) or count($opening) <= 0) { + $this->set('error', 'dreamjob.error.noPermision'); + $this->render('/Home/error'); + } else { + $this->set('opening', $opening); + $this->set('applications', $applications); + $this->render('/Job/applicationCompany_list'); + } + } + + public function applicationSend() { + $this->MiconwareSession->init($this); + $this->MiconwareSession->initWeb($this); + $w = $this->MiconwareSession->getWorker(); + if (!empty($w)) { + $opening = null; + if (!empty($this->request->params['id'])) { + $con = $this->MiconwareSession->getOpeningCondition(); + $con['DreamjobJobOpening.id'] = $this->request->params['id']; + $opening = $this->DreamjobJobOpening->find('first', array('conditions' => $con)); + } + if (!is_array($opening) or count($opening) <= 0) { + $this->set('error', 'dreamjob.error.opening.notFound'); + $this->render('/Home/error'); + } else { + if ($this->request->is('post')) { + if ($this->request->data['DreamjobJobApplication']['agb']) { + unset($this->request->data['DreamjobJobApplication']['agb']); + + $this->request->data['DreamjobJobApplication']['worker_id'] = $w['AppUser']['id']; + $this->request->data['DreamjobJobApplication']['opening_id'] = $this->request->params['id']; + $pages = $this->request->data['DreamjobJobApplicationPage']['page_id']; + unset($this->request->data['DreamjobJobApplicationPage']['page_id']); + foreach ($pages as $id) + $this->request->data['DreamjobJobApplicationPage'][] = array('page_id' => $id); + $result = $this->DreamjobJobApplication->sendApplication($this->request->data); + if ($result) { + $this->MiconwareSession->setFlash(__('dreamjob.application.send.success'), 'flash', array('alert' => 'success')); + } else { + $this->MiconwareSession->setFlash(__('dreamjob.application.send.error'), 'flash', array('alert' => 'danger')); + } + } else { + $this->MiconwareSession->setFlash(__('dreamjob.agb.error.notAccept'), 'flash', array('alert' => 'danger')); + } + } + $this->set('pages', $w['DreamjobPageInh']); + $this->set('opening', $opening); + $this->render('/Job/application_send'); + } + } else { + $this->set('error', 'dreamjob.error.noWorker'); + $this->render('/Home/error'); + } + } - if(!is_array($self) or count($self) <= 0){ - $this->set('error', 'dreamjob.error.noPermision'); - $this->render('/Home/error'); - }else{ - $applications = $this->DreamjobJobApplication->find('all',array('conditions' => array('DreamjobJobApplication.worker_id' => $self['AppUser']['id']))); - $this->set('applications',$applications); - $this->set('opening_MINI',true); - $this->render('/Job/applicationWorker_list'); - } - } - public function applicationGet() { - $this->MiconwareSession->init($this); - - $this->MiconwareSession->initWeb($this); - $WORKER = $this->MiconwareSession->getWorker(); - $COMPANY = $self = $this->MiconwareSession->getCompany(); - $application = null; - if(isset($this->request->params['id'])){ - if(is_array($WORKER) and count($WORKER) > 0) - $application = $this->DreamjobJobApplication->find('first',array('conditions' => array('DreamjobJobApplication.worker_id' => $WORKER['AppUser']['id'],'DreamjobJobApplication.id'=> $this->request->params['id'] ))); - if(is_array($COMPANY) and count($COMPANY) > 0) - $application = $this->DreamjobJobApplication->find('first',array('conditions' => array('DreamjobJobOpening.company_id' => $COMPANY['AppUser']['id'],'DreamjobJobApplication.id'=> $this->request->params['id'] ))); - } - - if(!is_array($application) or count($application) <= 0){ - $this->set('error', 'dreamjob.error.noPermision'); - $this->render('/Home/error'); - }else{ - $this->set('page',null); - $this->set("edit",false); - if(!empty($this->request->params['hiv'])){ - $this->DreamjobJobApplication->id = $application['DreamjobJobApplication']['id']; - if ($this->DreamjobJobApplication->saveField('closed',!$application['DreamjobJobApplication']['closed'])) { - $application = $this->DreamjobJobApplication->find('first',array('conditions' => array('DreamjobJobApplication.id'=> $this->request->params['id'] ))); - $this->MiconwareSession->setFlash(__('dreamjob.application.archiv'),'flash',array('alert'=>'success')); - }else{ - $this->MiconwareSession->setFlash(__('dreamjob.application.archiv.error'),'flash',array('alert'=>'danger')); - } - } - if(!empty($this->request->params['ages'])){ - $this->set('msg',true); - if ($this->request->is('post')) { - $this->DreamjobJobMsg->create($this->request->data); - $this->DreamjobJobMsg->data['DreamjobJobMsg']['saw'] = false; - $this->DreamjobJobMsg->data['DreamjobJobMsg']['application_id'] = $application['DreamjobJobApplication']['id']; - $this->DreamjobJobMsg->data['DreamjobJobMsg']['fromcompany'] = is_array($COMPANY) and count($COMPANY) > 0; - if($this->DreamjobJobMsg->sendMessage()) { - $application = $this->DreamjobJobApplication->find('first',array('conditions' => array('DreamjobJobApplication.id'=> $this->request->params['id'] ))); - $this->MiconwareSession->setFlash(__('dreamjob.application.msg.add'),'flash',array('alert'=>'success')); - }else{ - $this->MiconwareSession->setFlash(__('dreamjob.application.msg.error'),'flash',array('alert'=>'danger')); - } - } - if(is_array($WORKER) and count($WORKER) > 0) - $this->DreamjobJobMsg->updateAll(array("saw"=>true),array("DreamjobJobMsg.fromcompany"=>true,"DreamjobJobMsg.application_id"=>$this->request->params['id'])); - if(is_array($COMPANY) and count($COMPANY) > 0) - $this->DreamjobJobMsg->updateAll(array("saw"=>true),array("DreamjobJobMsg.fromcompany"=>false,"DreamjobJobMsg.application_id"=>$this->request->params['id'])); - - }else{ - $this->set('msg',false); - // CV - if(!empty($this->request->params['vitea'])){ - $cv = $this->DreamjobCvEntry->find('all',array('conditions' => array('worker_id'=> $application['DreamjobJobApplication']['worker_id']))); - $this->set("cv",$cv); - $cvp0 = $this->DreamjobListCvCategory->find('first',array('conditions' => array('DreamjobListCvCategory.position' => 0))); - $this->set('cvp0', $cvp0); - }else{ - if(!empty($this->request->params['page'])){ - /*$this->set('pageInh',$this->DreamjobJobApplication->Page->find('first', - array('conditions' => array("Page.id" => $this->request->params['page'])) - ));*/ - $page = $this->DreamjobJobApplication->PageText->find('first', - array('conditions' => array("PageText.page_ptr_id" => $this->request->params['page'])) - ); - if(!is_array($page) or count($page)<= 0) - $page = $this->DreamjobJobApplication->PageImage->find('first', - array('conditions' => array("PageImage.page_ptr_id" => $this->request->params['page'])) - ); - $this->set('page',$page); - } - } - } - $this->set('application',$application); - $this->render('/Job/application'); - } - } - public function applicationByOpening(){ - $this->MiconwareSession->init($this); - - $this->MiconwareSession->initWeb($this); - $COMPANY = $self = $this->MiconwareSession->getCompany(); - $applications = null; - $opening = null; - if(isset($this->request->params['id'])){ - if(is_array($COMPANY) and count($COMPANY) > 0) - $opening = $this->DreamjobJobOpening->find('first',array('conditions' => array('DreamjobJobOpening.company_id' => $COMPANY['AppUser']['id'],'DreamjobJobOpening.id'=> $this->request->params['id'] ))); - if(!empty($this->request->query['archiv']) and count($opening)>0){ - $application = $this->DreamjobJobApplication->find('first',array('conditions' =>array('DreamjobJobApplication.id'=>$this->request->query['archiv'], 'DreamjobJobApplication.opening_id'=> $this->request->params['id']))); - $this->DreamjobJobApplication->id = $this->request->query['archiv']; - if ($this->DreamjobJobApplication->saveField('closed',!$application['DreamjobJobApplication']['closed'])) { - $application = $this->DreamjobJobApplication->find('first',array('conditions' => array('DreamjobJobApplication.id'=> $this->request->params['id'] ))); - $this->MiconwareSession->setFlash(__('dreamjob.application.archiv'),'flash',array('alert'=>'success')); - }else{ - $this->MiconwareSession->setFlash(__('dreamjob.application.archiv.error'),'flash',array('alert'=>'danger')); - } - } - - $filter_current = false; - $filter_archiv = false; - $condition = array('DreamjobJobOpening.company_id' => $COMPANY['AppUser']['id'],'DreamjobJobApplication.opening_id'=> $this->request->params['id']); - if(isset($this->request->query['filter']) and $this->request->query['filter'] =='all'){ - }elseif(isset($this->request->query['filter']) and $this->request->query['filter'] =='archiv'){ - $condition['closed'] = true; - $filter_archiv = true; - }else{ - $condition['closed'] = false; - $filter_current = true; - } - - - $applications = $this->DreamjobJobApplication->find('all',array('conditions' =>$condition)); - $this->set("filter_archiv",$filter_archiv); - $this->set("filter_current",$filter_current); - } - if(!is_array($opening) or count($opening) <= 0){ - $this->set('error', 'dreamjob.error.noPermision'); - $this->render('/Home/error'); - }else{ - $this->set('opening',$opening); - $this->set('applications',$applications); - $this->render('/Job/applicationCompany_list'); - } - } - public function applicationSend() { - $this->MiconwareSession->init($this); - $this->MiconwareSession->initWeb($this); - $w = $this->MiconwareSession->getWorker(); - if(!empty($w)){ - $opening = null; - if(!empty($this->request->params['id'])){ - $con = $this->MiconwareSession->getOpeningCondition(); - $con['DreamjobJobOpening.id'] = $this->request->params['id']; - $opening = $this->DreamjobJobOpening->find('first',array('conditions' => $con)); - } - if(!is_array($opening) or count($opening) <= 0 ){ - $this->set('error', 'dreamjob.error.opening.notFound'); - $this->render('/Home/error'); - }else{ - if ($this->request->is('post')){ - if($this->request->data['DreamjobJobApplication']['agb']) { - unset($this->request->data['DreamjobJobApplication']['agb']); - - $this->request->data['DreamjobJobApplication']['worker_id'] = $w['AppUser']['id']; - $this->request->data['DreamjobJobApplication']['opening_id'] = $this->request->params['id']; - $pages = $this->request->data['DreamjobJobApplicationPage']['page_id']; - unset($this->request->data['DreamjobJobApplicationPage']['page_id']); - foreach($pages as $id) - $this->request->data['DreamjobJobApplicationPage'][]=array('page_id'=> $id); - $result = $this->DreamjobJobApplication->sendApplication($this->request->data); - if ($result) { - $this->MiconwareSession->setFlash(__('dreamjob.application.send.success'),'flash',array('alert'=>'success')); - }else{ - $this->MiconwareSession->setFlash(__('dreamjob.application.send.error'),'flash',array('alert'=>'danger')); - } - }else{ - $this->MiconwareSession->setFlash(__('dreamjob.agb.error.notAccept'),'flash',array('alert'=>'danger')); - } - } - $this->set('pages', $w['DreamjobPageInh']); - $this->set('opening', $opening); - $this->render('/Job/application_send'); - } - }else{ - $this->set('error', 'dreamjob.error.noWorker'); - $this->render('/Home/error'); - } - } } + ?> diff --git a/app/View/Job/opening_edit.ctp b/app/View/Job/opening_edit.ctp index 0b86d9e..3c7b087 100644 --- a/app/View/Job/opening_edit.ctp +++ b/app/View/Job/opening_edit.ctp @@ -21,7 +21,7 @@ echo $this->Form->create('DreamjobJobOpening',$default_Form); */ echo $this->Form->hidden("DreamjobJobOpening.company_id"); - if(!empty($this->request->data['DreamjobJobOpening'])) + if(!empty($this->request->data['DreamjobJobOpening']['title'])) echo $this->request->data['DreamjobJobOpening']['title']; else echo __("dreamjob.opening.addForm");