diff --git a/src/web.lisp b/src/web.lisp index 4c64077..2493b5a 100644 --- a/src/web.lisp +++ b/src/web.lisp @@ -769,7 +769,7 @@ (utils:set-alert "File with that name already exists. File not saved.") (redirect "/storage/manage")) - (t (storage:store-file "" "media" file-name storage-file) + (t (storage:store-file "" "media" (utils:slugify file-name) storage-file) (nera:add-storage-file file-name (utils:slugify file-name) (caddr storage-file)) @@ -831,12 +831,12 @@ (redirect "/storage/manage")) (t (storage:rename-content-file - "" "media" (files::name-of (nera:get-storage-file :slug slug)) - new-file-name) + "" "media" (files::slug-of (nera:get-storage-file :slug slug)) + (utils:slugify new-file-name)) (nera:rename-storage-file (files::name-of (nera:get-storage-file :slug slug)) new-file-name) - (utils:set-alert "File uploaded.") + (utils:set-alert "File renamed.") (redirect "/storage/manage"))) ;; Not Authorised (progn @@ -844,28 +844,29 @@ (redirect "/login")))))) ;; TODO: FINISH WORKING ON /STORAGE/DELETE DEFROUTE -- NEED TO TEST IT. -(defroute ("/storage/delete/:slug" :method :POST) () +(defroute ("/storage/delete/:slug" :method :POST) (&key slug) (destructuring-bind (&key authenticity-token &allow-other-keys) (utils:request-params (lack.request:request-body-parameters ningle:*request*)) + (step (cond ((not (string= authenticity-token (auth:csrf-token))) `(,+forbidden+ (:content-type "text/plain") ("Denied"))) (t (hermetic:auth (:administrator) ;; Authorised - (cond ((and (null (storage:file-exists-p "" "media" :slug slug)) + (cond ((and (null (storage:file-exists-p "" "media" slug)) (null (nera:get-storage-file :slug slug))) (utils:set-alert "Unable to find file. Nothing deleted.") (redirect "/storage/manage")) - ((and (storage:file-exists-p "" "media" :slug slug) + ((and (not (null (storage:file-exists-p "" "media" slug))) (null (nera:get-storage-file :slug slug))) - (utils:set-alert "Unable to entry in database. Delete file from system.") + (utils:set-alert "Unable to find entry in database. Deleted file from system.") (storage:remove-file "" "media" slug) (redirect "/storage/manage")) - ((and (null (storage:file-exists-p "" "media" :slug slug)) - ((nera:get-storage-file :slug slug))) + ((and (null (storage:file-exists-p "" "media" slug)) + (not (null (nera:get-storage-file :slug slug)))) (utils:set-alert "Unable to find file. Deleted entry from database.") (nera:delete-storage-file :slug slug) (redirect "/storage/manage")) @@ -878,7 +879,7 @@ (redirect "/storage/manage"))) ;; Not Authorised (progn (utils:set-alert "You are not authorised to delete page.") - (redirect "/login"))))))) + (redirect "/login")))))))) ;; ;; Error pages