/[Grep]/lib/Grep/Model/Feed.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

Diff of /lib/Grep/Model/Feed.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 12 by dpavlin, Sun Feb 18 00:35:48 2007 UTC revision 73 by dpavlin, Fri Feb 23 11:48:39 2007 UTC
# Line 4  use warnings; Line 4  use warnings;
4  package Grep::Model::Feed;  package Grep::Model::Feed;
5  use Jifty::DBI::Schema;  use Jifty::DBI::Schema;
6    
7    use Feed::Find;
8    use Scalar::Defer;
9    use Grep::Model::User;
10    
11  use Grep::Record schema {  use Grep::Record schema {
12    
13          column uri =>          column uri =>
14                  type is 'text',                  type is 'text',
15                  label is 'URI',                  label is 'URI',
16                  hints is 'Replace search string in URI with %s',                  hints is 'Replace search string in URI with %s (grep will be replaced automatically)',
17                  is mandatory,                  is mandatory;
                 distinct;  
18    
19          column title =>          column title =>
20                  type is 'text',                  type is 'text',
21                    label is 'Title',
22                  hints is 'Use something descriptive to you',                  hints is 'Use something descriptive to you',
23                  since '0.0.2';                  since '0.0.2';
24    
25            column cookie =>
26                    type is 'text',
27                    label is 'Cookie',
28                    render as 'textarea',
29                    hints is 'If you leave Cookie data Grep will impersonate you to feed provider!',
30                    since '0.0.3';
31    
32            column owner =>
33                    refers_to Grep::Model::User by 'id',
34                    label is 'Feed owner',
35                    default is defer { Jifty->web->current_user->id },
36                    since '0.0.5';
37    
38            column created_on =>
39                    type is 'timestamp',
40                    label is 'Created On',
41                    default is defer { DateTime->now },
42                    filters are 'Jifty::DBI::Filter::DateTime',
43                    since '0.0.5';
44    
45            column source =>
46                    type is 'text',
47                    label is 'Source',
48                    default is 'Grep::Source::Feed',
49    #               available are defer { Grep::Source::Feed->sources },
50                    since '0.0.6';
51    
52  };  };
53    
54  sub since { '0.0.1' }  sub since { '0.0.1' }
55    
56  # Your model-specific methods go here.  # Your model-specific methods go here.
57    
58    =head2 search_uri
59    
60      print $feed->search_uri('search string');
61    
62    This function will decode field delimiters C<|!|> into normal C<;>
63    (which are protected to make AJAX validation work)
64    
65    =cut
66    
67    sub search_uri {
68            my $self = shift;
69            my $search = shift;
70    
71            my $uri = $self->uri or die "no uri?";
72            $uri =~ s/\Q|!|\E/;/g;
73            return sprintf( $uri, $search );
74    }
75    
76    
77    sub current_user_can {
78            my $self = shift;
79            my $what = shift;
80    
81            my $uid = Jifty->web->current_user->id;
82    
83            return 1 if ( $uid && $what eq 'create' );
84    
85            return 1 if ( $uid && ! $self->id );
86    
87    #       Jifty->log->debug("current_user[$uid]_can($what) on Feed ", $self->id || '???', " owner ", $self->owner->id || '???');
88    
89            return 1 if ( $uid == $self->owner->id );
90    
91    }
92    
93  1;  1;
94    

Legend:
Removed from v.12  
changed lines
  Added in v.73

  ViewVC Help
Powered by ViewVC 1.1.26