--- lib/A3C/Model/User.pm 2008/03/13 18:07:28 16 +++ lib/A3C/Model/User.pm 2008/03/18 19:03:53 32 @@ -17,39 +17,27 @@ column hrEduPersonUniqueID => label is ('hrEduPersonUniqueID'), is indexed, - is mandatory, - is distinct; - - column name => - type is 'text', - label is _('Ime'), + is distinct, is mandatory; column cn => - label is _('Ime'), - type is 'virtual'; + label is _('Ime i prezime'), + is mandatory; column sn => - type is 'virtual', label is _('Prezime'), is mandatory; column givenName => - type is 'virtual', label is _('Ime'), is mandatory; column mail => - type is 'virtual'; - - column email => type is 'text', is mandatory, - label is _('Email address'), default is '', is immutable, is distinct; - - column email_confirmed => - label is _('Email address confirmed?'), - type is 'boolean'; + label is _('Email address'), default is '', + is immutable, + is distinct; column password => is unreadable, @@ -160,6 +148,10 @@ ], default is ''; + column organization => + refers_to A3C::Model::Organization by 'id', + is mandatory; + column hrEduPersonAffiliation => label is _('Povezanost s ustanovom'), is mandatory, @@ -263,38 +255,12 @@ label is 'Pripadnost grupi', hint is 'skolskagodina::razred'; - column o => - label is _('Naziv matične ustanove'), - is mandatory; - - column hrEduPersonHomeOrg => - label is _('Oznaka matične ustanove'), - hint is 'CARNet', - is mandatory; - column ou => label is _('Organizacijska jedinica'); column roomNumber => label is _('Broj sobe'); - column postalAddress => - label is _('Poštanska adresa'), - render as 'textarea', - is mandatory; - - column l => - label is _('Mjesto'), - hist is 'Zagreb', - is mandatory; - - column postalCode => - label is _('Poštanski broj'), - hint is 'HR-10000'; - - column street => - label is _('Ulica i kućni broj'); - column homePostalAddress => label is _('Kućna poštanska adresa'), render as 'textarea'; @@ -308,26 +274,61 @@ column hrEduPersonPrivacy => label is _('Oznaka privatnosti'); + column loginShell => + label is _('shell'); + + column uidNumber => + label is _('uid'), + type is 'int'; + + column gidNumber => + label is _('gid'); + type is 'int'; + + column homeDirectory => + label is _('home'); + }; -use Jifty::Plugin::User::Mixin::Model::User; +# we don't use following mixing because it wants to send notificaitons on e-mail address change +#use Jifty::Plugin::User::Mixin::Model::User; use Jifty::Plugin::Authentication::Password::Mixin::Model::User; #use Jifty::Plugin::OpenID::Mixin::Model::User; use Jifty::Plugin::ActorMetadata::Mixin::Model::ActorMetadata; # created_by, created_on, updated_on # Your model-specific methods go here. -=head2 set_mail +=head2 before_create -Put mail from ldap into email row +Implement virtual columns, for now put mail from ldap into email row =cut -sub set_mail { - my ($self,$v) = @_; - $self->set_email( $v ); +=for later + +sub before_create { + my ($self, $attr) = @_; + if ( ! $attr->{'email'} ) { + warn "push mail to email"; + $attr->{'email'} = $attr->{'mail'}; + } } +=cut + +=head2 email + +Accessor for compatibility with Jifty mixins + +=cut + +sub email { + my $self = shift; + return $self->__value('mail'); +} + +sub email_confirmed { 1 }; + =head2 validate_telephoneNumber =cut