From defd0b51fedecb1ebcff58c2592e30cb9b36e0cc Mon Sep 17 00:00:00 2001 From: root Date: Mon, 31 May 2021 08:44:15 +0200 Subject: [PATCH] Added locales and admin stetics --- admin/src/admin/lib/admin.py | 57 +++++++++++++++++++ admin/src/admin/lib/moodle.py | 10 ++++ admin/src/admin/static/js/users.js | 16 +++--- .../admin/static/templates/pages/users.html | 8 +-- .../themes/liiibrelite/login/theme.properties | 4 +- 5 files changed, 81 insertions(+), 14 deletions(-) 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 'X' + 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 @@ Avatar + Username + First + Last + email Keycloak K.Groups K.Roles @@ -42,10 +46,6 @@ M.Groups Nextcloud N.Groups - Username - First - Last - email diff --git a/docker/keycloak/themes/liiibrelite/login/theme.properties b/docker/keycloak/themes/liiibrelite/login/theme.properties index 26de005..196bd62 100644 --- a/docker/keycloak/themes/liiibrelite/login/theme.properties +++ b/docker/keycloak/themes/liiibrelite/login/theme.properties @@ -1,6 +1,6 @@ parent=keycloak import=common/keycloak -locales=en,fr +locales=ca,es,en,fr styles=node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css lib/zocial/zocial.css css/login.css css/style.css -meta=viewport==width=device-width,initial-scale=1 \ No newline at end of file +meta=viewport==width=device-width,initial-scale=1