Guest User

Untitled

a guest
Sep 29th, 2014
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.46 KB | None | 0 0
  1. <?php
  2. namespace Technician;
  3.  
  4. class Model_Customer extends \Orm\Model
  5. {
  6.     protected static $_table_name = 'customers';
  7.     protected static $_primary_key = array('id');
  8.     protected static $_properties = array(
  9.         'id',
  10.         'first_name' => array(
  11.             'data_type' => 'varchar',
  12.             'label'     => 'customers.edit.first_name',
  13.             'validation' => array(
  14.                 'required',
  15.                 'max_length' => array(64)
  16.             )
  17.         ),
  18.         'last_name' => array(
  19.             'data_type' => 'varchar',
  20.             'label'     => 'customers.edit.last_name',
  21.             'validation' => array(
  22.                 'required',
  23.                 'max_length' => array(128)
  24.             )
  25.         ),
  26.         'id_number' => array(
  27.             'data_type' => 'varchar',
  28.             'label'     => 'customers.edit.id_number',
  29.             'validation' => array(
  30.                 'match_pattern' => array('/^\w{2}\d{6}$/')
  31.             )
  32.         ),
  33.         'address' => array(
  34.             'data_type' => 'varchar',
  35.             'label'     => 'customers.edit.address',
  36.             'validation' => array(
  37.                 'max_length' => array(255)
  38.             )
  39.         ),
  40.         'address_city' => array(
  41.             'data_type' => 'varchar',
  42.             'label'     => 'customers.edit.address_city',
  43.             'validation' => array(
  44.                 'max_length' => array(32)
  45.             )
  46.         ),
  47.         'address_zip' => array(
  48.             'data_type' => 'varchar',
  49.             'label'     => 'customers.edit.address_zip',
  50.             'validation' => array(
  51.                 'max_length' => array(6)
  52.             )
  53.         ),
  54.         'email' => array(
  55.             'data_type' => 'varchar',
  56.             'label'     => 'customers.edit.email',
  57.             'validation' => array(
  58.                 'required',
  59.                 'valid_email'
  60.             )
  61.         ),
  62.         'phone1' => array(
  63.             'data_type' => 'varchar',
  64.             'label'     => 'customers.edit.phone1',
  65.             'validation' => array(
  66.                 'required',
  67.                 'match_pattern' => array('/^([+]?(\d{3}[ ]?){4}|[0](\d{3}[ ]?){3})|\d{3}[\/]?\d{3}([ ]?\d{2}){2}|\d{3}[\/]?([ ]?\d{2}){2}[ ]?\d{3}$/')
  68.             )
  69.         ),
  70.         'phone2' => array(
  71.             'data_type' => 'varchar',
  72.             'label'     => 'customers.edit.phone2',
  73.             'validation' => array(
  74.                 'match_pattern' => array('/^([+]?(\d{3}[ ]?){4}|[0](\d{3}[ ]?){3})|\d{3}[\/]?\d{3}([ ]?\d{2}){2}|\d{3}[\/]?([ ]?\d{2}){2}[ ]?\d{3}$/')
  75.             )
  76.         ),
  77.         'category_id' => array(
  78.             'label' => 'spares.edit.category',
  79.             'form' => array(
  80.                 'type' => 'hidden'
  81.             ),
  82.         ),
  83.         'company_id' => array(
  84.             'label' => 'spares.edit.category',
  85.             'form' => array(
  86.                 'type' => 'hidden'
  87.             ),
  88.         ),
  89.     );
  90.  
  91.     protected static $_has_one = array(
  92.         'category' => array(
  93.             'key_from' => 'category_id',
  94.             'model_to' => '\Technician\Model_Customer_Category',
  95.             'key_to' => 'id',
  96.             'cascade_save' => true,
  97.             'cascade_delete' => false,
  98.         ),
  99.         'company' => array(
  100.             'key_from' => 'company_id',
  101.             'model_to' => '\Technician\Model_Customer_Company',
  102.             'key_to' => 'id',
  103.             'cascade_save' => true,
  104.             'cascade_delete' => false,
  105.         )
  106.     );
  107.     protected static $_has_many = array(
  108.         'devices' => array(
  109.             'key_from' => 'id',
  110.             'model_to' => '\Technician\Model_Customer_Device',
  111.             'key_to' => 'customer_id',
  112.             'cascade_save' => true,
  113.             'cascade_delete' => false,  
  114.         )
  115.     );
  116. }
  117. ?>
  118.  
  119. <?php
  120. namespace Technician;
  121.  
  122. class Model_Customer_Company extends \Orm\Model
  123. {
  124.     protected static $_table_name = 'customer_companies';
  125.     protected static $_primary_key = array('id');
  126.     protected static $_properties = array(
  127.         'id',
  128.         'company_name' => array(
  129.             'data_type' => 'varchar',
  130.             'label' => 'Company name',
  131.             'validation' => array(
  132.                 'max_length' => array(128)
  133.             )
  134.         ),
  135.         'company_address' => array(
  136.             'data_type' => 'varchar',
  137.             'label' => 'Company address',
  138.             'validation' => array(
  139.                 'max_length' => array(255)
  140.             )
  141.         ),
  142.         'company_reg_id' => array(
  143.             'data_type' => 'varchar',
  144.             'label' => 'Company registration number',
  145.             'validation' => array(
  146.                 'max_length' => array(8)
  147.             )
  148.         ),
  149.         'company_tax_id' => array(
  150.             'data_type' => 'varchar',
  151.             'label' => 'Company tax number',
  152.             'validation' => array(
  153.                 'max_length' => array(10)
  154.             )
  155.         ),
  156.         'company_vat_id' => array(
  157.             'data_type' => 'varchar',
  158.             'label' => 'Company VAT number',
  159.             'validation' => array(
  160.                 'max_length' => array(12)
  161.             )
  162.         )
  163.     );
  164.  
  165.     protected static $_belongs_to = array(
  166.         'customer' => array(
  167.             'key_from' => 'id',
  168.             'model_to' => '\Technician\Model_Customer',
  169.             'key_to' => 'company_id',
  170.             'cascade_save' => true,
  171.             'cascade_delete' => false,
  172.         )
  173.     );
  174. }
  175. ?>
Advertisement
Add Comment
Please, Sign In to add comment