Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Technician;
- class Model_Customer extends \Orm\Model
- {
- protected static $_table_name = 'customers';
- protected static $_primary_key = array('id');
- protected static $_properties = array(
- 'id',
- 'first_name' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.first_name',
- 'validation' => array(
- 'required',
- 'max_length' => array(64)
- )
- ),
- 'last_name' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.last_name',
- 'validation' => array(
- 'required',
- 'max_length' => array(128)
- )
- ),
- 'id_number' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.id_number',
- 'validation' => array(
- 'match_pattern' => array('/^\w{2}\d{6}$/')
- )
- ),
- 'address' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.address',
- 'validation' => array(
- 'max_length' => array(255)
- )
- ),
- 'address_city' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.address_city',
- 'validation' => array(
- 'max_length' => array(32)
- )
- ),
- 'address_zip' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.address_zip',
- 'validation' => array(
- 'max_length' => array(6)
- )
- ),
- 'email' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.email',
- 'validation' => array(
- 'required',
- 'valid_email'
- )
- ),
- 'phone1' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.phone1',
- 'validation' => array(
- 'required',
- 'match_pattern' => array('/^([+]?(\d{3}[ ]?){4}|[0](\d{3}[ ]?){3})|\d{3}[\/]?\d{3}([ ]?\d{2}){2}|\d{3}[\/]?([ ]?\d{2}){2}[ ]?\d{3}$/')
- )
- ),
- 'phone2' => array(
- 'data_type' => 'varchar',
- 'label' => 'customers.edit.phone2',
- 'validation' => array(
- 'match_pattern' => array('/^([+]?(\d{3}[ ]?){4}|[0](\d{3}[ ]?){3})|\d{3}[\/]?\d{3}([ ]?\d{2}){2}|\d{3}[\/]?([ ]?\d{2}){2}[ ]?\d{3}$/')
- )
- ),
- 'category_id' => array(
- 'label' => 'spares.edit.category',
- 'form' => array(
- 'type' => 'hidden'
- ),
- ),
- 'company_id' => array(
- 'label' => 'spares.edit.category',
- 'form' => array(
- 'type' => 'hidden'
- ),
- ),
- );
- protected static $_has_one = array(
- 'category' => array(
- 'key_from' => 'category_id',
- 'model_to' => '\Technician\Model_Customer_Category',
- 'key_to' => 'id',
- 'cascade_save' => true,
- 'cascade_delete' => false,
- ),
- 'company' => array(
- 'key_from' => 'company_id',
- 'model_to' => '\Technician\Model_Customer_Company',
- 'key_to' => 'id',
- 'cascade_save' => true,
- 'cascade_delete' => false,
- )
- );
- protected static $_has_many = array(
- 'devices' => array(
- 'key_from' => 'id',
- 'model_to' => '\Technician\Model_Customer_Device',
- 'key_to' => 'customer_id',
- 'cascade_save' => true,
- 'cascade_delete' => false,
- )
- );
- }
- ?>
- <?php
- namespace Technician;
- class Model_Customer_Company extends \Orm\Model
- {
- protected static $_table_name = 'customer_companies';
- protected static $_primary_key = array('id');
- protected static $_properties = array(
- 'id',
- 'company_name' => array(
- 'data_type' => 'varchar',
- 'label' => 'Company name',
- 'validation' => array(
- 'max_length' => array(128)
- )
- ),
- 'company_address' => array(
- 'data_type' => 'varchar',
- 'label' => 'Company address',
- 'validation' => array(
- 'max_length' => array(255)
- )
- ),
- 'company_reg_id' => array(
- 'data_type' => 'varchar',
- 'label' => 'Company registration number',
- 'validation' => array(
- 'max_length' => array(8)
- )
- ),
- 'company_tax_id' => array(
- 'data_type' => 'varchar',
- 'label' => 'Company tax number',
- 'validation' => array(
- 'max_length' => array(10)
- )
- ),
- 'company_vat_id' => array(
- 'data_type' => 'varchar',
- 'label' => 'Company VAT number',
- 'validation' => array(
- 'max_length' => array(12)
- )
- )
- );
- protected static $_belongs_to = array(
- 'customer' => array(
- 'key_from' => 'id',
- 'model_to' => '\Technician\Model_Customer',
- 'key_to' => 'company_id',
- 'cascade_save' => true,
- 'cascade_delete' => false,
- )
- );
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment