From f3aab5dbe30f8e6a1032b524315f7fd37c3e0b24 Mon Sep 17 00:00:00 2001
From: James <james@jamesanderson.me>
Date: Tue, 28 Apr 2015 11:59:05 -0400
Subject: [PATCH] Add full name field to admin's user edit page (fixes #1130)

---
 modules/auth/admin.go          | 1 +
 routers/admin/users.go         | 1 +
 templates/admin/user/edit.tmpl | 4 ++++
 3 files changed, 6 insertions(+)

diff --git a/modules/auth/admin.go b/modules/auth/admin.go
index e6cc82cd3..a95b83de6 100644
--- a/modules/auth/admin.go
+++ b/modules/auth/admin.go
@@ -11,6 +11,7 @@ import (
 )
 
 type AdminEditUserForm struct {
+	FullName     string `form:"fullname" binding:"MaxSize(100)"`
 	Email        string `binding:"Required;Email;MaxSize(50)"`
 	Password     string `binding:"OmitEmpty;MinSize(6);MaxSize(255)"`
 	Website      string `binding:"MaxSize(50)"`
diff --git a/routers/admin/users.go b/routers/admin/users.go
index ddcca6390..12c52236f 100644
--- a/routers/admin/users.go
+++ b/routers/admin/users.go
@@ -185,6 +185,7 @@ func EditUserPost(ctx *middleware.Context, form auth.AdminEditUserForm) {
 		u.EncodePasswd()
 	}
 
+	u.FullName = form.FullName
 	u.Email = form.Email
 	u.Website = form.Website
 	u.Location = form.Location
diff --git a/templates/admin/user/edit.tmpl b/templates/admin/user/edit.tmpl
index bdc0e3343..4f4cc727a 100644
--- a/templates/admin/user/edit.tmpl
+++ b/templates/admin/user/edit.tmpl
@@ -32,6 +32,10 @@
                                     <label>{{.i18n.Tr "username"}}</label>
                                     <label class="text-left">{{.User.Name}}</label>
                                 </div>
+                                <div class="field">
+                                    <label for="full-name">{{.i18n.Tr "settings.full_name"}}</label>
+                                    <input class="ipt ipt-large ipt-radius {{if .Err_FullName}}ipt-error{{end}}" id="full-name" name="fullname" type="text" value="{{.User.FullName}}" />
+                                </div>
                                 <div class="field">
                                     <label class="req" for="email">{{.i18n.Tr "email"}}</label>
                                     <input class="ipt ipt-large ipt-radius {{if .Err_Email}}ipt-error{{end}}" id="email" name="email" type="email" value="{{.User.Email}}" required/>