Browse Source

fixed admin issue and potential panics

0xdcarns 2 years ago
parent
commit
ea854a6b98
3 changed files with 5 additions and 2 deletions
  1. 1 1
      controllers/ext_client.go
  2. 1 1
      controllers/network.go
  3. 3 0
      logic/auth.go

+ 1 - 1
controllers/ext_client.go

@@ -101,7 +101,7 @@ func getAllExtClients(w http.ResponseWriter, r *http.Request) {
 	}
 	}
 	clients := []models.ExtClient{}
 	clients := []models.ExtClient{}
 	var err error
 	var err error
-	if networksSlice[0] == logic.ALL_NETWORK_ACCESS {
+	if len(networksSlice) > 0 && networksSlice[0] == logic.ALL_NETWORK_ACCESS {
 		clients, err = functions.GetAllExtClients()
 		clients, err = functions.GetAllExtClients()
 		if err != nil && !database.IsEmptyRecord(err) {
 		if err != nil && !database.IsEmptyRecord(err) {
 			logger.Log(0, "failed to get all extclients: ", err.Error())
 			logger.Log(0, "failed to get all extclients: ", err.Error())

+ 1 - 1
controllers/network.go

@@ -57,7 +57,7 @@ func getNetworks(w http.ResponseWriter, r *http.Request) {
 	}
 	}
 	allnetworks := []models.Network{}
 	allnetworks := []models.Network{}
 	var err error
 	var err error
-	if networksSlice[0] == logic.ALL_NETWORK_ACCESS {
+	if len(networksSlice) > 0 && networksSlice[0] == logic.ALL_NETWORK_ACCESS {
 		allnetworks, err = logic.GetNetworks()
 		allnetworks, err = logic.GetNetworks()
 		if err != nil && !database.IsEmptyRecord(err) {
 		if err != nil && !database.IsEmptyRecord(err) {
 			logger.Log(0, r.Header.Get("user"), "failed to fetch networks: ", err.Error())
 			logger.Log(0, r.Header.Get("user"), "failed to fetch networks: ", err.Error())

+ 3 - 0
logic/auth.go

@@ -282,6 +282,9 @@ func UpdateUser(userchange models.User, user models.User) (models.User, error) {
 
 
 		user.Password = userchange.Password
 		user.Password = userchange.Password
 	}
 	}
+	if userchange.IsAdmin != user.IsAdmin {
+		user.IsAdmin = userchange.IsAdmin
+	}
 
 
 	err := ValidateUser(user)
 	err := ValidateUser(user)
 	if err != nil {
 	if err != nil {