cleanup many pages
|
1 |
<% |
added tests and move delete ...
|
2 |
my $op = param('op') || ''; |
3 |
my $api = gitprep_api; |
|
4 |
|
|
5 |
my $errors; |
|
6 |
if ($op eq 'delete' && lc $self->req->method eq 'post') { |
|
7 | ||
8 |
# Validation |
|
9 |
my $params = $api->params; |
|
rename validator to vc to up...
|
10 |
my $vc = $self->app->vc; |
added tests and move delete ...
|
11 |
my $rule = [ |
12 |
user => [ |
|
13 |
['not_blank' => 'User name is empty.'], |
|
14 |
] |
|
15 |
]; |
|
rename validator to vc to up...
|
16 |
my $vresult = $vc->validate($params, $rule); |
added tests and move delete ...
|
17 |
|
18 |
if ($vresult->is_ok) { |
|
19 |
|
|
20 |
# Valid parameters |
|
21 |
my $params = $vresult->data; |
|
22 |
my $user = $params->{user}; |
|
23 |
|
|
24 |
# Delete user |
|
added delete user test
|
25 |
my $count; |
revert encoding support
|
26 |
eval { $count = app->manager->delete_user($user) }; |
added tests and move delete ...
|
27 |
if ($@) { |
added delete user test
|
28 |
app->log->error("/_admin/users?op=delete: $@"); |
29 |
$errors = ['Internal Error']; |
|
30 |
} |
|
31 |
elsif ($count == 0) { |
|
32 |
app->log->error("/_admin/users?op=delete: User $user not exists"); |
|
added tests and move delete ...
|
33 |
$errors = ['Internal Error']; |
34 |
} |
|
35 |
else { |
|
added delete user test
|
36 |
$self->flash(message => "User $user is deleted."); |
added tests and move delete ...
|
37 |
$self->redirect_to('current'); |
added delete user test
|
38 |
return; |
added tests and move delete ...
|
39 |
} |
40 |
} |
|
41 |
else { $errors = $vresult->messages } |
|
42 |
} |
|
43 |
|
|
revert encoding support
|
44 |
my $users = app->manager->users; |
cleanup many pages
|
45 |
%> |
46 | ||
add title
|
47 |
% layout 'common', title => 'Admin Users'; |
cleanup many pages
|
48 | |
added tests and move delete ...
|
49 |
%= javascript begin |
50 |
$(document).ready(function () { |
|
51 |
|
|
52 |
// Confirm delete |
|
53 |
$('.delete-btn').on('click', function () { |
|
54 |
var user = $(this).attr('user'); |
|
55 |
|
|
56 |
var input = window.prompt( |
|
57 |
'Are you really delete user "' + user |
|
58 |
+ '". User and user\'s all repositories are deleted. Please input user name.' |
|
59 |
); |
|
60 |
|
|
61 |
if (user === input) { |
|
62 |
return true; |
|
63 |
} |
|
64 |
else { |
|
65 |
return false; |
|
66 |
} |
|
67 |
}); |
|
68 |
}); |
|
69 |
% end |
|
70 | ||
cleanup many pages
|
71 |
%= include '/include/header'; |
72 | ||
73 |
<div class="container"> |
|
added tests and move delete ...
|
74 | |
75 |
% if (my $message = flash('message')) { |
|
added user delete feature
|
76 |
<div class="alert alert-success"> |
77 |
<button type="button" class="close" data-dismiss="alert">×</button> |
|
added tests and move delete ...
|
78 |
%= $message; |
79 |
</div> |
|
80 |
% } |
|
81 |
|
|
82 |
% if ($errors) { |
|
83 |
<div class="alert"> |
|
84 |
<button type="button" class="close" data-dismiss="alert">×</button> |
|
85 |
% for my $error (@$errors) { |
|
86 |
<p><%= $error %></p> |
|
87 |
% } |
|
added user delete feature
|
88 |
</div> |
89 |
% } |
|
90 |
|
|
cleanup many pages
|
91 |
<div><h3>Admin Users</h3></div> |
fixed link bugs
|
92 |
<div style="margin-bottom:10px"><a class="btn" href="<%= url_for('/_admin/user/create') %>">Create User</a></div> |
cleanup many pages
|
93 |
<div class="container"> |
added reset password feature
|
94 |
<table class="table"> |
95 |
% for my $user (@$users) { |
|
96 |
% my $uid = $user->{id}; |
|
97 |
<tr> |
|
98 |
<td> |
|
99 |
<a href="#"><%= $uid %></a> |
|
100 |
</td> |
|
101 |
<td style="text-align:right"> |
|
added tests and move delete ...
|
102 |
<a class="btn btn-mini" href="<%= url_for('/reset-password')->query(user => $uid) %>">Reset Password</a> |
103 |
<form style="display:inline-block" action="<%= url_for->query(op => 'delete') %>" method="post"> |
|
104 |
%= hidden_field user => $uid; |
|
105 |
<input type="submit" class="btn btn-mini delete-btn" user="<%= $uid %>" value="Delete"> |
|
106 |
</form> |
|
added reset password feature
|
107 |
</td> |
108 |
</tr> |
|
109 |
% } |
|
110 |
</table> |
|
cleanup many pages
|
111 |
</div> |
112 |
</div> |
|
fixed link bugs
|
113 |
<div class="text-center" style="margin-bottom:20px"><big><a href="<%= url_for('/_admin') %>">Admin page</a></big></div> |
cleanup many pages
|
114 |
|
added tests and move delete ...
|
115 |
%= include '/include/footer'; |
116 |
|