2017-07-28 05:46:40 +02:00
{{ extends "layouts/index_admin" }}
{{ import "layouts/partials/helpers/errors" }}
{{ import "layouts/partials/helpers/flags" }}
{{block title()}}{{ T("torrent_edit_panel") }}{{end}}
{{ block content_body()}}
2017-06-28 13:42:38 +02:00
< div class = "results box" >
2017-07-24 07:03:43 +02:00
< h3 id = "torrents" > {{ T("torrent_edit_panel") }}< / h3 >
2017-06-28 13:42:38 +02:00
< form style = "text-align:left;padding-left:10px;padding-right:10px;" enctype = "multipart/form-data" role = "upload" method = "POST" >
2017-07-24 07:03:43 +02:00
< div class = "form-group" >
2017-06-28 13:42:38 +02:00
< label for = "name" > {{ T("name")}}< / label >
2017-07-24 07:03:43 +02:00
< input type = "text" name = "name" class = "form-input up-input" placeholder = "{{ T(" file_name " ) } } " value = "{{Form.Name}}" required / >
< / div >
< div class = "form-group" >
< label for = "c" > {{ T("category")}}< / label >
< select name = "c" class = "form-input up-input" >
< option value = "" > {{ T("select_a_torrent_category")}}< / option >
{{ range _, cat := GetCategories(false, true) }}
< option value = "{{ cat.ID }}" { { if Form . Category = = cat . ID } } selected { { end } } > {{ T(cat.Name) }}< / option >
{{ end }}
< / select >
< / div >
< div class = "form-group" >
< label for = "language" > {{ T("torrent_language") }}< / label >
< div name = "language" class = "form-input language" >
{{ yield flagList(languages=GetTorrentLanguages(), selected=Form.Languages) }}
2017-06-28 13:42:38 +02:00
< / div >
2017-07-24 07:03:43 +02:00
< / div >
< div class = "form-group" >
< label for = "Status" > {{ T("torrent_status")}}< / label >
< select name = "status" class = "form-input up-input" >
< option value = "5" { { if Form . Status = = 5 } } selected { { end } } > {{ T("torrent_status_blocked") }}< / option >
< option value = "1" { { if Form . Status = = 1 } } selected { { end } } > {{ T("torrent_status_normal")}}< / option >
< option value = "2" { { if Form . Status = = 2 } } selected { { end } } > {{ T("torrent_status_remake")}}< / option >
< option value = "3" { { if Form . Status = = 3 } } selected { { end } } > {{ T("trusted")}}< / option >
< option value = "4" { { if Form . Status = = 4 } } selected { { end } } > A+< / option >
< / select >
< / div >
< p >
< input type = "checkbox" value = "true" name = "hidden" id = "hidden" { { if Form . Hidden } } checked { { end } } / >
< label for = "hidden" > {{ T("upload_as_anon")}}< / label >
< / p >
< div class = "form-group" >
< label for = "website_link" > {{ T("website_link")}}< / label >
< input name = "website_link" id = "website_link" class = "form-input up-input" type = "text" value = "{{Form.WebsiteLink}}" >
< / div >
< div class = "form-group" >
< label for = "desc" > {{ T("torrent_description")}}< / label >
< p class = "help-block" > {{ T("description_markdown_notice")}}< / p >
< textarea name = "desc" id = "desc" class = "form-input up-input" rows = "10" > {{Form.Description}}< / textarea >
< / div >
2017-08-01 23:38:13 +02:00
< h3 > {{ T("torrent_tags")}}< / h3 >
< span id = "tags_list" > < / span >
2017-08-02 18:04:44 +02:00
< a id = "tagPopup" href = "#" class = "add-tag" > {{ T("add") }}< / a > < a id = "tagPopup" href = "/mod/tags/delete?id={{ Form.ID }}" class = "form-input btn-red" > {{ T("delete_all") }}< / a >
2017-08-01 23:38:13 +02:00
< input type = "hidden" name = "tags" id = "tags" value = "{{ Form.Tags }}" >
{{ yield errors(name="tags")}}
2017-07-24 07:03:43 +02:00
< button type = "submit" class = "form-input up-input btn-green" > {{ T("save_changes")}}< / button >
2017-06-28 13:42:38 +02:00
< / form >
< / div >
2017-08-01 23:38:13 +02:00
{{ include "layouts/partials/modal_tags" }}
{{end}}
{{ block footer_js()}}
< script type = "text/javascript" src = "/js/translation.js?v={{ Config.Version}}{{ Config.Build }}" > < / script >
< script type = "text/javascript" src = "/js/template.js?v={{ Config.Version}}{{ Config.Build }}" > < / script >
< script type = "text/javascript" src = "/js/modal.js?v={{ Config.Version}}{{ Config.Build }}" > < / script >
2017-07-13 13:57:19 +02:00
< script type = "text/javascript" src = "/js/simplemde.min.js?v={{ Config.Version}}{{ Config.Build }}" > < / script >
2017-08-01 23:38:13 +02:00
< script type = "text/javascript" >
// {{ range _, type := Config.Torrents.Tags.Types }}
T.Add("tagtype_{{ type }}", '{{ T("tagtype_" + type) }}')
// {{ end }}
Templates.Add("tag", function(tag) {
return `< span data-name = "` + tag.type + `_` + tag.tag + `" class = "tag accepted" title = "Tag: ` + tag.type + `({{ T(" accepted " ) } } ) " >
< span class = "tag-text votable" >
` + T.r("tagtype_" + tag.type) + `: ` + tag.tag + `
< / span >
< / span > `
})
// Modal initialization
Modal.Init({
elements: document.getElementsByClassName("modal"),
// order of apparition of the modals
button: "#tagPopup"
});
var tags = []
document.querySelector("#modal_tag_form form").addEventListener("submit", function(e) {
var form = e.target
var newTag = {type: form.querySelector("select#type").value, tag: form.querySelector("input#tag").value}
var replaced = false
var len = tags.length
for(var i = 0; i < len ; i + + ) {
if (tags[i].type == newTag.type) {
var oldTag = document.querySelector("span[data-name='"+ tags[i].type + "_" + tags[i].tag + "']")
oldTag.parentElement.removeChild(oldTag)
tags[i] = newTag
replaced = true
break
}
}
if (!replaced) tags.push(newTag)
var tagHTml = Templates.Render("tag", newTag)
document.getElementById("tags_list").innerHTML += tagHTml
document.getElementById("tags").value = JSON.stringify(tags)
Modal.CloseActive()
e.preventDefault()
})
function renderTagsJSON() {
tagsIn = document.getElementById("tags").value
if (tagsIn == "") return
var jsonFromTags = JSON.parse(tagsIn)
if (jsonFromTags instanceof Array) {
for (var i = 0; i < jsonFromTags.length ; i + + ) {
tags.push(jsonFromTags[i])
var tagHTml = Templates.Render("tag", jsonFromTags[i])
document.getElementById("tags_list").innerHTML += tagHTml
}
}
}
renderTagsJSON()
< / script >
2017-07-24 07:03:43 +02:00
< script type = "text/javascript" >
new SimpleMDE({
element: document.getElementById("desc"),
spellChecker: false,
showIcons: ["strikethrough", "code", "table", "horizontal-rule"]
});
< / script >
{{end}}