@@ -26,7 +26,10 @@ import (
2626var VOTE_TOKEN = os .Getenv ("VOTE_TOKEN" )
2727var CONDITIONAL_GATEKEEP_URL = os .Getenv ("VOTE_CONDITIONAL_URL" )
2828var VOTE_HOST = os .Getenv ("VOTE_HOST" )
29+
30+ // Dev mode flags
2931var DEV_DISABLE_ACTIVE_FILTERS bool = os .Getenv ("DEV_DISABLE_ACTIVE_FILTERS" ) == "true"
32+ var DEV_FORCE_IS_EVALS bool = os .Getenv ("DEV_FORCE_IS_EVALS" ) == "true"
3033
3134func inc (x int ) string {
3235 return strconv .Itoa (x + 1 )
@@ -123,7 +126,7 @@ func main() {
123126 c .HTML (200 , "create.tmpl" , gin.H {
124127 "Username" : claims .UserInfo .Username ,
125128 "FullName" : claims .UserInfo .FullName ,
126- "IsEvals" : containsString (claims .UserInfo . Groups , "eboard-evaluations" ),
129+ "IsEvals" : isEvals (claims .UserInfo ),
127130 })
128131 }))
129132
@@ -184,7 +187,7 @@ func main() {
184187 poll .Options = []string {"Pass" , "Fail" , "Abstain" }
185188 }
186189 if poll .Gatekeep {
187- if ! slices . Contains (claims .UserInfo . Groups , "eboard-evaluations" ) {
190+ if ! isEvals (claims .UserInfo ) {
188191 c .HTML (403 , "unauthorized.tmpl" , gin.H {
189192 "Username" : claims .UserInfo .Username ,
190193 "FullName" : claims .UserInfo .FullName ,
@@ -503,6 +506,11 @@ func main() {
503506 r .Run ()
504507}
505508
509+ // isEvals determines if the current user is evals, allowing for a dev mode override
510+ func isEvals (user cshAuth.CSHUserInfo ) bool {
511+ return DEV_FORCE_IS_EVALS || containsString (user .Groups , "eboard-evaluations" )
512+ }
513+
506514// canVote determines whether a user can cast a vote.
507515//
508516// returns an integer value: 0 is success, 1 is database error, 3 is not active, 4 is gatekept, 9 is already voted
0 commit comments