aboutsummaryrefslogtreecommitdiff
path: root/pages/mail/users.go
diff options
context:
space:
mode:
Diffstat (limited to 'pages/mail/users.go')
-rw-r--r--pages/mail/users.go19
1 files changed, 18 insertions, 1 deletions
diff --git a/pages/mail/users.go b/pages/mail/users.go
index 8700c80..6fe057d 100644
--- a/pages/mail/users.go
+++ b/pages/mail/users.go
@@ -1,6 +1,8 @@
package mail
import (
+ "strconv"
+
mailService "dove/services/mail"
"dove/utils/meta"
"dove/utils/shortcuts"
@@ -13,6 +15,21 @@ func NewUser(context *fiber.Ctx) error {
return shortcuts.Render(context, "mail/newuser", nil)
}
+func EditUser(context *fiber.Ctx) error {
+ userID, parseError := strconv.ParseUint(meta.Request(context).Param("id"), 10, 64)
+ if parseError != nil {
+ return shortcuts.BadRequestError(context, parseError)
+ }
+
+ formData, serviceError := mailService.EditUserFormData(uint(userID))
+ if serviceError != nil {
+ return shortcuts.HandleError(context, serviceError)
+ }
+
+ meta.SetPageTitle(context, "Edit User")
+ return shortcuts.Render(context, "mail/edituser", formData)
+}
+
func Users(context *fiber.Ctx) error {
meta.SetPageTitle(context, "Users")
@@ -21,4 +38,4 @@ func Users(context *fiber.Ctx) error {
search := context.Query("search")
return shortcuts.Render(context, "mail/users", mailService.ListUsers(pagination, sorting, search))
-}
+} \ No newline at end of file