/[transports]/trunk/lib/Transports/Model/Source.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 /trunk/lib/Transports/Model/Source.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 41 - (show annotations)
Sat May 27 22:54:11 2006 UTC (17 years, 11 months ago) by dpavlin
File size: 1167 byte(s)
allow admin users to see all systems, even if they don't have explicit
permission in UserOnSource
1 use strict;
2 use warnings;
3
4 package Transports::Model::Source::Schema;
5 use Jifty::DBI::Schema;
6
7 # Your column definitions go here. See L<Jifty::DBI::Schema> for
8 # documentation about how to write column definitions.
9
10 column name =>
11 type is 'text',
12 label is 'Source client',
13 is mandatory,
14 since '0.0.6';
15
16 package Transports::Model::Source;
17 use base qw/Transports::Record/;
18
19 # Your model-specific methods go here.
20
21 =head1 available_values
22
23 return all names
24
25 =cut
26
27 sub available_values {
28 my $self = shift;
29 return $self->column("name")->valid_values;
30 }
31
32 =head2 current_user_can ACTION
33
34 Let everybody create, read and update, but not delete.
35
36 =cut
37
38 sub current_user_can {
39 my $self = shift;
40 my $type = shift;
41
42 return 1 if ($self->current_user->admin);
43
44 # We probably want something like this eventually:
45 if ($type =~ /(?:create|read|update)/i) {
46
47 my $uos = Transports::Model::UserOnSource->new();
48 $uos->load_by_cols(
49 user_on => $self->current_user->id,
50 source => $self->id
51 );
52 return undef if ($self->current_user->id && ! $uos->id);
53
54 return 1;
55 } else {
56 return $self->SUPER::current_user_can($type, @_);
57 }
58 }
59
60 1;
61

  ViewVC Help
Powered by ViewVC 1.1.26