UPDATE to Registration process to include location details and create dealership
[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 }