impressum+applicationList

This commit is contained in:
Martin Müller 2014-03-02 11:35:22 +01:00
parent 9992525272
commit 0ea2740671
11 changed files with 324 additions and 9 deletions

View File

@ -41,6 +41,8 @@
Router::connect('/opening/:id', array('controller' => 'job', 'action' => 'openingGet'),array("id" => "[0-9]+")); Router::connect('/opening/:id', array('controller' => 'job', 'action' => 'openingGet'),array("id" => "[0-9]+"));
Router::connect('/opening/:id/:favorite', array('controller' => 'job', 'action' => 'openingGet'), array("id" => "[0-9]+",'favorite' => '(?i:favorite)')); Router::connect('/opening/:id/:favorite', array('controller' => 'job', 'action' => 'openingGet'), array("id" => "[0-9]+",'favorite' => '(?i:favorite)'));
Router::connect('/application', array('controller' => 'job', 'action' => 'applicationList'));
Router::connect('/favorite', array('controller' => 'job', 'action' => 'favorite')); Router::connect('/favorite', array('controller' => 'job', 'action' => 'favorite'));
Router::connect('/test/', array('controller' => 'user', 'action' => 'test')); Router::connect('/test/', array('controller' => 'user', 'action' => 'test'));

View File

@ -38,6 +38,7 @@ class HomeController extends AppController {
$this->request->data['User']['mail'], $this->request->data['User']['mail'],
$this->request->data['User']['password']) $this->request->data['User']['password'])
){ ){
$this->MiconwareSession->refreshCache();
$this->MiconwareSession->setFlash('dreamjob.loggedin','flash',array('alert'=>'success')); $this->MiconwareSession->setFlash('dreamjob.loggedin','flash',array('alert'=>'success'));
}else{ }else{
$this->MiconwareSession->setFlash('dreamjob.loggedinError','flash',array('alert'=>'danger')); $this->MiconwareSession->setFlash('dreamjob.loggedinError','flash',array('alert'=>'danger'));

View File

@ -9,7 +9,7 @@ class JobController extends AppController {
* *
* @var array * @var array
*/ */
public $uses = array('DreamjobJobOpening','DreamjobJobFavority'); public $uses = array('DreamjobJobOpening','DreamjobJobFavority','DreamjobJobApplication');
/** /**
* Displays a view * Displays a view
@ -170,9 +170,9 @@ class JobController extends AppController {
$this->set('error', 'dreamjob.error.noPermision'); $this->set('error', 'dreamjob.error.noPermision');
$this->render('/Home/error'); $this->render('/Home/error');
}else{ }else{
$openings = $this->DreamjobJobOpening->find('all',array('conditions' => array('DreamjobJobOpening.company_id' => $self['AppUser']['id']))); $applications = $this->DreamjobJobApplication->find('all',array('conditions' => array('DreamjobJobApplication.worker_id' => $self['AppUser']['id'])));
$this->set('openings',$openings); $this->set('applications',$applications);
$this->render('/Job/applicateWorker_list'); $this->render('/Job/applicationWorker_list');
} }
} }
} }

View File

@ -0,0 +1,174 @@
<?php
App::uses('AppModel', 'Model');
/**
* MicDjJobsApplication Model
*
* @property Worker $Worker
* @property Opening $Opening
*/
class DreamjobJobApplication extends AppModel {
/**
* Use database config
*
* @var string
*/
public $useDbConfig = 'dreamjobMain';
/**
* Use table
*
* @var mixed False or table name
*/
public $useTable = 'mic_dj_jobs_application';
/**
* Display field
*
* @var string
*/
public $displayField = 'id';
/**
* Validation rules
*
* @var array
*/
public $validate = array(
'id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'stars' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'closed' => array(
'boolean' => array(
'rule' => array('boolean'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'offered' => array(
'boolean' => array(
'rule' => array('boolean'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'saw' => array(
'boolean' => array(
'rule' => array('boolean'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'worker_id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'opening_id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'text' => array(
'notEmpty' => array(
'rule' => array('notEmpty'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
);
//The Associations below have been created with all possible keys, those that are not needed can be removed
/**
* belongsTo associations
*
* @var array
*/
public $belongsTo = array(
'DreamjobWorker' => array(
'className' => 'DreamjobWorker',
'foreignKey' => 'worker_id'
),
'DreamjobUser' => array(
'className' => 'DreamjobUser',
'foreignKey' => 'worker_id'
),
'AppUser' => array(
'className' => 'AppUser',
'foreignKey' => 'worker_id'
),
'DreamjobJobOpening' => array(
'className' => 'DreamjobJobOpening',
'foreignKey' => 'opening_id'
)
);
public $hasOne = array(
'User' => array(
'className' => 'User',
'foreignKey' => false,
'conditions' => array('DreamjobJobOpening.company_id = AppUser.id and User.id = AppUser.user_id'),
'limit' => 1
),
'DreamjobCompany' => array(
'className' => 'DreamjobCompany',
'foreignKey' => false,
'conditions' => array('DreamjobJobOpening.company_id = DreamjobCompany.djaccount_ptr_id'),
'limit' => 1
),
'DreamjobListKindofjob' => array(
'className' => 'DreamjobListKindofjob',
'foreignKey' => false,
'conditions' => array('DreamjobJobOpening.kindofjob_id = DreamjobListKindofjob.id'),
'limit' => 1
),
'DreamjobListGraducation' => array(
'className' => 'DreamjobListGraducation',
'foreignKey' => false,
'conditions' => array('DreamjobJobOpening.graducation_id = DreamjobListGraducation.id'),
'limit' => 1
),
);
}

View File

@ -106,6 +106,16 @@ class DreamjobJobOpening extends AppModel {
//'on' => 'create', // Limit validation to 'create' or 'update' operations //'on' => 'create', // Limit validation to 'create' or 'update' operations
), ),
), ),
'graducation_id' => array(
'numeric' => array(
'rule' => array('numeric'),
//'message' => 'Your custom message here',
//'allowEmpty' => false,
//'required' => false,
//'last' => false, // Stop validation after this rule
//'on' => 'create', // Limit validation to 'create' or 'update' operations
),
),
'kindofjob_id' => array( 'kindofjob_id' => array(
'numeric' => array( 'numeric' => array(
'rule' => array('numeric'), 'rule' => array('numeric'),
@ -193,6 +203,7 @@ class DreamjobJobOpening extends AppModel {
'order' => '' 'order' => ''
) )
); );
public $hasOne = array( public $hasOne = array(
'User' => array( 'User' => array(
'className' => 'User', 'className' => 'User',
@ -201,4 +212,11 @@ class DreamjobJobOpening extends AppModel {
'limit' => 1 'limit' => 1
) )
); );
public $hasMany = array(
'DreamjobJobApplication' => array(
'className' => 'DreamjobJobApplication',
'foreignKey' => 'opening_id'
),
);
} }

View File

@ -0,0 +1,42 @@
<?php
App::uses('MicDjJobsApplication', 'Model');
/**
* MicDjJobsApplication Test Case
*
*/
class MicDjJobsApplicationTest extends CakeTestCase {
/**
* Fixtures
*
* @var array
*/
public $fixtures = array(
'app.mic_dj_jobs_application',
'app.worker',
'app.opening'
);
/**
* setUp method
*
* @return void
*/
public function setUp() {
parent::setUp();
$this->MicDjJobsApplication = ClassRegistry::init('MicDjJobsApplication');
}
/**
* tearDown method
*
* @return void
*/
public function tearDown() {
unset($this->MicDjJobsApplication);
parent::tearDown();
}
}

View File

@ -0,0 +1,58 @@
<?php
/**
* MicDjJobsApplicationFixture
*
*/
class MicDjJobsApplicationFixture extends CakeTestFixture {
/**
* Table name
*
* @var string
*/
public $table = 'mic_dj_jobs_application';
/**
* Fields
*
* @var array
*/
public $fields = array(
'id' => array('type' => 'integer', 'null' => false, 'default' => null, 'key' => 'primary'),
'stars' => array('type' => 'integer', 'null' => false, 'default' => null),
'closed' => array('type' => 'boolean', 'null' => false, 'default' => null),
'offered' => array('type' => 'boolean', 'null' => false, 'default' => null),
'saw' => array('type' => 'boolean', 'null' => false, 'default' => null),
'created' => array('type' => 'datetime', 'null' => false, 'default' => null),
'worker_id' => array('type' => 'integer', 'null' => false, 'default' => null, 'key' => 'index'),
'opening_id' => array('type' => 'integer', 'null' => false, 'default' => null, 'key' => 'index'),
'text' => array('type' => 'text', 'null' => false, 'default' => null, 'collate' => 'utf8_general_ci', 'charset' => 'utf8'),
'indexes' => array(
'PRIMARY' => array('column' => 'id', 'unique' => 1),
'worker_id' => array('column' => array('worker_id', 'opening_id'), 'unique' => 1),
'mic_dj_jobs_application_20fc5b84' => array('column' => 'worker_id', 'unique' => 0),
'mic_dj_jobs_application_5986cc59' => array('column' => 'opening_id', 'unique' => 0)
),
'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
);
/**
* Records
*
* @var array
*/
public $records = array(
array(
'id' => 1,
'stars' => 1,
'closed' => 1,
'offered' => 1,
'saw' => 1,
'created' => '2014-03-02 10:54:45',
'worker_id' => 1,
'opening_id' => 1,
'text' => 'Lorem ipsum dolor sit amet, aliquet feugiat. Convallis morbi fringilla gravida, phasellus feugiat dapibus velit nunc, pulvinar eget sollicitudin venenatis cum nullam, vivamus ut a sed, mollitia lectus. Nulla vestibulum massa neque ut et, id hendrerit sit, feugiat in taciti enim proin nibh, tempor dignissim, rhoncus duis vestibulum nunc mattis convallis.'
),
);
}

View File

@ -23,10 +23,9 @@ if($isLoggedin){
<ul class="list-unstyled"> <ul class="list-unstyled">
<li<?php if(isset($MENU_PROFIL)){?> class="active"<?php } ?>><?=$this->Html->image('bar-profil.png',array('url'=>array('controller'=>'user','action'=>'profil'))); ?></li> <li<?php if(isset($MENU_PROFIL)){?> class="active"<?php } ?>><?=$this->Html->image('bar-profil.png',array('url'=>array('controller'=>'user','action'=>'profil'))); ?></li>
<?php if(!empty($COMPANY)){ ?> <?php if(!empty($COMPANY)){ ?>
<li<?php if(isset($MENU_OPENING)){?> class="active"<?php } ?>> <li<?php if(isset($MENU_OPENING)){?> class="active"<?php } ?>><?=$this->Html->image('bar-job.png',array('url'=>array('controller'=>'job','action'=>'openingList'))); ?></li>
<?=$this->Html->image('bar-job.png',array('url'=>array('controller'=>'job','action'=>'openingList'))); ?></a></li>
<?php }elseif(!empty($WORKER)){ ?> <?php }elseif(!empty($WORKER)){ ?>
<li<?php if(isset($MENU_APPLICATION)){?> class="active"<?php } ?>><a href="<c:url value="${URL}application/"/>"><img src="<c:url value="${STATIC_URL}img/bar-job.png"/>"/></a></li> <li<?php if(isset($MENU_APPLICATION)){?> class="active"<?php } ?>><?=$this->Html->image('bar-job.png',array('url'=>array('controller'=>'job','action'=>'applicationList'))); ?></li>
<li<?php if(isset($MENU_FAVORITY)){?> class="active"<?php } ?>><?=$this->Html->image('bar-favority.png',array('url'=>array('controller'=>'job','action'=>'favorite'))); ?></a></li> <li<?php if(isset($MENU_FAVORITY)){?> class="active"<?php } ?>><?=$this->Html->image('bar-favority.png',array('url'=>array('controller'=>'job','action'=>'favorite'))); ?></a></li>
<?php } ?> <?php } ?>
<li<?php if(isset($MENU_SETTINGS)){?> class="active"<?php } ?>><a href=""><img src="<c:url value="${STATIC_URL}img/bar-settings.png"/>"/></a></li> <li<?php if(isset($MENU_SETTINGS)){?> class="active"<?php } ?>><a href=""><img src="<c:url value="${STATIC_URL}img/bar-settings.png"/>"/></a></li>

View File

@ -16,4 +16,25 @@
<p>Sebastian Imberg, Augusto Capece, Martin M&uuml;ller</p> <p>Sebastian Imberg, Augusto Capece, Martin M&uuml;ller</p>
<p>Gesch&auml;ftsf&uuml;hrer:</p> <p>Gesch&auml;ftsf&uuml;hrer:</p>
<p>Sebastian Imberg, Augusto Capece</p> <p>Sebastian Imberg, Augusto Capece</p>
MICONWARE technologies</br>Imberg, Capece und M&uumlller GbR</br>
Gesch&aumlftsf&uumlhrer: Augusto Capece, Sebastian Imberg</br>
Huder Stra&szlig;e 2</br>
28197 Bremen</br></br></br>
Haftungsausschluss</br></br>
1. Inhalt des Onlineangebotes</br>
Wir &uumlbernehmen keinerlei Gew&aumlhr f&uumlr die Aktualit&aumlt, Korrektheit, Vollst&aumlndigkeit oder Qualit&aumlt der bereitgestellten Informationen. Haftungsanspr&uumlche gegen uns, welche sich auf Sch&aumlden materieller oder ideeller Art beziehen, die durch die Nutzung oder Nichtnutzung der dargebotenen Informationen bzw. durch die Nutzung fehlerhafter und unvollst&aumlndiger Informationen verursacht wurden, sind grunds&aumltzlich ausgeschlossen, sofern unsererseits kein nachweislich vors&aumltzliches oder grob fahrl&aumlssiges Verschulden vorliegt. Alle Angebote sind freibleibend und unverbindlich. Wir behalten es uns ausdr&uumlcklich vor, Teile der Seiten oder das gesamte Angebot ohne gesonderte Ank&uumlndigung zu ver&aumlndern, zu erg&aumlnzen, zu l&oumlschen oder die Ver&oumlffentlichung zeitweise oder endg&uumlltig einzustellen.
</br></br>
2. Verweise und Links</br>
Bei direkten oder indirekten Verweisen auf fremde Internetseiten ("Links"), die au&szlig;erhalb unseres Verantwortungsbereiches liegen, w&uumlrde eine Haftungsverpflichtung ausschlie&szlig;lich in dem Fall in Kraft treten, in dem wir von den Inhalten Kenntnis haben und es uns technisch m&oumlglich und zumutbar w&aumlre, die Nutzung im Falle rechtswidriger Inhalte zu verhindern. Wir erkl&aumlren hiermit ausdr&uumlcklich, dass zum Zeitpunkt der Linksetzung keine illegalen Inhalte auf den zu verlinkenden Seiten erkennbar waren. Auf die aktuelle und zuk&uumlnftige Gestaltung, die Inhalte oder die Urheberschaft der verlinkten/verkn&uumlpften Seiten haben wir keinerlei Einfluss. Deshalb distanzieren wir uns hiermit ausdr&uumlcklich von allen Inhalten aller gelinkten /verkn&uumlpften Seiten, die nach der Linksetzung ver&aumlndert wurden. Diese Feststellung gilt f&uumlr alle innerhalb des eigenen Internetangebotes gesetzten Links und Verweise. F&uumlr illegale, fehlerhafte oder unvollst&aumlndige Inhalte und insbesondere f&uumlr Sch&aumlden, die aus der Nutzung oder Nichtnutzung solcherart dargebotener Informationen entstehen, haftet allein der Anbieter der Seite, auf welche verwiesen wurde, nicht derjenige, der &uumlber Links auf die jeweilige Ver&oumlffentlichung lediglich verweist.
</br></br>
3. Urheber- und Kennzeichenrecht</br>
Wir sind bestrebt, in allen Publikationen die Urheberrechte der verwendeten Grafiken und Texte zu beachten, von uns selbst erstellte Grafiken und Texte zu nutzen oder auf lizenzfreie Grafiken und Texte zur&uumlckzugreifen. Alle innerhalb des Internetangebotes genannten und ggf. durch Dritte gesch&uumltzten Marken- und Warenzeichen unterliegen uneingeschr&aumlnkt den Bestimmungen des jeweils g&uumlltigen Kennzeichenrechts und den Besitzrechten der jeweiligen eingetragenen Eigent&uumlmer. Allein aufgrund der blo&szlig;en Nennung ist nicht der Schluss zu ziehen, dass Markenzeichen nicht durch Rechte Dritter gesch&uumltzt sind
</br></br>
4. Datenschutz</br>
Sofern innerhalb des Internetangebotes die M&oumlglichkeit zur Eingabe pers&oumlnlicher oder gesch&aumlftlicher Daten (Emailadressen, Namen, Anschriften) besteht, so erfolgt die Preisgabe dieser Daten seitens des Nutzers auf ausdr&uumlcklich freiwilliger Basis.
</br></br>
5. Rechtswirksamkeit dieses Haftungsausschlusses</br>
Dieser Haftungsausschluss ist als Teil des Internetangebotes zu betrachten, von dem aus auf diese Seite verwiesen wurde. Sofern Teile oder einzelne Formulierungen dieses Textes der geltenden Rechtslage nicht, nicht mehr oder nicht vollst&aumlndig entsprechen sollten, bleiben die &uumlbrigen Teile des Dokumentes in ihrem Inhalt und ihrer G&uumlltigkeit davon unber&uumlhrt.
</div> </div>

View File

@ -7,7 +7,7 @@
<h3><?=__('dreamjob.my.application');?></h3> <h3><?=__('dreamjob.my.application');?></h3>
<div class="openinggroup"> <div class="openinggroup">
<?php <?php
foreach($openings as $opening){ foreach($applications as $opening){
echo $this->element('job_opening_item',array('opening' => $opening)); echo $this->element('job_opening_item',array('opening' => $opening));
} }
?> ?>

View File

@ -77,7 +77,7 @@
<div class="column-center"> <div class="column-center">
<table> <table>
<tr> <tr>
<td <td>
<ul class="list-unstyled"> <ul class="list-unstyled">
<li><?=__('dreamjob.help');?></li> <li><?=__('dreamjob.help');?></li>
<li><?=__('dreamjob.faq');?></li> <li><?=__('dreamjob.faq');?></li>