[Jifty-commit] r4060 - jifty/trunk/lib/Jifty/Plugin/ActorMetadata/Mixin/Model

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Fri Sep 7 18:19:31 EDT 2007


Author: clkao
Date: Fri Sep  7 18:19:30 2007
New Revision: 4060

Modified:
   jifty/trunk/lib/Jifty/Plugin/ActorMetadata/Mixin/Model/ActorMetadata.pm

Log:
actormetadata: provide a current_user_is_owner method.


Modified: jifty/trunk/lib/Jifty/Plugin/ActorMetadata/Mixin/Model/ActorMetadata.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/ActorMetadata/Mixin/Model/ActorMetadata.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/ActorMetadata/Mixin/Model/ActorMetadata.pm	Fri Sep  7 18:19:30 2007
@@ -5,7 +5,7 @@
 use Jifty::DBI::Schema;
 use base 'Jifty::DBI::Record::Plugin';
 
-our @EXPORT = qw(current_user_can);
+our @EXPORT = qw(current_user_can current_user_is_owner);
 
 =head1 NAME
 
@@ -119,10 +119,25 @@
     }
 
     if ($action eq 'update' or $action eq 'delete') {
-        return undef unless ($self->current_user and $self->current_user->id eq $self->created_by->id);
+        return undef unless $self->current_user_is_owner;
     }
 
     return 1;
 }
 
+=head2 current_user_is_owner
+
+=cut
+
+sub current_user_is_owner {
+    my $self = shift;
+
+    my $created_by = $self->__value('created_by');
+    return unless $self->current_user && $created_by;
+
+    return unless $self->current_user->id;
+
+    return $self->current_user->id == $created_by;
+}
+
 1;


More information about the Jifty-commit mailing list