43 |
|
|
44 |
}; |
}; |
45 |
|
|
46 |
|
sub since { '0.0.1' } |
47 |
|
|
48 |
# Your model-specific methods go here. |
# Your model-specific methods go here. |
49 |
|
|
50 |
|
sub current_user_can { |
51 |
|
my $self = shift; |
52 |
|
my $what = shift; |
53 |
|
|
54 |
|
my $uid = Jifty->web->current_user->id; |
55 |
|
|
56 |
|
# superuser |
57 |
|
return 1 if ( defined $uid && $uid == 0 ); |
58 |
|
|
59 |
|
return 1 if ( $uid && $what eq 'create' ); |
60 |
|
|
61 |
|
return 1 if ( $uid && ! $self->id ); |
62 |
|
|
63 |
|
my $owner_id = $self->in_feed->owner->id; |
64 |
|
|
65 |
|
# Jifty->log->debug("current_user[$uid]_can($what) on Item ", $self->id || '???', " owner ", $owner_id || '???'); |
66 |
|
|
67 |
|
return 1 if ( $uid && $owner_id && $uid == $owner_id ); |
68 |
|
|
69 |
|
# system user |
70 |
|
return 1 if ( defined( $uid ) && $uid == 0 ); |
71 |
|
|
72 |
|
warn "$uid can't $what"; |
73 |
|
} |
74 |
|
|
75 |
|
=for TODO |
76 |
|
|
77 |
|
sub after_create { |
78 |
|
my $self = shift; |
79 |
|
my $insert_return_value_ref = shift; |
80 |
|
|
81 |
|
return unless $$insert_return_value_ref; # bail if insert failed |
82 |
|
$self->load($$insert_return_value_ref); # load ourselves from db |
83 |
|
|
84 |
|
# Do whatever needs to be done here |
85 |
|
|
86 |
|
# use Data::Dump qw/dump/; |
87 |
|
# warn "after_create ", dump( $self->as_hash ); |
88 |
|
|
89 |
|
return; # return value is ignored |
90 |
|
} |
91 |
|
|
92 |
|
=cut |
93 |
|
|
94 |
1; |
1; |
95 |
|
|