mirror of
				https://github.com/osmarks/mycorrhiza.git
				synced 2025-10-31 15:43:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			191 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {% import "fmt" %}
 | |
| {% import "github.com/bouncepaw/mycorrhiza/cfg" %}
 | |
| {% import "github.com/bouncepaw/mycorrhiza/l18n" %}
 | |
| {% import "github.com/bouncepaw/mycorrhiza/user" %}
 | |
| {% import "github.com/bouncepaw/mycorrhiza/util" %}
 | |
| 
 | |
| {% func AdminPanelHTML(lc *l18n.Localizer) %}
 | |
| <div class="layout">
 | |
| <main class="main-width">
 | |
| 	<h1>{%s lc.Get("admin.panel_title") %}</h1>
 | |
| 	<section>
 | |
| 		<h2>{%s lc.Get("admin.panel_safe") %}</h2>
 | |
| 		<ul>
 | |
| 			<li><a href="/about">{%s lc.Get("admin.panel_about") %}</a></li>
 | |
| 			<li><a href="/user-list">{%s lc.Get("admin.panel_userlist") %}</a></li>
 | |
| 			<li><a href="/update-header-links">{%s lc.Get("admin.panel_updateheader") %}</a></li>
 | |
| 			<li><a href="/admin/users/">{%s lc.Get("admin.panel_users") %}</a></li>
 | |
| 		</ul>
 | |
| 	</section>
 | |
| 	<section>
 | |
| 		<h2>{%s lc.Get("admin.panel_unsafe") %}</h2>
 | |
| 		<form action="/admin/shutdown" method="POST" style="float:left">
 | |
| 			<fieldset>
 | |
| 				<legend>{%s lc.Get("admin.panel_shutdown") %}</legend>
 | |
| 				<input type="submit" class="btn">
 | |
| 			</fieldset>
 | |
| 		</form>
 | |
| 		<form action="/reindex" method="GET" style="float:left">
 | |
| 			<fieldset>
 | |
| 				<legend>{%s lc.Get("admin.panel_reindex") %}</legend>
 | |
| 				<input type="submit" class="btn">
 | |
| 			</fieldset>
 | |
| 		</form>
 | |
| 	</section>
 | |
| </main>
 | |
| </div>
 | |
| {% endfunc %}
 | |
| 
 | |
| {% func AdminUsersPanelHTML(userList []*user.User, lc *l18n.Localizer) %}
 | |
| <div class="layout">
 | |
| <main class="main-width">
 | |
| 	<h1>{%s lc.Get("admin.users_title") %}</h1>
 | |
| 
 | |
| 	<form action="/admin/reindex-users" method="post">
 | |
| 		<a class="btn" href="/admin/user/new">{%s lc.Get("admin.users_create") %}</a>
 | |
| 		<button class="btn" type="submit">{%s lc.Get("admin.users_reindex") %}</button>
 | |
| 	</form>
 | |
| 
 | |
| 	<br>
 | |
| 
 | |
| 	<table class="users-table">
 | |
| 	<thead>
 | |
| 		<tr>
 | |
| 			<th>{%s lc.Get("admin.users_name") %}</th>
 | |
| 			<th>{%s lc.Get("admin.users_group") %}</th>
 | |
| 			<th>{%s lc.Get("admin.users_registered") %}</th>
 | |
| 			<th aria-label="{%s lc.Get("admin.users_actions") %}"></th>
 | |
| 		</tr>
 | |
| 	</thead>
 | |
| 	<tbody>
 | |
| 	{% for _, u := range userList %}
 | |
| 		<tr>
 | |
| 			<td class="table-cell--fill">
 | |
| 				<a href="/hypha/{%u cfg.UserHypha %}/{%u u.Name %}">{%s u.Name %}</a>
 | |
| 			</td>
 | |
| 			<td>{%s u.Group %}</td>
 | |
| 			<td>
 | |
| 				{% if u.RegisteredAt.IsZero() %}
 | |
| 					{%s lc.Get("admin.users_notime") %}
 | |
| 				{% else %}
 | |
| 					{%s u.RegisteredAt.UTC().Format("2006-01-02 15:04") %}
 | |
| 				{% endif %}
 | |
| 			</td>
 | |
| 			<td>
 | |
| 				<a href="/admin/users/{%u u.Name %}/edit">{%s lc.Get("admin.users_edit") %}</a>
 | |
| 			</td>
 | |
| 		</tr>
 | |
| 	{% endfor %}
 | |
| 	</tbody>
 | |
| 	</table>
 | |
| </main>
 | |
| </div>
 | |
| {% endfunc %}
 | |
| 
 | |
| {% func AdminUserNewHTML(f util.FormData, lc *l18n.Localizer) %}
 | |
| <div class="layout">
 | |
| <main class="main-width form-wrap">
 | |
| 	<h1>{%s lc.Get("admin.newuser_title") %}</h1>
 | |
| 
 | |
| 	{% if f.HasError() %}
 | |
| 	<div class="notice notice--error">
 | |
| 		<strong>{%s lc.Get("ui.error") %}:</strong>
 | |
| 		{%s f.Error() %}
 | |
| 	</div>
 | |
| 	{% endif %}
 | |
| 
 | |
| 	<form class="form--double" action="" method="post">
 | |
| 		<div class="form-field">
 | |
| 			<label for="name">{%s lc.Get("admin.users_name") %}:</label>
 | |
| 			<input type="text" name="name" id="name" value="{%s f.Get("name") %}" autofocus>
 | |
| 		</div>
 | |
| 
 | |
| 		<div class="form-field">
 | |
| 			<label for="password">{%s lc.Get("admin.users_password") %}:</label>
 | |
| 			<input type="password" name="password" id="password" value="{%s f.Get("password") %}">
 | |
| 		</div>
 | |
| 
 | |
| 		<div class="form-field">
 | |
| 			<label for="group">{%s lc.Get("admin.users_group") %}:</label>
 | |
| 			<select id="group" name="group">
 | |
| 				<option{% if f.Get("group") == "anon" %} selected{% endif %}>anon</option>
 | |
| 				<option{% if f.Get("group") == "editor" %} selected{% endif %}>editor</option>
 | |
| 				<option{% if f.Get("group") == "trusted" %} selected{% endif %}>trusted</option>
 | |
| 				<option{% if f.Get("group") == "moderator" %} selected{% endif %}>moderator</option>
 | |
| 				<option{% if f.Get("group") == "admin" %} selected{% endif %}>admin</option>
 | |
| 			</select>
 | |
| 		</div>
 | |
| 
 | |
| 		<div class="form-field">
 | |
| 			<div class="form-field__input">
 | |
| 				<button class="btn" type="submit">{%s lc.Get("admin.newuser_create") %}</button>
 | |
| 				<a class="btn btn_weak" href="/admin/users/">{%s lc.Get("ui.cancel") %}</a>
 | |
| 			</div>
 | |
| 		</div>
 | |
| 	</form>
 | |
| </main>
 | |
| </div>
 | |
| {% endfunc %}
 | |
| 
 | |
| {% func AdminUserEditHTML(u *user.User, f util.FormData, lc *l18n.Localizer) %}
 | |
| <div class="layout">
 | |
| <main class="main-width form-wrap">
 | |
| 	<h1>
 | |
| 		<a href="/admin/users/">←</a>
 | |
| 		{%s u.Name %}
 | |
| 	</h1>
 | |
| 
 | |
| 	<h2>{%s lc.Get("admin.user_group_heading") %}</h2>
 | |
| 
 | |
| 	{% if f.HasError() %}
 | |
| 	<div class="notice notice--error">
 | |
| 		<strong>{%s lc.Get("ui.error") %}:</strong>
 | |
| 		{%s f.Error() %}
 | |
| 	</div>
 | |
| 	{% endif %}
 | |
| 
 | |
| 	<form action="" method="post">
 | |
| 		<div class="form-field">
 | |
| 			<select id="group" name="group" aria-label="{%s lc.Get("admin.users_group") %}">
 | |
| 				<option{% if f.Get("group") == "anon" %} selected{% endif %}>anon</option>
 | |
| 				<option{% if f.Get("group") == "editor" %} selected{% endif %}>editor</option>
 | |
| 				<option{% if f.Get("group") == "trusted" %} selected{% endif %}>trusted</option>
 | |
| 				<option{% if f.Get("group") == "moderator" %} selected{% endif %}>moderator</option>
 | |
| 				<option{% if f.Get("group") == "admin" %} selected{% endif %}>admin</option>
 | |
| 			</select>
 | |
| 		</div>
 | |
| 
 | |
| 		<div class="form-field">
 | |
| 			<button class="btn" type="submit">{%s lc.Get("admin.user_update") %}</button>
 | |
| 		</div>
 | |
| 	</form>
 | |
| 
 | |
| 	<h2>{%s lc.Get("admin.user_delete_heading") %}</h2>
 | |
| 	<p>{%s lc.Get("admin.user_delete_tip") %}</p>
 | |
| 	<a class="btn btn_destructive" href="/admin/users/{%u u.Name %}/delete">{%s lc.Get("admin.user_delete") %}</a>
 | |
| </main>
 | |
| </div>
 | |
| {% endfunc %}
 | |
| 
 | |
| {% func AdminUserDeleteHTML(u *user.User, f util.FormData, lc *l18n.Localizer) %}
 | |
| <div class="layout">
 | |
| <main class="main-width form-wrap">
 | |
| 	<h1>{%s lc.Get("admin.user_delete_heading") %}</h1>
 | |
| 
 | |
| 	{% if f.HasError() %}
 | |
| 	<div class="notice notice--error">
 | |
| 		<strong>{%s lc.Get("ui.error") %}:</strong>
 | |
| 		{%s f.Error() %}
 | |
| 	</div>
 | |
| 	{% endif %}
 | |
| 
 | |
| 	<p>{%s= lc.Get("admin.user_delete_warn", &l18n.Replacements{"name": fmt.Sprintf("<strong>%s</strong>", u.Name)}) %}</p>
 | |
| 
 | |
| 	<form action="" method="post">
 | |
| 		<button class="btn btn_destructive" type="submit">{%s lc.Get("admin.user_delete") %}</button>
 | |
| 		<a class="btn btn_weak" href="/admin/users/{%u u.Name %}/edit">{%s lc.Get("ui.cancel") %}</a>
 | |
| 	</form>
 | |
| </main>
 | |
| </div>
 | |
| {% endfunc %}
 | 
