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 |
|
|
cleanup users validation
|
8 |
# Parameters |
9 |
my $user = param('user'); |
|
10 |
|
|
11 |
# Validator |
|
12 |
my $vc = app->vc; |
|
13 |
|
|
14 |
# Validation result |
|
15 |
my $validation = $vc->validation; |
|
16 |
|
|
17 |
# "user" check |
|
18 |
if (!(defined $user && length $user)) { |
|
19 |
$validation->add_failed(user => 'User name is empty.'); |
|
20 |
} |
|
21 | ||
22 |
if ($validation->is_valid) { |
|
added tests and move delete ...
|
23 |
|
24 |
# Delete user |
|
added delete user test
|
25 |
my $count; |
revert encoding support
|
26 |
eval { $count = app->manager->delete_user($user) }; |
improve error message
|
27 |
if (my $e = $@) { |
28 |
app->log->error(url_for . ": $e"); |
|
added delete user test
|
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 |
} |
|
cleanup users validation
|
41 |
else { $errors = $validation->messages } |
added tests and move delete ...
|
42 |
} |
43 |
|
|
display user name and mail i...
|
44 |
my $users = app->dbi->model('user')->select( |
45 |
where => {admin => 0}, |
|
46 |
append => 'order by id' |
|
47 |
)->all; |
|
cleanup many pages
|
48 |
%> |
49 | ||
add title
|
50 |
% layout 'common', title => 'Admin Users'; |
cleanup many pages
|
51 | |
added tests and move delete ...
|
52 |
%= javascript begin |
53 |
$(document).ready(function () { |
|
54 |
|
|
55 |
// Confirm delete |
|
56 |
$('.delete-btn').on('click', function () { |
|
57 |
var user = $(this).attr('user'); |
|
58 |
|
|
59 |
var input = window.prompt( |
|
60 |
'Are you really delete user "' + user |
|
61 |
+ '". User and user\'s all repositories are deleted. Please input user name.' |
|
62 |
); |
|
63 |
|
|
64 |
if (user === input) { |
|
65 |
return true; |
|
66 |
} |
|
67 |
else { |
|
68 |
return false; |
|
69 |
} |
|
70 |
}); |
|
71 |
}); |
|
72 |
% end |
|
73 | ||
cleanup many pages
|
74 |
%= include '/include/header'; |
75 | ||
76 |
<div class="container"> |
|
added tests and move delete ...
|
77 | |
78 |
% if (my $message = flash('message')) { |
|
added user delete feature
|
79 |
<div class="alert alert-success"> |
80 |
<button type="button" class="close" data-dismiss="alert">×</button> |
|
added tests and move delete ...
|
81 |
%= $message; |
82 |
</div> |
|
83 |
% } |
|
84 |
|
|
85 |
% if ($errors) { |
|
86 |
<div class="alert"> |
|
87 |
<button type="button" class="close" data-dismiss="alert">×</button> |
|
88 |
% for my $error (@$errors) { |
|
89 |
<p><%= $error %></p> |
|
90 |
% } |
|
added user delete feature
|
91 |
</div> |
92 |
% } |
|
93 |
|
|
improve admin users page des...
|
94 |
<h3 class="topic1">Admin Users</h3> |
fixed link bugs
|
95 |
<div style="margin-bottom:10px"><a class="btn" href="<%= url_for('/_admin/user/create') %>">Create User</a></div> |
cleanup many pages
|
96 |
<div class="container"> |
display user name and mail i...
|
97 |
<table class="admin-users"> |
98 |
<tr> |
|
99 |
<th>ID</th> |
|
100 |
<th>Name</th> |
|
101 |
<th>Mail</th> |
|
102 |
<th></th> |
|
103 |
</tr> |
|
added reset password feature
|
104 |
% for my $user (@$users) { |
display user name and mail i...
|
105 |
<tr> |
106 |
% my $uid = $user->{id}; |
|
107 |
<td> |
|
added reset password feature
|
108 |
<a href="#"><%= $uid %></a> |
display user name and mail i...
|
109 |
</td> |
110 |
<td> |
|
111 |
<%= $user->{name} %> |
|
112 |
</td> |
|
113 |
<td> |
|
fix mail bug
|
114 |
<%= $user->{email} %> |
display user name and mail i...
|
115 |
</td> |
116 |
<td> |
|
add user update page
|
117 |
<a class="btn btn-small" href="<%= url_for('/_admin/user/update')->query(id => $uid) %>">Settings</a> |
118 |
<a class="btn btn-small" href="<%= url_for('/reset-password')->query(user => $uid) %>">Reset Password</a> |
|
improve admin users page des...
|
119 |
<form action="<%= url_for->query(op => 'delete') %>" method="post"> |
added tests and move delete ...
|
120 |
%= hidden_field user => $uid; |
add user update page
|
121 |
<input type="submit" class="btn btn-small delete-btn" style="color:red" user="<%= $uid %>" value="Delete"> |
added tests and move delete ...
|
122 |
</form> |
display user name and mail i...
|
123 |
</td> |
124 |
</tr> |
|
added reset password feature
|
125 |
% } |
126 |
</table> |
|
cleanup many pages
|
127 |
</div> |
128 |
</div> |
|
improve admin users page des...
|
129 |
<div style="text-align:center;margin:20px 0"><big><a href="<%= url_for('/_admin') %>">Admin page</a></big></div> |
cleanup many pages
|
130 |
|
added tests and move delete ...
|
131 |
%= include '/include/footer'; |
132 |
|