From 8f2de6787da8d5b960ad0d1784b5138c03b95771 Mon Sep 17 00:00:00 2001 From: Felix Prahl-Kamps Date: Thu, 22 Aug 2019 18:25:34 +0200 Subject: [PATCH] add dynamic role assignment --- .../lu/circl/mispbump/activities/UploadActivity.java | 9 ++++++++- .../java/lu/circl/mispbump/models/restModels/Role.java | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/lu/circl/mispbump/activities/UploadActivity.java b/app/src/main/java/lu/circl/mispbump/activities/UploadActivity.java index 5d2a403..2644341 100644 --- a/app/src/main/java/lu/circl/mispbump/activities/UploadActivity.java +++ b/app/src/main/java/lu/circl/mispbump/activities/UploadActivity.java @@ -20,6 +20,7 @@ import lu.circl.mispbump.auxiliary.PreferenceManager; import lu.circl.mispbump.customViews.ProgressActionView; import lu.circl.mispbump.models.SyncInformation; import lu.circl.mispbump.models.restModels.Organisation; +import lu.circl.mispbump.models.restModels.Role; import lu.circl.mispbump.models.restModels.Server; import lu.circl.mispbump.models.restModels.User; @@ -156,9 +157,15 @@ public class UploadActivity extends AppCompatActivity { User syncUser = syncInformation.getRemote().getSyncUser(); syncUser.setOrgId(organisation.getId()); - syncUser.setRoleId(6); syncUser.setTermsAccepted(true); + Role[] roles = preferenceManager.getRoles(); + for (Role role : roles) { + if (role.isSyncUserRole()) { + syncUser.setRoleId(role.getId()); + } + } + return syncUser; } diff --git a/app/src/main/java/lu/circl/mispbump/models/restModels/Role.java b/app/src/main/java/lu/circl/mispbump/models/restModels/Role.java index 3c29a66..95c50f9 100644 --- a/app/src/main/java/lu/circl/mispbump/models/restModels/Role.java +++ b/app/src/main/java/lu/circl/mispbump/models/restModels/Role.java @@ -64,6 +64,13 @@ public class Role { @SerializedName("permission_description") private String permissionDescription; + + public boolean isSyncUserRole() { + return permSync && permAuth && permTagger && permTagEditor && permSharingGroup + && permDelegate && permSighting && permPublishZmq && permPublishKafka; + } + + public Integer getId() { return id; }