mirror of
https://github.com/hkalexling/Mango.git
synced 2026-03-17 00:03:36 -04:00
- basic admin panel and user management
This commit is contained in:
24
src/views/admin.ecr
Normal file
24
src/views/admin.ecr
Normal file
@@ -0,0 +1,24 @@
|
||||
<ul class="uk-list uk-list-large uk-list-divider">
|
||||
<li data-url="/admin/info">Server Info</li>
|
||||
<li data-url="/admin/user">User Managerment</li>
|
||||
<li onclick="scan()">Scan Library Files</li>
|
||||
</ul>
|
||||
|
||||
<hr class="uk-divider-icon">
|
||||
<a class="uk-button uk-button-danger" href="/logout">Log Out</a>
|
||||
|
||||
<% content_for "script" do %>
|
||||
<script>
|
||||
function scan() {
|
||||
alert("scan");
|
||||
}
|
||||
$(function() {
|
||||
$('li').click(function() {
|
||||
url = $(this).attr('data-url');
|
||||
if (url) {
|
||||
$(location).attr('href', url)
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<% end %>
|
||||
@@ -6,7 +6,6 @@
|
||||
<title>Mango</title>
|
||||
<meta name="description" content="Mango Manga Server">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/css/uikit.min.css" />
|
||||
<link rel="stylesheet" href="/css/mango.css" />
|
||||
</head>
|
||||
@@ -23,5 +22,7 @@
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/js/uikit.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/js/uikit-icons.min.js"></script>
|
||||
|
||||
<%= yield_content "script" %>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
<title>Mango</title>
|
||||
<meta name="description" content="Mango Manga Server">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.3.1/dist/css/uikit.min.css" />
|
||||
<link rel="stylesheet" href="/css/mango.css" />
|
||||
</head>
|
||||
|
||||
67
src/views/user-edit.ecr
Normal file
67
src/views/user-edit.ecr
Normal file
@@ -0,0 +1,67 @@
|
||||
<div id="alert"></div>
|
||||
|
||||
<form action="/admin/user/edit" method="post" accept-charset="utf-8">
|
||||
|
||||
<div class="uk-margin">
|
||||
<label class="uk-form-label" for="form-stacked-text">Username</label>
|
||||
<input class="uk-input" type="text" name="username"
|
||||
<%- if username -%>
|
||||
value=<%= username %>
|
||||
<%- end -%>
|
||||
>
|
||||
</div>
|
||||
<%- if new_user -%>
|
||||
<div class="uk-margin">
|
||||
<label class="uk-form-label" for="form-stacked-text">Password</label>
|
||||
<input class="uk-input" type="password" name="password">
|
||||
</div>
|
||||
<%- end -%>
|
||||
<div class="uk-margin">
|
||||
<label class="uk-form-label" for="form-stacked-text">Admin Access</label>
|
||||
<input class="uk-checkbox" type="checkbox" name="admin"
|
||||
<%- if admin == true -%>
|
||||
checked
|
||||
<%- end -%>
|
||||
>
|
||||
</div>
|
||||
|
||||
<%- if !new_user -%>
|
||||
<div>
|
||||
<button class="uk-button uk-button-default" type="button" uk-toggle="target: #change-password">Change Password</button>
|
||||
<div id="change-password" class="uk-margin" hidden>
|
||||
<label class="uk-form-label" for="form-stacked-text">New Password</label>
|
||||
<input class="uk-input" type="password" name="password">
|
||||
</div>
|
||||
</div>
|
||||
<%- end -%>
|
||||
|
||||
<hr class="uk-divider-icon">
|
||||
|
||||
<input type="submit" value="Save" class="uk-button uk-button-primary">
|
||||
</form>
|
||||
|
||||
|
||||
<% content_for "script" do %>
|
||||
<script>
|
||||
$(function(){
|
||||
var target = '/admin/user/edit';
|
||||
<%- if !new_user -%>
|
||||
target += '/<%= username %>';
|
||||
<%- end -%>
|
||||
$('form').attr('action', target);
|
||||
|
||||
function alert(level, text) {
|
||||
hideAlert();
|
||||
var html = '<div class="uk-alert-' + level + '" uk-alert><a class="uk-alert-close" uk-close></a><p>' + text + '</p></div>';
|
||||
$('#alert').append(html);
|
||||
}
|
||||
function hideAlert() {
|
||||
$('#alert').empty();
|
||||
}
|
||||
|
||||
<%- if error -%>
|
||||
alert('danger', '<%= error %>');
|
||||
<%- end -%>
|
||||
});
|
||||
</script>
|
||||
<% end %>
|
||||
34
src/views/user.ecr
Normal file
34
src/views/user.ecr
Normal file
@@ -0,0 +1,34 @@
|
||||
<table class="uk-table uk-table-divider">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Username</th>
|
||||
<th>Admin Access</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<%- users.each do |u| -%>
|
||||
<tr>
|
||||
<td><%= u[0] %></td>
|
||||
<td><%= u[1] %></td>
|
||||
<td>
|
||||
<a href="/admin/user/edit?username=<%= u[0] %>&admin=<%= u[1] %>" uk-icon="file-edit"></a>
|
||||
<%- if u[0] != username %>
|
||||
<a href="#" onclick="remove('<%= u[0] %>');return false;" uk-icon="trash"></a>
|
||||
<%- end %>
|
||||
</td>
|
||||
</tr>
|
||||
<%- end -%>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<a href="/admin/user/edit" class="uk-button uk-button-primary">New User</a>
|
||||
|
||||
|
||||
<% content_for "script" do %>
|
||||
<script>
|
||||
function remove(username) {
|
||||
alert(username);
|
||||
}
|
||||
</script>
|
||||
<% end %>
|
||||
Reference in New Issue
Block a user