@@ -2,6 +2,7 @@ package web
2
2
3
3
import (
4
4
"net/url"
5
+ "sort"
5
6
6
7
"github.com/gofiber/fiber/v2"
7
8
"github.com/netresearch/ldap-manager/internal/ldap_cache"
@@ -19,6 +20,9 @@ func (a *App) groupsHandler(c *fiber.Ctx) error {
19
20
}
20
21
21
22
groups := a .ldapCache .FindGroups ()
23
+ sort .SliceStable (groups , func (i , j int ) bool {
24
+ return groups [i ].CN () < groups [j ].CN ()
25
+ })
22
26
23
27
return c .Render ("views/groups" , fiber.Map {
24
28
"session" : sess ,
@@ -52,7 +56,13 @@ func (a *App) groupHandler(c *fiber.Ctx) error {
52
56
53
57
showDisabledUsers := c .Query ("show-disabled" , "0" ) == "1"
54
58
group := a .ldapCache .PopulateUsersForGroup (thinGroup , showDisabledUsers )
59
+ sort .SliceStable (group .Members , func (i , j int ) bool {
60
+ return group .Members [i ].CN () < group .Members [j ].CN ()
61
+ })
55
62
unassignedUsers := a .findUnassignedUsers (group )
63
+ sort .SliceStable (unassignedUsers , func (i , j int ) bool {
64
+ return unassignedUsers [i ].CN () < unassignedUsers [j ].CN ()
65
+ })
56
66
57
67
return c .Render ("views/group" , fiber.Map {
58
68
"session" : sess ,
@@ -106,7 +116,13 @@ func (a *App) groupModifyHandler(c *fiber.Ctx) error {
106
116
107
117
showDisabledUsers := c .Query ("show-disabled" , "0" ) == "1"
108
118
group := a .ldapCache .PopulateUsersForGroup (thinGroup , showDisabledUsers )
119
+ sort .SliceStable (group .Members , func (i , j int ) bool {
120
+ return group .Members [i ].CN () < group .Members [j ].CN ()
121
+ })
109
122
unassignedUsers := a .findUnassignedUsers (group )
123
+ sort .SliceStable (unassignedUsers , func (i , j int ) bool {
124
+ return unassignedUsers [i ].CN () < unassignedUsers [j ].CN ()
125
+ })
110
126
111
127
if form .AddUser != nil {
112
128
if err := l .AddUserToGroup (* form .AddUser , thinGroup .DN ()); err != nil {
@@ -145,7 +161,13 @@ func (a *App) groupModifyHandler(c *fiber.Ctx) error {
145
161
}
146
162
147
163
group = a .ldapCache .PopulateUsersForGroup (thinGroup , showDisabledUsers )
164
+ sort .SliceStable (group .Members , func (i , j int ) bool {
165
+ return group .Members [i ].CN () < group .Members [j ].CN ()
166
+ })
148
167
unassignedUsers = a .findUnassignedUsers (group )
168
+ sort .SliceStable (unassignedUsers , func (i , j int ) bool {
169
+ return unassignedUsers [i ].CN () < unassignedUsers [j ].CN ()
170
+ })
149
171
150
172
return c .Render ("views/group" , fiber.Map {
151
173
"session" : sess ,
0 commit comments