--- lib/A3C/Model/User.pm 2008/03/30 22:29:42 45 +++ lib/A3C/Model/Person.pm 2008/04/30 17:23:46 94 @@ -1,21 +1,23 @@ use strict; use warnings; -package A3C::Model::User; +package A3C::Model::Person; use Jifty::DBI::Schema; +use A3C::AAIEduHr; + use utf8; use A3C::Record schema { column uid => - label is ('uid'), + label is _('UID'), is indexed, is mandatory, is distinct; column hrEduPersonUniqueID => - label is ('hrEduPersonUniqueID'), + label is _('hr Edu Person Unique ID'), is indexed, is distinct, is mandatory; @@ -36,6 +38,7 @@ type is 'text', is mandatory, label is _('Email address'), default is '', + is indexed, is immutable, is distinct; @@ -73,7 +76,8 @@ filters are 'Jifty::DBI::Filter::Date'; column hrEduPersonGender => - label is _('Spol'); + label is _('Spol'), + valid are [ { display => 'Nepoznato', value => 0 }, A3C::AAIEduHr->vocabulary('hrEdu002') ]; column jpegPhoto => label is _('Slika'); @@ -95,67 +99,26 @@ column hrEduPersonProfessionalStatus => label is _('Stručni status'), - valid are [ - '', - 'NKV', - 'PKV', - 'KV', - 'VKV', - 'SSS', - 'VS', - 'VSS', - 'VŠS', - 'MR', - 'DR', - ], + valid are [ '', A3C::AAIEduHr->vocabulary('hrEdu001'), 'VŠS' ], default is ''; column hrEduPersonAcademicStatus => label is _('Zvanje'), - valid are [ - '', - 'knjižničar', - 'viši knjižničar', - 'korepetitor', - 'viši korepetitor', - 'lektor', - 'viši lektor', - 'stručni suradnik', - 'asistent visoke škole', - 'profesor visoke škole', - 'mlađi asistent', - 'znanstveni novak', - 'znanstveni asistent', - 'znanstveni suradnik', - 'predavač', - 'viši predavač', - 'asistent', - 'asistent - predavač', - 'viši asistent', - 'docent', - 'izvanredni profesor', - 'redoviti profesor', - 'znanstveni savjetnik', - 'viši znanstveni suradnik', - ], + valid are [ '', A3C::AAIEduHr->vocabulary('hrEdu002') ], default is ''; column hrEduPersonScienceArea => label is _('Područje znanosti'), - valid are [ - '', - 'Tehničke znanosti', - 'Prirodne znanosti', - 'Humanističke znanosti', - 'Društvene znanosti', - 'Biotehničke znanosti', - 'Biomedicina i zdravstvo', - ], + valid are [ '', A3C::AAIEduHr->vocabulary('hrEdu007') ], default is ''; - column 'o'; + column 'o' => + is indexed; + column 'l'; column 'postalAddress'; + column 'postalCode'; + column 'street'; # column organization => # refers_to A3C::Model::Organization by 'id', @@ -164,41 +127,20 @@ column hrEduPersonAffiliation => label is _('Povezanost s ustanovom'), is mandatory, - valid are [ - 'učenik', - 'student', - 'djelatnik', - 'vanjski suradnik', - 'korisnik usluge', - 'gost', - ], + valid are A3C::AAIEduHr->vocabulary('hrEdu004'), default is 'korisnik usluge'; column hrEduPersonPrimaryAffiliation => label is _('Temeljna povezanost s ustanovom'); is mandatory, - valid are [ - 'učenik', - 'student', - 'djelatnik', - 'vanjski suradnik', - 'korisnik usluge', - 'gost', - ], + valid are A3C::AAIEduHr->vocabulary('hrEdu004'), default is 'korisnik usluge'; column hrEduPersonStudentCategory => label is 'Vrsta studenta', valid are [ '', - 'osnovnoškolac', - 'srednjoškolac', - 'student stručnog studija', - 'preddiplomac', - 'postdiplomac', - 'dodiplomac', - 'pauzira godinu', - 'prekid studija', + A3C::AAIEduHr->vocabulary('hrEdu010'), ], default is ''; @@ -211,39 +153,14 @@ column hrEduPersonTitle => label is 'Položaj u ustanovi', - valid are [ # FIXME reorder - '', - 'dekan', - 'direktor', - 'pomoćnik ravnatelja', - 'predstojnik zavoda', - 'pročelnik katedre', - 'pročelnik odsjeka', - 'pročelnik sveučilišnog odjela', - 'prodekan', - 'prorektor', - 'ravnatelj', - 'rektor', - 'voditelj laboratorija', - 'voditelj odjela', - 'voditelj organizacijske jedini', - 'voditelj projekta', - 'zamjenik pročelnika sveučilišn', - 'zamjenik ravnatelja', - ], + valid are [ '', A3C::AAIEduHr->vocabulary('hrEdu003') ], default is ''; column hrEduPersonRole => label is 'Uloga u ustanovi', valid are [ '', - 'administrator imenika', - 'CARNet koordinator', - 'CARNet sistem inženjer', - 'ICT koordinator', - 'ISVU koordinator', - 'kontakt za sigurnosna pitanja', - 'MS koordinator', + A3C::AAIEduHr->vocabulary('hrEdu006'), 'MATICA operater', 'MATICA urednik', ], @@ -251,14 +168,7 @@ column hrEduPersonStaffCategory => label is 'Vrsta posla u ustanovi', - valid are [ - 'administrativno osoblje', - 'ICT podrška', - 'istraživači', - 'nastavno osoblje', - 'osoblje knjižnice', - 'tehničko osoblje', - ]; + valid are [ '', A3C::AAIEduHr->vocabulary('hrEdu005') ]; column hrEduPersonGroupMember => label is 'Pripadnost grupi', @@ -333,7 +243,7 @@ sub email { my $self = shift; - return $self->__value('mail'); + return $self->mail; } sub email_confirmed { 1 }; @@ -344,7 +254,7 @@ sub name { my $self = shift; - return $self->__value('cn'); + return $self->cn . ' <' . $self->mail . '>'; } =head2 validate_telephoneNumber @@ -416,15 +326,7 @@ return $value; } -=head2 current_user_can - -=cut - -sub current_user_can { - # FIXME no security for now :-) - return 1; -} - +use A3C::DefaultACL; 1;