diff options
-rw-r--r-- | alias-list-form.txr | 1 | ||||
-rw-r--r-- | aliases.txr | 13 |
2 files changed, 13 insertions, 1 deletions
diff --git a/alias-list-form.txr b/alias-list-form.txr index 023e3ad..9f46b41 100644 --- a/alias-list-form.txr +++ b/alias-list-form.txr @@ -32,6 +32,7 @@ <tr> <td align="center"> <input type="checkbox" name="chkbox-@{aliases.address}" + @(if (slot aliases 'selected) "checked=\"checked\"" "") title="Check this box if you wish to delete this alias. @\ You can check multiple aliases and then delete @\ them at the same time with @\ diff --git a/aliases.txr b/aliases.txr index 2f25997..4bc1d75 100644 --- a/aliases.txr +++ b/aliases.txr @@ -1,6 +1,6 @@ @(do (defstruct (alias address memo creation-time) nil - address memo creation-time + address memo creation-time (selected nil) (:postinit (alias) (ifa (stringp alias.creation-time) (set it (int-str it))) @@ -23,6 +23,15 @@ [<a href="mailto:@mem" \ onclick="return false;">...</a>] \ \ @(html-encode [mem -27..t])</span>`))))) +@; +@(bind selected-alias-keys nil) +@; +@(define mark-aliases (aliases selected)) +@ (do (each ((key selected)) + (let ((a (find key aliases))) + (set a.selected t)))) +@(end) +@; @(define load-aliases (user aliases)) @ (local time memo) @ (bind lock @(acquire-lock aliases-file)) @@ -45,6 +54,7 @@ @ (finally) @ (do (release-lock lock)) @ (end) +@ (mark-aliases aliases selected-alias-keys) @(end) @; @(define store-aliases (user aliases)) @@ -103,6 +113,7 @@ @ (collect :vars (selected)) chkbox-@selected=on @ (end) +@ (load-aliases userid aliases) @ (next :list url-args) @ (gather) memo=@memo |