iens

Manager of links to read
git clone https://git.instinctive.eu/iens.git
Log | Files | Refs | README | LICENSE

commit c88e6ef4048271c53553435f2d1dbb06afd39c24
parent 823a3de7205af291f8da86a47ab68d7150296eeb
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Tue, 28 Apr 2026 18:59:07 +0000

Restore for auto-deleted gruik is corrected
Diffstat:
Msrc/cgi.scm | 19+++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/src/cgi.scm b/src/cgi.scm @@ -143,6 +143,9 @@ END-OF-CSS (cond ((null? rest) #f) ((string=? (caar rest) name) (cadar rest)) (else (loop (cdr rest)))))) +(define (optional-input-var name fallback) + (let ((val (input-var name))) + (if val val fallback))) (define (required-input-var name) (let ((val (input-var name))) (if val val (bad-input (conc "missing " name))))) @@ -692,16 +695,24 @@ END-OF-CSS (else (bad-input "bad value for submit"))))) (define (do-undelete) - (let ((id (required-input-var "id")) - (submit (required-input-var "submit"))) + (let ((id (required-input-var "id")) + (oldmark (string->number (optional-input-var "from" ""))) + (submit (required-input-var "submit"))) (cond + ((and oldmark (<= -5 oldmark -1) (string=? submit "Restore")) + (db-set-mark id oldmark 0) + (redirect (conc "/gruik/" id))) ((string=? submit "Restore") (db-set-mark id -10 0) (redirect "/")) (else (bad-input "bad value for submit"))))) (define (xdo-undelete) - (let ((id (required-input-var "id")) - (submit (required-input-var "submit"))) + (let ((id (required-input-var "id")) + (oldmark (string->number (optional-input-var "from" ""))) + (submit (required-input-var "submit"))) (cond + ((and oldmark (<= -5 oldmark -1) (string=? submit "Restore")) + (db-set-mark id oldmark 0) + (post-htmx id)) ((string=? submit "Restore") (db-set-mark id -10 0) (htmx-output '())) (else (bad-input "bad value for submit")))))