diff --git a/Main/views/SetSettingsView.py b/Main/views/SetSettingsView.py index 3ca4848..dee2a3a 100644 --- a/Main/views/SetSettingsView.py +++ b/Main/views/SetSettingsView.py @@ -85,3 +85,16 @@ class SetSettingsView(BaseView): return "/admin/set?set_id=" + str(self.current_set.id) self.current_set.save() return "/admin/set?set_id=" + str(self.current_set.id) + + def post_users_edit(self): + current_users = self.entities.set.editors + for key, value in self.request.POST.items(): + if key.startswith("user_"): + i = '_'.join(key.split("_")[1:]) + if i not in current_users: + self.entities.set.editors.append(i) + to_delete = [i for i in current_users if "user_" + i not in self.request.POST] + for t in to_delete: + self.entities.set.editors.remove(t) + self.entities.set.save() + return "/admin/task?task_id=" + str(self.entities.task.id) \ No newline at end of file diff --git a/Main/views/TaskSettingsView.py b/Main/views/TaskSettingsView.py index 82c7232..a4c2dd2 100644 --- a/Main/views/TaskSettingsView.py +++ b/Main/views/TaskSettingsView.py @@ -95,3 +95,16 @@ class TaskSettingsView(BaseView): ef.is_sample = "is_sample" in self.request.POST.keys() ef.save() return f"/admin/task?task_id={self.entities.task.id}" + + def post_users_edit(self): + current_users = self.entities.task.editors + for key, value in self.request.POST.items(): + if key.startswith("user_"): + i = '_'.join(key.split("_")[1:]) + if i not in current_users: + self.entities.task.editors.append(i) + to_delete = [i for i in current_users if "user_" + i not in self.request.POST] + for t in to_delete: + self.entities.task.editors.remove(t) + self.entities.task.save() + return "/admin/task?task_id=" + str(self.entities.task.id) diff --git a/templates/set_settings.html b/templates/set_settings.html index 0517f94..6a02a25 100644 --- a/templates/set_settings.html +++ b/templates/set_settings.html @@ -86,4 +86,40 @@
{{ error_message }}