История коммитов

simba77
fix(downloads): build the new-files link of a category with its id
The link passed ?dir=, while /downloads/new/ narrows the list by ?id=, so it would have opened the new files of the whole downloads.
simba77
fix(downloads): delete files, attachments and screenshots after the dialog
Deleting a file, an additional file or a screenshot is a POST form that asks in the dialog of the page and sits behind RequireConfirmationMiddleware: POST /downloads/delete-file/{id}, /downloads/additional-files/{id}/delete and /downloads/edit-screen/{id}/delete. The separate confirmation pages and the session delete_token are gone, a screenshot used to be deleted with no question at all, and an additional file is only reached through the file it belongs to.
simba77
fix(downloads): vote and keep favourites only from a form
?plus, ?minus, ?addBookmark and ?delBookmark on the address of a file voted and changed the favourites on GET. They are POST forms of the page now, which lead back to it so a reload sends nothing again.
simba77
fix(downloads): move, accept and reorder only from a form
Moving a file, accepting files and reordering categories ran on GET links. They are POST forms now: moving a file and accepting all files ask in the dialog and sit behind RequireConfirmationMiddleware (accepting all moves to POST /downloads/moderation/accept-all), and reordering goes to POST /downloads/categories/{id}/sort. A move recounts the categories, which it used to leave to a separate link.
simba77
fix(downloads): start the scan, cleaning and recount only from a form
Opening /downloads/scan-dir?do=clean deleted the records of every missing file at once, so any link or embedded image could trigger it. Scanning, cleaning and recounting are POST forms now; the cleaning moves to POST /downloads/scan-dir/clean behind RequireConfirmationMiddleware and its dialog says the pass covers the whole downloads.
simba77
refactor(language): remove the unused language dialog module
/language served the body of the old AJAX language dialog, which nothing opens any more: the top bar switches the language with ?setlng links. The module, its route and the last handler of modals.js are removed; the switch test now goes through the links.
simba77
feat(guestbook): confirm deletions in the dialog of the page
The confirmation dialog can show the fields of a template and send their values with the form (data-confirm-fields). Deleting an entry and clearing the guestbook are POST forms behind RequireConfirmationMiddleware; their AJAX-loaded modals and the .ajax_modal loader of the theme are removed.
simba77
feat(theme): refuse irreversible actions sent without confirmation
The confirmation dialog now sends a confirmed field once the answer is yes. RequireConfirmationMiddleware rejects a POST without it with 409, so a page whose script did not run cannot delete anything. Deleting a news comment is the first route behind it.
simba77
feat(guestbook): redesign entry editing page and add breadcrumbs
simba77
feat(guestbook): redesign reply page and add breadcrumbs