/[A3C]/lib/A3C/Model/User.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/A3C/Model/User.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

lib/CAdmin/Model/User.pm revision 2 by dpavlin, Sun Mar 9 22:39:58 2008 UTC lib/A3C/Model/User.pm revision 12 by dpavlin, Thu Mar 13 16:34:47 2008 UTC
# Line 1  Line 1 
1  use strict;  use strict;
2  use warnings;  use warnings;
3    
4  package CAdmin::Model::User;  package A3C::Model::User;
5  use Jifty::DBI::Schema;  use Jifty::DBI::Schema;
6    
7  use CAdmin::Record schema {  use A3C::Record schema {
8    
9            column name =>
10                    type is 'text',
11                    label is _('Ime'),
12                    is mandatory;
13    
14            column cn =>
15                    label is _('Ime'),
16                    type is 'virtual';
17    
18            column sn =>
19                    type is 'virtual',
20                    label is _('Prezime'),
21                    is mandatory;
22    
23            column givenName =>
24                    type is 'virtual',
25                    label is _('Ime'),
26                    is mandatory;
27    
28            column email =>
29                    type is 'text',
30                    is mandatory,
31                    label is _('Email address'), default is '', is immutable, is distinct;
32    
33            column email_confirmed =>
34                    label is _('Email address confirmed?'),
35                    type is 'boolean';
36    
37            column password =>
38                    is unreadable,
39                    label is _('Password'),
40                    type is 'varchar',
41                    hints is _('Your password should be at least six characters'),
42                    render_as 'password',
43    #               filters are 'Jifty::DBI::Filter::SaltHash',
44                    is mandatory;
45    
46            column telephoneNumber =>
47                    type is 'text',
48                    label is _('Telefonski broj'),
49                    hint is '+385 xx yyyyyy';
50    
51            column hrEduPersonExtensionNumber =>
52                    label is _('Lokalni telefonski broj');
53    
54            column mobile =>
55                    label is _('Broj mobilnog telefona');
56    
57            column facsimileTelephoneNumber =>
58                    label is _('Fax broj');
59    
60            column hrEduPersonUniqueNumber =>
61    #               is mandatory,
62                    label is _('JMBG');
63    
64            column hrEduPersonDateOfBirth =>
65                    type is 'date',
66                    label is _('Datum rođenja');
67    
68            column hrEduPersonGender =>
69                    label is _('Spol');
70    
71            column jpegPhoto =>
72                    label is _('Slika');
73    
74            column userCertificate =>
75                    label is _('Ceritifikat');
76            
77            column labeledURI =>
78                    label is _('URI adresa');
79            
80            column wtAdminType =>
81                    label is _('Tip administratora'),
82                    available are qw( AS AI AR AHU );
83    
84            column hrEduPersonProfessionalStatus =>
85                    label is _('Stručni status'),
86                    available are qw( DR KV MR NKV PKV SSS VKV VS VSS VŠS );
87    
88            column hrEduPersonAcademicStatus =>
89                    label is _('Zvanje'),
90                    available are [
91                            'asistent',
92                            'asistent - predavač',
93                            'asistent visoke škole',
94                            'docent',
95                            'izvanredni profesor',
96                            'knjižničar',
97                            'korepetitor',
98                            'lektor',
99                            'mlađi asistent',
100                            'predavač',
101                            'profesor visoke škole',
102                            'redoviti profesor',
103                            'stručni suradnik',
104                            'viši asistent',
105                            'viši knjižničar',
106                            'viši korepetitor',
107                            'viši lektor',
108                            'viši predavač',
109                            'viši znanstveni suradnik',
110                            'znanstveni asistent',
111                            'znanstveni novak',
112                            'znanstveni savjetnik',
113                            'znanstveni suradnik',
114                    ];
115    
116            column hrEduPersonScienceArea =>
117                    label is _('Područje znanosti'),
118                    available are [
119                            'Tehničke znanosti',
120                            'Prirodne znanosti',
121                            'Humanističke znanosti',
122                            'Društvene znanosti',
123                            'Biotehničke znanosti',
124                            'Biomedicina i zdravstvo',
125                    ];
126    
127            column hrEduPersonAffiliation =>
128                    label is _('Povezanost s ustanovom'),
129                    is mandatory,
130                    available are [
131                            'djelatnik',
132                            'gost',
133                            'korisnik usluge',
134                            'student',
135                            'učenik',
136                            'vanjski suradnik',
137                    ];
138    
139            column hrEduPersonPrimaryAffiliation =>
140                    label is _('Temeljna povezanost s ustanovom');
141                    is mandatory,
142                    available are [
143                            'djelatnik',
144                            'gost',
145                            'korisnik usluge',
146                            'student',
147                            'učenik',
148                            'vanjski suradnik',
149                    ];
150    
151            column hrEduPersonStudentCategory =>
152                    label is 'Vrsta studenta',
153                    available are [
154                            'dodiplomac',
155                            'osnovnoškolac',
156                            'pauzira godinu',
157                            'postdiplomac',
158                            'preddiplomac',
159                            'prekid studija',
160                            'srednjoškolac',
161                            'student stručnog studija',
162                    ];
163    
164            column hrEduPersonExpireDate =>
165                    label is _('Datum isteka temeljne povezanosti'),
166                    type is 'date',
167                    hint is 'dd.mm.gggg',
168                    is mandatory,
169    
170            column hrEduPersonTitle =>
171                    label is 'Položaj u ustanovi',
172                    available are [
173                            'dekan',
174                            'direktor',
175                            'pomoćnik ravnatelja',
176                            'predstojnik zavoda',
177                            'pročelnik katedre',
178                            'pročelnik odsjeka',
179                            'pročelnik sveučilišnog odjela',
180                            'prodekan',
181                            'prorektor',
182                            'ravnatelj',
183                            'rektor',
184                            'voditelj laboratorija',
185                            'voditelj odjela',
186                            'voditelj organizacijske jedini',
187                            'voditelj projekta',
188                            'zamjenik pročelnika sveučilišn',
189                            'zamjenik ravnatelja',
190                    ];
191    
192            column hrEduPersonRole =>
193                    label is 'Uloga u ustanovi',
194                    available are [
195                            'administrator imenika',
196                            'CARNet koordinator',
197                            'CARNet sistem inženjer',
198                            'ICT koordinator',
199                            'ISVU koordinator',
200                            'kontakt za sigurnosna pitanja',
201                            'MS koordinator',
202                            'MATICA operater',
203                            'MATICA urednik',
204                    ];
205    
206            column hrEduPersonStaffCategory =>
207                    label is 'Vrsta posla u ustanovi',
208                    available are [
209                            'administrativno osoblje',
210                            'ICT podrška',
211                            'istraživači',
212                            'nastavno osoblje',
213                            'osoblje knjižnice',
214                            'tehničko osoblje',
215                    ];
216    
217            column hrEduPersonGroupMember =>
218                    label is 'Pripadnost grupi',
219                    hint is 'skolskagodina::razred';
220    
221            column o =>
222                    label is _('Naziv matične ustanove'),
223                    is mandatory;
224            
225            column hrEduPersonHomeOrg =>
226                    label is _('Oznaka matične ustanove'),
227                    hint is 'CARNet',
228                    is mandatory;
229    
230            column ou =>
231                    label is _('Organizacijska jedinica');
232            
233            column roomNumber =>
234                    label is _('Broj sobe');
235    
236            column postalAddress =>
237                    label is _('Poštanska adresa'),
238                    render as 'textarea',
239                    is mandatory;
240            
241            column l =>
242                    label is _('Mjesto'),
243                    hist is 'Zagreb',
244                    is mandatory;
245    
246            column postalCode =>
247                    label is _('Poštanski broj'),
248                    hint is 'HR-10000';
249    
250            column street =>
251                    label is _('Ulica i kućni broj');
252            
253            column homePostalAddress =>
254                    label is _('Kućna poštanska adresa'),
255                    render as 'textarea';
256            
257            column homePhone =>
258                    label is _('Kućni telefonski broj');
259            
260            column hrEduPersonCommURI =>
261                    label is _('Desktop uređaj');
262    
263            column hrEduPersonPrivacy =>
264                    label is _('Oznaka privatnosti');
265    
266  };  };
267    
268    use Jifty::Plugin::User::Mixin::Model::User;
269    use Jifty::Plugin::Authentication::Password::Mixin::Model::User;
270    #use Jifty::Plugin::OpenID::Mixin::Model::User;
271    use Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata; # created_by, created_on, updated_on
272    
273  # Your model-specific methods go here.  # Your model-specific methods go here.
274    
275    =head2 validate_telephoneNumber
276    
277    =cut
278    
279    sub validate_telephoneNumber {
280            my ( $self, $value ) = @_;
281    
282            return ( 0, _('Telephone number invalid') ) if $value !~ m/^(\+?385)?[\d\s-]+$/;
283    
284            return ( 1, 'OK' );
285    }
286    
287    sub current_user_can {
288            # FIXME no security for now :-)
289            return 1;
290    }
291    
292  1;  1;
293    

Legend:
Removed from v.2  
changed lines
  Added in v.12

  ViewVC Help
Powered by ViewVC 1.1.26