diff --git a/admin/src/admin/lib/admin.py b/admin/src/admin/lib/admin.py
index 6567bf6..f4aa3e8 100644
--- a/admin/src/admin/lib/admin.py
+++ b/admin/src/admin/lib/admin.py
@@ -83,6 +83,7 @@ class Admin():
ddpassword=os.environ['DDADMIN_PASSWORD']
ddmail=os.environ['DDADMIN_EMAIL']
+ ### User admin in group admin
try:
log.warning('KEYCLOAK: Adding group admin and user admin to this group')
self.keycloak.add_group('admin')
@@ -93,6 +94,8 @@ class Admin():
except:
log.warning('KEYCLOAK: Seems to be there already')
+
+ #### Add default groups
try:
log.warning('KEYCLOAK: Adding default groups')
self.keycloak.add_group('manager')
@@ -102,6 +105,58 @@ class Admin():
except:
log.warning('KEYCLOAK: Seems to be there already')
+ try:
+ log.warning('MOODLE: Adding default group admin')
+ self.moodle.add_system_cohort('admin','system admins')
+ log.warning('MOODLE: OK')
+ except:
+ log.warning('MOODLE: Seems to be there already')
+
+ try:
+ log.warning('MOODLE: Adding default group manager')
+ self.moodle.add_system_cohort('manager','system managers')
+ log.warning('MOODLE: OK')
+ except:
+ log.warning('MOODLE: Seems to be there already')
+
+ try:
+ log.warning('MOODLE: Adding default group teacher')
+ self.moodle.add_system_cohort('teacher','system teacher')
+ log.warning('MOODLE: OK')
+ except:
+ log.warning('MOODLE: Seems to be there already')
+
+ try:
+ log.warning('MOODLE: Adding default group student')
+ self.moodle.add_system_cohort('student','system student')
+ log.warning('MOODLE: OK')
+ except:
+ log.warning('MOODLE: Seems to be there already')
+
+
+ try:
+ log.warning('NEXTCLOUD: Adding default group manager')
+ self.nextcloud.add_group('manager')
+ log.warning('NEXTCLOUD: OK')
+ except ProviderItemExists:
+ log.warning('NEXTCLOUD: Seems to be there already')
+
+ try:
+ log.warning('NEXTCLOUD: Adding default group teacher')
+ self.nextcloud.add_group('teacher')
+ log.warning('NEXTCLOUD: OK')
+ except ProviderItemExists:
+ log.warning('NEXTCLOUD: Seems to be there already')
+
+ try:
+ log.warning('NEXTCLOUD: Adding default group student')
+ self.nextcloud.add_group('student')
+ log.warning('NEXTCLOUD: OK')
+ except ProviderItemExists:
+ log.warning('NEXTCLOUD: Seems to be there already')
+
+
+ ### Add default roles
try:
log.warning('KEYCLOAK: Adding default roles')
self.keycloak.add_role('manager','Realm managers')
@@ -111,6 +166,8 @@ class Admin():
except:
log.warning('KEYCLOAK: Seems to be there already')
+
+ ### ddadmin user
try:
log.warning('KEYCLOAK: Adding user ddadmin and adding to group and role admin')
## Assign group admin to this dduser for nextcloud
diff --git a/admin/src/admin/lib/moodle.py b/admin/src/admin/lib/moodle.py
index 39e64b1..3261d77 100644
--- a/admin/src/admin/lib/moodle.py
+++ b/admin/src/admin/lib/moodle.py
@@ -112,6 +112,16 @@ class Moodle():
cohorts = self.call('core_cohort_get_cohorts')
return cohorts
+ def add_system_cohort(self,name,description='',visible=True):
+ visible=1 if visible else 0
+ data = [{'categorytype': {'type': 'system', 'value': ''},
+ 'name': name,
+ 'idnumber': name,
+ 'description': description,
+ 'visible': visible}]
+ cohort = self.call('core_cohort_create_cohorts', cohorts=data)
+ return cohort
+
def get_cohort_members(self, cohort_id):
members = self.call('core_cohort_get_cohort_members', cohortids=[cohort_id])[0]['userids']
return members
diff --git a/admin/src/admin/static/js/users.js b/admin/src/admin/static/js/users.js
index 53c6226..d5f2ad2 100644
--- a/admin/src/admin/static/js/users.js
+++ b/admin/src/admin/static/js/users.js
@@ -169,6 +169,10 @@ $(document).ready(function() {
"defaultContent": ''
},
{ "data": "id", "width": "10px" },
+ { "data": "username", "width": "10px"},
+ { "data": "first", "width": "10px"},
+ { "data": "last", "width": "10px"},
+ { "data": "email", "width": "10px"},
{ "data": "keycloak", "width": "10px" },
{ "data": "keycloak_groups", "width": "10px" },
{ "data": "roles", "width": "10px" },
@@ -176,19 +180,15 @@ $(document).ready(function() {
{ "data": "moodle_groups", "width": "10px" },
{ "data": "nextcloud", "width": "10px" },
{ "data": "nextcloud_groups", "width": "10px" },
- { "data": "username", "width": "10px"},
- { "data": "first", "width": "10px"},
- { "data": "last", "width": "10px"},
- { "data": "email", "width": "10px"},
],
"order": [[4, 'asc']],
"columnDefs": [ {
"targets": 1,
"render": function ( data, type, full, meta ) {
- return ''
+ return ''
}},
{
- "targets": 2,
+ "targets": 6,
"render": function ( data, type, full, meta ) {
if(full.keycloak){
return ''
@@ -197,7 +197,7 @@ $(document).ready(function() {
};
}},
{
- "targets": 5,
+ "targets": 9,
"render": function ( data, type, full, meta ) {
if(full.moodle){
return ''
@@ -206,7 +206,7 @@ $(document).ready(function() {
};
}},
{
- "targets": 7,
+ "targets": 11,
"render": function ( data, type, full, meta ) {
if(full.nextcloud){
return ''
diff --git a/admin/src/admin/static/templates/pages/users.html b/admin/src/admin/static/templates/pages/users.html
index 59a5762..7797e67 100644
--- a/admin/src/admin/static/templates/pages/users.html
+++ b/admin/src/admin/static/templates/pages/users.html
@@ -35,6 +35,10 @@