From b78e64a272fac635db7b3301252830488829fefd Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Mon, 13 Jan 2014 09:53:52 +0000
Subject: [PATCH] #394 feature - Added user roles in form edition
---
securis/src/main/java/net/curisit/securis/db/User.java | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/db/User.java b/securis/src/main/java/net/curisit/securis/db/User.java
index 4846eb8..1de7b9f 100644
--- a/securis/src/main/java/net/curisit/securis/db/User.java
+++ b/securis/src/main/java/net/curisit/securis/db/User.java
@@ -88,12 +88,23 @@
this.password = password;
}
- public int getRoles() {
- return roles;
+ public List<Integer> getRoles() {
+ if (roles == 0)
+ return null;
+ List<Integer> aux = new ArrayList<>();
+ for (int rol : Rol.ALL) {
+ if ((roles & rol) != 0) // Each rol is a number with only 1 bit == 1 in binary representation
+ aux.add(rol);
+ }
+ return aux;
}
- public void setRoles(int roles) {
- this.roles = roles;
+ public void setRoles(List<Integer> roles) {
+ this.roles = 0;
+ if (roles != null)
+ for (Integer rol : roles) {
+ this.roles |= rol;
+ }
}
public String getFirstName() {
@@ -181,6 +192,8 @@
static public class Rol {
static public final int ADVANCE = 0x01;
static public final int ADMIN = 0x02;
+ static public final int[] ALL = new int[]
+ { ADVANCE, ADMIN };
}
}
--
Gitblit v1.3.2