From 03fefcda53c90b57c11f79bcf1d42a33a75a19e5 Mon Sep 17 00:00:00 2001 From: William Gearty Date: Thu, 17 Aug 2023 20:22:23 -0400 Subject: [PATCH] Fix permissions in custom forms (#3670) * Fix permissions in custom forms * Fix loading of permissions --- esp/esp/customforms/views.py | 11 +---------- esp/public/media/scripts/custom_form.js | 13 +++++++++++++ esp/templates/customforms/index.html | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/esp/esp/customforms/views.py b/esp/esp/customforms/views.py index e418eddff1..a8d5f46fb9 100644 --- a/esp/esp/customforms/views.py +++ b/esp/esp/customforms/views.py @@ -72,16 +72,7 @@ def getPerms(request): except ValueError: return HttpResponse(status=400) prog = Program.objects.get(pk=prog_id) - perms = {'teachers': [], 'students': []} - for module in prog.getModules(None): - teach_desc = module.teacherDesc() - stud_desc = module.studentDesc() - if teach_desc: - for k,v in teach_desc.items(): - perms['teachers'].append([k,v]) - elif stud_desc: - for k,v in stud_desc.items(): - perms['students'].append([k,v]) + perms = {'teachers': [[desc[0], desc[1]] for desc in prog.teacherDesc().items()], 'students': [[desc[0], desc[1]] for desc in prog.studentDesc().items()]} return HttpResponse(json.dumps(perms)) return HttpResponse(status=400) diff --git a/esp/public/media/scripts/custom_form.js b/esp/public/media/scripts/custom_form.js index 7aa8f3bce5..4fcbbbbb33 100755 --- a/esp/public/media/scripts/custom_form.js +++ b/esp/public/media/scripts/custom_form.js @@ -1829,6 +1829,19 @@ var rebuild=function(metadata) { $j(".section:empty").parent('.outline').remove(); // Reset add field form $j("#cat_selector").val('Generic').trigger("change"); + // Set up permissions if needed + if(metadata['perms']!=""){ + clearPermsArea(); + var meta_perms = metadata['perms'].split(","); + $j('#id_main_perm').val(meta_perms[0]).change(); + if(meta_perms.length >= 2){ + $j('#id_prog_belong').prop('checked', true).change(); + $j('#id_perm_program').val(meta_perms[1]).change(); + if(meta_perms.length == 3){ + $j('#id_sub_perm').val(meta_perms[2]).change(); + } + } + } //Open the information panel if not already open $j("#header_information.ui-accordion-header-collapsed").trigger("click"); }; diff --git a/esp/templates/customforms/index.html b/esp/templates/customforms/index.html index 83f87d9158..c2ac2cad70 100644 --- a/esp/templates/customforms/index.html +++ b/esp/templates/customforms/index.html @@ -129,7 +129,7 @@

Form Permissions

-

Belonging to program

+