cmc-sales/models/customer.php

90 lines
2 KiB
PHP
Executable file

<?php
class Customer extends AppModel {
var $name = 'Customer';
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',
'message' => 'ABN must contain 11 digits'
)
);
/* 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',
'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'));
var $hasAndBelongsToMany = array (
'Industry' => array(
'className' => 'Industry',
'joinTable' => 'industries_customers',
'foreignKey' => 'customer_id',
'associationForeignKey' => 'industry_id'
)
);
}
?>