2010-05-03 23:49:57 -07:00
|
|
|
<?php
|
|
|
|
|
class Job extends AppModel {
|
|
|
|
|
|
2010-07-07 23:25:55 -07:00
|
|
|
var $name = 'Job';
|
2011-04-19 23:48:29 -07:00
|
|
|
|
2011-09-01 00:42:32 -07:00
|
|
|
|
2010-07-07 23:25:55 -07:00
|
|
|
var $validate = array(
|
2011-03-13 17:21:56 -07:00
|
|
|
'title' => array('notempty'),
|
2010-07-07 23:25:55 -07:00
|
|
|
|
2011-03-13 17:21:56 -07:00
|
|
|
'enquiry_id' => array('numeric'),
|
2010-07-07 23:25:55 -07:00
|
|
|
|
2011-09-01 00:42:32 -07:00
|
|
|
/* 'date_order_received' => array('date'),
|
2010-07-07 23:25:55 -07:00
|
|
|
|
2011-03-13 17:21:56 -07:00
|
|
|
'domestic_freight_paid_by' => array('notempty'),
|
|
|
|
|
'sale_category' => array('notempty'),
|
2011-04-19 23:48:29 -07:00
|
|
|
'shipment_category' => array('notempty') */
|
2010-07-07 23:25:55 -07:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
2011-03-13 17:21:56 -07:00
|
|
|
|
2010-07-07 23:25:55 -07:00
|
|
|
|
|
|
|
|
//The Associations below have been created with all possible keys, those that are not needed can be removed
|
|
|
|
|
var $belongsTo = array(
|
|
|
|
|
|
2011-03-13 17:21:56 -07:00
|
|
|
'Enquiry' => array(
|
|
|
|
|
'className' => 'Enquiry',
|
|
|
|
|
'foreignKey' => 'enquiry_id',
|
|
|
|
|
'conditions' => '',
|
|
|
|
|
'fields' => '',
|
|
|
|
|
'order' => '',
|
|
|
|
|
'counterCache' => true
|
|
|
|
|
),
|
2010-07-09 00:05:54 -07:00
|
|
|
|
2011-03-13 18:30:03 -07:00
|
|
|
'Currency' => array(
|
|
|
|
|
'className' => 'Currency',
|
|
|
|
|
'foreignKey' => 'currency_id'
|
|
|
|
|
),
|
|
|
|
|
|
2011-09-01 00:42:32 -07:00
|
|
|
'Customer' => array(
|
2011-03-13 18:30:03 -07:00
|
|
|
'className' => 'Customer',
|
|
|
|
|
'foreignKey' => 'customer_id'
|
|
|
|
|
)
|
2010-07-07 23:25:55 -07:00
|
|
|
);
|
|
|
|
|
|
2011-03-13 17:21:56 -07:00
|
|
|
var $hasAndBelongsToMany = array(
|
|
|
|
|
'PurchaseOrder' => array(
|
|
|
|
|
'className' => 'PurchaseOrder',
|
|
|
|
|
'joinTable' => 'jobs_purchase_orders',
|
|
|
|
|
'unique' => true
|
|
|
|
|
),
|
|
|
|
|
'Email' => array(
|
|
|
|
|
'className' => 'Email',
|
|
|
|
|
'joinTable' => 'emails_jobs',
|
2011-05-08 18:11:23 -07:00
|
|
|
),
|
|
|
|
|
|
|
|
|
|
'Shipment' => array(
|
|
|
|
|
'className' => 'Shipment',
|
|
|
|
|
'joinTable' => 'shipments_jobs',
|
2011-03-13 17:21:56 -07:00
|
|
|
)
|
|
|
|
|
);
|
2010-05-03 23:49:57 -07:00
|
|
|
|
2011-09-01 00:42:32 -07:00
|
|
|
var $hasMany = array(
|
|
|
|
|
'OrderAcknowledgement' => array(
|
|
|
|
|
'className' => 'OrderAcknowledgement',
|
|
|
|
|
'foreign_key' => 'job_id'
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function newJob($enquiry) {
|
|
|
|
|
|
|
|
|
|
$this->create();
|
|
|
|
|
|
|
|
|
|
$job_offset = 6141;
|
|
|
|
|
|
|
|
|
|
$number_of_jobs = $this->findCount();
|
|
|
|
|
$new_job_number = $job_offset + $number_of_jobs;
|
|
|
|
|
|
|
|
|
|
$monthYearShort = strtoupper(date("My"));
|
|
|
|
|
|
|
|
|
|
$jobLetter = $enquiry['State']['enqform'];
|
|
|
|
|
|
|
|
|
|
$newJob = array();
|
|
|
|
|
|
|
|
|
|
$newJob['Job']['title'] = $monthYearShort.$jobLetter."J".$new_job_number;
|
|
|
|
|
$newJob['Job']['state_id'] = $enquiry['Enquiry']['state_id'];
|
|
|
|
|
$newJob['Job']['customer_id'] = $enquiry['Enquiry']['customer_id'];
|
|
|
|
|
$newJob['Job']['contact_id'] = $enquiry['Enquiry']['contact_id'];
|
|
|
|
|
$newJob['Job']['enquiry_id'] = $enquiry['Enquiry']['id'];
|
|
|
|
|
$newJob['Job']['date_order_received'] = date('Y-m-d');
|
|
|
|
|
|
|
|
|
|
if ($this->save($newJob)) {
|
|
|
|
|
|
|
|
|
|
return $this->find('first',array('conditions'=>array('Job.id'=>$this->id)));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2010-05-03 23:49:57 -07:00
|
|
|
}
|
|
|
|
|
?>
|