Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/templates/admin/torrentlist.jet.html
kilo cc4e0fe5c0
Fix JS for torrent/user deletion that would delete even if you refused to confirm (#1711)
* Update torrentlist.jet.html

* Update index_admin.jet.html
2017-11-04 07:23:10 +01:00

121 lignes
5 Kio
HTML

{{ extends "layouts/index_admin" }}
{{block title()}}{{ T("torrents_list") }}{{end}}
{{ block content_body()}}
<div class="results box">
<h1>{{ T("torrents_list") }}</h1>
<form method="post" action="">
<div class="toolbar">
<select class="cb_action" name="action">
<option value="">{{ T("action_select") }}</option>
<option value="status">{{ T("change_status") }}</option>
<option value="delete">{{ T("delete") }}</option>
</select>
<select class="cb_action" style="display: none;" name="status">
<option value="">{{ T("to_status") }}</option>
<option value="5">{{ T("torrent_status_blocked")}}</option>
<option value="1">{{ T("torrent_status_normal")}}</option>
<option value="2">{{ T("torrent_status_remake")}}</option>
<option value="3">{{ T("trusted")}}</option>
<option value="4">A+</option>
</select>
<input type="submit" class="form-input" value="Apply" />
<input type="reset" class="form-input" value="Reset" />
<div class="float-right">
<a href="/mod/torrents" class="form-input">{{ T("torrents_not_deleted") }}</a>
<a href="/mod/torrents/deleted" class="form-input">{{ T("torrents_deleted") }}</a>
</div>
</div>
<table class="table">
<thead class="torrent-info">
<tr>
<th class="tr-cb">
<input type="checkbox" name="checkall" data-selectall="checkbox" />
</th>
<th class="tr-name">{{ T("name") }}</th>
<th class="tr-actions">{{ T("uploaded_by") }}</th>
<th class="tr-actions" style="width:190px">{{ T("actions") }}</th>
</tr>
</thead>
<tbody>
{{ range Models}}
<tr>
<td class="tr-cb">
<input type="checkbox" class="selectable" name="torrent_id" value="{{.ID }}" />
</td>
<td class="tr-name home-td">
<a href="/view/{{ .ID }}">{{ .Name }}</a> {{ if !.IsDeleted }}
<a href="/mod/torrent?id={{.ID}}" class="form-input btn-blue float-right">
{{ T("edit")}}
</a> {{end}}
</td>
<td class="tr-size home-td">
{{ if .Uploader }}
<a href="/user/{{.UploaderID}}/{{.Uploader.Username}}">
{{ .Uploader.Username }}
</a> {{ else }}れんちょん{{end}}
</td>
<td class="tr-actions home-td"> <form></form>
<form method="POST" action="/mod/torrent/block" class="delete-form">
<input type="hidden" name="id" value="{{ .ID }}">
<button type="submit" class="form-input btn-orange" onclick="if (!confirm('{{ T("are_you_sure") }}')) return false;"><i class="icon-trash"></i>{{ if .IsBlocked }}{{ T("torrent_unblock") }}{{else}}{{ T("torrent_block") }}{{end}}</button>
</form>
<form method="POST" action="/mod/torrent/delete" class="delete-form">
<input type="hidden" name="id" value="{{ .ID }}">
{{ if .IsDeleted }}<input type="hidden" name="definitely" value="true">{{ end }}
<button type="submit" class="form-input btn-red" onclick="if (!confirm('{{ T("are_you_sure") }} {{ if !.IsDeleted }}{{ T("delete") }}{{else}}{{ T("delete_definitely_torrent_warning ")}}{{end}}')) return false;"><i class="icon-trash"></i>{{ if .IsDeleted }}{{ T("delete_definitely") }}{{else}}{{ T("delete") }}{{end}}</button>
</form>
</td>
</tr>
{{end}}
</tbody>
</table>
</form>
</div>
{{end}}
{{ block footer_js()}}
<!-- JS Function for selecting multiple checkboxes -->
<script type="text/javascript" src="{{URL.Parse("/js/selectAll.js") }}"></script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
document.querySelector("select[name='action']").addEventListener("change", function(e) {
var el = e.target;
if (el.value == "status")
document.querySelector("select[name='status']").style.display = "inline"
else
document.querySelector("select[name='status']").style.display = "none"
console.log(el.value);
});
});
var deleteButtons = document.querySelectorAll("button.form-input.btn-red")
for(var i = 0; i < deleteButtons.length; i++) {
var needConfirmation = (deleteButtons[i].onclick != null)
deleteButtons[i].onclick = null
deleteButtons[i].addEventListener("click", function (e) {
e.preventDefault()
if(needConfirmation && !confirm("Are you sure?")) {
return
} else if(!needConfirmation) {
var form = this.parentNode
var formInputs = form.querySelectorAll('input')
var query = ""
for(var x = 0; x < formInputs.length; x ++) {
if(query != "") query = query + "&"
query = query + formInputs[x].name + "=" + formInputs[x].value
}
Query.Post(form.action, query, function(data) {})
this.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.className + " hidden"
this.innerText = "Deleted"
this.disabled = true
}
})
}
</script>
{{end}}