1 |
<%args> |
<%args> |
2 |
$user_id |
$user_id |
3 |
$delete_user_on_landscape_id => 0 |
$op => ''; |
4 |
|
$landscape_id => 0 |
5 |
</%args> |
</%args> |
6 |
<%init> |
<%init> |
7 |
|
|
8 |
if ($delete_user_on_landscape_id) { |
sub growl { |
9 |
|
my ($level,$title,$message) = @_; |
10 |
|
print <<_END_OF_GROWL_; |
11 |
|
<script type="text/javascript"> |
12 |
|
new protoGrowl({ |
13 |
|
type: '$level', title: '$title', message: '$message', |
14 |
|
width: 400, height: 40, |
15 |
|
minWidth: 400, minHeight: 40, |
16 |
|
className: 'protogrowl', |
17 |
|
}); |
18 |
|
</script> |
19 |
|
_END_OF_GROWL_ |
20 |
|
}; |
21 |
|
|
22 |
|
warn "user_id: $user_id, op: $op, landscape_id: $landscape_id\n"; |
23 |
|
|
24 |
|
if ($op eq 'delete') { |
25 |
my $u = Transports::Model::UserOnLandscape->new(); |
my $u = Transports::Model::UserOnLandscape->new(); |
26 |
$u->load_by_cols( id => $delete_user_on_landscape_id ); |
$u->load_by_cols( |
27 |
$m->out("Deleted system ", $u->landscape->name); |
user_on => $user_id, |
28 |
$u->delete; |
landscape => $landscape_id |
29 |
|
); |
30 |
|
if ($u->delete) { |
31 |
|
growl('ok','Deleted', $u->landscape->name . ' removed from ' . $u->user_on->name); |
32 |
|
} else { |
33 |
|
growl('error','Error',"Problem while deleting " . $u->landscape->name); |
34 |
|
} |
35 |
|
|
36 |
|
} elsif ($op eq 'add') { |
37 |
|
my $u = Transports::Model::UserOnLandscape->new(); |
38 |
|
if($u->create( |
39 |
|
user_on => $user_id, |
40 |
|
landscape => $landscape_id, |
41 |
|
)) { |
42 |
|
# $m->out("Added ", $u->landscape->name); |
43 |
|
growl('ok','Added', $u->landscape->name); |
44 |
|
} else { |
45 |
|
growl('error','Error',"Problem while adding " . $landscape_id); |
46 |
|
} |
47 |
} |
} |
48 |
|
|
49 |
my $landscapes = Transports::Model::UserOnLandscapeCollection->new(); |
my $landscapes = Transports::Model::UserOnLandscapeCollection->new(); |
53 |
quote_value => 0, |
quote_value => 0, |
54 |
); |
); |
55 |
|
|
56 |
my $landscape = Jifty->web->new_action( |
my $selected_landscape; |
57 |
class => 'CreateUserOnLandscape', |
map { $selected_landscape->{ $_->landscape->id }++ } @{ $landscapes->items_array_ref }; |
58 |
monkier => 'create', |
|
59 |
); |
my $all_landscapes = Transports::Model::LandscapeCollection->new(); |
60 |
|
$all_landscapes->unlimit; |
61 |
|
|
62 |
</%init> |
</%init> |
63 |
|
|
64 |
|
<div> |
65 |
Landscapes: |
Landscapes: |
66 |
|
|
67 |
<ul> |
<ul> |
68 |
% while (my $s = $landscapes->next) { |
% while (my $l = $all_landscapes->next ) { |
69 |
<li><% $s->landscape->name %> |
<li> |
70 |
|
% if ($selected_landscape->{ $l->id }) { |
71 |
|
<% $l->name %> |
72 |
<% Jifty->web->link( |
<% Jifty->web->link( |
73 |
label => 'remove' , |
label => 'remove' , |
74 |
onclick => { args => { delete_user_on_landscape_id => $s->id }} |
onclick => { args => { op => 'delete', landscape_id => $l->id }} |
75 |
|
) %> |
76 |
|
% } else { |
77 |
|
<del><% $l->name %></del> |
78 |
|
<% Jifty->web->link( |
79 |
|
label => 'add' , |
80 |
|
onclick => { args => { op => 'add', landscape_id => $l->id }} |
81 |
) %> |
) %> |
82 |
|
% } |
83 |
</li> |
</li> |
84 |
% } |
% } |
85 |
</ul> |
</ul> |
86 |
|
|
87 |
<% Jifty->web->form->start %> |
</div> |
|
<% $landscape->form_field('user_on', render_as => 'hidden', default_value => $user_id ) %> |
|
|
<% $landscape->form_field('landscape') %> |
|
|
<% Jifty->web->form->submit( label => 'Add landscape' ) %> |
|
|
<% Jifty->web->form->end %> |
|
88 |
|
|