2014-03-12 17:44:49 +01:00
|
|
|
<?php
|
|
|
|
App::uses('AppModel', 'Model');
|
|
|
|
/**
|
|
|
|
* MicDjCvEntry Model
|
|
|
|
*
|
|
|
|
* @property Category $Category
|
|
|
|
*/
|
|
|
|
class DreamjobCvEntry extends AppModel {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Use database config
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public $useDbConfig = 'dreamjobMain';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Use table
|
|
|
|
*
|
|
|
|
* @var mixed False or table name
|
|
|
|
*/
|
|
|
|
public $useTable = 'mic_dj_cv_entry';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Display field
|
|
|
|
*
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
public $displayField = 'title';
|
2014-04-13 20:06:35 +02:00
|
|
|
public $order = array('DreamjobListCvCategory.position','DreamjobCvEntry.enddate desc','DreamjobCvEntry.id');
|
2014-04-01 20:58:36 +02:00
|
|
|
|
|
|
|
public function saveAndDelete($data,$old){
|
|
|
|
$dataSource = $this->getDataSource();
|
|
|
|
$dataSource->begin();
|
|
|
|
|
|
|
|
if(count($data)>0)
|
|
|
|
$result = $this->saveMany($data);
|
|
|
|
else $result = true;
|
|
|
|
|
|
|
|
if($result){
|
|
|
|
$array1 = array();
|
|
|
|
$array2 = array();
|
|
|
|
foreach($data as $a)
|
|
|
|
if(isset($a['id']))
|
|
|
|
$array1[]=$a['id'];
|
|
|
|
foreach($old as $a)
|
|
|
|
if(isset($a['id']))
|
|
|
|
$array2[]=$a['id'];
|
|
|
|
$diff=array_diff($array2, $array1);
|
|
|
|
if(count($diff)>0)
|
|
|
|
$result = $this->delete($diff);
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
$dataSource->commit();
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
$dataSource->rollback();
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
2014-03-12 17:44:49 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Validation rules
|
|
|
|
*
|
|
|
|
* @var array
|
|
|
|
*/
|
|
|
|
public $validate = array(
|
|
|
|
'category_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
|
|
|
|
),
|
|
|
|
),
|
|
|
|
'startdate' => array(
|
|
|
|
'date' => array(
|
|
|
|
'rule' => array('date'),
|
|
|
|
//'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
|
|
|
|
),
|
2014-04-01 21:11:53 +02:00
|
|
|
'compare' => array(
|
|
|
|
'rule'=>'compareDates'
|
|
|
|
)
|
2014-03-12 17:44:49 +01:00
|
|
|
),
|
|
|
|
'enddate' => array(
|
|
|
|
'date' => array(
|
|
|
|
'rule' => array('date'),
|
|
|
|
//'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
|
|
|
|
),
|
|
|
|
),
|
|
|
|
'title' => 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
|
|
|
|
),
|
|
|
|
),
|
|
|
|
'place' => 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
|
2014-04-01 21:11:53 +02:00
|
|
|
public function compareDates()
|
|
|
|
{
|
2014-11-06 19:19:34 +01:00
|
|
|
return ($this->data[$this->alias]['startdate'] <= $this->data[$this->alias]['enddate']) ? true : false;
|
2014-04-01 21:11:53 +02:00
|
|
|
}
|
2014-03-12 17:44:49 +01:00
|
|
|
/**
|
|
|
|
* belongsTo associations
|
|
|
|
*
|
|
|
|
* @var array
|
|
|
|
*/
|
|
|
|
public $belongsTo = array(
|
2014-04-01 20:58:36 +02:00
|
|
|
'DreamjobListCvCategory' => array(
|
|
|
|
'className' => 'DreamjobListCvCategory',
|
2014-03-12 17:44:49 +01:00
|
|
|
'foreignKey' => 'category_id',
|
|
|
|
'conditions' => '',
|
|
|
|
'fields' => '',
|
|
|
|
'order' => ''
|
|
|
|
)
|
|
|
|
);
|
|
|
|
}
|