diff --git a/.github/workflows/md5_check_initial-data.yml b/.github/workflows/md5_check_initial-data.yml index 9c4644850..4fcc9e523 100644 --- a/.github/workflows/md5_check_initial-data.yml +++ b/.github/workflows/md5_check_initial-data.yml @@ -21,4 +21,4 @@ jobs: run: md5sum docker/initial-data.json - name: Validate and protect initial-data.json - run: echo "6516e4a8d29c623d301c0c463e3d1db5 docker/initial-data.json" | md5sum -c - + run: echo "eb70fc8581fc011b5da4b022068564b9 docker/initial-data.json" | md5sum -c - diff --git a/docker/initial-data.json b/docker/initial-data.json index f528ab87c..98ffe860a 100644 --- a/docker/initial-data.json +++ b/docker/initial-data.json @@ -8,7 +8,6 @@ "legal_notice": "OpenSlides is a free web based presentation and assembly system for visualizing and controlling agenda, motions and elections of an assembly. The event organizer is resposible for the content.", "privacy_policy": "", "login_text": "Welcome to OpenSlides. Please login.", - "theme": "openslides-default-light-theme", "reset_password_verbose_errors": false, "enable_electronic_voting": false, "limit_of_meetings": 0, @@ -19,7 +18,9 @@ 1 ], "resource_ids": [], - "organization_tag_ids": [] + "organization_tag_ids": [], + "theme_id": 1, + "theme_ids": [1] } }, "user": { @@ -68,6 +69,56 @@ }, "resource": {}, "organization_tag": {}, + "theme": { + "1":{ + "id": 1, + "name": "OpenSlides Blue", + "accent_500": "#2196f3", + "primary_500": "#317796", + "warn_500": "#f06400", + "organization_id": 1, + "theme_for_organization_id": 1, + "accent_100": null, + "accent_200": null, + "accent_300": null, + "accent_400": null, + "accent_50": null, + "accent_600": null, + "accent_700": null, + "accent_800": null, + "accent_900": null, + "accent_a100": null, + "accent_a200": null, + "accent_a400": null, + "accent_a700": null, + "primary_100": null, + "primary_200": null, + "primary_300": null, + "primary_400": null, + "primary_50": null, + "primary_600": null, + "primary_700": null, + "primary_800": null, + "primary_900": null, + "primary_a100": null, + "primary_a200": null, + "primary_a400": null, + "primary_a700": null, + "warn_100": null, + "warn_200": null, + "warn_300": null, + "warn_400": null, + "warn_50": null, + "warn_600": null, + "warn_700": null, + "warn_800": null, + "warn_900": null, + "warn_a100": null, + "warn_a200": null, + "warn_a400": null, + "warn_a700": null + } + }, "committee": { "1": { "id": 1, diff --git a/docs/example-data.json b/docs/example-data.json index 071fe4a97..502bb766e 100644 --- a/docs/example-data.json +++ b/docs/example-data.json @@ -8,7 +8,6 @@ "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!", - "theme": "openslides-theme", "enable_electronic_voting": true, "reset_password_verbose_errors": true, "committee_ids": [ @@ -23,7 +22,9 @@ ], "organization_tag_ids": [ 1 - ] + ], + "theme_id": 1, + "theme_ids": [1] } }, "user": { @@ -331,6 +332,56 @@ "organization_id": 1 } }, + "theme": { + "1":{ + "id": 1, + "name": "OpenSlides Blue", + "accent_500": "#2196f3", + "primary_500": "#317796", + "warn_500": "#f06400", + "organization_id": 1, + "theme_for_organization_id": 1, + "accent_100": null, + "accent_200": null, + "accent_300": null, + "accent_400": null, + "accent_50": null, + "accent_600": null, + "accent_700": null, + "accent_800": null, + "accent_900": null, + "accent_a100": null, + "accent_a200": null, + "accent_a400": null, + "accent_a700": null, + "primary_100": null, + "primary_200": null, + "primary_300": null, + "primary_400": null, + "primary_50": null, + "primary_600": null, + "primary_700": null, + "primary_800": null, + "primary_900": null, + "primary_a100": null, + "primary_a200": null, + "primary_a400": null, + "primary_a700": null, + "warn_100": null, + "warn_200": null, + "warn_300": null, + "warn_400": null, + "warn_50": null, + "warn_600": null, + "warn_700": null, + "warn_800": null, + "warn_900": null, + "warn_a100": null, + "warn_a200": null, + "warn_a400": null, + "warn_a700": null + } + }, "organization_tag": { "1": { "id": 1, diff --git a/docs/models.yml b/docs/models.yml index 9c6d16c0b..4cf99f5de 100644 --- a/docs/models.yml +++ b/docs/models.yml @@ -86,9 +86,6 @@ organization: login_text: type: string restriction_mode: A - theme: - type: string - restriction_mode: A reset_password_verbose_errors: type: boolean restriction_mode: B @@ -120,6 +117,15 @@ organization: type: relation-list restriction_mode: B to: organization_tag/organization_id + theme_id: + type: relation + required: true + restriction_mode: A + to: theme/theme_for_organization_id + theme_ids: + type: relation-list + restriction_mode: A + to: theme/organization_id user: id: @@ -338,7 +344,6 @@ user: type: relation-list to: user/vote_delegated_$_to_id restriction_mode: C - meeting_ids: type: number[] description: Calculated. All ids from group_$_ids as integers. @@ -397,6 +402,154 @@ organization_tag: restriction_mode: A required: true +theme: + id: + restriction_mode: A + type: number + required: true + name: + restriction_mode: A + type: string + required: true + accent_100: + restriction_mode: A + type: color + accent_200: + restriction_mode: A + type: color + accent_300: + restriction_mode: A + type: color + accent_400: + restriction_mode: A + type: color + accent_50: + restriction_mode: A + type: color + accent_500: + restriction_mode: A + type: color + required: true + accent_600: + restriction_mode: A + type: color + accent_700: + restriction_mode: A + type: color + accent_800: + restriction_mode: A + type: color + accent_900: + restriction_mode: A + type: color + accent_a100: + restriction_mode: A + type: color + accent_a200: + restriction_mode: A + type: color + accent_a400: + restriction_mode: A + type: color + accent_a700: + restriction_mode: A + type: color + primary_100: + restriction_mode: A + type: color + primary_200: + restriction_mode: A + type: color + primary_300: + restriction_mode: A + type: color + primary_400: + restriction_mode: A + type: color + primary_50: + restriction_mode: A + type: color + primary_500: + restriction_mode: A + type: color + required: true + primary_600: + restriction_mode: A + type: color + primary_700: + restriction_mode: A + type: color + primary_800: + restriction_mode: A + type: color + primary_900: + restriction_mode: A + type: color + primary_a100: + restriction_mode: A + type: color + primary_a200: + restriction_mode: A + type: color + primary_a400: + restriction_mode: A + type: color + primary_a700: + restriction_mode: A + type: color + warn_100: + restriction_mode: A + type: color + warn_200: + restriction_mode: A + type: color + warn_300: + restriction_mode: A + type: color + warn_400: + restriction_mode: A + type: color + warn_50: + restriction_mode: A + type: color + warn_500: + restriction_mode: A + type: color + required: true + warn_600: + restriction_mode: A + type: color + warn_700: + restriction_mode: A + type: color + warn_800: + restriction_mode: A + type: color + warn_900: + restriction_mode: A + type: color + warn_a100: + restriction_mode: A + type: color + warn_a200: + restriction_mode: A + type: color + warn_a400: + restriction_mode: A + type: color + warn_a700: + restriction_mode: A + type: color + theme_for_organization_id: + restriction_mode: A + to: organization/theme_id + type: relation + organization_id: + required: true + restriction_mode: A + to: organization/theme_ids + type: relation + committee: id: type: number