From bc310a98e6d1f75d44cf5f5fe7c611d3650448ec Mon Sep 17 00:00:00 2001 From: Finn Stutzenstein Date: Mon, 7 Jun 2021 11:16:07 +0200 Subject: [PATCH] Added chat groups --- docker/initial-data.json | 18 +++++++++++++++--- docs/example-data.json | 35 ++++++++++++++++++++++++++++++++-- docs/models.yml | 36 +++++++++++++++++++++++++++++++++++ docs/permission.yml | 2 ++ openslides-autoupdate-service | 2 +- openslides-backend | 2 +- 6 files changed, 88 insertions(+), 7 deletions(-) diff --git a/docker/initial-data.json b/docker/initial-data.json index 50c8c01a9..1503737f4 100644 --- a/docker/initial-data.json +++ b/docker/initial-data.json @@ -10,8 +10,7 @@ "theme": "openslides-theme", "custom_translations": "", "reset_password_verbose_errors": false, - - "enable_electronic_voting": true, + "enable_electronic_voting": false, "committee_ids": [1], "resource_ids": [], @@ -100,6 +99,7 @@ "jitsi_domain": "", "jitsi_room_name": "", "jitsi_room_password": "", + "enable_chat": false, "url_name": "openslides_1", "template_for_committee_id": null, @@ -247,6 +247,7 @@ "assignment_ids": [], "assignment_candidate_ids": [], "personal_note_ids": [], + "chat_group_ids": [], "logo_$_id": [], "font_$_id": [], @@ -319,6 +320,8 @@ "mediafile_inherited_access_group_ids": [], "read_comment_section_ids": [], "write_comment_section_ids": [], + "read_chat_group_ids": [], + "write_chat_group_ids": [], "poll_ids": [], "used_as_motion_poll_default_id": null, "used_as_assignment_poll_default_id": null, @@ -337,6 +340,8 @@ "mediafile_inherited_access_group_ids": [], "read_comment_section_ids": [], "write_comment_section_ids": [], + "read_chat_group_ids": [], + "write_chat_group_ids": [], "poll_ids": [], "used_as_motion_poll_default_id": null, "used_as_assignment_poll_default_id": null, @@ -369,6 +374,8 @@ "mediafile_inherited_access_group_ids": [], "read_comment_section_ids": [], "write_comment_section_ids": [], + "read_chat_group_ids": [], + "write_chat_group_ids": [], "poll_ids": [], "used_as_motion_poll_default_id": null, "used_as_assignment_poll_default_id": null, @@ -398,6 +405,8 @@ "mediafile_inherited_access_group_ids": [], "read_comment_section_ids": [], "write_comment_section_ids": [], + "read_chat_group_ids": [], + "write_chat_group_ids": [], "poll_ids": [], "used_as_motion_poll_default_id": null, "used_as_assignment_poll_default_id": null, @@ -429,6 +438,8 @@ "mediafile_inherited_access_group_ids": [], "read_comment_section_ids": [], "write_comment_section_ids": [], + "read_chat_group_ids": [], + "write_chat_group_ids": [], "poll_ids": [], "used_as_motion_poll_default_id": 1, "used_as_assignment_poll_default_id": 1, @@ -646,5 +657,6 @@ "used_as_list_of_speaker_countdown_meeting_id": null, "used_as_poll_countdown_meeting_id": 1, "meeting_id": 1 - }] + }], +"chat_group": [] } diff --git a/docs/example-data.json b/docs/example-data.json index 302ee4788..0ef47a3bb 100644 --- a/docs/example-data.json +++ b/docs/example-data.json @@ -2,6 +2,8 @@ "organization": [ { "id": 1, + "name": "Test Organization", + "description": "", "legal_notice": "OpenSlides is a free web based presentation and assembly system for visualizing and controlling agenda, motions and elections of an assembly.", "privacy_policy": "", "login_text": "Guten Morgen!", @@ -9,8 +11,6 @@ "custom_translations": [], "enable_electronic_voting": true, "reset_password_verbose_errors": true, - "name": "Test Organization", - "description": "", "committee_ids": [1], "resource_ids": [1], @@ -255,6 +255,7 @@ "jitsi_room_name": "", "jitsi_domain": "", "jitsi_room_password": "", + "enable_chat": true, "projector_countdown_default_time": 60, "projector_countdown_warning_time": 0, @@ -390,6 +391,7 @@ "assignment_ids": [1, 2], "assignment_candidate_ids": [1, 2, 3, 4, 5], "personal_note_ids": [1], + "chat_group_ids": [1, 2], "logo_$_id": ["web_header"], "logo_$web_header_id": 3, @@ -463,6 +465,8 @@ "mediafile_inherited_access_group_ids": [], "read_comment_section_ids": [], "write_comment_section_ids": [], + "read_chat_group_ids": [1], + "write_chat_group_ids": [1], "poll_ids": [], "used_as_motion_poll_default_id": null, "used_as_assignment_poll_default_id": null, @@ -481,6 +485,8 @@ "mediafile_inherited_access_group_ids": [1, 3], "read_comment_section_ids": [], "write_comment_section_ids": [], + "read_chat_group_ids": [1, 2], + "write_chat_group_ids": [1, 2], "poll_ids": [5], "used_as_motion_poll_default_id": 1, "used_as_assignment_poll_default_id": null, @@ -513,6 +519,8 @@ "mediafile_inherited_access_group_ids": [1, 3], "read_comment_section_ids": [1], "write_comment_section_ids": [1], + "read_chat_group_ids": [], + "write_chat_group_ids": [], "poll_ids": [], "used_as_motion_poll_default_id": 1, "used_as_assignment_poll_default_id": 1, @@ -542,6 +550,8 @@ "mediafile_inherited_access_group_ids": [], "read_comment_section_ids": [], "write_comment_section_ids": [], + "read_chat_group_ids": [], + "write_chat_group_ids": [], "poll_ids": [], "used_as_motion_poll_default_id": null, "used_as_assignment_poll_default_id": null, @@ -573,6 +583,8 @@ "mediafile_inherited_access_group_ids": [], "read_comment_section_ids": [1], "write_comment_section_ids": [1], + "read_chat_group_ids": [1, 2], + "write_chat_group_ids": [1, 2], "poll_ids": [], "used_as_motion_poll_default_id": null, "used_as_assignment_poll_default_id": 1, @@ -2721,5 +2733,24 @@ "used_as_list_of_speaker_countdown_meeting_id": null, "used_as_poll_countdown_meeting_id": 1, "meeting_id": 1 + }], +"chat_group": [ + { + "id": 1, + "name": "General", + "weight": 1, + + "read_group_ids": [1, 2, 5], + "write_group_ids": [1, 2, 5], + "meeting_id": 1 + }, + { + "id": 2, + "name": "Support", + "weight": 2, + + "read_group_ids": [2, 5], + "write_group_ids": [2, 5], + "meeting_id": 1 }] } diff --git a/docs/models.yml b/docs/models.yml index f97bd2886..86588b1ef 100644 --- a/docs/models.yml +++ b/docs/models.yml @@ -352,6 +352,8 @@ meeting: type: string jitsi_room_password: type: string + enable_chat: + type: boolean # System url_name: @@ -847,6 +849,10 @@ meeting: type: relation-list to: personal_note/meeting_id on_delete: CASCADE + chat_group_ids: + type: relation-list + to: chat_group/meeting_id + on_delete: CASCADE # Logos and Fonts logo_$_id: @@ -998,6 +1004,14 @@ group: type: relation-list to: motion_comment_section/write_group_ids equal_fields: meeting_id + read_chat_group_ids: + type: relation-list + to: chat_group/read_group_ids + equal_fields: meeting_id + write_chat_group_ids: + type: relation-list + to: chat_group/write_group_ids + equal_fields: meeting_id poll_ids: type: relation-list to: poll/entitled_group_ids @@ -2176,3 +2190,25 @@ projector_countdown: meeting_id: type: relation to: meeting/projector_countdown_ids + +chat_group: + id: number + name: + type: string + required: true + weight: + type: number + default: 10000 + + read_group_ids: + type: relation-list + to: group/read_chat_group_ids + equal_fields: meeting_id + write_group_ids: + type: relation-list + to: group/write_chat_group_ids + equal_fields: meeting_id + meeting_id: + type: relation + to: meeting/chat_group_ids + required: true diff --git a/docs/permission.yml b/docs/permission.yml index 2f2d7b93c..abe0d6f05 100644 --- a/docs/permission.yml +++ b/docs/permission.yml @@ -16,6 +16,8 @@ assignment: can_see: can_nominate_self: can_see: +chat: + can_manage: list_of_speakers: can_manage: can_see: diff --git a/openslides-autoupdate-service b/openslides-autoupdate-service index 285d61359..d00dd3c5d 160000 --- a/openslides-autoupdate-service +++ b/openslides-autoupdate-service @@ -1 +1 @@ -Subproject commit 285d6135961b68c590dd800b7ef78fa9bf4c505e +Subproject commit d00dd3c5df681febcf19b2c7f7051048590e31db diff --git a/openslides-backend b/openslides-backend index 8bc8547a8..4ca5486c5 160000 --- a/openslides-backend +++ b/openslides-backend @@ -1 +1 @@ -Subproject commit 8bc8547a8ad105e254d86ac395105e39168b7933 +Subproject commit 4ca5486c5c73fb9453acb700393179f3182e6611