X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FText%2FTradition%2FUser.pm;h=18a91df08ba91ec56ec170476e38c3cda204b26b;hb=10ef765302eb2d8ed7bdd23f63a2b9703cd1df59;hp=7e53bb4355492fa1f87f2cb9b59882c6fef3eb5b;hpb=59acd833609a5c50cf17d1cc680781d8d9501451;p=scpubgit%2Fstemmatology.git diff --git a/lib/Text/Tradition/User.pm b/lib/Text/Tradition/User.pm index 7e53bb4..18a91df 100644 --- a/lib/Text/Tradition/User.pm +++ b/lib/Text/Tradition/User.pm @@ -8,6 +8,7 @@ with qw(KiokuX::User); ## 'id' provided by KiokuX::User stores our username has 'password' => (is => 'rw', required => 1); +has 'display' => (is => 'rw', lazy => 1, builder => '_build_display'); ## Change this default active value if you want/need to have an admin confirm a user after they self-create. has 'active' => (is => 'rw', default => sub { 1; }); has 'role' => (is => 'rw', default => sub { 'user' }); @@ -28,6 +29,13 @@ after add_tradition => sub { unless $tradition->has_user && $tradition->user->id eq $self->id; }; +sub _build_display { + my ($self) = @_; + + ## no display set, so use username/id + return $self->id; +} + sub remove_tradition { my ($self, $tradition) = @_; @@ -42,7 +50,7 @@ sub remove_tradition { sub is_admin { my ($self) = @_; - return $self->role eq 'admin'; + return $self->role && $self->role eq 'admin'; } 1;