2e28ae39f3
Load the posts column when loading users. Make DefaultUserStore.Reload a wrapper around DefaultUserStore.BypassGet. Use the OO style query builder more in common/user.go GroupPromotions is now bound to an interface rather than the concrete type. Fix some issues in the GroupPromotionStore interface. Improve error handling for table creation and reduce boilerplate. Shorten some more things. Add panel_group_promotions_posts phrase. You will need to run the patcher / updater for this commit.
73 lines
2.8 KiB
HTML
73 lines
2.8 KiB
HTML
{{template "header.html" . }}
|
|
<div class="colstack panel_stack">
|
|
{{template "panel_group_menu.html" . }}
|
|
<main class="colstack_right">
|
|
{{template "panel_before_head.html" . }}
|
|
<div class="colstack_item colstack_head">
|
|
<div class="rowitem"><h1>{{.Name}}{{lang "panel_group_head_suffix"}}</h1></div>
|
|
</div>
|
|
<form action="/panel/groups/edit/promotions/submit/{{.ID}}?s={{.CurrentUser.Session}}" method="post">
|
|
<div class="colstack_item panel_group_promotions">
|
|
{{range .Promotions}}
|
|
<div class="rowitem">
|
|
<a href="#p-{{.ID}}">{{.FromGroup.Name}} -> {{.ToGroup.Name}}{{if .TwoWay}} (two way){{end}}</a>
|
|
<span> - level {{.Level}}</span>
|
|
<div class="to_right">
|
|
<a href="/panel/groups/promotions/delete/submit/{{$.ID}}-{{.ID}}?s={{$.CurrentUser.Session}}"><button form="nn">Delete</button></a>
|
|
</div>
|
|
</div>{{end}}
|
|
<div class="rowitem">
|
|
<button name="panel-button" class="formbutton form_middle_button">{{lang "panel_group_update_button"}}</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
{{if .CurrentUser.Perms.EditGroup}}
|
|
<div class="colstack_item colstack_head">
|
|
<div class="rowitem"><h1>{{lang "panel_group_promotions_create_head"}}</h1></div>
|
|
</div>
|
|
<div class="colstack_item the_form">
|
|
<form action="/panel/groups/promotions/create/submit/{{.ID}}?s={{.CurrentUser.Session}}" method="post">
|
|
<div class="formrow">
|
|
<div class="formitem formlabel"><a>{{lang "panel_group_promotions_from"}}</a></div>
|
|
<div class="formitem">
|
|
<select name="from">
|
|
{{range .Groups}}<option value="{{.ID}}">{{.Name}}</option>{{end}}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="formrow">
|
|
<div class="formitem formlabel"><a>{{lang "panel_group_promotions_to"}}</a></div>
|
|
<div class="formitem">
|
|
<select name="to">
|
|
{{range .Groups}}<option value="{{.ID}}">{{.Name}}</option>{{end}}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="formrow">
|
|
<div class="formitem formlabel"><a>{{lang "panel_group_promotions_two_way"}}</a></div>
|
|
<div class="formitem">
|
|
<select name="two-way" disabled>
|
|
<option value=1>{{lang "option_yes"}}</option>
|
|
<option selected value=0>{{lang "option_no"}}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="formrow">
|
|
<div class="formitem formlabel"><a>{{lang "panel_group_promotions_level"}}</a></div>
|
|
<div class="formitem"><input name="level" type="number" value=0 /></div>
|
|
</div>
|
|
<div class="formrow">
|
|
<div class="formitem formlabel"><a>{{lang "panel_group_promotions_posts"}}</a></div>
|
|
<div class="formitem"><input name="posts" type="number" value=0 /></div>
|
|
</div>
|
|
<div class="formrow form_button_row">
|
|
<div class="formitem"><button name="panel-button" class="formbutton">{{lang "panel_group_promotions_create_button"}}</button></div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{{end}}
|
|
|
|
</main>
|
|
</div>
|
|
{{template "footer.html" . }} |