56 lignes
1,6 Kio
Go
56 lignes
1,6 Kio
Go
package moderatorController
|
|
|
|
import (
|
|
"github.com/NyaaPantsu/nyaa/models/torrents"
|
|
"github.com/NyaaPantsu/nyaa/models/users"
|
|
"github.com/NyaaPantsu/nyaa/templates"
|
|
msg "github.com/NyaaPantsu/nyaa/utils/messages"
|
|
"github.com/NyaaPantsu/nyaa/utils/validator/torrent"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// TorrentReassignModPanel : Controller for reassigning a torrent, after GET request
|
|
func TorrentReassignModPanel(c *gin.Context) {
|
|
templates.Form(c, "admin/reassign.jet.html", torrentValidator.ReassignForm{})
|
|
}
|
|
|
|
// ExecuteReassign : Function for applying the changes from ReassignForm
|
|
func ExecuteReassign(f *torrentValidator.ReassignForm) (int, error) {
|
|
var toBeChanged []uint
|
|
var err error
|
|
if f.By == "olduser" {
|
|
toBeChanged, err = users.FindOldUploadsByUsername(f.Data)
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
} else if f.By == "torrentid" {
|
|
toBeChanged = f.Torrents
|
|
}
|
|
|
|
num := 0
|
|
for _, torrentID := range toBeChanged {
|
|
torrent, err2 := torrents.FindRawByID(torrentID)
|
|
if err2 == nil {
|
|
torrent.UploaderID = f.AssignTo
|
|
torrent.Update(true)
|
|
num++
|
|
}
|
|
}
|
|
return num, nil
|
|
}
|
|
|
|
// TorrentPostReassignModPanel : Controller for reassigning a torrent, after POST request
|
|
func TorrentPostReassignModPanel(c *gin.Context) {
|
|
var rForm torrentValidator.ReassignForm
|
|
messages := msg.GetMessages(c)
|
|
|
|
if rForm.ExtractInfo(c) {
|
|
count, err2 := ExecuteReassign(&rForm)
|
|
if err2 != nil {
|
|
messages.AddErrorT("errors", "something_went_wrong")
|
|
} else {
|
|
messages.AddInfoTf("infos", "nb_torrents_updated", count)
|
|
}
|
|
}
|
|
templates.Form(c, "admin/reassign.jet.html", rForm)
|
|
}
|