/[Grep]/lib/Grep/Model/Item.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /lib/Grep/Model/Item.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 143 - (show annotations)
Tue May 8 13:54:20 2007 UTC (17 years, 1 month ago) by dpavlin
File size: 1745 byte(s)
added explicit rules for superuser so that bin/reindex.pl can access items and feeds
1 use strict;
2 use warnings;
3
4 package Grep::Model::Item;
5 use Jifty::DBI::Schema;
6
7 use Grep::Model::Feed;
8
9 use Grep::Record schema {
10
11 column in_feed =>
12 refers_to Grep::Model::Feed by 'id',
13 is mandatory;
14
15 column title =>
16 type is 'text',
17 is mandatory;
18
19 column link =>
20 type is 'text',
21 is mandatory;
22
23 column content =>
24 type is 'text',
25 is mandatory;
26
27 column summary =>
28 type is 'text';
29
30 column category =>
31 type is 'text';
32
33 column author =>
34 type is 'text';
35
36 column issued =>
37 type is 'timestamp',
38 filters are qw( Jifty::Filter::DateTime Jifty::DBI::Filter::DateTime );
39
40 column modified =>
41 type is 'timestamp',
42 filters are qw( Jifty::Filter::DateTime Jifty::DBI::Filter::DateTime );
43
44 };
45
46 sub since { '0.0.1' }
47
48 # 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;
95

  ViewVC Help
Powered by ViewVC 1.1.26