diff controllers/user.go @ 326:a7b2db8b3d18

Added type for roles.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 02 Aug 2018 18:39:01 +0200
parents adceb47920fb
children 363983d5c567
line wrap: on
line diff
--- a/controllers/user.go	Thu Aug 02 18:07:35 2018 +0200
+++ b/controllers/user.go	Thu Aug 02 18:39:01 2018 +0200
@@ -87,28 +87,32 @@
 	newUser := input.(*User)
 	var res sql.Result
 
-	if newUser.Extent == nil {
-		res, err = db.Exec(
-			updateUserSQL,
-			user,
-			newUser.Role,
-			newUser.User,
-			newUser.Password,
-			newUser.Country,
-			newUser.Email,
-		)
+	if s, _ := auth.GetSession(req); s.Roles.Has("sys_admin") {
+		if newUser.Extent == nil {
+			res, err = db.Exec(
+				updateUserSQL,
+				user,
+				newUser.Role,
+				newUser.User,
+				newUser.Password,
+				newUser.Country,
+				newUser.Email,
+			)
+		} else {
+			res, err = db.Exec(
+				updateUserExtentSQL,
+				user,
+				newUser.Role,
+				newUser.User,
+				newUser.Password,
+				newUser.Country,
+				newUser.Extent.X1, newUser.Extent.Y1,
+				newUser.Extent.X2, newUser.Extent.Y2,
+				newUser.Email,
+			)
+		}
 	} else {
-		res, err = db.Exec(
-			updateUserExtentSQL,
-			user,
-			newUser.Role,
-			newUser.User,
-			newUser.Password,
-			newUser.Country,
-			newUser.Extent.X1, newUser.Extent.Y1,
-			newUser.Extent.X2, newUser.Extent.Y2,
-			newUser.Email,
-		)
+		// ...
 	}
 
 	if err != nil {