e1b0308dcdca3fcfd911b1293af2ebf3768314e2
[namibia] / module / User / src / User / DataBin / Registration.php
1 <?php
2 namespace User\DataBin;
3
4
5
6 /**
7  * Manage profile data.
8  * @author andre.fourie
9  */
10 class Registration extends \Workspace\Service\DataBin
11 {
12
13         /**
14          * @var array
15          */
16         protected $meta = array(
17                         'Base'        => 'Profile',
18                         'DatasetName' => 'stock',
19                         'Entity'      => '\User\Entity\Profile',
20                         'References'  => array(
21                                         'company'       => '\Company\Entity\Company',
22                                         'group'         => '\Company\Entity\Group',
23                                         'groupDivision' => '\Company\Entity\GroupDivision',
24                                         'region'        => '\Location\Entity\Region',
25                                         'permissions'   => '\User\Entity\Permissions'
26                         ),
27                         'Dependants'  => array(
28                                         'sessions' => '\User\Entity\Session'
29                         )
30         );
31         /**
32          * @var array
33          */
34         protected $metaRegisterFull = array(
35                         'Type'          => 'Session',
36                         'Namespace'     => 'Registration',
37                         'Contract'      => 'Recurring',
38                         'ExecuteAfter'  => array(
39                                         'RegisterCompany'
40                         ),
41                         'RequiredInput' => array(
42                                         'Company' => array(
43                                                         'clientType'            => 'DealerClientType',
44                                                         'dealerType'            => 'DealerType',
45                                                         'name'                  => 'String100',
46                                                         'businessName'          => 'String100',
47                                                         'region'                => 'Id',
48                                                         'city'                  => 'Id',
49                                                         'postalCode'            => 'String10',
50                                                         'street'                => 'String75',
51
52                                                         'billingCity'       => 'Id',
53                                                         'billingPostalCode' => 'String10',
54                                                         'billingStreet'     => 'String75'
55                                         ),
56                                         'Profile' => array(
57                                                         'firstName'           => 'String100',
58                                                         'familyName'          => 'String100',
59                                                         'mobile'              => 'Mobile',
60                                                         'email'               => 'Email',
61                                                         'password'            => 'String40',
62                                                         'idNumber'            => 'IdNumber',
63                                                         'dateOfBirth'         => 'Date',
64                                                         'permissions'         => 'Id'
65                                         ),
66                                         'Contact' => array(
67                                                         'firstName'  => 'String50',
68                                                         'familyName' => 'String50',
69                                                         'mobile'     => 'Mobile',
70                                                         'office'     => 'String12',
71                                                         'email'      => 'Email'
72                                         ),
73                                         'BillingContact' => array(
74                                                         'firstName'  => 'String50',
75                                                         'familyName' => 'String50',
76                                                         'mobile'     => 'Mobile',
77                                                         'office'     => 'String12',
78                                                         'email'      => 'Email'
79                                         )
80                         ),
81                         'OptionalInput' => array(
82                                         'Company' => array(
83                                                         'group'                                 => 'Id',
84                                                         'groupDivision'             => 'Id',
85                                                         'companyRegistrationNumber' => 'String100',
86                                                         'vatNumber'                 => 'String20',
87                                                         'turmiNumber'               => 'String50',
88                                                         'dealerStockNumber'         => 'String50',
89                                                         'companyType'               => 'CompanyType',
90                                                         'turnover'                  => 'String25',
91                                                         'foundMethod'               => 'Id',
92                                                         'foundMethodDetail'         => 'Id',
93                                                         'auctionCity'               => 'Id',
94                                                         'auctionPostalCode'         => 'String10',
95                                                         'auctionStreet'             => 'String75',
96                                                         'owners'                    => 'Array',
97                                                         'docStockCertificate'           => 'Id',
98                                                         'docAddressProof'               => 'Id',
99                                                         'docCopyOfId'                   => 'Id',
100                                                         'docCopyOfDirectorId'           => 'Id',
101                                                         'docCompanyRegistration'        => 'Id'
102                                         ),
103                                         'Profile' => array(
104                                                         'subscribeNewsletter' => 'Boolean',
105                                         )
106                         )
107         );
108
109 }