Add board selection to ban creation and post ID to ban model

* Board selection is allowed for when you want to make a global ban
* Post ID is added to ban model for referencing later

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2022-06-23 18:57:23 -07:00
parent b64559aba9
commit a5510d9552
4 changed files with 23 additions and 19 deletions

View File

@@ -25,9 +25,9 @@
<th>{% translate 'Template' %}</th>
<td>
<select id="templates">
<option class="template_option" data-reason="" data-duration="">Custom</option>
<option class="template_option" data-board="" data-reason="" data-duration="">Custom</option>
{% for template in templates %}
<option class="template_option" data-reason="{{template.ban_reason}}" data-duration="{{template.duration}}">{{template.name}}</option>
<option class="template_option" data-board="{{template.board.id}}" data-reason="{{template.ban_reason}}" data-duration="{{template.duration}}">{{template.name}}</option>
{% endfor %}
</select>
</td>
@@ -64,18 +64,23 @@ function templateSelect(e) {
// uh oh, mixing django templates and JS
let banReason = $("#{{form.ban_reason.auto_id}}");
let duration = $("#{{form.duration.auto_id}}");
let board = $("#{{form.board.auto_id}}");
banReason.val(selected.attr("data-reason"));
duration.val(selected.attr("data-duration"));
if(selected.val() === "Custom") {
// unlock the controls
banReason.attr("readonly", false);
duration.attr("readonly", false);
if(parseInt(selected.attr("data-global"))) {
board.val("");
} else {
// lock all controls
banReason.attr("readonly", true);
duration.attr("readonly", true);
board.val(selected.attr("data-board"));
}
let controls = [
banReason,
duration,
];
let readonly = (selected.val() !== "Custom");
controls.forEach(c => c.attr("readonly", readonly));
}
function templateSearch(e) {

View File

@@ -54,6 +54,11 @@
All boards
{% endif %}
</p>
{% if ban.post_id %}
<p>
<strong>Post ID:</strong> {{ban.post_id}}
</p>
{% endif %}
<p>
<strong>Ban reason:</strong>
</p>