From 735f99addd98f232ae126cac11d93a9dbbcc3c79 Mon Sep 17 00:00:00 2001 From: Steve Manuel Date: Sat, 22 Oct 2016 01:39:19 -0700 Subject: adding initial support to edit and add admin users --- system/admin/admin.go | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) (limited to 'system/admin/admin.go') diff --git a/system/admin/admin.go b/system/admin/admin.go index b375eb6..e56453f 100644 --- a/system/admin/admin.go +++ b/system/admin/admin.go @@ -4,9 +4,12 @@ package admin import ( "bytes" + "encoding/json" "html/template" + "net/http" "github.com/bosssauce/ponzu/content" + "github.com/bosssauce/ponzu/system/admin/user" "github.com/bosssauce/ponzu/system/db" ) @@ -241,6 +244,119 @@ func Login() ([]byte, error) { return buf.Bytes(), nil } +// UsersList ... +func UsersList(req *http.Request) ([]byte, error) { + html := ` +
+
+
Edit your account:
+
+ + +
+ +
To approve changes, enter your password:
+
+ + +
+ +
+ + +
+ + +
+ +
+
Add a new user:
+
+ + +
+ +
+ + +
+ + +
+ + +
+ ` + script := ` + + ` + var usr user.User + var usrs []user.User + // get current user out to pass as data to execute template + j, err := db.CurrentUser(req) + if err != nil { + return nil, err + } + err = json.Unmarshal(j, &usr) + if err != nil { + return nil, err + } + + // get all users to list + jj, err := db.UserAll() + if err != nil { + return nil, err + } + for i := range jj { + var u user.User + err = json.Unmarshal(jj[i], &u) + if err != nil { + return nil, err + } + usrs = append(usrs, u) + } + + // make buffer to execute html into then pass buffer's bytes to Admin + buf := &bytes.Buffer{} + tmpl := template.Must(template.New("users").Parse(html + script)) + data := map[string]interface{}{ + "User": usr, + "Users": usrs, + } + + err = tmpl.Execute(buf, data) + if err != nil { + return nil, err + } + + view, err := Admin(buf.Bytes()) + if err != nil { + return nil, err + } + + return view, nil +} + var err400HTML = `
-- cgit v1.2.3 From 5d23a75c98e291fe10c7f84f927906d01e4ca098 Mon Sep 17 00:00:00 2001 From: Steve Manuel Date: Sat, 22 Oct 2016 01:48:16 -0700 Subject: adding initial support to edit and add admin users --- system/admin/admin.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'system/admin/admin.go') diff --git a/system/admin/admin.go b/system/admin/admin.go index e56453f..6d2e40d 100644 --- a/system/admin/admin.go +++ b/system/admin/admin.go @@ -266,7 +266,7 @@ func UsersList(req *http.Request) ([]byte, error) {
- +
@@ -281,7 +281,7 @@ func UsersList(req *http.Request) ([]byte, error) {
- +