67 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {% extends "base_settings_page.html" %}
 | |
| {% block content %}
 | |
| 
 | |
| <a href="/admin/create_user" class="btn btn-primary">Create a new user</a>
 | |
| 
 | |
| <p> </p>
 | |
| 
 | |
| <table class="table table-hover" style="max-width: 1000px;" aria-describedby="Clients list">
 | |
|     <thead>
 | |
|     <tr>
 | |
|         <th scope="col">Username</th>
 | |
|         <th scope="col">First name</th>
 | |
|         <th scope="col">Last name</th>
 | |
|         <th scope="col">Email</th>
 | |
|         <th scope="col">Account type</th>
 | |
|         <th scope="col">Enabled</th>
 | |
|         <th scope="col">Actions</th>
 | |
|     </tr>
 | |
|     </thead>
 | |
|     <tbody>
 | |
|     {% for u in users %}
 | |
|     <tr id="row-user-{{ u.uid.0 }}">
 | |
|         <td>{{ u.username }}</td>
 | |
|         <td>{{ u.first_name }}</td>
 | |
|         <td>{{ u.last_name }}</td>
 | |
|         <td>{{ u.email }}</td>
 | |
|         <td>{% if u.admin %}Admin{% else %}Regular user{% endif %}</td>
 | |
|         <td>{% if u.enabled %}Enabled{% else %}Disabled{% endif %}</td>
 | |
|         <td>
 | |
|             <a href="/admin/edit_user?id={{ u.uid.0 }}">Edit</a>
 | |
|             <a href="javascript:delete_user('{{ u.uid.0 }}', '{{ u.username }}')">Delete</a>
 | |
|         </td>
 | |
|     </tr>
 | |
|     {% endfor %}
 | |
|     </tbody>
 | |
| </table>
 | |
| 
 | |
| <script>
 | |
|     async function delete_user(id, username) {
 | |
|         if(!confirm("Do you really want to delete " + username + "'s account?"))
 | |
|             return;
 | |
| 
 | |
|         try {
 | |
|             let data = new URLSearchParams();
 | |
|             data.append("user_id", id);
 | |
| 
 | |
|             const res = await fetch("/admin/api/delete_user", {
 | |
|                 body: data,
 | |
|                 method: "POST",
 | |
|             });
 | |
| 
 | |
|             if (res.status != 200)
 | |
|                 return alert("Failed to delete user account!");
 | |
| 
 | |
|             alert("User account was successfully deleted!");
 | |
|             document.getElementById("row-user-" + id).remove()
 | |
|         } catch(e) {
 | |
|             console.error(e);
 | |
|             alert("Failed to delete user account!");
 | |
|         }
 | |
|     }
 | |
| 
 | |
| 
 | |
| </script>
 | |
| 
 | |
| {% endblock content %}
 |