cmc-sales/models/enquiry.php

187 lines
4.7 KiB
PHP
Raw Normal View History

<?php
class Enquiry extends AppModel {
var $name = 'Enquiry';
var $validate = array(
'user_id' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'User ID must be selected',
'on' => 'create'
),
'customer_id' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'Must choose a Customer for this Enquiry',
'on' => 'create'
),
'contact_id' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'Must choose a Contact for this Enquiry',
'on' => 'create'
),
'customer_id' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'Must choose a Customer for this Enquiry',
'on' => 'create'
),
'state_id' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'Must choose a State for this Enquiry',
'on' => 'create'
),
'country_id' => array(
'numeric' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'Must choose a Country for this Enquiry',
'on' => 'create'
),
'checkStates' => array(
'rule' => array('checkStates'),
'message' => 'Australian Enquiries must be assigned to Australian States. Overseas Enquiries must be assigned to other Countries',
'on' => 'create')),
'principle_id' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'Must choose a Principle for this Enquiry',
'on' => 'create'
),
'status_id' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'Must choose a Status for this Enquiry'
),
'gst' => array(
'rule' => 'numeric',
'required' => true,
'message' => 'Must select whether GST is applicable for this Enquiry',
'on' => 'create'
)
);
/*Custom Validation Rule to Check that Enquiries with Australian States are assigned to Australia.
* and that Overseas enquiries are NOT assigned to Australia.
* Not Portable at all. This code is only for CMC usage
*/
function checkStates($data) {
if($this->data['Enquiry']['country_id'] != 1) { //This Enquiry is not for Australia. State must be set to overseas.
if($this->data['Enquiry']['state_id'] != 9) { //The State isn't set to Overseas. Return false
return FALSE;
}
else {
return TRUE;
}
}
if($this->data['Enquiry']['country_id'] == 1) { //This enquiry is for Australia. State must be for an Australian State
if($this->data['Enquiry']['state_id'] == 9) {
return FALSE;
}
else {
return TRUE;
}
}
}
//The Associations below have been created with all possible keys, those that are not needed can be removed
var $belongsTo = array(
'User' => array('className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Customer' => array('className' => 'Customer',
'foreignKey' => 'customer_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Contact' => array('className' => 'Contact',
'foreignKey' => 'contact_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'State' => array('className' => 'State',
'foreignKey' => 'state_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Country' => array('className' => 'Country',
'foreignKey' => 'country_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Principle' => array('className' => 'Principle',
'foreignKey' => 'principle_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Status' => array('className' => 'Status',
'foreignKey' => 'status_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'BillingAddress' => array('className' => 'Address',
'foreignKey' => 'billing_address_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'ShippingAddress' => array('className' => 'Address',
'foreignKey' => 'shipping_address_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
);
var $hasMany = array(
'Quote' => array('className' => 'Quote',
'foreignKey' => 'enquiry_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
2009-01-26 17:46:00 -08:00
),
'EnquiryFile' => array('className' => 'EnquiryFile',
'foreignKey' => 'enquiry_id',
'dependent' => false
2009-02-05 15:10:57 -08:00
),
'Email' => array('className' => 'Email',
'foreignKey' => 'enquiry_id',
'dependent' => false
),
);
}
?>