/[A3C]/lib/A3C/Model/StrixInstanceSelection.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

Annotation of /lib/A3C/Model/StrixInstanceSelection.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 174 - (hide annotations)
Mon Jun 16 16:48:16 2008 UTC (15 years, 9 months ago) by dpavlin
File size: 1027 byte(s)
big rename of StrixSite to StrixInstance, added sitemap and layout

rename creates huge diff, which is rather unfortunate, but we needed
to get terminology stright: sites are part of strix instances
1 dpavlin 157 use strict;
2     use warnings;
3    
4 dpavlin 174 package A3C::Model::StrixInstanceSelection;
5 dpavlin 157 use Jifty::DBI::Schema;
6    
7     use Data::Dump qw/dump/;
8    
9     use A3C::Record schema {
10    
11 dpavlin 174 column instance =>
12     label is _('Instance identifier'),
13 dpavlin 157 is mandatory,
14     type is 'text',
15 dpavlin 174 refers_to A3C::Model::StrixInstance by 'instance';
16 dpavlin 157
17     column by_user =>
18     label is ('Selected by user'),
19     is mandatory,
20     refers_to A3C::Model::User by 'id',
21     default is defer { Jifty->web->current_user->id };
22    
23     };
24    
25     # Your model-specific methods go here.
26    
27     sub since { '0.0.4' };
28    
29 dpavlin 174 sub validate_instance {
30 dpavlin 157 my $self = shift;
31 dpavlin 174 my $instance = shift;
32 dpavlin 157
33 dpavlin 174 my $strix = A3C::Model::StrixInstanceSelection->new;
34     $strix->load_by_cols( instance => $instance );
35 dpavlin 157
36 dpavlin 174 return ( 0, _('Instance %1 is allready selected', $instance) ) if $strix->id;
37 dpavlin 157 return 1;
38     }
39    
40     sub current_user_can {
41     my $self = shift;
42 dpavlin 158 my $op = shift;
43    
44     if ( $op eq 'create' ) {
45     my %args = @_;
46     return 1 if $args{by_user} == $self->current_user->id;
47     }
48    
49     return 1 if $self->by_user->id == $self->current_user->id;
50    
51 dpavlin 157 return 0;
52     }
53    
54     1;
55    

  ViewVC Help
Powered by ViewVC 1.1.26