cmc-sales/models/customer.php

95 lines
2.4 KiB
PHP
Executable file

<?php
class Customer extends AppModel {
var $name = 'Customer';
var $displayField = 'name';
var $validate = array(
'name' => array(
'rule' => 'isUnique',
'message' => 'This Customer name is already taken or has been left blank',
'required' => true,
'allowEmpty' => false),
'abn' => array(
'rule' => 'checkABN',
'required' => false,
'message' => 'ABN must contain 11 digits',
'allowEmpty' => true,
)
);
/* Custom Validation for ABN */
function checkABN($data) {
$numbers = preg_replace("/\s*\D*/", "", $data['abn']);
$length = strlen($numbers);
return $length == 11;
//ABNs must be exactly 11 digits long.
}
//The Associations below have been created with all possible keys, those that are not needed can be removed
var $hasMany = array(
'Address' => array('className' => 'Address',
'foreignKey' => 'customer_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Contact' => array('className' => 'Contact', //Change this back to Contact for user_import.php
'foreignKey' => 'customer_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Enquiry' => array('className' => 'Enquiry',
'foreignKey' => 'customer_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
var $belongsTo = array('CustomerCategory'=>
array('className' => 'CustomerCategory','foreignKey' => 'customer_category_id'),
'Country' =>
array('className' =>'Country', 'foreignKey' => 'country_id')
);
var $hasAndBelongsToMany = array (
'Industry' => array(
'className' => 'Industry',
'joinTable' => 'industries_customers',
'foreignKey' => 'customer_id',
'associationForeignKey' => 'industry_id'
)
);
}
?>