diff --git a/.gitlint b/.gitlint deleted file mode 100644 index 80d7b7d5..00000000 --- a/.gitlint +++ /dev/null @@ -1,30 +0,0 @@ -[general] -# Match anywhere (search) instead of just at the beginning of the line -# https://jorisroovers.github.io/gitlint/configuration/#regex-style-search -regex-style-search=true - -[title-max-length] -line-length=72 - -[ignore-body-lines] -# Ignore all lines containing >72 character http:// or https:// URLs -# because URLs can not be easily wrapped to multiple lines without -# breaking them somehow. -# -# Explanation of the regular expression: -# -# "(?=\S{73,})" uses a positive lookahead with 73 non-whitespace characters -# which means there must be at least 73 non-whitespace characters ahead. -# It doesn't change the position in input string though. So if there are at -# least 73 non-whitespace characters ahead then those must start with -# either "http://" or "https://". -regex=^.*(?=\S{73,})(http://|https://) - -[title-min-length] -min-length=3 - -[body-max-line-length] -line-length=72 - -[body-min-length] -min-length=0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5c45431c..0cb58988 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,35 +1,41 @@ -# Pre-commit hook documentation: -# - https://pre-commit.com/ -# - https://pre-commit.com/hooks.html -# -# Ruff pre-commit hook documentation: -# - https://github.com/astral-sh/ruff-pre-commit default_language_version: - python: python3 + python: python3 +default_install_hook_types: [pre-commit, commit-msg] +default_stages: [pre-commit, manual] repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: trailing-whitespace + exclude: ^.*\.ambr$ + - id: end-of-file-fixer + exclude: notification_importers/templates/sms/ + - id: check-yaml + - id: check-toml + - id: check-added-large-files + exclude: ^.*\.ambr$ - repo: https://github.com/astral-sh/ruff-pre-commit # NOTE: Don't move the trailing "ruff-pre-commit version" comment from # the ruff's version line, it is used by test_pre_commit_ruff_version.py # test case in order not to have to add a YAML library dependency just # to test this version: - rev: v0.10.0 # ruff-pre-commit version + rev: v0.12.12 # ruff-pre-commit version hooks: # Run the linter - id: ruff args: [ --fix ] # Run the formatter - id: ruff-format - - repo: https://github.com/compilerla/conventional-pre-commit - rev: v4.0.0 + - repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook + rev: v9.22.0 hooks: - - id: conventional-pre-commit - stages: [commit-msg] - args: [] - - repo: https://github.com/jorisroovers/gitlint - rev: v0.19.1 + - id: commitlint + stages: [ commit-msg, manual ] + additional_dependencies: [ "@commitlint/config-conventional" ] + - repo: https://github.com/koalaman/shellcheck-precommit + rev: v0.11.0 hooks: - - id: gitlint - stages: [commit-msg] + - id: shellcheck - repo: https://github.com/frnmst/md-toc rev: 9.0.0 hooks: diff --git a/Dockerfile b/Dockerfile index 3d5a3f4a..8a57e84c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,13 +14,12 @@ RUN mkdir /entrypoint # see .dockerignore for info on what is not copied here: COPY --chown=root:root --chmod=755 . /app/ -RUN yum update -y && yum install -y \ - nc \ - && pip install -U pip \ +RUN dnf update -y \ + && dnf install -y nmap-ncat \ + && pip install --upgrade pip setuptools wheel \ && pip install --no-cache-dir -r /app/requirements.txt \ - && pip install --no-cache-dir -r /app/requirements-prod.txt \ && uwsgi --build-plugin https://github.com/City-of-Helsinki/uwsgi-sentry \ - && yum clean all + && dnf clean all COPY --chown=root:root --chmod=755 docker-entrypoint.sh /entrypoint/docker-entrypoint.sh ENTRYPOINT ["/entrypoint/docker-entrypoint.sh"] diff --git a/README.md b/README.md index c9771ec3..ecca6326 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,8 @@ - [API Documentation](#api-documentation) - [Audit logging](#audit-logging) - [Keeping Python requirements up to date](#keeping-python-requirements-up-to-date) -- [Code linting & formatting](#code-linting--formatting) -- [Pre-commit hooks](#pre-commit-hooks) -- [Contact infomation](#contact-infomation) +- [Code format](#code-format) +- [Commit message format](#commit-message-format) - [Issues board](#issues-board) - [Maintaining](#maintaining) - [Enrolment reports](#enrolment-reports) @@ -451,40 +450,29 @@ The GraphQL query/mutation and admin site views can be logged by using the mixin - `pip-sync requirements.txt` -## Code linting & formatting +## Code format -This project uses [ruff](https://github.com/astral-sh/ruff) for Python code linting and formatting. -Ruff is configured through [pyproject.toml](./pyproject.toml). -Basic `ruff` commands: - -- Check linting: `ruff check` -- Check & auto-fix linting: `ruff check --fix` -- Format: `ruff format` - -Basically: - - Ruff linter (i.e. `ruff check --fix`) does what `flake8` and `isort` did before. - - Ruff formatter (i.e. `ruff format`) does what `black` did before. +This project uses [Ruff](https://docs.astral.sh/ruff/) for code formatting and quality checking. -Integrations for `ruff` are available for many editors: - - https://docs.astral.sh/ruff/integrations/ - -## Pre-commit hooks +Basic `ruff` commands: -You can use [`pre-commit`](https://pre-commit.com/) to lint and format your code before committing: +* lint: `ruff check` +* apply safe lint fixes: `ruff check --fix` +* check formatting: `ruff format --check` +* format: `ruff format` -1. Install `pre-commit` (there are many ways to do that, but let's use pip as an example): - - `pip install pre-commit` -2. Set up git hooks from `.pre-commit-config.yaml` by running these commands from project root: - - `pre-commit install` to enable pre-commit code formatting & linting - - `pre-commit install --hook-type commit-msg` to enable pre-commit commit message linting +[`pre-commit`](https://pre-commit.com/) can be used to install and +run all the formatting tools as git hooks automatically before a +commit. -After that, linting and formatting hooks will run against all changed files before committing. +## Commit message format -Git commit message linting is configured in [.gitlint](./.gitlint) +New commit messages must adhere to the [Conventional Commits](https://www.conventionalcommits.org/) +specification, and line length is limited to 72 characters. -## Contact infomation +When [`pre-commit`](https://pre-commit.com/) is in use, [`commitlint`](https://github.com/conventional-changelog/commitlint) +checks new commit messages for the correct format. -@quyenlq @nikomakela ## Issues board diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 52790b64..6c1be2b5 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -if [ -z "$SKIP_DATABASE_CHECK" -o "$SKIP_DATABASE_CHECK" = "0" ]; then +if [ -z "$SKIP_DATABASE_CHECK" ] || [ "$SKIP_DATABASE_CHECK" = "0" ]; then until nc -z -v -w30 "$DATABASE_HOST" 5432 do echo "Waiting for postgres database connection..." @@ -18,7 +18,7 @@ if [[ "$APPLY_MIGRATIONS" = "1" ]]; then fi # Start server -if [[ ! -z "$@" ]]; then +if [[ -n "$*" ]]; then "$@" elif [[ "$DEV_SERVER" = "1" ]]; then python ./manage.py runserver 0.0.0.0:8081 diff --git a/gdpr/tests/__snapshots__/test_gdpr_api.ambr b/gdpr/tests/__snapshots__/test_gdpr_api.ambr new file mode 100644 index 00000000..e48fdc25 --- /dev/null +++ b/gdpr/tests/__snapshots__/test_gdpr_api.ambr @@ -0,0 +1,868 @@ +# serializer version: 1 +# name: test_delete_profile_data_from_gdpr_api[most_complex] + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'STATUS', + 'value': 'pending', + }), + dict({ + 'children': list([ + dict({ + 'key': 'START_TIME', + 'value': '2010-07-23T14:55:55.542261+00:00', + }), + dict({ + 'key': 'END_TIME', + 'value': '2008-11-04T18:51:30.730104+00:00', + }), + dict({ + 'key': 'CREATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'FrTcm', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Carroll, Adams and Evans', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': '', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'OCCURRENCE', + }), + ]), + 'key': 'ENROLMENT', + }) +# --- +# name: test_delete_profile_data_from_gdpr_api[most_complex].1 + dict({ + 'children': list([ + dict({ + 'key': 'UNIT_ID', + 'value': None, + }), + dict({ + 'key': 'UNIT_NAME', + 'value': 'National since collection goal natural. Subject take stop debate.', + }), + dict({ + 'key': 'GROUP_SIZE', + 'value': 857, + }), + dict({ + 'key': 'AMOUNT_OF_ADULT', + 'value': 0, + }), + dict({ + 'key': 'GROUP_NAME', + 'value': 'Box bring always million eat several. Seven section partner. During their at once exactly.', + }), + dict({ + 'key': 'EXTRA_NEEDS', + 'value': 'Whose our politics contain blood interview. Cup must tough edge part. Respond pressure people.', + }), + dict({ + 'key': 'PREFERRED_TIMES', + 'value': 'Sport page if.', + }), + dict({ + 'key': 'STUDY_LEVELS', + 'value': '', + }), + dict({ + 'children': list([ + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'STATUS', + 'value': 'pending', + }), + dict({ + 'children': list([ + dict({ + 'key': 'START_TIME', + 'value': '1975-04-25T05:34:32.227218+00:00', + }), + dict({ + 'key': 'END_TIME', + 'value': '2007-03-16T16:41:40.163531+00:00', + }), + dict({ + 'key': 'CREATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'ulLnD', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Guerrero-Powell', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': '', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'OCCURRENCE', + }), + ]), + 'key': 'ENROLMENT', + }), + ]), + 'key': 'ENROLMENTS', + }), + ]), + 'key': 'STUDYGROUP', + }) +# --- +# name: test_delete_profile_data_from_gdpr_api[most_complex].2 + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'NOTIFICATION_TYPE', + 'value': 'email', + }), + dict({ + 'key': 'STUDY_GROUP', + 'value': '1 Tough plant traditional after born up always. Return student light a point charge.', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'NoYfT', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Rosario and Sons', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': 'Justin Smith, 001-605-453-1010, santiagoalicia@example.net', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'EVENTQUEUEENROLMENT', + }) +# --- +# name: test_get_profile_data_from_gdpr_api[Complex User, Deleted] + dict({ + 'children': list([ + dict({ + 'key': 'UUID', + 'value': '26850000-2e85-11ea-b347-acde48001122', + }), + dict({ + 'key': 'USERNAME', + 'value': 'u-e2cqaaboqui6vm2hvtpeqaarei', + }), + dict({ + 'key': 'FIRST_NAME', + 'value': '', + }), + dict({ + 'key': 'LAST_NAME', + 'value': '', + }), + dict({ + 'key': 'EMAIL', + 'value': '', + }), + dict({ + 'key': 'LAST_LOGIN', + 'value': None, + }), + dict({ + 'key': 'DATE_JOINED', + 'value': '2020-01-04T00:00:00+00:00', + }), + ]), + 'key': 'USER', + }) +# --- +# name: test_get_profile_data_from_gdpr_api[Complex User, Undeleted] + dict({ + 'children': list([ + dict({ + 'key': 'UUID', + 'value': '26850000-2e85-11ea-b347-acde48001122', + }), + dict({ + 'key': 'USERNAME', + 'value': 'jeffersonkimberly_3MmHFh', + }), + dict({ + 'key': 'FIRST_NAME', + 'value': 'Alexis', + }), + dict({ + 'key': 'LAST_NAME', + 'value': 'Black', + }), + dict({ + 'key': 'EMAIL', + 'value': 'joshuajohnson@example.com', + }), + dict({ + 'key': 'LAST_LOGIN', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'DATE_JOINED', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'NAME', + 'value': 'Tina Wilson', + }), + dict({ + 'key': 'PHONE_NUMBER', + 'value': '+1-910-423-2028x130', + }), + dict({ + 'key': 'EMAIL_ADDRESS', + 'value': 'fhuynh@example.org', + }), + dict({ + 'key': 'LANGUAGE', + 'value': 'fi', + }), + dict({ + 'key': 'PLACE_IDS', + 'value': 'SedRknnouKQItjsGbbnC, aIeOatnXjyxRexoPZaRK, VOMVMNZoGFTsuALvDSCv', + }), + dict({ + 'children': list([ + dict({ + 'children': list([ + dict({ + 'key': 'NAME', + 'value': 'Williams-Newton', + }), + dict({ + 'key': 'PHONE_NUMBER', + 'value': '497-963-8034x6697', + }), + dict({ + 'key': 'TYPE', + 'value': 'user', + }), + dict({ + 'key': 'PUBLISHER_ID', + 'value': 'TUOfT', + }), + ]), + 'key': 'ORGANISATION', + }), + ]), + 'key': 'ORGANISATIONS', + }), + list([ + dict({ + 'children': list([ + dict({ + 'key': 'NAME', + 'value': 'Young, Garcia and Dean', + }), + dict({ + 'key': 'PHONE_NUMBER', + 'value': '+1-582-474-0847x69470', + }), + dict({ + 'key': 'DESCRIPTION', + 'value': ''' + Beautiful if his their. Stuff election stay every. Base may middle good father boy economy. + Enjoy office water those notice medical. Already name likely behind mission network. Think significant land especially can quite. + ''', + }), + ]), + 'key': 'ORGANISATIONPROPOSAL', + }), + ]), + list([ + dict({ + 'children': list([ + dict({ + 'key': 'UNIT_ID', + 'value': None, + }), + dict({ + 'key': 'UNIT_NAME', + 'value': 'Conference thing much like test.', + }), + dict({ + 'key': 'GROUP_SIZE', + 'value': 261, + }), + dict({ + 'key': 'AMOUNT_OF_ADULT', + 'value': 0, + }), + dict({ + 'key': 'GROUP_NAME', + 'value': 'Decade address have turn serve me every traditional. Sound describe risk newspaper reflect four.', + }), + dict({ + 'key': 'EXTRA_NEEDS', + 'value': 'Somebody determine sort under car medical. Particular page step radio.', + }), + dict({ + 'key': 'PREFERRED_TIMES', + 'value': 'Result let join might player.', + }), + dict({ + 'key': 'STUDY_LEVELS', + 'value': 'age 0-2 (id: age_0_2, level: 0), age 3-4 (id: age_3_4, level: 1), preschool (id: preschool, level: 2)', + }), + dict({ + 'children': list([ + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'STATUS', + 'value': 'pending', + }), + dict({ + 'children': list([ + dict({ + 'key': 'START_TIME', + 'value': '1975-04-25T05:34:32.227218+00:00', + }), + dict({ + 'key': 'END_TIME', + 'value': '2007-03-16T16:41:40.163531+00:00', + }), + dict({ + 'key': 'CREATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'ulLnD', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Guerrero-Powell', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'OCCURRENCE', + }), + ]), + 'key': 'ENROLMENT', + }), + ]), + 'key': 'ENROLMENTS', + }), + ]), + 'key': 'STUDYGROUP', + }), + dict({ + 'children': list([ + dict({ + 'key': 'UNIT_ID', + 'value': None, + }), + dict({ + 'key': 'UNIT_NAME', + 'value': 'Control as receive cup. Subject family around year.', + }), + dict({ + 'key': 'GROUP_SIZE', + 'value': 914, + }), + dict({ + 'key': 'AMOUNT_OF_ADULT', + 'value': 0, + }), + dict({ + 'key': 'GROUP_NAME', + 'value': 'Tough plant traditional after born up always. Return student light a point charge.', + }), + dict({ + 'key': 'EXTRA_NEEDS', + 'value': 'Prevent pressure point. Voice radio happen color scene.', + }), + dict({ + 'key': 'PREFERRED_TIMES', + 'value': 'New expert interview.', + }), + dict({ + 'key': 'STUDY_LEVELS', + 'value': 'age 0-2 (id: age_0_2, level: 0), age 3-4 (id: age_3_4, level: 1), preschool (id: preschool, level: 2)', + }), + dict({ + 'children': list([ + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'STATUS', + 'value': 'pending', + }), + dict({ + 'children': list([ + dict({ + 'key': 'START_TIME', + 'value': '2010-07-23T14:55:55.542261+00:00', + }), + dict({ + 'key': 'END_TIME', + 'value': '2008-11-04T18:51:30.730104+00:00', + }), + dict({ + 'key': 'CREATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'FrTcm', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Carroll, Adams and Evans', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'OCCURRENCE', + }), + ]), + 'key': 'ENROLMENT', + }), + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'STATUS', + 'value': 'pending', + }), + dict({ + 'children': list([ + dict({ + 'key': 'START_TIME', + 'value': '2004-12-30T07:48:32.863351+00:00', + }), + dict({ + 'key': 'END_TIME', + 'value': '1983-05-12T23:37:18.020950+00:00', + }), + dict({ + 'key': 'CREATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'IWSGq', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Moore, Ryan and Morris', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'OCCURRENCE', + }), + ]), + 'key': 'ENROLMENT', + }), + ]), + 'key': 'ENROLMENTS', + }), + ]), + 'key': 'STUDYGROUP', + }), + ]), + list([ + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'NOTIFICATION_TYPE', + 'value': 'email', + }), + dict({ + 'key': 'STUDY_GROUP', + 'value': '1 Control as receive cup. Subject family around year.', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'NoYfT', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Rosario and Sons', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': 'Justin Smith, 001-605-453-1010, santiagoalicia@example.net', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'EVENTQUEUEENROLMENT', + }), + ]), + list([ + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'STATUS', + 'value': 'pending', + }), + dict({ + 'children': list([ + dict({ + 'key': 'START_TIME', + 'value': '2010-07-23T14:55:55.542261+00:00', + }), + dict({ + 'key': 'END_TIME', + 'value': '2008-11-04T18:51:30.730104+00:00', + }), + dict({ + 'key': 'CREATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'FrTcm', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Carroll, Adams and Evans', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'OCCURRENCE', + }), + ]), + 'key': 'ENROLMENT', + }), + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'STATUS', + 'value': 'pending', + }), + dict({ + 'children': list([ + dict({ + 'key': 'START_TIME', + 'value': '2004-12-30T07:48:32.863351+00:00', + }), + dict({ + 'key': 'END_TIME', + 'value': '1983-05-12T23:37:18.020950+00:00', + }), + dict({ + 'key': 'CREATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'IWSGq', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Moore, Ryan and Morris', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'OCCURRENCE', + }), + ]), + 'key': 'ENROLMENT', + }), + dict({ + 'children': list([ + dict({ + 'key': 'ENROLMENT_TIME', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'STATUS', + 'value': 'pending', + }), + dict({ + 'children': list([ + dict({ + 'key': 'START_TIME', + 'value': '1975-04-25T05:34:32.227218+00:00', + }), + dict({ + 'key': 'END_TIME', + 'value': '2007-03-16T16:41:40.163531+00:00', + }), + dict({ + 'key': 'CREATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'UPDATED_AT', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'children': list([ + dict({ + 'key': 'LINKED_EVENT_ID', + 'value': 'ulLnD', + }), + dict({ + 'key': 'ORGANISATION', + 'value': 'Guerrero-Powell', + }), + dict({ + 'key': 'CONTACT_PERSON', + 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org', + }), + ]), + 'key': 'PALVELUTARJOTINEVENT', + }), + ]), + 'key': 'OCCURRENCE', + }), + ]), + 'key': 'ENROLMENT', + }), + ]), + ]), + 'key': 'PERSON', + }), + ]), + 'key': 'USER', + }) +# --- +# name: test_get_profile_data_from_gdpr_api[Simple User, Deleted] + dict({ + 'children': list([ + dict({ + 'key': 'UUID', + 'value': '26850000-2e85-11ea-b347-acde48001122', + }), + dict({ + 'key': 'USERNAME', + 'value': 'u-e2cqaaboqui6vm2hvtpeqaarei', + }), + dict({ + 'key': 'FIRST_NAME', + 'value': '', + }), + dict({ + 'key': 'LAST_NAME', + 'value': '', + }), + dict({ + 'key': 'EMAIL', + 'value': '', + }), + dict({ + 'key': 'LAST_LOGIN', + 'value': None, + }), + dict({ + 'key': 'DATE_JOINED', + 'value': '2020-01-04T00:00:00+00:00', + }), + ]), + 'key': 'USER', + }) +# --- +# name: test_get_profile_data_from_gdpr_api[Simple User, Undeleted] + dict({ + 'children': list([ + dict({ + 'key': 'UUID', + 'value': '26850000-2e85-11ea-b347-acde48001122', + }), + dict({ + 'key': 'USERNAME', + 'value': 'jeffersonkimberly_3MmHFh', + }), + dict({ + 'key': 'FIRST_NAME', + 'value': 'Alexis', + }), + dict({ + 'key': 'LAST_NAME', + 'value': 'Black', + }), + dict({ + 'key': 'EMAIL', + 'value': 'joshuajohnson@example.com', + }), + dict({ + 'key': 'LAST_LOGIN', + 'value': '2020-01-04T00:00:00+00:00', + }), + dict({ + 'key': 'DATE_JOINED', + 'value': '2020-01-04T00:00:00+00:00', + }), + ]), + 'key': 'USER', + }) +# --- diff --git a/gdpr/tests/snapshots/__init__.py b/gdpr/tests/snapshots/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/gdpr/tests/snapshots/snap_test_gdpr_api.py b/gdpr/tests/snapshots/snap_test_gdpr_api.py deleted file mode 100644 index 1d86d776..00000000 --- a/gdpr/tests/snapshots/snap_test_gdpr_api.py +++ /dev/null @@ -1,866 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - - -snapshots = Snapshot() - -snapshots['test_delete_profile_data_from_gdpr_api[most_complex] enrolment should exist but not contain any person related sensitive data after deletion'] = { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'STATUS', - 'value': 'pending' - }, - { - 'children': [ - { - 'key': 'START_TIME', - 'value': '2010-07-23T14:55:55.542261+00:00' - }, - { - 'key': 'END_TIME', - 'value': '2008-11-04T18:51:30.730104+00:00' - }, - { - 'key': 'CREATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'FrTcm' - }, - { - 'key': 'ORGANISATION', - 'value': 'Carroll, Adams and Evans' - }, - { - 'key': 'CONTACT_PERSON', - 'value': '' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'OCCURRENCE' - } - ], - 'key': 'ENROLMENT' -} - -snapshots['test_delete_profile_data_from_gdpr_api[most_complex] event queue enrolment should exist but not contain any person related sensitive data after deletion'] = { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'NOTIFICATION_TYPE', - 'value': 'email' - }, - { - 'key': 'STUDY_GROUP', - 'value': '1 Tough plant traditional after born up always. Return student light a point charge.' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'NoYfT' - }, - { - 'key': 'ORGANISATION', - 'value': 'Rosario and Sons' - }, - { - 'key': 'CONTACT_PERSON', - 'value': 'Justin Smith, 001-605-453-1010, santiagoalicia@example.net' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'EVENTQUEUEENROLMENT' -} - -snapshots['test_delete_profile_data_from_gdpr_api[most_complex] study group should exist but not contain any person related sensitive data after deletion'] = { - 'children': [ - { - 'key': 'UNIT_ID', - 'value': None - }, - { - 'key': 'UNIT_NAME', - 'value': 'National since collection goal natural. Subject take stop debate.' - }, - { - 'key': 'GROUP_SIZE', - 'value': 857 - }, - { - 'key': 'AMOUNT_OF_ADULT', - 'value': 0 - }, - { - 'key': 'GROUP_NAME', - 'value': 'Box bring always million eat several. Seven section partner. During their at once exactly.' - }, - { - 'key': 'EXTRA_NEEDS', - 'value': 'Whose our politics contain blood interview. Cup must tough edge part. Respond pressure people.' - }, - { - 'key': 'PREFERRED_TIMES', - 'value': 'Sport page if.' - }, - { - 'key': 'STUDY_LEVELS', - 'value': '' - }, - { - 'children': [ - { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'STATUS', - 'value': 'pending' - }, - { - 'children': [ - { - 'key': 'START_TIME', - 'value': '1975-04-25T05:34:32.227218+00:00' - }, - { - 'key': 'END_TIME', - 'value': '2007-03-16T16:41:40.163531+00:00' - }, - { - 'key': 'CREATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'ulLnD' - }, - { - 'key': 'ORGANISATION', - 'value': 'Guerrero-Powell' - }, - { - 'key': 'CONTACT_PERSON', - 'value': '' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'OCCURRENCE' - } - ], - 'key': 'ENROLMENT' - } - ], - 'key': 'ENROLMENTS' - } - ], - 'key': 'STUDYGROUP' -} - -snapshots['test_get_profile_data_from_gdpr_api[Complex User, Deleted] 1'] = { - 'children': [ - { - 'key': 'UUID', - 'value': '26850000-2e85-11ea-b347-acde48001122' - }, - { - 'key': 'USERNAME', - 'value': 'u-e2cqaaboqui6vm2hvtpeqaarei' - }, - { - 'key': 'FIRST_NAME', - 'value': '' - }, - { - 'key': 'LAST_NAME', - 'value': '' - }, - { - 'key': 'EMAIL', - 'value': '' - }, - { - 'key': 'LAST_LOGIN', - 'value': None - }, - { - 'key': 'DATE_JOINED', - 'value': '2020-01-04T00:00:00+00:00' - } - ], - 'key': 'USER' -} - -snapshots['test_get_profile_data_from_gdpr_api[Complex User, Undeleted] 1'] = { - 'children': [ - { - 'key': 'UUID', - 'value': '26850000-2e85-11ea-b347-acde48001122' - }, - { - 'key': 'USERNAME', - 'value': 'jeffersonkimberly_3MmHFh' - }, - { - 'key': 'FIRST_NAME', - 'value': 'Alexis' - }, - { - 'key': 'LAST_NAME', - 'value': 'Black' - }, - { - 'key': 'EMAIL', - 'value': 'joshuajohnson@example.com' - }, - { - 'key': 'LAST_LOGIN', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'DATE_JOINED', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'NAME', - 'value': 'Tina Wilson' - }, - { - 'key': 'PHONE_NUMBER', - 'value': '+1-910-423-2028x130' - }, - { - 'key': 'EMAIL_ADDRESS', - 'value': 'fhuynh@example.org' - }, - { - 'key': 'LANGUAGE', - 'value': 'fi' - }, - { - 'key': 'PLACE_IDS', - 'value': 'SedRknnouKQItjsGbbnC, aIeOatnXjyxRexoPZaRK, VOMVMNZoGFTsuALvDSCv' - }, - { - 'children': [ - { - 'children': [ - { - 'key': 'NAME', - 'value': 'Williams-Newton' - }, - { - 'key': 'PHONE_NUMBER', - 'value': '497-963-8034x6697' - }, - { - 'key': 'TYPE', - 'value': 'user' - }, - { - 'key': 'PUBLISHER_ID', - 'value': 'TUOfT' - } - ], - 'key': 'ORGANISATION' - } - ], - 'key': 'ORGANISATIONS' - }, - [ - { - 'children': [ - { - 'key': 'NAME', - 'value': 'Young, Garcia and Dean' - }, - { - 'key': 'PHONE_NUMBER', - 'value': '+1-582-474-0847x69470' - }, - { - 'key': 'DESCRIPTION', - 'value': '''Beautiful if his their. Stuff election stay every. Base may middle good father boy economy. -Enjoy office water those notice medical. Already name likely behind mission network. Think significant land especially can quite.''' - } - ], - 'key': 'ORGANISATIONPROPOSAL' - } - ], - [ - { - 'children': [ - { - 'key': 'UNIT_ID', - 'value': None - }, - { - 'key': 'UNIT_NAME', - 'value': 'Conference thing much like test.' - }, - { - 'key': 'GROUP_SIZE', - 'value': 261 - }, - { - 'key': 'AMOUNT_OF_ADULT', - 'value': 0 - }, - { - 'key': 'GROUP_NAME', - 'value': 'Decade address have turn serve me every traditional. Sound describe risk newspaper reflect four.' - }, - { - 'key': 'EXTRA_NEEDS', - 'value': 'Somebody determine sort under car medical. Particular page step radio.' - }, - { - 'key': 'PREFERRED_TIMES', - 'value': 'Result let join might player.' - }, - { - 'key': 'STUDY_LEVELS', - 'value': 'age 0-2 (id: age_0_2, level: 0), age 3-4 (id: age_3_4, level: 1), preschool (id: preschool, level: 2)' - }, - { - 'children': [ - { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'STATUS', - 'value': 'pending' - }, - { - 'children': [ - { - 'key': 'START_TIME', - 'value': '1975-04-25T05:34:32.227218+00:00' - }, - { - 'key': 'END_TIME', - 'value': '2007-03-16T16:41:40.163531+00:00' - }, - { - 'key': 'CREATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'ulLnD' - }, - { - 'key': 'ORGANISATION', - 'value': 'Guerrero-Powell' - }, - { - 'key': 'CONTACT_PERSON', - 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'OCCURRENCE' - } - ], - 'key': 'ENROLMENT' - } - ], - 'key': 'ENROLMENTS' - } - ], - 'key': 'STUDYGROUP' - }, - { - 'children': [ - { - 'key': 'UNIT_ID', - 'value': None - }, - { - 'key': 'UNIT_NAME', - 'value': 'Control as receive cup. Subject family around year.' - }, - { - 'key': 'GROUP_SIZE', - 'value': 914 - }, - { - 'key': 'AMOUNT_OF_ADULT', - 'value': 0 - }, - { - 'key': 'GROUP_NAME', - 'value': 'Tough plant traditional after born up always. Return student light a point charge.' - }, - { - 'key': 'EXTRA_NEEDS', - 'value': 'Prevent pressure point. Voice radio happen color scene.' - }, - { - 'key': 'PREFERRED_TIMES', - 'value': 'New expert interview.' - }, - { - 'key': 'STUDY_LEVELS', - 'value': 'age 0-2 (id: age_0_2, level: 0), age 3-4 (id: age_3_4, level: 1), preschool (id: preschool, level: 2)' - }, - { - 'children': [ - { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'STATUS', - 'value': 'pending' - }, - { - 'children': [ - { - 'key': 'START_TIME', - 'value': '2010-07-23T14:55:55.542261+00:00' - }, - { - 'key': 'END_TIME', - 'value': '2008-11-04T18:51:30.730104+00:00' - }, - { - 'key': 'CREATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'FrTcm' - }, - { - 'key': 'ORGANISATION', - 'value': 'Carroll, Adams and Evans' - }, - { - 'key': 'CONTACT_PERSON', - 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'OCCURRENCE' - } - ], - 'key': 'ENROLMENT' - }, - { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'STATUS', - 'value': 'pending' - }, - { - 'children': [ - { - 'key': 'START_TIME', - 'value': '2004-12-30T07:48:32.863351+00:00' - }, - { - 'key': 'END_TIME', - 'value': '1983-05-12T23:37:18.020950+00:00' - }, - { - 'key': 'CREATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'IWSGq' - }, - { - 'key': 'ORGANISATION', - 'value': 'Moore, Ryan and Morris' - }, - { - 'key': 'CONTACT_PERSON', - 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'OCCURRENCE' - } - ], - 'key': 'ENROLMENT' - } - ], - 'key': 'ENROLMENTS' - } - ], - 'key': 'STUDYGROUP' - } - ], - [ - { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'NOTIFICATION_TYPE', - 'value': 'email' - }, - { - 'key': 'STUDY_GROUP', - 'value': '1 Control as receive cup. Subject family around year.' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'NoYfT' - }, - { - 'key': 'ORGANISATION', - 'value': 'Rosario and Sons' - }, - { - 'key': 'CONTACT_PERSON', - 'value': 'Justin Smith, 001-605-453-1010, santiagoalicia@example.net' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'EVENTQUEUEENROLMENT' - } - ], - [ - { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'STATUS', - 'value': 'pending' - }, - { - 'children': [ - { - 'key': 'START_TIME', - 'value': '2010-07-23T14:55:55.542261+00:00' - }, - { - 'key': 'END_TIME', - 'value': '2008-11-04T18:51:30.730104+00:00' - }, - { - 'key': 'CREATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'FrTcm' - }, - { - 'key': 'ORGANISATION', - 'value': 'Carroll, Adams and Evans' - }, - { - 'key': 'CONTACT_PERSON', - 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'OCCURRENCE' - } - ], - 'key': 'ENROLMENT' - }, - { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'STATUS', - 'value': 'pending' - }, - { - 'children': [ - { - 'key': 'START_TIME', - 'value': '2004-12-30T07:48:32.863351+00:00' - }, - { - 'key': 'END_TIME', - 'value': '1983-05-12T23:37:18.020950+00:00' - }, - { - 'key': 'CREATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'IWSGq' - }, - { - 'key': 'ORGANISATION', - 'value': 'Moore, Ryan and Morris' - }, - { - 'key': 'CONTACT_PERSON', - 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'OCCURRENCE' - } - ], - 'key': 'ENROLMENT' - }, - { - 'children': [ - { - 'key': 'ENROLMENT_TIME', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'STATUS', - 'value': 'pending' - }, - { - 'children': [ - { - 'key': 'START_TIME', - 'value': '1975-04-25T05:34:32.227218+00:00' - }, - { - 'key': 'END_TIME', - 'value': '2007-03-16T16:41:40.163531+00:00' - }, - { - 'key': 'CREATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'UPDATED_AT', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'children': [ - { - 'key': 'LINKED_EVENT_ID', - 'value': 'ulLnD' - }, - { - 'key': 'ORGANISATION', - 'value': 'Guerrero-Powell' - }, - { - 'key': 'CONTACT_PERSON', - 'value': 'Tina Wilson, +1-910-423-2028x130, fhuynh@example.org' - } - ], - 'key': 'PALVELUTARJOTINEVENT' - } - ], - 'key': 'OCCURRENCE' - } - ], - 'key': 'ENROLMENT' - } - ] - ], - 'key': 'PERSON' - } - ], - 'key': 'USER' -} - -snapshots['test_get_profile_data_from_gdpr_api[Simple User, Deleted] 1'] = { - 'children': [ - { - 'key': 'UUID', - 'value': '26850000-2e85-11ea-b347-acde48001122' - }, - { - 'key': 'USERNAME', - 'value': 'u-e2cqaaboqui6vm2hvtpeqaarei' - }, - { - 'key': 'FIRST_NAME', - 'value': '' - }, - { - 'key': 'LAST_NAME', - 'value': '' - }, - { - 'key': 'EMAIL', - 'value': '' - }, - { - 'key': 'LAST_LOGIN', - 'value': None - }, - { - 'key': 'DATE_JOINED', - 'value': '2020-01-04T00:00:00+00:00' - } - ], - 'key': 'USER' -} - -snapshots['test_get_profile_data_from_gdpr_api[Simple User, Undeleted] 1'] = { - 'children': [ - { - 'key': 'UUID', - 'value': '26850000-2e85-11ea-b347-acde48001122' - }, - { - 'key': 'USERNAME', - 'value': 'jeffersonkimberly_3MmHFh' - }, - { - 'key': 'FIRST_NAME', - 'value': 'Alexis' - }, - { - 'key': 'LAST_NAME', - 'value': 'Black' - }, - { - 'key': 'EMAIL', - 'value': 'joshuajohnson@example.com' - }, - { - 'key': 'LAST_LOGIN', - 'value': '2020-01-04T00:00:00+00:00' - }, - { - 'key': 'DATE_JOINED', - 'value': '2020-01-04T00:00:00+00:00' - } - ], - 'key': 'USER' -} diff --git a/gdpr/tests/test_gdpr_api.py b/gdpr/tests/test_gdpr_api.py index 9b85494e..1ccb332f 100644 --- a/gdpr/tests/test_gdpr_api.py +++ b/gdpr/tests/test_gdpr_api.py @@ -301,30 +301,26 @@ def test_delete_profile_data_from_gdpr_api( enrolment = Enrolment.objects.first() assert enrolment.person is None assert enrolment.study_group.person is None - snapshot.assert_match( - enrolment.serialize(), - "enrolment should exist " - "but not contain any person related sensitive data after deletion", - ) + # enrolment should exist but not contain any person related sensitive data after + # deletion + snapshot.assert_match(enrolment.serialize()) if study_group_count: study_group = StudyGroup.objects.first() # TODO: Should the study_group.person be cleared? # assert study_group.person is None - snapshot.assert_match( - study_group.serialize(), - "study group should exist " - "but not contain any person related sensitive data after deletion", - ) + + # study group should exist but not contain any person related sensitive data + # after deletion + snapshot.assert_match(study_group.serialize()) if event_queue_enrolment_count: event_queue_enrolment = EventQueueEnrolment.objects.first() assert event_queue_enrolment.person is None # TODO: Should the enrolment.study_group.person be cleared? # assert event_queue_enrolment.study_group.person is None - snapshot.assert_match( - event_queue_enrolment.serialize(), - "event queue enrolment should exist " - "but not contain any person related sensitive data after deletion", - ) + + # event queue enrolment should exist but not contain any person related + # sensitive data after deletion + snapshot.assert_match(event_queue_enrolment.serialize()) @pytest.mark.django_db diff --git a/graphene_linked_events/tests/__snapshots__/test_api.ambr b/graphene_linked_events/tests/__snapshots__/test_api.ambr new file mode 100644 index 00000000..0c8be71b --- /dev/null +++ b/graphene_linked_events/tests/__snapshots__/test_api.ambr @@ -0,0 +1,1932 @@ +# serializer version: 1 +# name: test_create_event + dict({ + 'data': dict({ + 'addEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'description': dict({ + 'en': 'desc en', + 'fi': 'desc', + 'sv': 'desc sv', + }), + 'id': 'helsinki:afy6aghr2y', + 'infoUrl': None, + 'keywords': list([ + dict({ + 'id': None, + }), + ]), + 'location': dict({ + 'id': None, + }), + 'offers': list([ + dict({ + 'isFree': False, + }), + ]), + 'pEvent': dict({ + 'autoAcceptance': True, + 'autoAcceptanceMessage': 'Automaattisen hyväksynnän viesti', + 'contactEmail': 'contact@email.me', + 'contactPerson': dict({ + 'name': 'Sean Rocha', + }), + 'contactPhoneNumber': '123123', + 'enrolmentEndDays': 2, + 'enrolmentStart': '2020-06-06T16:40:48+00:00', + 'externalEnrolmentUrl': None, + 'isQueueingAllowed': True, + 'linkedEventId': 'helsinki:afy6aghr2y', + 'mandatoryAdditionalInformation': True, + 'neededOccurrences': 1, + 'organisation': dict({ + 'name': 'Chapman, Scott and Martin', + }), + 'translations': list([ + dict({ + 'autoAcceptanceMessage': 'Automaattisen hyväksynnän viesti', + 'languageCode': 'FI', + }), + dict({ + 'autoAcceptanceMessage': 'Custom message of auto approvance', + 'languageCode': 'EN', + }), + ]), + }), + 'shortDescription': dict({ + 'en': 'short desc en', + 'fi': 'short desc', + 'sv': 'short desc sv', + }), + 'startTime': '2020-05-05', + }), + 'statusCode': 201, + }), + }), + }), + }) +# --- +# name: test_create_event_with_external_enrolment + dict({ + 'data': dict({ + 'addEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'description': dict({ + 'en': 'desc en', + 'fi': 'desc', + 'sv': 'desc sv', + }), + 'id': 'helsinki:afy6aghr2y', + 'infoUrl': None, + 'keywords': list([ + dict({ + 'id': None, + }), + ]), + 'location': dict({ + 'id': None, + }), + 'offers': list([ + dict({ + 'isFree': False, + }), + ]), + 'pEvent': dict({ + 'autoAcceptance': False, + 'autoAcceptanceMessage': 'Automaattisen hyväksynnän viesti', + 'contactEmail': 'contact@email.me', + 'contactPerson': dict({ + 'name': 'Sean Rocha', + }), + 'contactPhoneNumber': '123123', + 'enrolmentEndDays': None, + 'enrolmentStart': None, + 'externalEnrolmentUrl': 'http://test.org', + 'isQueueingAllowed': True, + 'linkedEventId': 'helsinki:afy6aghr2y', + 'mandatoryAdditionalInformation': True, + 'neededOccurrences': 0, + 'organisation': dict({ + 'name': 'Chapman, Scott and Martin', + }), + 'translations': list([ + dict({ + 'autoAcceptanceMessage': 'Automaattisen hyväksynnän viesti', + 'languageCode': 'FI', + }), + dict({ + 'autoAcceptanceMessage': 'Custom message of auto approvance', + 'languageCode': 'EN', + }), + ]), + }), + 'shortDescription': dict({ + 'en': 'short desc en', + 'fi': 'short desc', + 'sv': 'short desc sv', + }), + 'startTime': '2020-05-05', + }), + 'statusCode': 201, + }), + }), + }), + }) +# --- +# name: test_create_event_without_enrolment + dict({ + 'data': dict({ + 'addEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'description': dict({ + 'en': 'desc en', + 'fi': 'desc', + 'sv': 'desc sv', + }), + 'id': 'helsinki:afy6aghr2y', + 'infoUrl': None, + 'keywords': list([ + dict({ + 'id': None, + }), + ]), + 'location': dict({ + 'id': None, + }), + 'offers': list([ + dict({ + 'isFree': False, + }), + ]), + 'pEvent': dict({ + 'autoAcceptance': False, + 'autoAcceptanceMessage': 'Automaattisen hyväksynnän viesti', + 'contactEmail': 'contact@email.me', + 'contactPerson': dict({ + 'name': 'Sean Rocha', + }), + 'contactPhoneNumber': '123123', + 'enrolmentEndDays': None, + 'enrolmentStart': None, + 'externalEnrolmentUrl': None, + 'isQueueingAllowed': True, + 'linkedEventId': 'helsinki:afy6aghr2y', + 'mandatoryAdditionalInformation': True, + 'neededOccurrences': 0, + 'organisation': dict({ + 'name': 'Chapman, Scott and Martin', + }), + 'translations': list([ + dict({ + 'autoAcceptanceMessage': 'Automaattisen hyväksynnän viesti', + 'languageCode': 'FI', + }), + dict({ + 'autoAcceptanceMessage': 'Custom message of auto approvance', + 'languageCode': 'EN', + }), + ]), + }), + 'shortDescription': dict({ + 'en': 'short desc en', + 'fi': 'short desc', + 'sv': 'short desc sv', + }), + 'startTime': '2020-05-05', + }), + 'statusCode': 201, + }), + }), + }), + }) +# --- +# name: test_create_event_without_p_event_translations + dict({ + 'data': dict({ + 'addEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'description': dict({ + 'en': 'desc en', + 'fi': 'desc', + 'sv': 'desc sv', + }), + 'id': 'helsinki:afy6aghr2y', + 'infoUrl': None, + 'keywords': list([ + dict({ + 'id': None, + }), + ]), + 'location': dict({ + 'id': None, + }), + 'offers': list([ + dict({ + 'isFree': False, + }), + ]), + 'pEvent': dict({ + 'autoAcceptance': True, + 'autoAcceptanceMessage': None, + 'contactEmail': 'contact@email.me', + 'contactPerson': dict({ + 'name': 'Sean Rocha', + }), + 'contactPhoneNumber': '123123', + 'enrolmentEndDays': 2, + 'enrolmentStart': '2020-06-06T16:40:48+00:00', + 'externalEnrolmentUrl': None, + 'isQueueingAllowed': True, + 'linkedEventId': 'helsinki:afy6aghr2y', + 'mandatoryAdditionalInformation': True, + 'neededOccurrences': 1, + 'organisation': dict({ + 'name': 'Chapman, Scott and Martin', + }), + 'translations': list([ + ]), + }), + 'shortDescription': dict({ + 'en': 'short desc en', + 'fi': 'short desc', + 'sv': 'short desc sv', + }), + 'startTime': '2020-05-05', + }), + 'statusCode': 201, + }), + }), + }), + }) +# --- +# name: test_delete_event + dict({ + 'data': dict({ + 'deleteEventMutation': dict({ + 'response': dict({ + 'body': None, + 'statusCode': 204, + }), + }), + }), + }) +# --- +# name: test_delete_image + dict({ + 'data': dict({ + 'deleteImageMutation': dict({ + 'response': dict({ + 'statusCode': 204, + }), + }), + }), + }) +# --- +# name: test_get_event + dict({ + 'data': dict({ + 'event': dict({ + 'activities': list([ + dict({ + 'id': 'helfi:12', + }), + ]), + 'additionalCriteria': list([ + dict({ + 'id': 'helfi:12', + }), + ]), + 'audience': list([ + ]), + 'audienceMaxAge': None, + 'audienceMinAge': None, + 'categories': list([ + dict({ + 'id': 'helfi:12', + }), + ]), + 'createdTime': '2019-12-13T12:49:40.545273Z', + 'customData': None, + 'dataSource': 'helsinki', + 'datePublished': None, + 'description': dict({ + 'en': '

Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. The work is painterly, spatial and musical all at once, offering visitors an opportunity to shape the space with their own creativity.

The exhibition title, Blick (Gaze), is a reference to visual artist Wassily Kandinsky’s poem from 1912 that is included in the soundscape by Kaija Saariaho. The gazes of the two artists are brought together in a three-dimensional space.

The exhibition is a multisensory experience that invites people to stay. In a world made up of the colours and sounds of Malka and Saariaho, visitors can build their own arrangements.

Amos Rex
10.6.-30.8.

Mon, Fri 11.00-18.00
Wed, Thu 11.00-20.00
Sat, Sun 11.00-17.00

Admission fee 5-15€, under 18 yrs free entry

', + 'fi': '

Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. Teos on yhtä aikaa maalauksellinen, tilallinen ja musiikillinen.

Näyttelyn nimi Blick (Katse) viittaa kuvataiteilija Wassily Kandinskyn 1912 julkaistuun runoon, joka sisältyy Kaija Saariahon näyttelyssä kuultavaan äänimaisemaan. Kahden taiteilijan katseet yhdistyvät näyttelyn kolmiulotteisessa tilassa.

Näyttely on moniaistinen kokonaisuus, joka houkuttelee viipymään. Kävijä voi rakentaa omia asetelmiaan Malkan ja Saariahon väri- ja äänimaailmaan.

Amos Rex
10.6.-30.8.

ma, pe klo 11-18
ke, to klo 11-20
la, su klo 11-17

Sisäänpääsy 5-15€, alle 18-vuotiaille vapaa pääsy

', + 'sv': '

Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren. Deras verk är på en och samma gång måleriskt, rumsligt och musikaliskt.

Utställningstiteln, Blick, syftar på bildkonstnären Wassily Kandinskys dikt från 1912. Texten ingår i Kaija Saariahos ljuder i utställningen. De två konstnärernas blickar möts i det tredimensionella utställningsutrymmet.

Utställningen utgör en sinnlig helhet som lockar besökare att dröja kvar. De kan bidra till Malkas och Saariahos färg- och ljudvärld med sina egna byggstenar.

Amos Rex
10.6.-30.8.

må, fre kl 11-18
ons, to kl 11-20
lö, sö kl 11-17

Inträde 5-15€, under 18 år fritt inträde

', + }), + 'endTime': None, + 'enrolmentEndTime': None, + 'enrolmentStartTime': None, + 'eventStatus': 'EventPostponed', + 'externalLinks': list([ + ]), + 'id': 'helsinki:afxp6tv4xa', + 'images': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/image/61106/', + }), + ]), + 'inLanguage': list([ + ]), + 'infoUrl': dict({ + 'en': 'http://www.amosrex.fi', + 'fi': 'http://www.amosrex.fi', + 'sv': 'http://www.amosrex.fi', + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/', + 'internalType': 'Event/LinkedEvent', + 'keywords': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/helfi:12/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p5121/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p6889/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p1808/', + }), + ]), + 'lastModifiedTime': '2020-05-05T09:24:58.569334Z', + 'localizationExtraInfo': None, + 'location': dict({ + 'internalId': 'https://linkedevents.api.test.hel.ninja/v1/place/tprek:15321/', + }), + 'maximumAttendeeCapacity': None, + 'minimumAttendeeCapacity': None, + 'name': dict({ + 'en': 'Raija Malka & Kaija Saariaho: Blick', + 'fi': 'Raija Malka & Kaija Saariaho: Blick', + 'sv': 'Raija Malka & Kaija Saariaho: Blick', + }), + 'offers': list([ + dict({ + 'isFree': False, + }), + ]), + 'provider': dict({ + 'en': 'Amos Rex', + 'fi': 'Amos Rex', + 'sv': 'Amos Rex', + }), + 'providerContactInfo': None, + 'publicationStatus': 'public', + 'publisher': 'ytj:0586977-6', + 'remainingAttendeeCapacity': None, + 'shortDescription': dict({ + 'en': 'Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. ', + 'fi': 'Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. ', + 'sv': 'Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren.', + }), + 'startTime': None, + 'subEvents': list([ + ]), + 'superEvent': None, + 'superEventType': None, + }), + }), + }) +# --- +# name: test_get_event_not_found + dict({ + 'data': dict({ + 'event': None, + }), + 'errors': list([ + dict({ + 'extensions': dict({ + 'code': 'GENERAL_ERROR', + }), + 'locations': list([ + dict({ + 'column': 3, + 'line': 3, + }), + ]), + 'message': 'A mocked generic HTTP error', + 'path': list([ + 'event', + ]), + }), + ]), + }) +# --- +# name: test_get_event_without_location + dict({ + 'data': dict({ + 'event': dict({ + 'activities': list([ + dict({ + 'id': 'helfi:12', + }), + ]), + 'additionalCriteria': list([ + dict({ + 'id': 'helfi:12', + }), + ]), + 'audience': list([ + ]), + 'audienceMaxAge': None, + 'audienceMinAge': None, + 'categories': list([ + dict({ + 'id': 'helfi:12', + }), + ]), + 'createdTime': '2019-12-13T12:49:40.545273Z', + 'customData': None, + 'dataSource': 'helsinki', + 'datePublished': None, + 'description': dict({ + 'en': '

Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. The work is painterly, spatial and musical all at once, offering visitors an opportunity to shape the space with their own creativity.

The exhibition title, Blick (Gaze), is a reference to visual artist Wassily Kandinsky’s poem from 1912 that is included in the soundscape by Kaija Saariaho. The gazes of the two artists are brought together in a three-dimensional space.

The exhibition is a multisensory experience that invites people to stay. In a world made up of the colours and sounds of Malka and Saariaho, visitors can build their own arrangements.

Amos Rex
10.6.-30.8.

Mon, Fri 11.00-18.00
Wed, Thu 11.00-20.00
Sat, Sun 11.00-17.00

Admission fee 5-15€, under 18 yrs free entry

', + 'fi': '

Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. Teos on yhtä aikaa maalauksellinen, tilallinen ja musiikillinen.

Näyttelyn nimi Blick (Katse) viittaa kuvataiteilija Wassily Kandinskyn 1912 julkaistuun runoon, joka sisältyy Kaija Saariahon näyttelyssä kuultavaan äänimaisemaan. Kahden taiteilijan katseet yhdistyvät näyttelyn kolmiulotteisessa tilassa.

Näyttely on moniaistinen kokonaisuus, joka houkuttelee viipymään. Kävijä voi rakentaa omia asetelmiaan Malkan ja Saariahon väri- ja äänimaailmaan.

Amos Rex
10.6.-30.8.

ma, pe klo 11-18
ke, to klo 11-20
la, su klo 11-17

Sisäänpääsy 5-15€, alle 18-vuotiaille vapaa pääsy

', + 'sv': '

Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren. Deras verk är på en och samma gång måleriskt, rumsligt och musikaliskt.

Utställningstiteln, Blick, syftar på bildkonstnären Wassily Kandinskys dikt från 1912. Texten ingår i Kaija Saariahos ljuder i utställningen. De två konstnärernas blickar möts i det tredimensionella utställningsutrymmet.

Utställningen utgör en sinnlig helhet som lockar besökare att dröja kvar. De kan bidra till Malkas och Saariahos färg- och ljudvärld med sina egna byggstenar.

Amos Rex
10.6.-30.8.

må, fre kl 11-18
ons, to kl 11-20
lö, sö kl 11-17

Inträde 5-15€, under 18 år fritt inträde

', + }), + 'endTime': None, + 'enrolmentEndTime': None, + 'enrolmentStartTime': None, + 'eventStatus': 'EventPostponed', + 'externalLinks': list([ + ]), + 'id': 'helsinki:afxp6tv4xa', + 'images': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/image/61106/', + }), + ]), + 'inLanguage': list([ + ]), + 'infoUrl': dict({ + 'en': 'http://www.amosrex.fi', + 'fi': 'http://www.amosrex.fi', + 'sv': 'http://www.amosrex.fi', + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/', + 'internalType': 'Event/LinkedEvent', + 'keywords': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/helfi:12/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p5121/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p6889/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p1808/', + }), + ]), + 'lastModifiedTime': '2020-05-05T09:24:58.569334Z', + 'localizationExtraInfo': None, + 'location': dict({ + 'internalId': 'https://linkedevents.api.test.hel.ninja/v1/place/tprek:15321/', + }), + 'maximumAttendeeCapacity': None, + 'minimumAttendeeCapacity': None, + 'name': dict({ + 'en': 'Raija Malka & Kaija Saariaho: Blick', + 'fi': 'Raija Malka & Kaija Saariaho: Blick', + 'sv': 'Raija Malka & Kaija Saariaho: Blick', + }), + 'offers': list([ + dict({ + 'isFree': False, + }), + ]), + 'provider': dict({ + 'en': 'Amos Rex', + 'fi': 'Amos Rex', + 'sv': 'Amos Rex', + }), + 'providerContactInfo': None, + 'publicationStatus': 'public', + 'publisher': 'ytj:0586977-6', + 'remainingAttendeeCapacity': None, + 'shortDescription': dict({ + 'en': 'Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. ', + 'fi': 'Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. ', + 'sv': 'Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren.', + }), + 'startTime': None, + 'subEvents': list([ + ]), + 'superEvent': None, + 'superEventType': None, + }), + }), + }) +# --- +# name: test_get_events + dict({ + 'data': dict({ + 'events': dict({ + 'data': list([ + dict({ + 'audience': list([ + ]), + 'audienceMaxAge': None, + 'audienceMinAge': None, + 'createdTime': '2020-05-05T09:27:45.644890Z', + 'customData': None, + 'dataSource': 'helsinki', + 'datePublished': None, + 'description': dict({ + 'en': None, + 'fi': '

Tule kuulolle ja kysymään muun muassa Viikin, Pukinmäen, Puistolan, Suutarilan, Pihlajamäen, Tapanilan ja Malmin ajankohtaisista suunnitteluasioista. Koilliseen suunnitellaan uusia asuntoja ja liiketiloja, kadut ja viheralueet kohenevat.
Malmin lentokentän alueelle suunnitellaan asuntoja noin 25 000 ihmiselle ja Viikin-Malmin pikaraitiotiestä kaavaillaan koillisen uutta raideyhteyttä. Asemanseuduilla eli Tapulikaupunki – Puistola -alueella ja Pukinmäessä hahmotellaan kehittämisperiaatteita. Raide-Jokerin rakentaminen edistyy.
Osallistu kotisohvaltasi kaavoituksen sekä liikenteen ja puistojen suunnittelun tilaisuuteen maanantaina 1.6. klo 17−19. Kirjaudu sisään jo klo 16.45. Lisätietoa, ohjeet, liittymislinkki ja vinkit ennakko-osallistumisesta: hel.fi/suunnitelmat.

Esittelyssä mukana olevat hankkeet:
Asemakaavoitus ja muu maankäytön suunnittelu / Ota kantaa juuri nyt
· Malmin uimahallin laajennus
· Malmin energiakortteli Tattarisuon teollisuusalueen eteläpuolelle

Kadut, puistot ja viheralueet / Ota kantaa juuri nyt
· Katariina Saksilaisen kadun eteläosan katusuunnitelma ja Pornaistenniemen puistosuunnitelma, jotka sisältävät pyöräliikenteen baanayhteyden
· Kivikon puistosilta, joka ylittää Lahdenväylän ja johtaa lentokenttäalueelta Kivikon ulkoilupuistoon
· Maatullinkujan katusuunnitelma välillä Henrik Forsiuksen tie - Kämnerintie
· Suutarilan alueen katusuunnitelmia: Jupiterintie, Marsintie, Merkuriuksentie, Pikkaraistie, Riimukuja, Saturnuksentie ja Uranuksentie

Ajankohtaiskatsaus – missä mennään muiden koillisen hankkeiden kanssa
· Lentoasemankorttelit
· Lentokenttäalueen puistokilpailu ja väliaikaiskäytön ajankohtaiset suunnitelmat
· Malmin keskustan suunnittelutilanne
· Pukinmäki, Säterinportti 3, Säterintie 7-9, Madetojankuja 1
· Pukinmäki, Rälssintien ja Isonkaivontien alueet
· Malmi, (Pihlajamäki), Rapakivenkuja 2 Pihlajamäen ostoskeskus
· Tapanilan asemanseudun eteläosa
· Töyrynummi, Puutarhakortteli
· Tapulikaupunki, Kämnerintie
· Viikki, Maakaarenkuja 2 ja Aleksanteri Nevskin katu
· Mellunkylä, Kivikon pelastusasematontti (helikopterikenttä)
· Tapulikaupunki ja Puistolan asemanseutu
· Pukinmäen täydennysrakentaminen
· Viikin-Malmin pikaraitiotie
· Raide-Jokerin rakentamistilanne
· Vanhan Porvoontien suunnittelu välillä Suurmetsäntie-Heikinlaaksontie, sisältää melusuojauksen suunnittelun

', + 'sv': None, + }), + 'endTime': '2020-06-01T16:00:00Z', + 'enrolmentEndTime': None, + 'enrolmentStartTime': None, + 'eventStatus': 'EventScheduled', + 'externalLinks': list([ + ]), + 'id': 'helsinki:afy6ikna3u', + 'images': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/image/64235/', + }), + ]), + 'inLanguage': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/language/fi/', + }), + ]), + 'infoUrl': dict({ + 'en': None, + 'fi': 'https://www.hel.fi/Helsinki/fi/asuminen-ja-ymparisto/kaavoitus/ajankohtaiset-suunnitelmat/', + 'sv': None, + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afy6ikna3u/', + 'internalType': 'Event/LinkedEvent', + 'keywords': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p15875/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p13980/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p14004/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p8270/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p15882/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p26626/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p8268/', + }), + ]), + 'lastModifiedTime': '2020-05-05T09:27:45.644920Z', + 'localizationExtraInfo': None, + 'location': dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/helsinki:internet/', + }), + 'maximumAttendeeCapacity': None, + 'minimumAttendeeCapacity': None, + 'name': dict({ + 'en': None, + 'fi': 'Uutta Koillis-Helsinkiä verkkotilaisuus', + 'sv': None, + }), + 'offers': list([ + dict({ + 'isFree': True, + }), + ]), + 'provider': None, + 'providerContactInfo': None, + 'publicationStatus': None, + 'publisher': 'ahjo:u541000', + 'remainingAttendeeCapacity': None, + 'shortDescription': dict({ + 'en': None, + 'fi': 'Tule kuulemaan ja keskustelemaan verkkoon uudistuvasta Koillis-Helsingistä omalta kotisohvaltasi. Juuri nyt voit vaikuttaa useisiin suunnittelukohteisiin!', + 'sv': None, + }), + 'startTime': '2020-06-01T13:45:00Z', + 'subEvents': list([ + ]), + 'superEvent': None, + 'superEventType': None, + }), + ]), + 'meta': dict({ + 'count': 151775, + 'next': 'https://api.hel.fi/linkedevents/v1/event/?page=2', + 'previous': None, + }), + }), + }), + }) +# --- +# name: test_get_events_with_occurrences + dict({ + 'data': dict({ + 'events': dict({ + 'data': list([ + dict({ + 'id': 'helsinki:afy6ikna3u', + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afy6ikna3u/', + 'pEvent': dict({ + 'lastOccurrenceDatetime': '2020-01-06T00:00:00+00:00', + 'nextOccurrenceDatetime': '2020-01-05T00:00:00+00:00', + }), + }), + dict({ + 'id': 'helsinki:afxp6tv4xa', + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/', + 'pEvent': dict({ + 'lastOccurrenceDatetime': '2020-01-06T00:00:00+00:00', + 'nextOccurrenceDatetime': '2020-01-05T00:00:00+00:00', + }), + }), + ]), + 'meta': dict({ + 'count': 151775, + 'next': 'https://api.hel.fi/linkedevents/v1/event/?page=2', + 'previous': None, + }), + }), + }), + }) +# --- +# name: test_get_keyword + dict({ + 'data': dict({ + 'keyword': dict({ + 'aggregate': False, + 'altLabels': list([ + 'spädbarn', + 'lapset', + 'imeväisikäiset', + 'barn', + ]), + 'createdTime': '2014-06-23T11:37:27.705000Z', + 'dataSource': 'yso', + 'deprecated': False, + 'id': 'yso:p4354', + 'image': None, + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p4354/', + 'internalType': 'Keyword', + 'lastModifiedTime': '2017-09-06T05:20:47.061426Z', + 'nEvents': 54082, + 'name': dict({ + 'en': 'children (age groups)', + 'fi': 'lapset (ikäryhmät)', + 'sv': 'barn (åldersgrupper)', + }), + 'publisher': 'hy:kansalliskirjasto', + }), + }), + }) +# --- +# name: test_get_keyword_set + dict({ + 'data': dict({ + 'keywordSet': dict({ + 'id': 'kultus:categories', + 'internalId': 'http://localhost:8080/v1/keyword_set/kultus:categories/', + 'keywords': list([ + dict({ + 'id': 'helfi:12', + 'internalId': 'http://localhost:8080/v1/keyword/yso:p27033/', + 'name': dict({ + 'en': "Valentine's Day", + 'fi': 'ystävänpäivä', + 'sv': 'alla hjärtans dag', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_get_keyword_set.1 + dict({ + 'data': dict({ + 'keywordSet': dict({ + 'id': 'kultus:categories', + 'internalId': 'http://localhost:8080/v1/keyword_set/kultus:categories/', + 'keywords': list([ + dict({ + 'id': 'helfi:12', + 'internalId': 'http://localhost:8080/v1/keyword/yso:p27033/', + 'name': dict({ + 'en': "Valentine's Day", + 'fi': 'ystävänpäivä', + 'sv': 'alla hjärtans dag', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_get_keyword_set.2 + dict({ + 'data': dict({ + 'keywordSet': dict({ + 'id': 'kultus:categories', + 'internalId': 'http://localhost:8080/v1/keyword_set/kultus:categories/', + 'keywords': list([ + dict({ + 'id': 'helfi:12', + 'internalId': 'http://localhost:8080/v1/keyword/yso:p27033/', + 'name': dict({ + 'en': "Valentine's Day", + 'fi': 'ystävänpäivä', + 'sv': 'alla hjärtans dag', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_get_keyword_set.3 + dict({ + 'data': dict({ + 'keywordSet': dict({ + 'id': 'kultus:categories', + 'internalId': 'http://localhost:8080/v1/keyword_set/kultus:categories/', + 'keywords': list([ + dict({ + 'id': 'helfi:12', + 'internalId': 'http://localhost:8080/v1/keyword/yso:p27033/', + 'name': dict({ + 'en': "Valentine's Day", + 'fi': 'ystävänpäivä', + 'sv': 'alla hjärtans dag', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_get_keywords + dict({ + 'data': dict({ + 'keywords': dict({ + 'data': list([ + dict({ + 'aggregate': False, + 'altLabels': list([ + 'spädbarn', + 'lapset', + 'imeväisikäiset', + 'barn', + ]), + 'createdTime': '2014-06-23T11:37:27.705000Z', + 'dataSource': 'yso', + 'deprecated': False, + 'id': 'yso:p4354', + 'image': None, + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p4354/', + 'internalType': 'Keyword', + 'lastModifiedTime': '2017-09-06T05:20:47.061426Z', + 'nEvents': 54082, + 'name': dict({ + 'en': 'children (age groups)', + 'fi': 'lapset (ikäryhmät)', + 'sv': 'barn (åldersgrupper)', + }), + 'publisher': 'hy:kansalliskirjasto', + }), + dict({ + 'aggregate': False, + 'altLabels': list([ + 'ydinperheet', + 'perhe', + 'familjer (grupper)', + 'kärnfamiljer', + 'familj', + ]), + 'createdTime': '2014-06-23T11:37:28.246000Z', + 'dataSource': 'yso', + 'deprecated': False, + 'id': 'yso:p4363', + 'image': None, + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p4363/', + 'internalType': 'Keyword', + 'lastModifiedTime': '2019-05-11T04:20:04.577893Z', + 'nEvents': 29262, + 'name': dict({ + 'en': 'families', + 'fi': 'perheet', + 'sv': 'familjer', + }), + 'publisher': 'hy:kansalliskirjasto', + }), + ]), + 'meta': dict({ + 'count': 1992, + 'next': 'https://api.hel.fi/linkedevents/v1/keyword/?page=2&page_size=2', + 'previous': None, + }), + }), + }), + }) +# --- +# name: test_get_place + dict({ + 'data': dict({ + 'place': dict({ + 'addressCountry': None, + 'addressLocality': dict({ + 'en': 'Espoo', + 'fi': 'Espoo', + 'sv': 'Esbo', + }), + 'addressRegion': None, + 'contactType': None, + 'createdTime': None, + 'customData': None, + 'dataSource': 'tprek', + 'deleted': False, + 'description': None, + 'divisions': list([ + dict({ + 'municipality': None, + 'ocdId': None, + }), + ]), + 'email': 'sellonkirjasto@espoo.fi', + 'id': 'tprek:15417', + 'image': 54259, + 'infoUrl': dict({ + 'en': 'http://www.helmet.fi/sellolibrary', + 'fi': 'http://www.helmet.fi/sello', + 'sv': 'http://www.helmet.fi/sellobiblioteket', + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15417/', + 'internalType': 'Place', + 'lastModifiedTime': '2020-04-25T05:09:10.712132Z', + 'nEvents': 27264, + 'name': dict({ + 'en': 'Sello Library', + 'fi': 'Sellon kirjasto', + 'sv': 'Sellobiblioteket', + }), + 'parent': None, + 'position': dict({ + 'coordinates': list([ + 24.80992, + 60.21748, + ]), + 'type': 'Point', + }), + 'postOfficeBoxNum': None, + 'postalCode': '02600', + 'publisher': 'ahjo:u021600', + 'replacedBy': None, + 'streetAddress': dict({ + 'en': 'Leppävaarankatu 9', + 'fi': 'Leppävaarankatu 9', + 'sv': 'Albergagatan 9', + }), + 'telephone': dict({ + 'en': None, + 'fi': '+358 9 8165 7603', + 'sv': None, + }), + }), + }), + }) +# --- +# name: test_get_places + dict({ + 'data': dict({ + 'places': dict({ + 'data': list([ + dict({ + 'addressCountry': None, + 'addressLocality': dict({ + 'en': 'Espoo', + 'fi': 'Espoo', + 'sv': 'Esbo', + }), + 'addressRegion': None, + 'contactType': None, + 'createdTime': None, + 'customData': None, + 'dataSource': 'tprek', + 'deleted': False, + 'description': None, + 'divisions': list([ + dict({ + 'municipality': None, + 'ocdId': None, + }), + ]), + 'email': 'sellonkirjasto@espoo.fi', + 'id': 'tprek:15417', + 'image': 54259, + 'infoUrl': dict({ + 'en': 'http://www.helmet.fi/sellolibrary', + 'fi': 'http://www.helmet.fi/sello', + 'sv': 'http://www.helmet.fi/sellobiblioteket', + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15417/', + 'internalType': 'Place', + 'lastModifiedTime': '2020-04-25T05:09:10.712132Z', + 'nEvents': 27264, + 'name': dict({ + 'en': 'Sello Library', + 'fi': 'Sellon kirjasto', + 'sv': 'Sellobiblioteket', + }), + 'parent': None, + 'position': dict({ + 'coordinates': list([ + 24.80992, + 60.21748, + ]), + 'type': 'Point', + }), + 'postOfficeBoxNum': None, + 'postalCode': '02600', + 'publisher': 'ahjo:u021600', + 'replacedBy': None, + 'streetAddress': dict({ + 'en': 'Leppävaarankatu 9', + 'fi': 'Leppävaarankatu 9', + 'sv': 'Albergagatan 9', + }), + 'telephone': dict({ + 'en': None, + 'fi': '+358 9 8165 7603', + 'sv': None, + }), + }), + dict({ + 'addressCountry': None, + 'addressLocality': dict({ + 'en': 'Espoo', + 'fi': 'Espoo', + 'sv': 'Esbo', + }), + 'addressRegion': None, + 'contactType': None, + 'createdTime': None, + 'customData': None, + 'dataSource': 'tprek', + 'deleted': False, + 'description': None, + 'divisions': list([ + dict({ + 'municipality': None, + 'ocdId': None, + }), + ]), + 'email': 'kirjasto.entresse@espoo.fi', + 'id': 'tprek:15321', + 'image': 54251, + 'infoUrl': dict({ + 'en': 'http://www.helmet.fi/entressebibliotek', + 'fi': 'http://www.helmet.fi/entressenkirjasto', + 'sv': 'http://www.helmet.fi/entressebibliotek', + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15321/', + 'internalType': 'Place', + 'lastModifiedTime': '2019-09-19T14:10:59.747979Z', + 'nEvents': 7745, + 'name': dict({ + 'en': 'Entresse Library', + 'fi': 'Entressen kirjasto', + 'sv': 'Entressebiblioteket', + }), + 'parent': None, + 'position': dict({ + 'coordinates': list([ + 24.657864, + 60.203636, + ]), + 'type': 'Point', + }), + 'postOfficeBoxNum': None, + 'postalCode': '02770', + 'publisher': 'ahjo:u021600', + 'replacedBy': None, + 'streetAddress': dict({ + 'en': 'Siltakatu 11', + 'fi': 'Siltakatu 11', + 'sv': 'Brogatan 11', + }), + 'telephone': dict({ + 'en': None, + 'fi': '+358 9 8165 3776', + 'sv': None, + }), + }), + ]), + 'meta': dict({ + 'count': 1346, + 'next': 'https://api.hel.fi/linkedevents/v1/place/?page=2&page_size=2&show_all_places=', + 'previous': None, + }), + }), + }), + }) +# --- +# name: test_get_popular_kultus_keywords[None-None-1] + dict({ + 'data': dict({ + 'popularKultusKeywords': dict({ + 'data': list([ + dict({ + 'dataSource': 'yso', + 'id': 'yso:p84', + 'internalId': 'http://localhost:8080/v1/keyword/yso:p84/', + 'nEvents': 200, + 'name': dict({ + 'en': 'education and training', + 'fi': 'koulutus', + 'sv': 'utbildning', + }), + }), + ]), + 'meta': dict({ + 'count': 1, + }), + }), + }), + }) +# --- +# name: test_get_popular_kultus_keywords[True-1-1] + dict({ + 'data': dict({ + 'popularKultusKeywords': dict({ + 'data': list([ + dict({ + 'dataSource': 'yso', + 'id': 'yso:p84', + 'internalId': 'http://localhost:8080/v1/keyword/yso:p84/', + 'nEvents': 200, + 'name': dict({ + 'en': 'education and training', + 'fi': 'koulutus', + 'sv': 'utbildning', + }), + }), + ]), + 'meta': dict({ + 'count': 1, + }), + }), + }), + }) +# --- +# name: test_get_popular_kultus_keywords[True-None-2] + dict({ + 'data': dict({ + 'popularKultusKeywords': dict({ + 'data': list([ + dict({ + 'dataSource': 'yso', + 'id': 'yso:p84', + 'internalId': 'http://localhost:8080/v1/keyword/yso:p84/', + 'nEvents': 200, + 'name': dict({ + 'en': 'education and training', + 'fi': 'koulutus', + 'sv': 'utbildning', + }), + }), + dict({ + 'dataSource': 'yso', + 'id': 'helfi:12', + 'internalId': 'http://localhost:8080/v1/keyword/yso:p27033/', + 'nEvents': 0, + 'name': dict({ + 'en': "Valentine's Day", + 'fi': 'ystävänpäivä', + 'sv': 'alla hjärtans dag', + }), + }), + ]), + 'meta': dict({ + 'count': 2, + }), + }), + }), + }) +# --- +# name: test_get_upcoming_events[False-False-False] + dict({ + 'data': dict({ + 'upcomingEvents': dict({ + 'data': list([ + ]), + 'pageInfo': dict({ + 'hasNextPage': False, + 'hasPreviousPage': False, + 'page': 0, + 'pageSize': 10, + 'pages': 0, + 'totalCount': 0, + }), + }), + }), + }) +# --- +# name: test_get_upcoming_events[False-False-True] + dict({ + 'data': dict({ + 'upcomingEvents': dict({ + 'data': list([ + ]), + 'pageInfo': dict({ + 'hasNextPage': False, + 'hasPreviousPage': False, + 'page': 0, + 'pageSize': 10, + 'pages': 0, + 'totalCount': 0, + }), + }), + }), + }) +# --- +# name: test_get_upcoming_events[False-True-False] + dict({ + 'data': dict({ + 'upcomingEvents': dict({ + 'data': list([ + ]), + 'pageInfo': dict({ + 'hasNextPage': False, + 'hasPreviousPage': False, + 'page': 0, + 'pageSize': 10, + 'pages': 0, + 'totalCount': 0, + }), + }), + }), + }) +# --- +# name: test_get_upcoming_events[False-True-True] + dict({ + 'data': dict({ + 'upcomingEvents': dict({ + 'data': list([ + ]), + 'pageInfo': dict({ + 'hasNextPage': False, + 'hasPreviousPage': False, + 'page': 0, + 'pageSize': 10, + 'pages': 0, + 'totalCount': 0, + }), + }), + }), + }) +# --- +# name: test_get_upcoming_events[True-False-False] + dict({ + 'data': dict({ + 'upcomingEvents': dict({ + 'data': list([ + dict({ + 'id': 'kultus:3', + 'pEvent': dict({ + 'linkedEventId': 'kultus:3', + }), + }), + dict({ + 'id': 'kultus:2', + 'pEvent': dict({ + 'linkedEventId': 'kultus:2', + }), + }), + dict({ + 'id': 'kultus:1', + 'pEvent': dict({ + 'linkedEventId': 'kultus:1', + }), + }), + ]), + 'pageInfo': dict({ + 'hasNextPage': False, + 'hasPreviousPage': False, + 'page': 1, + 'pageSize': 10, + 'pages': 1, + 'totalCount': 3, + }), + }), + }), + }) +# --- +# name: test_get_upcoming_events[True-False-True] + dict({ + 'data': dict({ + 'upcomingEvents': dict({ + 'data': list([ + dict({ + 'id': 'kultus:3', + 'pEvent': dict({ + 'linkedEventId': 'kultus:3', + }), + }), + dict({ + 'id': 'kultus:2', + 'pEvent': dict({ + 'linkedEventId': 'kultus:2', + }), + }), + dict({ + 'id': 'kultus:1', + 'pEvent': dict({ + 'linkedEventId': 'kultus:1', + }), + }), + ]), + 'pageInfo': dict({ + 'hasNextPage': False, + 'hasPreviousPage': False, + 'page': 1, + 'pageSize': 10, + 'pages': 1, + 'totalCount': 3, + }), + }), + }), + }) +# --- +# name: test_get_upcoming_events[True-True-False] + dict({ + 'data': dict({ + 'upcomingEvents': dict({ + 'data': list([ + dict({ + 'id': 'kultus:3', + 'pEvent': dict({ + 'linkedEventId': 'kultus:3', + }), + }), + dict({ + 'id': 'kultus:2', + 'pEvent': dict({ + 'linkedEventId': 'kultus:2', + }), + }), + dict({ + 'id': 'kultus:1', + 'pEvent': dict({ + 'linkedEventId': 'kultus:1', + }), + }), + ]), + 'pageInfo': dict({ + 'hasNextPage': False, + 'hasPreviousPage': False, + 'page': 1, + 'pageSize': 10, + 'pages': 1, + 'totalCount': 3, + }), + }), + }), + }) +# --- +# name: test_get_upcoming_events[True-True-True] + dict({ + 'data': dict({ + 'upcomingEvents': dict({ + 'data': list([ + dict({ + 'id': 'kultus:3', + 'pEvent': dict({ + 'linkedEventId': 'kultus:3', + }), + }), + dict({ + 'id': 'kultus:2', + 'pEvent': dict({ + 'linkedEventId': 'kultus:2', + }), + }), + dict({ + 'id': 'kultus:1', + 'pEvent': dict({ + 'linkedEventId': 'kultus:1', + }), + }), + ]), + 'pageInfo': dict({ + 'hasNextPage': False, + 'hasPreviousPage': False, + 'page': 1, + 'pageSize': 10, + 'pages': 1, + 'totalCount': 3, + }), + }), + }), + }) +# --- +# name: test_image_query + dict({ + 'data': dict({ + 'image': dict({ + 'altText': 'Kaksi naista istuu tien laidassa', + 'cropping': '0,478,1920,2399', + 'dataSource': 'helsinki', + 'id': '64390', + 'name': 'Tuohtumus', + 'photographerName': 'Suomen Kansallisteatteri (c) Katri Naukkarinen', + 'url': 'https://api.hel.fi/linkedevents/media/images/49776780903_bf54fd7b90_o.jpg', + }), + }), + }) +# --- +# name: test_images_query + dict({ + 'data': dict({ + 'images': dict({ + 'data': list([ + dict({ + 'altText': 'Kaksi naista istuu tien laidassa', + 'cropping': '0,478,1920,2399', + 'dataSource': 'helsinki', + 'id': '64390', + 'name': 'Tuohtumus', + 'photographerName': 'Suomen Kansallisteatteri (c) Katri Naukkarinen', + 'url': 'https://api.hel.fi/linkedevents/media/images/49776780903_bf54fd7b90_o.jpg', + }), + dict({ + 'altText': None, + 'cropping': '', + 'dataSource': 'kulke', + 'id': '64389', + 'name': '', + 'photographerName': None, + 'url': 'http://www.vuotalo.fi/instancedata/prime_product_resurssivaraus/kulke/embeds/EventPic_671268.jpg', + }), + ]), + 'meta': dict({ + 'count': 64258, + 'next': 'https://api.hel.fi/linkedevents/v1/image/?page=2', + 'previous': None, + }), + }), + }), + }) +# --- +# name: test_nearby_events + dict({ + 'data': dict({ + 'events': dict({ + 'data': list([ + dict({ + 'id': 'helsinki:afy6ikna3u', + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afy6ikna3u/', + 'name': dict({ + 'en': None, + 'fi': 'Uutta Koillis-Helsinkiä verkkotilaisuus', + 'sv': None, + }), + }), + ]), + 'meta': dict({ + 'count': 151775, + 'next': 'https://api.hel.fi/linkedevents/v1/event/?page=2', + 'previous': None, + }), + }), + }), + }) +# --- +# name: test_publish_event[None] + dict({ + 'data': dict({ + 'publishEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'endTime': None, + 'id': 'helsinki:afy6aghr2y', + 'publicationStatus': 'public', + 'startTime': '2020-05-07', + }), + 'statusCode': 200, + }), + }), + }), + }) +# --- +# name: test_publish_event[p_event_enrolment_start1] + dict({ + 'data': dict({ + 'publishEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'endTime': None, + 'id': 'helsinki:afy6aghr2y', + 'publicationStatus': 'public', + 'startTime': '2020-05-07', + }), + 'statusCode': 200, + }), + }), + }), + }) +# --- +# name: test_publish_event_with_external_enrolments + dict({ + 'data': dict({ + 'publishEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'endTime': None, + 'id': 'helsinki:afy6aghr2y', + 'publicationStatus': 'public', + 'startTime': '2020-05-07', + }), + 'statusCode': 200, + }), + }), + }), + }) +# --- +# name: test_publish_event_without_enrolments + dict({ + 'data': dict({ + 'publishEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'endTime': None, + 'id': 'helsinki:afy6aghr2y', + 'publicationStatus': 'public', + 'startTime': '2020-05-07', + }), + 'statusCode': 200, + }), + }), + }), + }) +# --- +# name: test_search_events + dict({ + 'data': dict({ + 'eventsSearch': dict({ + 'data': list([ + dict({ + 'audience': list([ + ]), + 'audienceMaxAge': None, + 'audienceMinAge': None, + 'createdTime': '2020-05-05T09:27:45.644890Z', + 'customData': None, + 'dataSource': 'helsinki', + 'datePublished': None, + 'description': dict({ + 'en': None, + 'fi': '

Tule kuulolle ja kysymään muun muassa Viikin, Pukinmäen, Puistolan, Suutarilan, Pihlajamäen, Tapanilan ja Malmin ajankohtaisista suunnitteluasioista. Koilliseen suunnitellaan uusia asuntoja ja liiketiloja, kadut ja viheralueet kohenevat.
Malmin lentokentän alueelle suunnitellaan asuntoja noin 25 000 ihmiselle ja Viikin-Malmin pikaraitiotiestä kaavaillaan koillisen uutta raideyhteyttä. Asemanseuduilla eli Tapulikaupunki – Puistola -alueella ja Pukinmäessä hahmotellaan kehittämisperiaatteita. Raide-Jokerin rakentaminen edistyy.
Osallistu kotisohvaltasi kaavoituksen sekä liikenteen ja puistojen suunnittelun tilaisuuteen maanantaina 1.6. klo 17−19. Kirjaudu sisään jo klo 16.45. Lisätietoa, ohjeet, liittymislinkki ja vinkit ennakko-osallistumisesta: hel.fi/suunnitelmat.

Esittelyssä mukana olevat hankkeet:
Asemakaavoitus ja muu maankäytön suunnittelu / Ota kantaa juuri nyt
· Malmin uimahallin laajennus
· Malmin energiakortteli Tattarisuon teollisuusalueen eteläpuolelle

Kadut, puistot ja viheralueet / Ota kantaa juuri nyt
· Katariina Saksilaisen kadun eteläosan katusuunnitelma ja Pornaistenniemen puistosuunnitelma, jotka sisältävät pyöräliikenteen baanayhteyden
· Kivikon puistosilta, joka ylittää Lahdenväylän ja johtaa lentokenttäalueelta Kivikon ulkoilupuistoon
· Maatullinkujan katusuunnitelma välillä Henrik Forsiuksen tie - Kämnerintie
· Suutarilan alueen katusuunnitelmia: Jupiterintie, Marsintie, Merkuriuksentie, Pikkaraistie, Riimukuja, Saturnuksentie ja Uranuksentie

Ajankohtaiskatsaus – missä mennään muiden koillisen hankkeiden kanssa
· Lentoasemankorttelit
· Lentokenttäalueen puistokilpailu ja väliaikaiskäytön ajankohtaiset suunnitelmat
· Malmin keskustan suunnittelutilanne
· Pukinmäki, Säterinportti 3, Säterintie 7-9, Madetojankuja 1
· Pukinmäki, Rälssintien ja Isonkaivontien alueet
· Malmi, (Pihlajamäki), Rapakivenkuja 2 Pihlajamäen ostoskeskus
· Tapanilan asemanseudun eteläosa
· Töyrynummi, Puutarhakortteli
· Tapulikaupunki, Kämnerintie
· Viikki, Maakaarenkuja 2 ja Aleksanteri Nevskin katu
· Mellunkylä, Kivikon pelastusasematontti (helikopterikenttä)
· Tapulikaupunki ja Puistolan asemanseutu
· Pukinmäen täydennysrakentaminen
· Viikin-Malmin pikaraitiotie
· Raide-Jokerin rakentamistilanne
· Vanhan Porvoontien suunnittelu välillä Suurmetsäntie-Heikinlaaksontie, sisältää melusuojauksen suunnittelun

', + 'sv': None, + }), + 'endTime': '2020-06-01T16:00:00Z', + 'enrolmentEndTime': None, + 'enrolmentStartTime': None, + 'eventStatus': 'EventScheduled', + 'externalLinks': list([ + ]), + 'id': 'helsinki:afy6ikna3u', + 'images': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/image/64235/', + }), + ]), + 'inLanguage': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/language/fi/', + }), + ]), + 'infoUrl': dict({ + 'en': None, + 'fi': 'https://www.hel.fi/Helsinki/fi/asuminen-ja-ymparisto/kaavoitus/ajankohtaiset-suunnitelmat/', + 'sv': None, + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afy6ikna3u/', + 'internalType': 'Event/LinkedEvent', + 'keywords': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p15875/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p13980/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p14004/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p8270/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p15882/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p26626/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p8268/', + }), + ]), + 'lastModifiedTime': '2020-05-05T09:27:45.644920Z', + 'localizationExtraInfo': None, + 'location': dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/helsinki:internet/', + }), + 'maximumAttendeeCapacity': None, + 'minimumAttendeeCapacity': None, + 'name': dict({ + 'en': None, + 'fi': 'Uutta Koillis-Helsinkiä verkkotilaisuus', + 'sv': None, + }), + 'offers': list([ + dict({ + 'isFree': True, + }), + ]), + 'provider': None, + 'providerContactInfo': None, + 'publicationStatus': None, + 'publisher': 'ahjo:u541000', + 'remainingAttendeeCapacity': None, + 'shortDescription': dict({ + 'en': None, + 'fi': 'Tule kuulemaan ja keskustelemaan verkkoon uudistuvasta Koillis-Helsingistä omalta kotisohvaltasi. Juuri nyt voit vaikuttaa useisiin suunnittelukohteisiin!', + 'sv': None, + }), + 'startTime': '2020-06-01T13:45:00Z', + 'subEvents': list([ + ]), + 'superEvent': None, + 'superEventType': None, + }), + dict({ + 'audience': list([ + ]), + 'audienceMaxAge': None, + 'audienceMinAge': None, + 'createdTime': '2019-12-13T12:49:40.545273Z', + 'customData': None, + 'dataSource': 'helsinki', + 'datePublished': None, + 'description': dict({ + 'en': '

Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. The work is painterly, spatial and musical all at once, offering visitors an opportunity to shape the space with their own creativity.

The exhibition title, Blick (Gaze), is a reference to visual artist Wassily Kandinsky’s poem from 1912 that is included in the soundscape by Kaija Saariaho. The gazes of the two artists are brought together in a three-dimensional space.

The exhibition is a multisensory experience that invites people to stay. In a world made up of the colours and sounds of Malka and Saariaho, visitors can build their own arrangements.

Amos Rex
10.6.-30.8.

Mon, Fri 11.00-18.00
Wed, Thu 11.00-20.00
Sat, Sun 11.00-17.00

Admission fee 5-15€, under 18 yrs free entry

', + 'fi': '

Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. Teos on yhtä aikaa maalauksellinen, tilallinen ja musiikillinen.

Näyttelyn nimi Blick (Katse) viittaa kuvataiteilija Wassily Kandinskyn 1912 julkaistuun runoon, joka sisältyy Kaija Saariahon näyttelyssä kuultavaan äänimaisemaan. Kahden taiteilijan katseet yhdistyvät näyttelyn kolmiulotteisessa tilassa.

Näyttely on moniaistinen kokonaisuus, joka houkuttelee viipymään. Kävijä voi rakentaa omia asetelmiaan Malkan ja Saariahon väri- ja äänimaailmaan.

Amos Rex
10.6.-30.8.

ma, pe klo 11-18
ke, to klo 11-20
la, su klo 11-17

Sisäänpääsy 5-15€, alle 18-vuotiaille vapaa pääsy

', + 'sv': '

Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren. Deras verk är på en och samma gång måleriskt, rumsligt och musikaliskt.

Utställningstiteln, Blick, syftar på bildkonstnären Wassily Kandinskys dikt från 1912. Texten ingår i Kaija Saariahos ljuder i utställningen. De två konstnärernas blickar möts i det tredimensionella utställningsutrymmet.

Utställningen utgör en sinnlig helhet som lockar besökare att dröja kvar. De kan bidra till Malkas och Saariahos färg- och ljudvärld med sina egna byggstenar.

Amos Rex
10.6.-30.8.

må, fre kl 11-18
ons, to kl 11-20
lö, sö kl 11-17

Inträde 5-15€, under 18 år fritt inträde

', + }), + 'endTime': None, + 'enrolmentEndTime': None, + 'enrolmentStartTime': None, + 'eventStatus': 'EventPostponed', + 'externalLinks': list([ + ]), + 'id': 'helsinki:afxp6tv4xa', + 'images': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/image/61106/', + }), + ]), + 'inLanguage': list([ + ]), + 'infoUrl': dict({ + 'en': 'http://www.amosrex.fi', + 'fi': 'http://www.amosrex.fi', + 'sv': 'http://www.amosrex.fi', + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/', + 'internalType': 'Event/LinkedEvent', + 'keywords': list([ + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/helfi:12/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p5121/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p6889/', + }), + dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/keyword/yso:p1808/', + }), + ]), + 'lastModifiedTime': '2020-05-05T09:24:58.569334Z', + 'localizationExtraInfo': None, + 'location': dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:55959/', + }), + 'maximumAttendeeCapacity': None, + 'minimumAttendeeCapacity': None, + 'name': dict({ + 'en': 'Raija Malka & Kaija Saariaho: Blick', + 'fi': 'Raija Malka & Kaija Saariaho: Blick', + 'sv': 'Raija Malka & Kaija Saariaho: Blick', + }), + 'offers': list([ + dict({ + 'isFree': False, + }), + ]), + 'provider': dict({ + 'en': 'Amos Rex', + 'fi': 'Amos Rex', + 'sv': 'Amos Rex', + }), + 'providerContactInfo': None, + 'publicationStatus': None, + 'publisher': 'ytj:0586977-6', + 'remainingAttendeeCapacity': None, + 'shortDescription': dict({ + 'en': 'Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. ', + 'fi': 'Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. ', + 'sv': 'Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren.', + }), + 'startTime': None, + 'subEvents': list([ + ]), + 'superEvent': None, + 'superEventType': None, + }), + ]), + 'meta': dict({ + 'count': 151775, + 'next': 'https://api.hel.fi/linkedevents/v1/event/?page=2', + 'previous': None, + }), + }), + }), + }) +# --- +# name: test_search_places + dict({ + 'data': dict({ + 'placesSearch': dict({ + 'data': list([ + dict({ + 'addressCountry': None, + 'addressLocality': dict({ + 'en': 'Espoo', + 'fi': 'Espoo', + 'sv': 'Esbo', + }), + 'addressRegion': None, + 'contactType': None, + 'createdTime': None, + 'customData': None, + 'dataSource': 'tprek', + 'deleted': False, + 'description': None, + 'divisions': list([ + dict({ + 'municipality': None, + 'ocdId': None, + }), + ]), + 'email': 'sellonkirjasto@espoo.fi', + 'id': 'tprek:15417', + 'image': 54259, + 'infoUrl': dict({ + 'en': 'http://www.helmet.fi/sellolibrary', + 'fi': 'http://www.helmet.fi/sello', + 'sv': 'http://www.helmet.fi/sellobiblioteket', + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15417/', + 'internalType': 'Place', + 'lastModifiedTime': '2020-04-25T05:09:10.712132Z', + 'nEvents': 27264, + 'name': dict({ + 'en': 'Sello Library', + 'fi': 'Sellon kirjasto', + 'sv': 'Sellobiblioteket', + }), + 'parent': None, + 'position': dict({ + 'coordinates': list([ + 24.80992, + 60.21748, + ]), + 'type': 'Point', + }), + 'postOfficeBoxNum': None, + 'postalCode': '02600', + 'publisher': 'ahjo:u021600', + 'replacedBy': None, + 'streetAddress': dict({ + 'en': 'Leppävaarankatu 9', + 'fi': 'Leppävaarankatu 9', + 'sv': 'Albergagatan 9', + }), + 'telephone': dict({ + 'en': None, + 'fi': '+358 9 8165 7603', + 'sv': None, + }), + }), + dict({ + 'addressCountry': None, + 'addressLocality': dict({ + 'en': 'Espoo', + 'fi': 'Espoo', + 'sv': 'Esbo', + }), + 'addressRegion': None, + 'contactType': None, + 'createdTime': None, + 'customData': None, + 'dataSource': 'tprek', + 'deleted': False, + 'description': None, + 'divisions': list([ + dict({ + 'municipality': None, + 'ocdId': None, + }), + ]), + 'email': 'kirjasto.entresse@espoo.fi', + 'id': 'tprek:15321', + 'image': 54251, + 'infoUrl': dict({ + 'en': 'http://www.helmet.fi/entressebibliotek', + 'fi': 'http://www.helmet.fi/entressenkirjasto', + 'sv': 'http://www.helmet.fi/entressebibliotek', + }), + 'internalContext': 'http://schema.org', + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15321/', + 'internalType': 'Place', + 'lastModifiedTime': '2019-09-19T14:10:59.747979Z', + 'nEvents': 7745, + 'name': dict({ + 'en': 'Entresse Library', + 'fi': 'Entressen kirjasto', + 'sv': 'Entressebiblioteket', + }), + 'parent': None, + 'position': dict({ + 'coordinates': list([ + 24.657864, + 60.203636, + ]), + 'type': 'Point', + }), + 'postOfficeBoxNum': None, + 'postalCode': '02770', + 'publisher': 'ahjo:u021600', + 'replacedBy': None, + 'streetAddress': dict({ + 'en': 'Siltakatu 11', + 'fi': 'Siltakatu 11', + 'sv': 'Brogatan 11', + }), + 'telephone': dict({ + 'en': None, + 'fi': '+358 9 8165 3776', + 'sv': None, + }), + }), + ]), + 'meta': dict({ + 'count': 1346, + 'next': 'https://api.hel.fi/linkedevents/v1/place/?page=2&page_size=2&show_all_places=', + 'previous': None, + }), + }), + }), + }) +# --- +# name: test_unpublish_event + dict({ + 'data': dict({ + 'unpublishEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'endTime': None, + 'id': 'helsinki:afy6aghr2y', + 'publicationStatus': 'draft', + 'startTime': '2020-05-07', + }), + 'statusCode': 200, + }), + }), + }), + }) +# --- +# name: test_update_event + dict({ + 'data': dict({ + 'updateEventMutation': dict({ + 'response': dict({ + 'body': dict({ + 'description': dict({ + 'en': 'desc en', + 'fi': 'desc', + 'sv': 'desc sv', + }), + 'id': 'helsinki:afy6aghr2y', + 'infoUrl': None, + 'keywords': list([ + dict({ + 'id': None, + }), + ]), + 'location': dict({ + 'id': None, + }), + 'offers': list([ + dict({ + 'isFree': False, + }), + ]), + 'pEvent': dict({ + 'autoAcceptance': True, + 'autoAcceptanceMessage': 'Päivitetty viesti', + 'contactEmail': 'contact@email.me', + 'contactPerson': dict({ + 'name': 'Sean Rocha', + }), + 'contactPhoneNumber': '123123', + 'enrolmentEndDays': 2, + 'enrolmentStart': '2020-06-06T16:40:48+00:00', + 'externalEnrolmentUrl': None, + 'isQueueingAllowed': True, + 'linkedEventId': 'helsinki:afy6aghr2y', + 'mandatoryAdditionalInformation': True, + 'neededOccurrences': 1, + 'organisation': dict({ + 'name': 'Chapman, Scott and Martin', + }), + 'translations': list([ + dict({ + 'autoAcceptanceMessage': 'Päivitetty viesti', + 'languageCode': 'FI', + }), + dict({ + 'autoAcceptanceMessage': 'Updated custom message', + 'languageCode': 'EN', + }), + ]), + }), + 'shortDescription': dict({ + 'en': 'short desc en', + 'fi': 'short desc', + 'sv': 'short desc sv', + }), + 'startTime': '2020-05-07', + }), + 'statusCode': 200, + }), + }), + }), + }) +# --- +# name: test_update_image + dict({ + 'data': dict({ + 'updateImageMutation': dict({ + 'response': dict({ + 'body': dict({ + 'altText': 'Kaksi naista istuu tien laidassa', + 'cropping': '0,478,1920,2399', + 'dataSource': 'helsinki', + 'id': '64390', + 'name': 'Tuohtumus', + 'photographerName': 'Suomen Kansallisteatteri (c) Katri Naukkarinen', + 'url': 'https://api.hel.fi/linkedevents/media/images/49776780903_bf54fd7b90_o.jpg', + }), + 'statusCode': 200, + }), + }), + }), + }) +# --- diff --git a/graphene_linked_events/tests/__snapshots__/test_utils.ambr b/graphene_linked_events/tests/__snapshots__/test_utils.ambr new file mode 100644 index 00000000..dda45ade --- /dev/null +++ b/graphene_linked_events/tests/__snapshots__/test_utils.ambr @@ -0,0 +1,26 @@ +# serializer version: 1 +# name: test_format_response + dict({ + 'data': list([ + dict({ + 'email': 'email1@example.com', + 'emails': list([ + 'email2@example.com', + 'email3@example.com', + ]), + 'internal_id': 123, + }), + dict({ + 'internal_key': '@@@', + 'internal_keys': list([ + dict({ + 'internal_key': 'value', + }), + dict({ + 'key': '@value', + }), + ]), + }), + ]), + }) +# --- diff --git a/graphene_linked_events/tests/snapshots/__init__.py b/graphene_linked_events/tests/snapshots/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/graphene_linked_events/tests/snapshots/snap_test_api.py b/graphene_linked_events/tests/snapshots/snap_test_api.py deleted file mode 100644 index 9fdc7da0..00000000 --- a/graphene_linked_events/tests/snapshots/snap_test_api.py +++ /dev/null @@ -1,1514 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - -snapshots = Snapshot() - -snapshots["test_create_event 1"] = { - "data": { - "addEventMutation": { - "response": { - "body": { - "description": {"en": "desc en", "fi": "desc", "sv": "desc sv"}, - "id": "helsinki:afy6aghr2y", - "infoUrl": None, - "keywords": [{"id": None}], - "location": {"id": None}, - "offers": [{"isFree": False}], - "pEvent": { - "autoAcceptance": True, - "autoAcceptanceMessage": "Automaattisen hyväksynnän viesti", - "contactEmail": "contact@email.me", - "contactPerson": {"name": "Sean Rocha"}, - "contactPhoneNumber": "123123", - "enrolmentEndDays": 2, - "enrolmentStart": "2020-06-06T16:40:48+00:00", - "externalEnrolmentUrl": None, - "isQueueingAllowed": True, - "linkedEventId": "helsinki:afy6aghr2y", - "mandatoryAdditionalInformation": True, - "neededOccurrences": 1, - "organisation": {"name": "Chapman, Scott and Martin"}, - "translations": [ - { - "autoAcceptanceMessage": "Automaattisen hyväksynnän viesti", - "languageCode": "FI", - }, - { - "autoAcceptanceMessage": "Custom message of auto approvance", - "languageCode": "EN", - }, - ], - }, - "shortDescription": { - "en": "short desc en", - "fi": "short desc", - "sv": "short desc sv", - }, - "startTime": "2020-05-05", - }, - "statusCode": 201, - } - } - } -} - -snapshots["test_create_event_with_external_enrolment 1"] = { - "data": { - "addEventMutation": { - "response": { - "body": { - "description": {"en": "desc en", "fi": "desc", "sv": "desc sv"}, - "id": "helsinki:afy6aghr2y", - "infoUrl": None, - "keywords": [{"id": None}], - "location": {"id": None}, - "offers": [{"isFree": False}], - "pEvent": { - "autoAcceptance": False, - "autoAcceptanceMessage": "Automaattisen hyväksynnän viesti", - "contactEmail": "contact@email.me", - "contactPerson": {"name": "Sean Rocha"}, - "contactPhoneNumber": "123123", - "enrolmentEndDays": None, - "enrolmentStart": None, - "externalEnrolmentUrl": "http://test.org", - "isQueueingAllowed": True, - "linkedEventId": "helsinki:afy6aghr2y", - "mandatoryAdditionalInformation": True, - "neededOccurrences": 0, - "organisation": {"name": "Chapman, Scott and Martin"}, - "translations": [ - { - "autoAcceptanceMessage": "Automaattisen hyväksynnän viesti", - "languageCode": "FI", - }, - { - "autoAcceptanceMessage": "Custom message of auto approvance", - "languageCode": "EN", - }, - ], - }, - "shortDescription": { - "en": "short desc en", - "fi": "short desc", - "sv": "short desc sv", - }, - "startTime": "2020-05-05", - }, - "statusCode": 201, - } - } - } -} - -snapshots["test_create_event_without_enrolment 1"] = { - "data": { - "addEventMutation": { - "response": { - "body": { - "description": {"en": "desc en", "fi": "desc", "sv": "desc sv"}, - "id": "helsinki:afy6aghr2y", - "infoUrl": None, - "keywords": [{"id": None}], - "location": {"id": None}, - "offers": [{"isFree": False}], - "pEvent": { - "autoAcceptance": False, - "autoAcceptanceMessage": "Automaattisen hyväksynnän viesti", - "contactEmail": "contact@email.me", - "contactPerson": {"name": "Sean Rocha"}, - "contactPhoneNumber": "123123", - "enrolmentEndDays": None, - "enrolmentStart": None, - "externalEnrolmentUrl": None, - "isQueueingAllowed": True, - "linkedEventId": "helsinki:afy6aghr2y", - "mandatoryAdditionalInformation": True, - "neededOccurrences": 0, - "organisation": {"name": "Chapman, Scott and Martin"}, - "translations": [ - { - "autoAcceptanceMessage": "Automaattisen hyväksynnän viesti", - "languageCode": "FI", - }, - { - "autoAcceptanceMessage": "Custom message of auto approvance", - "languageCode": "EN", - }, - ], - }, - "shortDescription": { - "en": "short desc en", - "fi": "short desc", - "sv": "short desc sv", - }, - "startTime": "2020-05-05", - }, - "statusCode": 201, - } - } - } -} - -snapshots["test_create_event_without_p_event_translations 1"] = { - "data": { - "addEventMutation": { - "response": { - "body": { - "description": {"en": "desc en", "fi": "desc", "sv": "desc sv"}, - "id": "helsinki:afy6aghr2y", - "infoUrl": None, - "keywords": [{"id": None}], - "location": {"id": None}, - "offers": [{"isFree": False}], - "pEvent": { - "autoAcceptance": True, - "autoAcceptanceMessage": None, - "contactEmail": "contact@email.me", - "contactPerson": {"name": "Sean Rocha"}, - "contactPhoneNumber": "123123", - "enrolmentEndDays": 2, - "enrolmentStart": "2020-06-06T16:40:48+00:00", - "externalEnrolmentUrl": None, - "isQueueingAllowed": True, - "linkedEventId": "helsinki:afy6aghr2y", - "mandatoryAdditionalInformation": True, - "neededOccurrences": 1, - "organisation": {"name": "Chapman, Scott and Martin"}, - "translations": [], - }, - "shortDescription": { - "en": "short desc en", - "fi": "short desc", - "sv": "short desc sv", - }, - "startTime": "2020-05-05", - }, - "statusCode": 201, - } - } - } -} - -snapshots["test_delete_event 1"] = { - "data": {"deleteEventMutation": {"response": {"body": None, "statusCode": 204}}} -} - -snapshots["test_delete_image 1"] = { - "data": {"deleteImageMutation": {"response": {"statusCode": 204}}} -} - -snapshots["test_get_event 1"] = { - "data": { - "event": { - "activities": [{"id": "helfi:12"}], - "additionalCriteria": [{"id": "helfi:12"}], - "audience": [], - "audienceMaxAge": None, - "audienceMinAge": None, - "categories": [{"id": "helfi:12"}], - "createdTime": "2019-12-13T12:49:40.545273Z", - "customData": None, - "dataSource": "helsinki", - "datePublished": None, - "description": { - "en": "

Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. The work is painterly, spatial and musical all at once, offering visitors an opportunity to shape the space with their own creativity.

The exhibition title, Blick (Gaze), is a reference to visual artist Wassily Kandinsky’s poem from 1912 that is included in the soundscape by Kaija Saariaho. The gazes of the two artists are brought together in a three-dimensional space.

The exhibition is a multisensory experience that invites people to stay. In a world made up of the colours and sounds of Malka and Saariaho, visitors can build their own arrangements.

Amos Rex
10.6.-30.8.

Mon, Fri 11.00-18.00
Wed, Thu 11.00-20.00
Sat, Sun 11.00-17.00

Admission fee 5-15€, under 18 yrs free entry

", - "fi": "

Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. Teos on yhtä aikaa maalauksellinen, tilallinen ja musiikillinen.

Näyttelyn nimi Blick (Katse) viittaa kuvataiteilija Wassily Kandinskyn 1912 julkaistuun runoon, joka sisältyy Kaija Saariahon näyttelyssä kuultavaan äänimaisemaan. Kahden taiteilijan katseet yhdistyvät näyttelyn kolmiulotteisessa tilassa.

Näyttely on moniaistinen kokonaisuus, joka houkuttelee viipymään. Kävijä voi rakentaa omia asetelmiaan Malkan ja Saariahon väri- ja äänimaailmaan.

Amos Rex
10.6.-30.8.

ma, pe klo 11-18
ke, to klo 11-20
la, su klo 11-17

Sisäänpääsy 5-15€, alle 18-vuotiaille vapaa pääsy

", - "sv": "

Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren. Deras verk är på en och samma gång måleriskt, rumsligt och musikaliskt.

Utställningstiteln, Blick, syftar på bildkonstnären Wassily Kandinskys dikt från 1912. Texten ingår i Kaija Saariahos ljuder i utställningen. De två konstnärernas blickar möts i det tredimensionella utställningsutrymmet.

Utställningen utgör en sinnlig helhet som lockar besökare att dröja kvar. De kan bidra till Malkas och Saariahos färg- och ljudvärld med sina egna byggstenar.

Amos Rex
10.6.-30.8.

må, fre kl 11-18
ons, to kl 11-20
lö, sö kl 11-17

Inträde 5-15€, under 18 år fritt inträde

", - }, - "endTime": None, - "enrolmentEndTime": None, - "enrolmentStartTime": None, - "eventStatus": "EventPostponed", - "externalLinks": [], - "id": "helsinki:afxp6tv4xa", - "images": [ - {"internalId": "https://api.hel.fi/linkedevents/v1/image/61106/"} - ], - "inLanguage": [], - "infoUrl": { - "en": "http://www.amosrex.fi", - "fi": "http://www.amosrex.fi", - "sv": "http://www.amosrex.fi", - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/", - "internalType": "Event/LinkedEvent", - "keywords": [ - {"internalId": "https://api.hel.fi/linkedevents/v1/keyword/helfi:12/"}, - {"internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p5121/"}, - {"internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p6889/"}, - {"internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p1808/"}, - ], - "lastModifiedTime": "2020-05-05T09:24:58.569334Z", - "localizationExtraInfo": None, - "location": { - "internalId": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15321/" - }, - "maximumAttendeeCapacity": None, - "minimumAttendeeCapacity": None, - "name": { - "en": "Raija Malka & Kaija Saariaho: Blick", - "fi": "Raija Malka & Kaija Saariaho: Blick", - "sv": "Raija Malka & Kaija Saariaho: Blick", - }, - "offers": [{"isFree": False}], - "provider": {"en": "Amos Rex", "fi": "Amos Rex", "sv": "Amos Rex"}, - "providerContactInfo": None, - "publicationStatus": "public", - "publisher": "ytj:0586977-6", - "remainingAttendeeCapacity": None, - "shortDescription": { - "en": "Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. ", - "fi": "Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. ", - "sv": "Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren.", - }, - "startTime": None, - "subEvents": [], - "superEvent": None, - "superEventType": None, - } - } -} - -snapshots["test_get_event_not_found 1"] = { - "data": {"event": None}, - "errors": [ - { - "extensions": {"code": "GENERAL_ERROR"}, - "locations": [{"column": 3, "line": 3}], - "message": "A mocked generic HTTP error", - "path": ["event"], - } - ], -} - -snapshots["test_get_event_without_location 1"] = { - "data": { - "event": { - "activities": [{"id": "helfi:12"}], - "additionalCriteria": [{"id": "helfi:12"}], - "audience": [], - "audienceMaxAge": None, - "audienceMinAge": None, - "categories": [{"id": "helfi:12"}], - "createdTime": "2019-12-13T12:49:40.545273Z", - "customData": None, - "dataSource": "helsinki", - "datePublished": None, - "description": { - "en": "

Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. The work is painterly, spatial and musical all at once, offering visitors an opportunity to shape the space with their own creativity.

The exhibition title, Blick (Gaze), is a reference to visual artist Wassily Kandinsky’s poem from 1912 that is included in the soundscape by Kaija Saariaho. The gazes of the two artists are brought together in a three-dimensional space.

The exhibition is a multisensory experience that invites people to stay. In a world made up of the colours and sounds of Malka and Saariaho, visitors can build their own arrangements.

Amos Rex
10.6.-30.8.

Mon, Fri 11.00-18.00
Wed, Thu 11.00-20.00
Sat, Sun 11.00-17.00

Admission fee 5-15€, under 18 yrs free entry

", - "fi": "

Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. Teos on yhtä aikaa maalauksellinen, tilallinen ja musiikillinen.

Näyttelyn nimi Blick (Katse) viittaa kuvataiteilija Wassily Kandinskyn 1912 julkaistuun runoon, joka sisältyy Kaija Saariahon näyttelyssä kuultavaan äänimaisemaan. Kahden taiteilijan katseet yhdistyvät näyttelyn kolmiulotteisessa tilassa.

Näyttely on moniaistinen kokonaisuus, joka houkuttelee viipymään. Kävijä voi rakentaa omia asetelmiaan Malkan ja Saariahon väri- ja äänimaailmaan.

Amos Rex
10.6.-30.8.

ma, pe klo 11-18
ke, to klo 11-20
la, su klo 11-17

Sisäänpääsy 5-15€, alle 18-vuotiaille vapaa pääsy

", - "sv": "

Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren. Deras verk är på en och samma gång måleriskt, rumsligt och musikaliskt.

Utställningstiteln, Blick, syftar på bildkonstnären Wassily Kandinskys dikt från 1912. Texten ingår i Kaija Saariahos ljuder i utställningen. De två konstnärernas blickar möts i det tredimensionella utställningsutrymmet.

Utställningen utgör en sinnlig helhet som lockar besökare att dröja kvar. De kan bidra till Malkas och Saariahos färg- och ljudvärld med sina egna byggstenar.

Amos Rex
10.6.-30.8.

må, fre kl 11-18
ons, to kl 11-20
lö, sö kl 11-17

Inträde 5-15€, under 18 år fritt inträde

", - }, - "endTime": None, - "enrolmentEndTime": None, - "enrolmentStartTime": None, - "eventStatus": "EventPostponed", - "externalLinks": [], - "id": "helsinki:afxp6tv4xa", - "images": [ - {"internalId": "https://api.hel.fi/linkedevents/v1/image/61106/"} - ], - "inLanguage": [], - "infoUrl": { - "en": "http://www.amosrex.fi", - "fi": "http://www.amosrex.fi", - "sv": "http://www.amosrex.fi", - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/", - "internalType": "Event/LinkedEvent", - "keywords": [ - {"internalId": "https://api.hel.fi/linkedevents/v1/keyword/helfi:12/"}, - {"internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p5121/"}, - {"internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p6889/"}, - {"internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p1808/"}, - ], - "lastModifiedTime": "2020-05-05T09:24:58.569334Z", - "localizationExtraInfo": None, - "location": { - "internalId": "https://linkedevents.api.test.hel.ninja/v1/place/tprek:15321/" - }, - "maximumAttendeeCapacity": None, - "minimumAttendeeCapacity": None, - "name": { - "en": "Raija Malka & Kaija Saariaho: Blick", - "fi": "Raija Malka & Kaija Saariaho: Blick", - "sv": "Raija Malka & Kaija Saariaho: Blick", - }, - "offers": [{"isFree": False}], - "provider": {"en": "Amos Rex", "fi": "Amos Rex", "sv": "Amos Rex"}, - "providerContactInfo": None, - "publicationStatus": "public", - "publisher": "ytj:0586977-6", - "remainingAttendeeCapacity": None, - "shortDescription": { - "en": "Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. ", - "fi": "Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. ", - "sv": "Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren.", - }, - "startTime": None, - "subEvents": [], - "superEvent": None, - "superEventType": None, - } - } -} - -snapshots["test_get_events 1"] = { - "data": { - "events": { - "data": [ - { - "audience": [], - "audienceMaxAge": None, - "audienceMinAge": None, - "createdTime": "2020-05-05T09:27:45.644890Z", - "customData": None, - "dataSource": "helsinki", - "datePublished": None, - "description": { - "en": None, - "fi": "

Tule kuulolle ja kysymään muun muassa Viikin, Pukinmäen, Puistolan, Suutarilan, Pihlajamäen, Tapanilan ja Malmin ajankohtaisista suunnitteluasioista. Koilliseen suunnitellaan uusia asuntoja ja liiketiloja, kadut ja viheralueet kohenevat.
Malmin lentokentän alueelle suunnitellaan asuntoja noin 25 000 ihmiselle ja Viikin-Malmin pikaraitiotiestä kaavaillaan koillisen uutta raideyhteyttä. Asemanseuduilla eli Tapulikaupunki – Puistola -alueella ja Pukinmäessä hahmotellaan kehittämisperiaatteita. Raide-Jokerin rakentaminen edistyy.
Osallistu kotisohvaltasi kaavoituksen sekä liikenteen ja puistojen suunnittelun tilaisuuteen maanantaina 1.6. klo 17−19. Kirjaudu sisään jo klo 16.45. Lisätietoa, ohjeet, liittymislinkki ja vinkit ennakko-osallistumisesta: hel.fi/suunnitelmat.

Esittelyssä mukana olevat hankkeet:
Asemakaavoitus ja muu maankäytön suunnittelu / Ota kantaa juuri nyt
· Malmin uimahallin laajennus
· Malmin energiakortteli Tattarisuon teollisuusalueen eteläpuolelle

Kadut, puistot ja viheralueet / Ota kantaa juuri nyt
· Katariina Saksilaisen kadun eteläosan katusuunnitelma ja Pornaistenniemen puistosuunnitelma, jotka sisältävät pyöräliikenteen baanayhteyden
· Kivikon puistosilta, joka ylittää Lahdenväylän ja johtaa lentokenttäalueelta Kivikon ulkoilupuistoon
· Maatullinkujan katusuunnitelma välillä Henrik Forsiuksen tie - Kämnerintie
· Suutarilan alueen katusuunnitelmia: Jupiterintie, Marsintie, Merkuriuksentie, Pikkaraistie, Riimukuja, Saturnuksentie ja Uranuksentie

Ajankohtaiskatsaus – missä mennään muiden koillisen hankkeiden kanssa
· Lentoasemankorttelit
· Lentokenttäalueen puistokilpailu ja väliaikaiskäytön ajankohtaiset suunnitelmat
· Malmin keskustan suunnittelutilanne
· Pukinmäki, Säterinportti 3, Säterintie 7-9, Madetojankuja 1
· Pukinmäki, Rälssintien ja Isonkaivontien alueet
· Malmi, (Pihlajamäki), Rapakivenkuja 2 Pihlajamäen ostoskeskus
· Tapanilan asemanseudun eteläosa
· Töyrynummi, Puutarhakortteli
· Tapulikaupunki, Kämnerintie
· Viikki, Maakaarenkuja 2 ja Aleksanteri Nevskin katu
· Mellunkylä, Kivikon pelastusasematontti (helikopterikenttä)
· Tapulikaupunki ja Puistolan asemanseutu
· Pukinmäen täydennysrakentaminen
· Viikin-Malmin pikaraitiotie
· Raide-Jokerin rakentamistilanne
· Vanhan Porvoontien suunnittelu välillä Suurmetsäntie-Heikinlaaksontie, sisältää melusuojauksen suunnittelun

", - "sv": None, - }, - "endTime": "2020-06-01T16:00:00Z", - "enrolmentEndTime": None, - "enrolmentStartTime": None, - "eventStatus": "EventScheduled", - "externalLinks": [], - "id": "helsinki:afy6ikna3u", - "images": [ - { - "internalId": "https://api.hel.fi/linkedevents/v1/image/64235/" - } - ], - "inLanguage": [ - { - "internalId": "https://api.hel.fi/linkedevents/v1/language/fi/" - } - ], - "infoUrl": { - "en": None, - "fi": "https://www.hel.fi/Helsinki/fi/asuminen-ja-ymparisto/kaavoitus/ajankohtaiset-suunnitelmat/", - "sv": None, - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/event/helsinki:afy6ikna3u/", - "internalType": "Event/LinkedEvent", - "keywords": [ - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p15875/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p13980/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p14004/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p8270/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p15882/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p26626/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p8268/" - }, - ], - "lastModifiedTime": "2020-05-05T09:27:45.644920Z", - "localizationExtraInfo": None, - "location": { - "internalId": "https://api.hel.fi/linkedevents/v1/place/helsinki:internet/" - }, - "maximumAttendeeCapacity": None, - "minimumAttendeeCapacity": None, - "name": { - "en": None, - "fi": "Uutta Koillis-Helsinkiä verkkotilaisuus", - "sv": None, - }, - "offers": [{"isFree": True}], - "provider": None, - "providerContactInfo": None, - "publicationStatus": None, - "publisher": "ahjo:u541000", - "remainingAttendeeCapacity": None, - "shortDescription": { - "en": None, - "fi": "Tule kuulemaan ja keskustelemaan verkkoon uudistuvasta Koillis-Helsingistä omalta kotisohvaltasi. Juuri nyt voit vaikuttaa useisiin suunnittelukohteisiin!", - "sv": None, - }, - "startTime": "2020-06-01T13:45:00Z", - "subEvents": [], - "superEvent": None, - "superEventType": None, - } - ], - "meta": { - "count": 151775, - "next": "https://api.hel.fi/linkedevents/v1/event/?page=2", - "previous": None, - }, - } - } -} - -snapshots["test_get_events_with_occurrences 1"] = { - "data": { - "events": { - "data": [ - { - "id": "helsinki:afy6ikna3u", - "internalId": "https://api.hel.fi/linkedevents/v1/event/helsinki:afy6ikna3u/", - "pEvent": { - "lastOccurrenceDatetime": "2020-01-06T00:00:00+00:00", - "nextOccurrenceDatetime": "2020-01-05T00:00:00+00:00", - }, - }, - { - "id": "helsinki:afxp6tv4xa", - "internalId": "https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/", - "pEvent": { - "lastOccurrenceDatetime": "2020-01-06T00:00:00+00:00", - "nextOccurrenceDatetime": "2020-01-05T00:00:00+00:00", - }, - }, - ], - "meta": { - "count": 151775, - "next": "https://api.hel.fi/linkedevents/v1/event/?page=2", - "previous": None, - }, - } - } -} - -snapshots["test_get_keyword 1"] = { - "data": { - "keyword": { - "aggregate": False, - "altLabels": ["spädbarn", "lapset", "imeväisikäiset", "barn"], - "createdTime": "2014-06-23T11:37:27.705000Z", - "dataSource": "yso", - "deprecated": False, - "id": "yso:p4354", - "image": None, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p4354/", - "internalType": "Keyword", - "lastModifiedTime": "2017-09-06T05:20:47.061426Z", - "nEvents": 54082, - "name": { - "en": "children (age groups)", - "fi": "lapset (ikäryhmät)", - "sv": "barn (åldersgrupper)", - }, - "publisher": "hy:kansalliskirjasto", - } - } -} - -snapshots["test_get_keyword_set 1"] = { - "data": { - "keywordSet": { - "id": "kultus:categories", - "internalId": "http://localhost:8080/v1/keyword_set/kultus:categories/", - "keywords": [ - { - "id": "helfi:12", - "internalId": "http://localhost:8080/v1/keyword/yso:p27033/", - "name": { - "en": "Valentine's Day", - "fi": "ystävänpäivä", - "sv": "alla hjärtans dag", - }, - } - ], - } - } -} - -snapshots["test_get_keyword_set 2"] = { - "data": { - "keywordSet": { - "id": "kultus:categories", - "internalId": "http://localhost:8080/v1/keyword_set/kultus:categories/", - "keywords": [ - { - "id": "helfi:12", - "internalId": "http://localhost:8080/v1/keyword/yso:p27033/", - "name": { - "en": "Valentine's Day", - "fi": "ystävänpäivä", - "sv": "alla hjärtans dag", - }, - } - ], - } - } -} - -snapshots["test_get_keyword_set 3"] = { - "data": { - "keywordSet": { - "id": "kultus:categories", - "internalId": "http://localhost:8080/v1/keyword_set/kultus:categories/", - "keywords": [ - { - "id": "helfi:12", - "internalId": "http://localhost:8080/v1/keyword/yso:p27033/", - "name": { - "en": "Valentine's Day", - "fi": "ystävänpäivä", - "sv": "alla hjärtans dag", - }, - } - ], - } - } -} - -snapshots["test_get_keyword_set 4"] = { - "data": { - "keywordSet": { - "id": "kultus:categories", - "internalId": "http://localhost:8080/v1/keyword_set/kultus:categories/", - "keywords": [ - { - "id": "helfi:12", - "internalId": "http://localhost:8080/v1/keyword/yso:p27033/", - "name": { - "en": "Valentine's Day", - "fi": "ystävänpäivä", - "sv": "alla hjärtans dag", - }, - } - ], - } - } -} - -snapshots["test_get_keywords 1"] = { - "data": { - "keywords": { - "data": [ - { - "aggregate": False, - "altLabels": ["spädbarn", "lapset", "imeväisikäiset", "barn"], - "createdTime": "2014-06-23T11:37:27.705000Z", - "dataSource": "yso", - "deprecated": False, - "id": "yso:p4354", - "image": None, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p4354/", - "internalType": "Keyword", - "lastModifiedTime": "2017-09-06T05:20:47.061426Z", - "nEvents": 54082, - "name": { - "en": "children (age groups)", - "fi": "lapset (ikäryhmät)", - "sv": "barn (åldersgrupper)", - }, - "publisher": "hy:kansalliskirjasto", - }, - { - "aggregate": False, - "altLabels": [ - "ydinperheet", - "perhe", - "familjer (grupper)", - "kärnfamiljer", - "familj", - ], - "createdTime": "2014-06-23T11:37:28.246000Z", - "dataSource": "yso", - "deprecated": False, - "id": "yso:p4363", - "image": None, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p4363/", - "internalType": "Keyword", - "lastModifiedTime": "2019-05-11T04:20:04.577893Z", - "nEvents": 29262, - "name": {"en": "families", "fi": "perheet", "sv": "familjer"}, - "publisher": "hy:kansalliskirjasto", - }, - ], - "meta": { - "count": 1992, - "next": "https://api.hel.fi/linkedevents/v1/keyword/?page=2&page_size=2", - "previous": None, - }, - } - } -} - -snapshots["test_get_place 1"] = { - "data": { - "place": { - "addressCountry": None, - "addressLocality": {"en": "Espoo", "fi": "Espoo", "sv": "Esbo"}, - "addressRegion": None, - "contactType": None, - "createdTime": None, - "customData": None, - "dataSource": "tprek", - "deleted": False, - "description": None, - "divisions": [{"municipality": None, "ocdId": None}], - "email": "sellonkirjasto@espoo.fi", - "id": "tprek:15417", - "image": 54259, - "infoUrl": { - "en": "http://www.helmet.fi/sellolibrary", - "fi": "http://www.helmet.fi/sello", - "sv": "http://www.helmet.fi/sellobiblioteket", - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/place/tprek:15417/", - "internalType": "Place", - "lastModifiedTime": "2020-04-25T05:09:10.712132Z", - "nEvents": 27264, - "name": { - "en": "Sello Library", - "fi": "Sellon kirjasto", - "sv": "Sellobiblioteket", - }, - "parent": None, - "position": {"coordinates": [24.80992, 60.21748], "type": "Point"}, - "postOfficeBoxNum": None, - "postalCode": "02600", - "publisher": "ahjo:u021600", - "replacedBy": None, - "streetAddress": { - "en": "Leppävaarankatu 9", - "fi": "Leppävaarankatu 9", - "sv": "Albergagatan 9", - }, - "telephone": {"en": None, "fi": "+358 9 8165 7603", "sv": None}, - } - } -} - -snapshots["test_get_places 1"] = { - "data": { - "places": { - "data": [ - { - "addressCountry": None, - "addressLocality": {"en": "Espoo", "fi": "Espoo", "sv": "Esbo"}, - "addressRegion": None, - "contactType": None, - "createdTime": None, - "customData": None, - "dataSource": "tprek", - "deleted": False, - "description": None, - "divisions": [{"municipality": None, "ocdId": None}], - "email": "sellonkirjasto@espoo.fi", - "id": "tprek:15417", - "image": 54259, - "infoUrl": { - "en": "http://www.helmet.fi/sellolibrary", - "fi": "http://www.helmet.fi/sello", - "sv": "http://www.helmet.fi/sellobiblioteket", - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/place/tprek:15417/", - "internalType": "Place", - "lastModifiedTime": "2020-04-25T05:09:10.712132Z", - "nEvents": 27264, - "name": { - "en": "Sello Library", - "fi": "Sellon kirjasto", - "sv": "Sellobiblioteket", - }, - "parent": None, - "position": {"coordinates": [24.80992, 60.21748], "type": "Point"}, - "postOfficeBoxNum": None, - "postalCode": "02600", - "publisher": "ahjo:u021600", - "replacedBy": None, - "streetAddress": { - "en": "Leppävaarankatu 9", - "fi": "Leppävaarankatu 9", - "sv": "Albergagatan 9", - }, - "telephone": {"en": None, "fi": "+358 9 8165 7603", "sv": None}, - }, - { - "addressCountry": None, - "addressLocality": {"en": "Espoo", "fi": "Espoo", "sv": "Esbo"}, - "addressRegion": None, - "contactType": None, - "createdTime": None, - "customData": None, - "dataSource": "tprek", - "deleted": False, - "description": None, - "divisions": [{"municipality": None, "ocdId": None}], - "email": "kirjasto.entresse@espoo.fi", - "id": "tprek:15321", - "image": 54251, - "infoUrl": { - "en": "http://www.helmet.fi/entressebibliotek", - "fi": "http://www.helmet.fi/entressenkirjasto", - "sv": "http://www.helmet.fi/entressebibliotek", - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/place/tprek:15321/", - "internalType": "Place", - "lastModifiedTime": "2019-09-19T14:10:59.747979Z", - "nEvents": 7745, - "name": { - "en": "Entresse Library", - "fi": "Entressen kirjasto", - "sv": "Entressebiblioteket", - }, - "parent": None, - "position": { - "coordinates": [24.657864, 60.203636], - "type": "Point", - }, - "postOfficeBoxNum": None, - "postalCode": "02770", - "publisher": "ahjo:u021600", - "replacedBy": None, - "streetAddress": { - "en": "Siltakatu 11", - "fi": "Siltakatu 11", - "sv": "Brogatan 11", - }, - "telephone": {"en": None, "fi": "+358 9 8165 3776", "sv": None}, - }, - ], - "meta": { - "count": 1346, - "next": "https://api.hel.fi/linkedevents/v1/place/?page=2&page_size=2&show_all_places=", - "previous": None, - }, - } - } -} - -snapshots["test_get_popular_kultus_keywords[None-None-1] 1"] = { - "data": { - "popularKultusKeywords": { - "data": [ - { - "dataSource": "yso", - "id": "yso:p84", - "internalId": "http://localhost:8080/v1/keyword/yso:p84/", - "nEvents": 200, - "name": { - "en": "education and training", - "fi": "koulutus", - "sv": "utbildning", - }, - } - ], - "meta": {"count": 1}, - } - } -} - -snapshots["test_get_popular_kultus_keywords[True-1-1] 1"] = { - "data": { - "popularKultusKeywords": { - "data": [ - { - "dataSource": "yso", - "id": "yso:p84", - "internalId": "http://localhost:8080/v1/keyword/yso:p84/", - "nEvents": 200, - "name": { - "en": "education and training", - "fi": "koulutus", - "sv": "utbildning", - }, - } - ], - "meta": {"count": 1}, - } - } -} - -snapshots["test_get_popular_kultus_keywords[True-None-2] 1"] = { - "data": { - "popularKultusKeywords": { - "data": [ - { - "dataSource": "yso", - "id": "yso:p84", - "internalId": "http://localhost:8080/v1/keyword/yso:p84/", - "nEvents": 200, - "name": { - "en": "education and training", - "fi": "koulutus", - "sv": "utbildning", - }, - }, - { - "dataSource": "yso", - "id": "helfi:12", - "internalId": "http://localhost:8080/v1/keyword/yso:p27033/", - "nEvents": 0, - "name": { - "en": "Valentine's Day", - "fi": "ystävänpäivä", - "sv": "alla hjärtans dag", - }, - }, - ], - "meta": {"count": 2}, - } - } -} - -snapshots["test_get_upcoming_events[False-False-False] 1"] = { - "data": { - "upcomingEvents": { - "data": [], - "pageInfo": { - "hasNextPage": False, - "hasPreviousPage": False, - "page": 0, - "pageSize": 10, - "pages": 0, - "totalCount": 0, - }, - } - } -} - -snapshots["test_get_upcoming_events[False-False-True] 1"] = { - "data": { - "upcomingEvents": { - "data": [], - "pageInfo": { - "hasNextPage": False, - "hasPreviousPage": False, - "page": 0, - "pageSize": 10, - "pages": 0, - "totalCount": 0, - }, - } - } -} - -snapshots["test_get_upcoming_events[False-True-False] 1"] = { - "data": { - "upcomingEvents": { - "data": [], - "pageInfo": { - "hasNextPage": False, - "hasPreviousPage": False, - "page": 0, - "pageSize": 10, - "pages": 0, - "totalCount": 0, - }, - } - } -} - -snapshots["test_get_upcoming_events[False-True-True] 1"] = { - "data": { - "upcomingEvents": { - "data": [], - "pageInfo": { - "hasNextPage": False, - "hasPreviousPage": False, - "page": 0, - "pageSize": 10, - "pages": 0, - "totalCount": 0, - }, - } - } -} - -snapshots["test_get_upcoming_events[True-False-False] 1"] = { - "data": { - "upcomingEvents": { - "data": [ - {"id": "kultus:3", "pEvent": {"linkedEventId": "kultus:3"}}, - {"id": "kultus:2", "pEvent": {"linkedEventId": "kultus:2"}}, - {"id": "kultus:1", "pEvent": {"linkedEventId": "kultus:1"}}, - ], - "pageInfo": { - "hasNextPage": False, - "hasPreviousPage": False, - "page": 1, - "pageSize": 10, - "pages": 1, - "totalCount": 3, - }, - } - } -} - -snapshots["test_get_upcoming_events[True-False-True] 1"] = { - "data": { - "upcomingEvents": { - "data": [ - {"id": "kultus:3", "pEvent": {"linkedEventId": "kultus:3"}}, - {"id": "kultus:2", "pEvent": {"linkedEventId": "kultus:2"}}, - {"id": "kultus:1", "pEvent": {"linkedEventId": "kultus:1"}}, - ], - "pageInfo": { - "hasNextPage": False, - "hasPreviousPage": False, - "page": 1, - "pageSize": 10, - "pages": 1, - "totalCount": 3, - }, - } - } -} - -snapshots["test_get_upcoming_events[True-True-False] 1"] = { - "data": { - "upcomingEvents": { - "data": [ - {"id": "kultus:3", "pEvent": {"linkedEventId": "kultus:3"}}, - {"id": "kultus:2", "pEvent": {"linkedEventId": "kultus:2"}}, - {"id": "kultus:1", "pEvent": {"linkedEventId": "kultus:1"}}, - ], - "pageInfo": { - "hasNextPage": False, - "hasPreviousPage": False, - "page": 1, - "pageSize": 10, - "pages": 1, - "totalCount": 3, - }, - } - } -} - -snapshots["test_get_upcoming_events[True-True-True] 1"] = { - "data": { - "upcomingEvents": { - "data": [ - {"id": "kultus:3", "pEvent": {"linkedEventId": "kultus:3"}}, - {"id": "kultus:2", "pEvent": {"linkedEventId": "kultus:2"}}, - {"id": "kultus:1", "pEvent": {"linkedEventId": "kultus:1"}}, - ], - "pageInfo": { - "hasNextPage": False, - "hasPreviousPage": False, - "page": 1, - "pageSize": 10, - "pages": 1, - "totalCount": 3, - }, - } - } -} - -snapshots["test_image_query 1"] = { - "data": { - "image": { - "altText": "Kaksi naista istuu tien laidassa", - "cropping": "0,478,1920,2399", - "dataSource": "helsinki", - "id": "64390", - "name": "Tuohtumus", - "photographerName": "Suomen Kansallisteatteri (c) Katri Naukkarinen", - "url": "https://api.hel.fi/linkedevents/media/images/49776780903_bf54fd7b90_o.jpg", - } - } -} - -snapshots["test_images_query 1"] = { - "data": { - "images": { - "data": [ - { - "altText": "Kaksi naista istuu tien laidassa", - "cropping": "0,478,1920,2399", - "dataSource": "helsinki", - "id": "64390", - "name": "Tuohtumus", - "photographerName": "Suomen Kansallisteatteri (c) Katri Naukkarinen", - "url": "https://api.hel.fi/linkedevents/media/images/49776780903_bf54fd7b90_o.jpg", - }, - { - "altText": None, - "cropping": "", - "dataSource": "kulke", - "id": "64389", - "name": "", - "photographerName": None, - "url": "http://www.vuotalo.fi/instancedata/prime_product_resurssivaraus/kulke/embeds/EventPic_671268.jpg", - }, - ], - "meta": { - "count": 64258, - "next": "https://api.hel.fi/linkedevents/v1/image/?page=2", - "previous": None, - }, - } - } -} - -snapshots["test_nearby_events 1"] = { - "data": { - "events": { - "data": [ - { - "id": "helsinki:afy6ikna3u", - "internalId": "https://api.hel.fi/linkedevents/v1/event/helsinki:afy6ikna3u/", - "name": { - "en": None, - "fi": "Uutta Koillis-Helsinkiä verkkotilaisuus", - "sv": None, - }, - } - ], - "meta": { - "count": 151775, - "next": "https://api.hel.fi/linkedevents/v1/event/?page=2", - "previous": None, - }, - } - } -} - -snapshots["test_publish_event[None] 1"] = { - "data": { - "publishEventMutation": { - "response": { - "body": { - "endTime": None, - "id": "helsinki:afy6aghr2y", - "publicationStatus": "public", - "startTime": "2020-05-07", - }, - "statusCode": 200, - } - } - } -} - -snapshots["test_publish_event[p_event_enrolment_start1] 1"] = { - "data": { - "publishEventMutation": { - "response": { - "body": { - "endTime": None, - "id": "helsinki:afy6aghr2y", - "publicationStatus": "public", - "startTime": "2020-05-07", - }, - "statusCode": 200, - } - } - } -} - -snapshots["test_publish_event_with_external_enrolments 1"] = { - "data": { - "publishEventMutation": { - "response": { - "body": { - "endTime": None, - "id": "helsinki:afy6aghr2y", - "publicationStatus": "public", - "startTime": "2020-05-07", - }, - "statusCode": 200, - } - } - } -} - -snapshots["test_publish_event_without_enrolments 1"] = { - "data": { - "publishEventMutation": { - "response": { - "body": { - "endTime": None, - "id": "helsinki:afy6aghr2y", - "publicationStatus": "public", - "startTime": "2020-05-07", - }, - "statusCode": 200, - } - } - } -} - -snapshots["test_search_events 1"] = { - "data": { - "eventsSearch": { - "data": [ - { - "audience": [], - "audienceMaxAge": None, - "audienceMinAge": None, - "createdTime": "2020-05-05T09:27:45.644890Z", - "customData": None, - "dataSource": "helsinki", - "datePublished": None, - "description": { - "en": None, - "fi": "

Tule kuulolle ja kysymään muun muassa Viikin, Pukinmäen, Puistolan, Suutarilan, Pihlajamäen, Tapanilan ja Malmin ajankohtaisista suunnitteluasioista. Koilliseen suunnitellaan uusia asuntoja ja liiketiloja, kadut ja viheralueet kohenevat.
Malmin lentokentän alueelle suunnitellaan asuntoja noin 25 000 ihmiselle ja Viikin-Malmin pikaraitiotiestä kaavaillaan koillisen uutta raideyhteyttä. Asemanseuduilla eli Tapulikaupunki – Puistola -alueella ja Pukinmäessä hahmotellaan kehittämisperiaatteita. Raide-Jokerin rakentaminen edistyy.
Osallistu kotisohvaltasi kaavoituksen sekä liikenteen ja puistojen suunnittelun tilaisuuteen maanantaina 1.6. klo 17−19. Kirjaudu sisään jo klo 16.45. Lisätietoa, ohjeet, liittymislinkki ja vinkit ennakko-osallistumisesta: hel.fi/suunnitelmat.

Esittelyssä mukana olevat hankkeet:
Asemakaavoitus ja muu maankäytön suunnittelu / Ota kantaa juuri nyt
· Malmin uimahallin laajennus
· Malmin energiakortteli Tattarisuon teollisuusalueen eteläpuolelle

Kadut, puistot ja viheralueet / Ota kantaa juuri nyt
· Katariina Saksilaisen kadun eteläosan katusuunnitelma ja Pornaistenniemen puistosuunnitelma, jotka sisältävät pyöräliikenteen baanayhteyden
· Kivikon puistosilta, joka ylittää Lahdenväylän ja johtaa lentokenttäalueelta Kivikon ulkoilupuistoon
· Maatullinkujan katusuunnitelma välillä Henrik Forsiuksen tie - Kämnerintie
· Suutarilan alueen katusuunnitelmia: Jupiterintie, Marsintie, Merkuriuksentie, Pikkaraistie, Riimukuja, Saturnuksentie ja Uranuksentie

Ajankohtaiskatsaus – missä mennään muiden koillisen hankkeiden kanssa
· Lentoasemankorttelit
· Lentokenttäalueen puistokilpailu ja väliaikaiskäytön ajankohtaiset suunnitelmat
· Malmin keskustan suunnittelutilanne
· Pukinmäki, Säterinportti 3, Säterintie 7-9, Madetojankuja 1
· Pukinmäki, Rälssintien ja Isonkaivontien alueet
· Malmi, (Pihlajamäki), Rapakivenkuja 2 Pihlajamäen ostoskeskus
· Tapanilan asemanseudun eteläosa
· Töyrynummi, Puutarhakortteli
· Tapulikaupunki, Kämnerintie
· Viikki, Maakaarenkuja 2 ja Aleksanteri Nevskin katu
· Mellunkylä, Kivikon pelastusasematontti (helikopterikenttä)
· Tapulikaupunki ja Puistolan asemanseutu
· Pukinmäen täydennysrakentaminen
· Viikin-Malmin pikaraitiotie
· Raide-Jokerin rakentamistilanne
· Vanhan Porvoontien suunnittelu välillä Suurmetsäntie-Heikinlaaksontie, sisältää melusuojauksen suunnittelun

", - "sv": None, - }, - "endTime": "2020-06-01T16:00:00Z", - "enrolmentEndTime": None, - "enrolmentStartTime": None, - "eventStatus": "EventScheduled", - "externalLinks": [], - "id": "helsinki:afy6ikna3u", - "images": [ - { - "internalId": "https://api.hel.fi/linkedevents/v1/image/64235/" - } - ], - "inLanguage": [ - { - "internalId": "https://api.hel.fi/linkedevents/v1/language/fi/" - } - ], - "infoUrl": { - "en": None, - "fi": "https://www.hel.fi/Helsinki/fi/asuminen-ja-ymparisto/kaavoitus/ajankohtaiset-suunnitelmat/", - "sv": None, - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/event/helsinki:afy6ikna3u/", - "internalType": "Event/LinkedEvent", - "keywords": [ - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p15875/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p13980/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p14004/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p8270/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p15882/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p26626/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p8268/" - }, - ], - "lastModifiedTime": "2020-05-05T09:27:45.644920Z", - "localizationExtraInfo": None, - "location": { - "internalId": "https://api.hel.fi/linkedevents/v1/place/helsinki:internet/" - }, - "maximumAttendeeCapacity": None, - "minimumAttendeeCapacity": None, - "name": { - "en": None, - "fi": "Uutta Koillis-Helsinkiä verkkotilaisuus", - "sv": None, - }, - "offers": [{"isFree": True}], - "provider": None, - "providerContactInfo": None, - "publicationStatus": None, - "publisher": "ahjo:u541000", - "remainingAttendeeCapacity": None, - "shortDescription": { - "en": None, - "fi": "Tule kuulemaan ja keskustelemaan verkkoon uudistuvasta Koillis-Helsingistä omalta kotisohvaltasi. Juuri nyt voit vaikuttaa useisiin suunnittelukohteisiin!", - "sv": None, - }, - "startTime": "2020-06-01T13:45:00Z", - "subEvents": [], - "superEvent": None, - "superEventType": None, - }, - { - "audience": [], - "audienceMaxAge": None, - "audienceMinAge": None, - "createdTime": "2019-12-13T12:49:40.545273Z", - "customData": None, - "dataSource": "helsinki", - "datePublished": None, - "description": { - "en": "

Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. The work is painterly, spatial and musical all at once, offering visitors an opportunity to shape the space with their own creativity.

The exhibition title, Blick (Gaze), is a reference to visual artist Wassily Kandinsky’s poem from 1912 that is included in the soundscape by Kaija Saariaho. The gazes of the two artists are brought together in a three-dimensional space.

The exhibition is a multisensory experience that invites people to stay. In a world made up of the colours and sounds of Malka and Saariaho, visitors can build their own arrangements.

Amos Rex
10.6.-30.8.

Mon, Fri 11.00-18.00
Wed, Thu 11.00-20.00
Sat, Sun 11.00-17.00

Admission fee 5-15€, under 18 yrs free entry

", - "fi": "

Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. Teos on yhtä aikaa maalauksellinen, tilallinen ja musiikillinen.

Näyttelyn nimi Blick (Katse) viittaa kuvataiteilija Wassily Kandinskyn 1912 julkaistuun runoon, joka sisältyy Kaija Saariahon näyttelyssä kuultavaan äänimaisemaan. Kahden taiteilijan katseet yhdistyvät näyttelyn kolmiulotteisessa tilassa.

Näyttely on moniaistinen kokonaisuus, joka houkuttelee viipymään. Kävijä voi rakentaa omia asetelmiaan Malkan ja Saariahon väri- ja äänimaailmaan.

Amos Rex
10.6.-30.8.

ma, pe klo 11-18
ke, to klo 11-20
la, su klo 11-17

Sisäänpääsy 5-15€, alle 18-vuotiaille vapaa pääsy

", - "sv": "

Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren. Deras verk är på en och samma gång måleriskt, rumsligt och musikaliskt.

Utställningstiteln, Blick, syftar på bildkonstnären Wassily Kandinskys dikt från 1912. Texten ingår i Kaija Saariahos ljuder i utställningen. De två konstnärernas blickar möts i det tredimensionella utställningsutrymmet.

Utställningen utgör en sinnlig helhet som lockar besökare att dröja kvar. De kan bidra till Malkas och Saariahos färg- och ljudvärld med sina egna byggstenar.

Amos Rex
10.6.-30.8.

må, fre kl 11-18
ons, to kl 11-20
lö, sö kl 11-17

Inträde 5-15€, under 18 år fritt inträde

", - }, - "endTime": None, - "enrolmentEndTime": None, - "enrolmentStartTime": None, - "eventStatus": "EventPostponed", - "externalLinks": [], - "id": "helsinki:afxp6tv4xa", - "images": [ - { - "internalId": "https://api.hel.fi/linkedevents/v1/image/61106/" - } - ], - "inLanguage": [], - "infoUrl": { - "en": "http://www.amosrex.fi", - "fi": "http://www.amosrex.fi", - "sv": "http://www.amosrex.fi", - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/", - "internalType": "Event/LinkedEvent", - "keywords": [ - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/helfi:12/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p5121/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p6889/" - }, - { - "internalId": "https://api.hel.fi/linkedevents/v1/keyword/yso:p1808/" - }, - ], - "lastModifiedTime": "2020-05-05T09:24:58.569334Z", - "localizationExtraInfo": None, - "location": { - "internalId": "https://api.hel.fi/linkedevents/v1/place/tprek:55959/" - }, - "maximumAttendeeCapacity": None, - "minimumAttendeeCapacity": None, - "name": { - "en": "Raija Malka & Kaija Saariaho: Blick", - "fi": "Raija Malka & Kaija Saariaho: Blick", - "sv": "Raija Malka & Kaija Saariaho: Blick", - }, - "offers": [{"isFree": False}], - "provider": {"en": "Amos Rex", "fi": "Amos Rex", "sv": "Amos Rex"}, - "providerContactInfo": None, - "publicationStatus": None, - "publisher": "ytj:0586977-6", - "remainingAttendeeCapacity": None, - "shortDescription": { - "en": "Visual artist Raija Malka and composer Kaija Saariaho will take over Amos Rex’s exhibition space in a new and experiential way next summer. ", - "fi": "Kuvataiteilija Raija Malka ja säveltäjä Kaija Saariaho täyttävät ensi kesänä Amos Rexin näyttelytilan uudella kokemuksellisella tavalla. ", - "sv": "Bildkonstnären Raija Malka och kompositören Kaija Saariaho fyller Amos Rex utställningsutrymme på ett nytt och experimentellt sätt nästa sommaren.", - }, - "startTime": None, - "subEvents": [], - "superEvent": None, - "superEventType": None, - }, - ], - "meta": { - "count": 151775, - "next": "https://api.hel.fi/linkedevents/v1/event/?page=2", - "previous": None, - }, - } - } -} - -snapshots["test_search_places 1"] = { - "data": { - "placesSearch": { - "data": [ - { - "addressCountry": None, - "addressLocality": {"en": "Espoo", "fi": "Espoo", "sv": "Esbo"}, - "addressRegion": None, - "contactType": None, - "createdTime": None, - "customData": None, - "dataSource": "tprek", - "deleted": False, - "description": None, - "divisions": [{"municipality": None, "ocdId": None}], - "email": "sellonkirjasto@espoo.fi", - "id": "tprek:15417", - "image": 54259, - "infoUrl": { - "en": "http://www.helmet.fi/sellolibrary", - "fi": "http://www.helmet.fi/sello", - "sv": "http://www.helmet.fi/sellobiblioteket", - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/place/tprek:15417/", - "internalType": "Place", - "lastModifiedTime": "2020-04-25T05:09:10.712132Z", - "nEvents": 27264, - "name": { - "en": "Sello Library", - "fi": "Sellon kirjasto", - "sv": "Sellobiblioteket", - }, - "parent": None, - "position": {"coordinates": [24.80992, 60.21748], "type": "Point"}, - "postOfficeBoxNum": None, - "postalCode": "02600", - "publisher": "ahjo:u021600", - "replacedBy": None, - "streetAddress": { - "en": "Leppävaarankatu 9", - "fi": "Leppävaarankatu 9", - "sv": "Albergagatan 9", - }, - "telephone": {"en": None, "fi": "+358 9 8165 7603", "sv": None}, - }, - { - "addressCountry": None, - "addressLocality": {"en": "Espoo", "fi": "Espoo", "sv": "Esbo"}, - "addressRegion": None, - "contactType": None, - "createdTime": None, - "customData": None, - "dataSource": "tprek", - "deleted": False, - "description": None, - "divisions": [{"municipality": None, "ocdId": None}], - "email": "kirjasto.entresse@espoo.fi", - "id": "tprek:15321", - "image": 54251, - "infoUrl": { - "en": "http://www.helmet.fi/entressebibliotek", - "fi": "http://www.helmet.fi/entressenkirjasto", - "sv": "http://www.helmet.fi/entressebibliotek", - }, - "internalContext": "http://schema.org", - "internalId": "https://api.hel.fi/linkedevents/v1/place/tprek:15321/", - "internalType": "Place", - "lastModifiedTime": "2019-09-19T14:10:59.747979Z", - "nEvents": 7745, - "name": { - "en": "Entresse Library", - "fi": "Entressen kirjasto", - "sv": "Entressebiblioteket", - }, - "parent": None, - "position": { - "coordinates": [24.657864, 60.203636], - "type": "Point", - }, - "postOfficeBoxNum": None, - "postalCode": "02770", - "publisher": "ahjo:u021600", - "replacedBy": None, - "streetAddress": { - "en": "Siltakatu 11", - "fi": "Siltakatu 11", - "sv": "Brogatan 11", - }, - "telephone": {"en": None, "fi": "+358 9 8165 3776", "sv": None}, - }, - ], - "meta": { - "count": 1346, - "next": "https://api.hel.fi/linkedevents/v1/place/?page=2&page_size=2&show_all_places=", - "previous": None, - }, - } - } -} - -snapshots["test_unpublish_event 1"] = { - "data": { - "unpublishEventMutation": { - "response": { - "body": { - "endTime": None, - "id": "helsinki:afy6aghr2y", - "publicationStatus": "draft", - "startTime": "2020-05-07", - }, - "statusCode": 200, - } - } - } -} - -snapshots["test_update_event 1"] = { - "data": { - "updateEventMutation": { - "response": { - "body": { - "description": {"en": "desc en", "fi": "desc", "sv": "desc sv"}, - "id": "helsinki:afy6aghr2y", - "infoUrl": None, - "keywords": [{"id": None}], - "location": {"id": None}, - "offers": [{"isFree": False}], - "pEvent": { - "autoAcceptance": True, - "autoAcceptanceMessage": "Päivitetty viesti", - "contactEmail": "contact@email.me", - "contactPerson": {"name": "Sean Rocha"}, - "contactPhoneNumber": "123123", - "enrolmentEndDays": 2, - "enrolmentStart": "2020-06-06T16:40:48+00:00", - "externalEnrolmentUrl": None, - "isQueueingAllowed": True, - "linkedEventId": "helsinki:afy6aghr2y", - "mandatoryAdditionalInformation": True, - "neededOccurrences": 1, - "organisation": {"name": "Chapman, Scott and Martin"}, - "translations": [ - { - "autoAcceptanceMessage": "Päivitetty viesti", - "languageCode": "FI", - }, - { - "autoAcceptanceMessage": "Updated custom message", - "languageCode": "EN", - }, - ], - }, - "shortDescription": { - "en": "short desc en", - "fi": "short desc", - "sv": "short desc sv", - }, - "startTime": "2020-05-07", - }, - "statusCode": 200, - } - } - } -} - -snapshots["test_update_image 1"] = { - "data": { - "updateImageMutation": { - "response": { - "body": { - "altText": "Kaksi naista istuu tien laidassa", - "cropping": "0,478,1920,2399", - "dataSource": "helsinki", - "id": "64390", - "name": "Tuohtumus", - "photographerName": "Suomen Kansallisteatteri (c) Katri Naukkarinen", - "url": "https://api.hel.fi/linkedevents/media/images/49776780903_bf54fd7b90_o.jpg", - }, - "statusCode": 200, - } - } - } -} diff --git a/graphene_linked_events/tests/snapshots/snap_test_utils.py b/graphene_linked_events/tests/snapshots/snap_test_utils.py deleted file mode 100644 index 63576d0d..00000000 --- a/graphene_linked_events/tests/snapshots/snap_test_utils.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - -snapshots = Snapshot() - -snapshots["test_format_response 1"] = { - "data": [ - { - "email": "email1@example.com", - "emails": ["email2@example.com", "email3@example.com"], - "internal_id": 123, - }, - { - "internal_key": "@@@", - "internal_keys": [{"internal_key": "value"}, {"key": "@value"}], - }, - ] -} diff --git a/local_settings.py.example b/local_settings.py.example index 783cb046..969d1a64 100644 --- a/local_settings.py.example +++ b/local_settings.py.example @@ -1,2 +1,2 @@ DATABASE_URL = "postgres://kultus:kultus@localhost/kultus:5434" -SITE_URL = "http://localhost:8000" \ No newline at end of file +SITE_URL = "http://localhost:8000" diff --git a/notification_importers/templates/notification_change_list.html b/notification_importers/templates/notification_change_list.html index f0d4011e..c496cc70 100644 --- a/notification_importers/templates/notification_change_list.html +++ b/notification_importers/templates/notification_change_list.html @@ -8,4 +8,4 @@ {% trans "Import missing notifications with the importer" %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/notification_importers/tests/__snapshots__/test_notification_file_importer.ambr b/notification_importers/tests/__snapshots__/test_notification_file_importer.ambr new file mode 100644 index 00000000..0f923c74 --- /dev/null +++ b/notification_importers/tests/__snapshots__/test_notification_file_importer.ambr @@ -0,0 +1,26824 @@ +# serializer version: 1 +# name: test_create_non_existing_and_update_existing_notifications + ''' + enrolment_approved_sms|enrolment approved sms|enrolment approved sms|enrolment approved sms|Hei. Ilmoittautuminen hyväksytty tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Enrolment accepted for the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Din anmälan till evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + enrolment_cancellation|Ilmoittautumisen peruuttaminen|Enrolment cancellation|Avbokning av anmälan|||| + + + + + + Ilmoittautumisen peruuttaminen + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Ilmoittautumisen peruuttaminen +

+
+ Hei {{person.name }}. Olette pyytäneet peruutusta tekemällenne ilmoittautumiselle. + Vahvistakaa peruuttaminen klikkaamalla seuraavaa linkkiä: {{ + enrolment.get_cancellation_url(language='fi') }}
+

+ Tapahtuma: {{trans(event.name)}} +

+

+ Ryhmä: {{study_group.unit_name}} +

+ +

+ Tapahtuman tiedot:

+
    +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Enrolment cancellation + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Enrolment cancellation +

+
+ Hi {{person.name }}. You are requesting a cancellation for your enrolment. Please + confirm the cancellation by clicking on the following link: {{ + enrolment.get_cancellation_url(language='en') }}
+

+ Event: {{trans(event.name)}} +

+

+ Group: {{study_group.unit_name}} +

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Avbokning av anmälan + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Avbokning av anmälan +

+
+ Hej {{person.name }}. Du begär en avbokning för din anmälan. Bekräfta avbokningen + genom att klicka på följande länk: {{ + enrolment.get_cancellation_url(language='sv') }}
+

+ Evenemang: {{trans(event.name)}} +

+

+ Grupp: {{study_group.unit_name}} +

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + enrolment_cancellation_sms|enrolment cancellation sms|enrolment cancellation sms|enrolment cancellation sms|Hei. Voitte vahvistaa peruutuksenne liittyen tapahtumaan {{trans(event.name)}} seuraavalla linkillä: {{enrolment.get_cancellation_url(language='fi')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. You can confirm your cancellation to the event {{trans(event.name)}} at the following link: {{enrolment.get_cancellation_url(language='en')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Du kan bekräfta din avbokning till evenemanget {{trans(event.name)}} på följande länk: {{enrolment.get_cancellation_url(language='sv')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + enrolment_cancelled|Ilmoittautumisen peruuttaminen vahvistettu|Enrolment cancellation confirmed|Avbokning av anmälan bekräftad|||| + + + + + + Ilmoittautumisen peruuttaminen vahvistettu + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Ilmoittautumisen peruuttaminen vahvistettu +

+
+ Hei {{person.name }}. Ilmoittautumisen peruuttaminen on vahvistettu.
+

+ Tapahtuma: {{trans(event.name)}} +

+

+ Ryhmä: {{study_group.unit_name}} +

+ +

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Enrolment cancellation confirmed + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Enrolment cancellation confirmed +

+
+ Hello {{person.name }}. The cancellation of enrolment has been confirmed.
+

+ Event: {{trans(event.name)}} +

+

+ Group: {{study_group.unit_name}} +

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Avbokning av anmälan bekräftad + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Avbokning av anmälan bekräftad +

+
+ Hej {{person.name }}. Avbokningen av anmälan har bekräftats.
+

+ Evenemang: {{trans(event.name)}} +

+

+ Grupp: {{study_group.unit_name}} +

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + enrolment_cancelled_sms|enrolment cancelled sms|enrolment cancelled sms|enrolment cancelled sms|Hei. Peruutuksenne tapahtumaan {{trans(event.name)}} on vahvistettu. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Your cancellation to the event {{trans(event.name)}} is confirmed. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Avbokningen av anmälan till evenemanget {{trans(event.name)}} har bekräftats. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + enrolment_declined|Ilmoittautumisen peruutusilmoitus|Enrolment declined|Meddelande om avbokning|||| + + + + + + Ilmoittautumisen peruutusilmoitus + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Ilmoittautumisen peruutusilmoitus +

+
+ Hei {{person.name }}
+

+ Harmin paikka, tällä kertaa emme onnistuneet saamaan ryhmällesi paikkoja + {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y klo + %H.%M')}}.

+

+ Toivottavasti tarjonnasta löytyy joku toinen mukava vaihtoehto teille.

+

+ Kokeilethan uudelleen.

+

+ Toivottavasti tavataan pian.

+ +

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Enrolment declined + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Enrolment cancellation notification +

+
+ Hello {{person.name }}
+

+ Unfortunately we were unable to reserve places for your group at + {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}} + this time.

+

+ We hope that you will be able to find another fun option in our range of events. +

+

+ Please try again.

+

+ Hope to see you soon!

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Meddelande om avbokning + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Meddelande om avbokning +

+
+ Hej {{person.name }}!
+

+ Synd, denna gång lyckades vi tyvärr inte komma åt platser för din grupp + {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y kl + %H.%M')}}.

+

+ Hoppas ni hittar något annat trevligt alternativ i urvalet.

+

+ Vänligen prova på nytt.

+

+ Hoppas vi ses snart!

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + enrolment_declined_sms|enrolment declined sms|enrolment declined sms|enrolment declined sms|Hei. Valitettavasti emme pysty tarjoamaan paikkaa tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Unfortunately, we cannot offer you a place at the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Vi kan tyvärr inte erbjuda en plats på evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + enrolment_summary_report|Ilmoittautumisen yhteenvetoraportti|Enrolment summary report|Sammanfattningsrapport för inskrivning|||| + + + + + + Ilmoittautumisen yhteenvetoraportti + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

Hei,

+

Tässä viimeisen 24 tunnin ilmoittautumiset

+
    +
  • Automaattisesti hyväksyttyjä: {{ total_new_enrolments }}
  • +
  • Hyväksymättä: {{ total_pending_enrolments }}
  • +
  • Uusia jonoilmoittautumisia: {{ total_new_queued_enrolments }}
  • +
+ +

Käy katsomassa nämä:

+ +

Mukavaa päivää !

+
+
+
+
+
+ + + + + + | + + + + + + Enrolment summary report + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

Hi,

+

Here are the enrollments for the last 24 hours

+
    +
  • Automatically approved: {{ total_new_enrolments }}
  • +
  • Pending enrolments: {{ total_pending_enrolments }}
  • +
  • New queued event enrolments: {{ total_new_queued_enrolments }}
  • +
+ +

Check these:

+ +

Have a nice day!

+
+
+
+
+
+ + + + + + | + + + + + + Sammanfattningsrapport för inskrivning + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

Hej,

+

Här är de senaste 24 timmarna av registreringar

+
    +
  • Godkänd automatiskt: {{ total_new_enrolments }}
  • +
  • Totalt väntande registreringar: {{ total_pending_enrolments }}
  • +
  • Nya köade eventregistreringar: {{ total_new_queued_enrolments }}
  • +
+ +

Glöm ej att kolla dessa:

+ +

Ha en trevlig dag

+
+
+
+
+
+ + + + + + + occurrence_cancelled|Peruutusilmoitus|Cancellation notification|Meddelande om inställt evenemang|||| + + + + + + Peruutusilmoitus + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Peruutusilmoitus

+
+ Hei {{person.name }}, valitettavasti tapahtuma, johon olit osallistumassa, on + peruttu
+

+ Tapahtuma: {{trans(event.name)}} +

+

+ Ryhmä: {{study_group.unit_name}} +

+ +

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ + occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ + occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Cancellation notification + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Cancellation notification

+
+ Hello {{person.name }}, unfortunately the event you were planning to participate + in has been cancelled.
+

+ Event: {{trans(event.name)}} +

+

+ Group: {{study_group.unit_name}} +

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ + occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ + occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Meddelande om inställt evenemang + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Meddelande om inställt evenemang

+
+ Hej {{person.name }}. Evenemanget som du skulle delta i har tyvärr ställts in. +
+

+ Evenemang: {{trans(event.name)}} +

+

+ Grupp: {{study_group.unit_name}} +

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ + occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + occurrence_cancelled_sms|occurrence cancelled sms|occurrence cancelled sms|occurrence cancelled sms|Hei. Valitettavasti tapahtuma on peruttu. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Unfortunately, the event is cancelled. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Evenemanget har tyvärr ställts in. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + occurrence_enrolment_sms|occurrence enrolment sms|occurrence enrolment sms|occurrence enrolment sms|Hei. Viesti vastaanotettu tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Message received. We will send you a confirmation for the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Meddelandet är mottaget. Du får ännu en separat bekräftelse för deltagandet i evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + occurrence_upcoming_sms|occurrence upcoming sms|occurrence upcoming sms|occurrence upcoming sms|Muistathan ilmoittautumisesi tapahtumaan {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {{study_group.unit_name}}. Mikäli et pääse paikalle, peruutathan varauksesi sähköpostilla: {{occurrence.p_event.contact_email}}. + |Please remember your enrolment for {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {{study_group.unit_name}}. If you are unable to attend, please cancel your place by email: {{occurrence.p_event.contact_email}}. + |Kom ihåg din anmälan till evenemanget {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}}. {{study_group.unit_name}}. Om du inte kan delta, vänligen avboka din bokning via e-post: {{occurrence.p_event.contact_email}}. + ||| + person_myprofile_accepted|Käyttäjätilisi Kultuksessa on valmis käytettäväksi|Your user account in Kultus is ready for use|Ditt användarkonto i Kultus är klart för användning|||| + + + + + + Käyttäjätilisi Kultuksessa on valmis käytettäväksi + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Käyttäjätilisi on valmis käytettäväksi +

+

+ Hei {{person.name}}!

+

+ Sinun käyttäjätilisi on nyt valmis + käytettäväksi + Kultuksessa + seuraavilla organisaatioilla:

+
    + {% for organisation in + person.organisations.all()%} +
  • {{organisation.name}}
  • + {% endfor %} +
+ + {% if custom_message %} +

+ {{ custom_message }}

+ {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Your user account in Kultus is ready for use + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Your account is now ready to be used in + Kultus +

+

+ Hi {{person.name}}!

+

+ Your account is now ready to be used in + Kultus + with the following organisations linked to + your account:

+
    + {% for organisation in + person.organisations.all()%} +
  • {{organisation.name}}
  • + {% endfor %} +
+ + {% if custom_message %} +

+ {{ custom_message }}

+ {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Ditt användarkonto i Kultus är klart för användning + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Your account is now ready to be used in + Kultus +

+

+ Hi {{person.name}}!

+

+ Your account is now ready to be used in + Kultus + with the following organisations linked to + your account:

+
    + {% for organisation in + person.organisations.all()%} +
  • {{organisation.name}}
  • + {% endfor %} +
+ + {% if custom_message %} +

+ {{ custom_message }}

+ {% endif %} +
+
+
+
+
+ + + + + + person_myprofile_creation|Uusi käyttäjä luotu Kultukseen|New user created for Kultus|Ny användare skapad för Kultus|||| + + + + + + Uusi käyttäjä luotu Kultukseen + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Hei Kultus ylläpitäjä!

+

+ Uusi palveluntarjoajan tunnus on luotu!

+
+ {{person.name}}
+ {{person.email_address}}
+ Käyttäjätunnus: {{person.user.username}} +
+

+ Palveluntarjoaja tarvitsee ylläpitäjää + (sinua) hyväksymään luomansa + käyttäjätunnuksen käyttöön: +

+
    +
  1. Luo puuttuvat organisaatiot + LinkedEventsiin
  2. +
  3. Luo puuttuvat organisaatiot Kultukseen +
  4. +
  5. Liitä organisaatiot käyttäjään
  6. +
  7. + Lisää käyttäjälle staff-lippu, jotta hän + saisi oikeudet luoda ja muokata + tapahtumia. +
  8. +
+

+ Käyttäjä haluaisi edustaa seuraavia + organisaatioita:

+
    + {% for organisation in + person.organisationproposal_set.all() %} +
  • {{organisation.name}}
  • + {% endfor %} +
+

+ Muokataksesi luotua käyttäjätunnusta, + klikkaa + tästä! +

+

+ Nähdäksesi listan käyttäjistä, klikkaa + tästä. +

+
+
+
+
+
+ + + + + | + + + + + + New user created for Kultus + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Dear Kultus Admin!

+

+ A new Kultus provider user profile is + created

+
+ {{person.name}}
+ {{person.email_address}}
+ Username: {{person.user.username}} +
+

+ The provider who created the user profile + needs an admin (you) to accept the + user profile: +

+
    +
  1. Create the missing organisations to + LinkedEvents
  2. +
  3. Create the missing organisations to + Kultus
  4. +
  5. Link the user to organisations
  6. +
  7. + Set the staff -flag so the user would + receive the permissions to create and + edit their events. +
  8. +
+

+ The user would like to represent these + organisations:

+
    + {% for organisation in + person.organisationproposal_set.all() %} +
  • {{organisation.name}}
  • + {% endfor %} +
+

+ To edit the newly created user profile, + click + here! +

+

+ To see a full list of users, click + here. +

+
+
+
+
+
+ + + + + | + + + + + + Ny användare skapad för Kultus + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Dear Kultus Admin!

+

+ A new Kultus provider user profile is + created

+
+ {{person.name}}
+ {{person.email_address}}
+ Username: {{person.user.username}} +
+

+ The provider who created the user profile + needs an admin (you) to accept the + user profile: +

+
    +
  1. Create the missing organisations to + LinkedEvents
  2. +
  3. Create the missing organisations to + Kultus
  4. +
  5. Link the user to organisations
  6. +
  7. + Set the staff -flag so the user would + receive the permissions to create and + edit their events. +
  8. +
+

+ The user would like to represent these + organisations:

+
    + {% for organisation in + person.organisationproposal_set.all() %} +
  • {{organisation.name}}
  • + {% endfor %} +
+

+ To edit the newly created user profile, + click + here! +

+

+ To see a full list of users, click + here. +

+
+
+
+
+
+ + + + + + enrolment_approved|Ilmoittautuminen vahvistettu|Enrolment approved|Anmälan har bekräftats|||| + + + + + + Ilmoittautuminen vahvistettu + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Ilmoittautuminen vahvistettu +

+
+ Hei {{person.name }}
+

+ Hienoa, osallistumisenne {{trans(event.name)}} {{ + occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}} on nyt vahvistettu. +

+

+ Otathan yhteyttä jos teille tulee esteitä tai muita muutoksia.

+

+ Tervetuloa, tavataan pian.

+ +

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Enrolment approved + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Enrolment accepted +

+
+ Hello, {{person.name }}
+

+ Congratulations, your participation in {{trans(event.name)}} {{ + occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}} has now been confirmed. +

+

+ Please contact us if any obstacles arise that could prevent you from attending or + you need to make other changes.

+

+ See you soon!

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Anmälan har bekräftats + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Anmälan har bekräftats +

+
+ Hej {{person.name }}!
+

+ Fint, ert deltagande {{trans(event.name)}} + {{ + occurrence.local_start_time.strftime('%d.%m.%Y + kl %H.%M')}} har nu bekräftats.

+

+ Vänligen kontakta oss om ni får förhinder + eller det dyker upp andra ändringar.

+

+ Välkommen, vi ses snart!

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ + occurrence.local_start_time.strftime('%d.%m.%Y + kl %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }} +
  • +
  • Språk: {{occurrence.languages.all() | + join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}} +
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }} +
  • +
  • Språk: {{ occurrence.languages | join + (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: + {{trans(event.location.street_address)}} +
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: + {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + occurrence_enrolment|Ilmoittautuminen vastaanotettu|Enrolment received|Anmälan mottagen|||| + + + + + + Ilmoittautuminen vastaanotettu + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Viesti vastaanotettu, vahvistamme osallistumisen myöhemmin

+
+ Hei {{ person.name }}, kiitos viestistäsi.
+

+ Tapahtuma: {{trans(event.name)}} +

+

+ Ryhmä: {{study_group.unit_name}} +

+

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + + | + + + + + + Enrolment received + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Message received, we will confirm the participation later

+
+ Hello {{ person.name }}, thank you for your message.
+

+ Event: {{trans(event.name)}} +

+

+ Group: {{study_group.unit_name}} +

+

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + + | + + + + + + Anmälan mottagen + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Meddelandet mottaget, vi bekräftar deltagande senare

+
+ Hej {{ person.name }}, tack för ditt meddelande.
+

+ Evenemang: {{trans(event.name)}} +

+

+ Grupp: {{study_group.unit_name}} +

+

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + + ''' +# --- +# name: test_create_non_existing_notifications + ''' + enrolment_approved|enrolment_approved fi original subject|enrolment_approved en original subject|enrolment_approved sv original subject||||enrolment_approved fi original body_html|enrolment_approved en original body_html|enrolment_approved sv original body_html + enrolment_approved_sms|enrolment approved sms|enrolment approved sms|enrolment approved sms|Hei. Ilmoittautuminen hyväksytty tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Enrolment accepted for the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Din anmälan till evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + enrolment_cancellation|Ilmoittautumisen peruuttaminen|Enrolment cancellation|Avbokning av anmälan|||| + + + + + + Ilmoittautumisen peruuttaminen + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Ilmoittautumisen peruuttaminen +

+
+ Hei {{person.name }}. Olette pyytäneet peruutusta tekemällenne ilmoittautumiselle. + Vahvistakaa peruuttaminen klikkaamalla seuraavaa linkkiä: {{ + enrolment.get_cancellation_url(language='fi') }}
+

+ Tapahtuma: {{trans(event.name)}} +

+

+ Ryhmä: {{study_group.unit_name}} +

+ +

+ Tapahtuman tiedot:

+
    +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Enrolment cancellation + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Enrolment cancellation +

+
+ Hi {{person.name }}. You are requesting a cancellation for your enrolment. Please + confirm the cancellation by clicking on the following link: {{ + enrolment.get_cancellation_url(language='en') }}
+

+ Event: {{trans(event.name)}} +

+

+ Group: {{study_group.unit_name}} +

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Avbokning av anmälan + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Avbokning av anmälan +

+
+ Hej {{person.name }}. Du begär en avbokning för din anmälan. Bekräfta avbokningen + genom att klicka på följande länk: {{ + enrolment.get_cancellation_url(language='sv') }}
+

+ Evenemang: {{trans(event.name)}} +

+

+ Grupp: {{study_group.unit_name}} +

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + enrolment_cancellation_sms|enrolment cancellation sms|enrolment cancellation sms|enrolment cancellation sms|Hei. Voitte vahvistaa peruutuksenne liittyen tapahtumaan {{trans(event.name)}} seuraavalla linkillä: {{enrolment.get_cancellation_url(language='fi')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. You can confirm your cancellation to the event {{trans(event.name)}} at the following link: {{enrolment.get_cancellation_url(language='en')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Du kan bekräfta din avbokning till evenemanget {{trans(event.name)}} på följande länk: {{enrolment.get_cancellation_url(language='sv')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + enrolment_cancelled|Ilmoittautumisen peruuttaminen vahvistettu|Enrolment cancellation confirmed|Avbokning av anmälan bekräftad|||| + + + + + + Ilmoittautumisen peruuttaminen vahvistettu + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Ilmoittautumisen peruuttaminen vahvistettu +

+
+ Hei {{person.name }}. Ilmoittautumisen peruuttaminen on vahvistettu.
+

+ Tapahtuma: {{trans(event.name)}} +

+

+ Ryhmä: {{study_group.unit_name}} +

+ +

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Enrolment cancellation confirmed + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Enrolment cancellation confirmed +

+
+ Hello {{person.name }}. The cancellation of enrolment has been confirmed.
+

+ Event: {{trans(event.name)}} +

+

+ Group: {{study_group.unit_name}} +

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Avbokning av anmälan bekräftad + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Avbokning av anmälan bekräftad +

+
+ Hej {{person.name }}. Avbokningen av anmälan har bekräftats.
+

+ Evenemang: {{trans(event.name)}} +

+

+ Grupp: {{study_group.unit_name}} +

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + enrolment_cancelled_sms|enrolment cancelled sms|enrolment cancelled sms|enrolment cancelled sms|Hei. Peruutuksenne tapahtumaan {{trans(event.name)}} on vahvistettu. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Your cancellation to the event {{trans(event.name)}} is confirmed. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Avbokningen av anmälan till evenemanget {{trans(event.name)}} har bekräftats. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + enrolment_declined|Ilmoittautumisen peruutusilmoitus|Enrolment declined|Meddelande om avbokning|||| + + + + + + Ilmoittautumisen peruutusilmoitus + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Ilmoittautumisen peruutusilmoitus +

+
+ Hei {{person.name }}
+

+ Harmin paikka, tällä kertaa emme onnistuneet saamaan ryhmällesi paikkoja + {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y klo + %H.%M')}}.

+

+ Toivottavasti tarjonnasta löytyy joku toinen mukava vaihtoehto teille.

+

+ Kokeilethan uudelleen.

+

+ Toivottavasti tavataan pian.

+ +

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Enrolment declined + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Enrolment cancellation notification +

+
+ Hello {{person.name }}
+

+ Unfortunately we were unable to reserve places for your group at + {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}} + this time.

+

+ We hope that you will be able to find another fun option in our range of events. +

+

+ Please try again.

+

+ Hope to see you soon!

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Meddelande om avbokning + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Meddelande om avbokning +

+
+ Hej {{person.name }}!
+

+ Synd, denna gång lyckades vi tyvärr inte komma åt platser för din grupp + {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y kl + %H.%M')}}.

+

+ Hoppas ni hittar något annat trevligt alternativ i urvalet.

+

+ Vänligen prova på nytt.

+

+ Hoppas vi ses snart!

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + enrolment_declined_sms|enrolment declined sms|enrolment declined sms|enrolment declined sms|Hei. Valitettavasti emme pysty tarjoamaan paikkaa tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Unfortunately, we cannot offer you a place at the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Vi kan tyvärr inte erbjuda en plats på evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + enrolment_summary_report|Ilmoittautumisen yhteenvetoraportti|Enrolment summary report|Sammanfattningsrapport för inskrivning|||| + + + + + + Ilmoittautumisen yhteenvetoraportti + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

Hei,

+

Tässä viimeisen 24 tunnin ilmoittautumiset

+
    +
  • Automaattisesti hyväksyttyjä: {{ total_new_enrolments }}
  • +
  • Hyväksymättä: {{ total_pending_enrolments }}
  • +
  • Uusia jonoilmoittautumisia: {{ total_new_queued_enrolments }}
  • +
+ +

Käy katsomassa nämä:

+ +

Mukavaa päivää !

+
+
+
+
+
+ + + + + + | + + + + + + Enrolment summary report + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

Hi,

+

Here are the enrollments for the last 24 hours

+
    +
  • Automatically approved: {{ total_new_enrolments }}
  • +
  • Pending enrolments: {{ total_pending_enrolments }}
  • +
  • New queued event enrolments: {{ total_new_queued_enrolments }}
  • +
+ +

Check these:

+ +

Have a nice day!

+
+
+
+
+
+ + + + + + | + + + + + + Sammanfattningsrapport för inskrivning + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

Hej,

+

Här är de senaste 24 timmarna av registreringar

+
    +
  • Godkänd automatiskt: {{ total_new_enrolments }}
  • +
  • Totalt väntande registreringar: {{ total_pending_enrolments }}
  • +
  • Nya köade eventregistreringar: {{ total_new_queued_enrolments }}
  • +
+ +

Glöm ej att kolla dessa:

+ +

Ha en trevlig dag

+
+
+
+
+
+ + + + + + + occurrence_cancelled|Peruutusilmoitus|Cancellation notification|Meddelande om inställt evenemang|||| + + + + + + Peruutusilmoitus + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Peruutusilmoitus

+
+ Hei {{person.name }}, valitettavasti tapahtuma, johon olit osallistumassa, on + peruttu
+

+ Tapahtuma: {{trans(event.name)}} +

+

+ Ryhmä: {{study_group.unit_name}} +

+ +

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ + occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ + occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Cancellation notification + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Cancellation notification

+
+ Hello {{person.name }}, unfortunately the event you were planning to participate + in has been cancelled.
+

+ Event: {{trans(event.name)}} +

+

+ Group: {{study_group.unit_name}} +

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ + occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ + occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Meddelande om inställt evenemang + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Meddelande om inställt evenemang

+
+ Hej {{person.name }}. Evenemanget som du skulle delta i har tyvärr ställts in. +
+

+ Evenemang: {{trans(event.name)}} +

+

+ Grupp: {{study_group.unit_name}} +

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ + occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + occurrence_cancelled_sms|occurrence cancelled sms|occurrence cancelled sms|occurrence cancelled sms|Hei. Valitettavasti tapahtuma on peruttu. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Unfortunately, the event is cancelled. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Evenemanget har tyvärr ställts in. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + occurrence_enrolment|Ilmoittautuminen vastaanotettu|Enrolment received|Anmälan mottagen|||| + + + + + + Ilmoittautuminen vastaanotettu + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Viesti vastaanotettu, vahvistamme osallistumisen myöhemmin

+
+ Hei {{ person.name }}, kiitos viestistäsi.
+

+ Tapahtuma: {{trans(event.name)}} +

+

+ Ryhmä: {{study_group.unit_name}} +

+

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + + | + + + + + + Enrolment received + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Message received, we will confirm the participation later

+
+ Hello {{ person.name }}, thank you for your message.
+

+ Event: {{trans(event.name)}} +

+

+ Group: {{study_group.unit_name}} +

+

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + + | + + + + + + Anmälan mottagen + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Meddelandet mottaget, vi bekräftar deltagande senare

+
+ Hej {{ person.name }}, tack för ditt meddelande.
+

+ Evenemang: {{trans(event.name)}} +

+

+ Grupp: {{study_group.unit_name}} +

+

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • +
  • Språk: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + + occurrence_enrolment_sms|occurrence enrolment sms|occurrence enrolment sms|occurrence enrolment sms|Hei. Viesti vastaanotettu tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Message received. We will send you a confirmation for the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Meddelandet är mottaget. Du får ännu en separat bekräftelse för deltagandet i evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| + occurrence_upcoming_sms|occurrence upcoming sms|occurrence upcoming sms|occurrence upcoming sms|Muistathan ilmoittautumisesi tapahtumaan {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {{study_group.unit_name}}. Mikäli et pääse paikalle, peruutathan varauksesi sähköpostilla: {{occurrence.p_event.contact_email}}. + |Please remember your enrolment for {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {{study_group.unit_name}}. If you are unable to attend, please cancel your place by email: {{occurrence.p_event.contact_email}}. + |Kom ihåg din anmälan till evenemanget {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}}. {{study_group.unit_name}}. Om du inte kan delta, vänligen avboka din bokning via e-post: {{occurrence.p_event.contact_email}}. + ||| + person_myprofile_accepted|Käyttäjätilisi Kultuksessa on valmis käytettäväksi|Your user account in Kultus is ready for use|Ditt användarkonto i Kultus är klart för användning|||| + + + + + + Käyttäjätilisi Kultuksessa on valmis käytettäväksi + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Käyttäjätilisi on valmis käytettäväksi +

+

+ Hei {{person.name}}!

+

+ Sinun käyttäjätilisi on nyt valmis + käytettäväksi + Kultuksessa + seuraavilla organisaatioilla:

+
    + {% for organisation in + person.organisations.all()%} +
  • {{organisation.name}}
  • + {% endfor %} +
+ + {% if custom_message %} +

+ {{ custom_message }}

+ {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Your user account in Kultus is ready for use + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Your account is now ready to be used in + Kultus +

+

+ Hi {{person.name}}!

+

+ Your account is now ready to be used in + Kultus + with the following organisations linked to + your account:

+
    + {% for organisation in + person.organisations.all()%} +
  • {{organisation.name}}
  • + {% endfor %} +
+ + {% if custom_message %} +

+ {{ custom_message }}

+ {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Ditt användarkonto i Kultus är klart för användning + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Your account is now ready to be used in + Kultus +

+

+ Hi {{person.name}}!

+

+ Your account is now ready to be used in + Kultus + with the following organisations linked to + your account:

+
    + {% for organisation in + person.organisations.all()%} +
  • {{organisation.name}}
  • + {% endfor %} +
+ + {% if custom_message %} +

+ {{ custom_message }}

+ {% endif %} +
+
+
+
+
+ + + + + + person_myprofile_creation|Uusi käyttäjä luotu Kultukseen|New user created for Kultus|Ny användare skapad för Kultus|||| + + + + + + Uusi käyttäjä luotu Kultukseen + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Hei Kultus ylläpitäjä!

+

+ Uusi palveluntarjoajan tunnus on luotu!

+
+ {{person.name}}
+ {{person.email_address}}
+ Käyttäjätunnus: {{person.user.username}} +
+

+ Palveluntarjoaja tarvitsee ylläpitäjää + (sinua) hyväksymään luomansa + käyttäjätunnuksen käyttöön: +

+
    +
  1. Luo puuttuvat organisaatiot + LinkedEventsiin
  2. +
  3. Luo puuttuvat organisaatiot Kultukseen +
  4. +
  5. Liitä organisaatiot käyttäjään
  6. +
  7. + Lisää käyttäjälle staff-lippu, jotta hän + saisi oikeudet luoda ja muokata + tapahtumia. +
  8. +
+

+ Käyttäjä haluaisi edustaa seuraavia + organisaatioita:

+
    + {% for organisation in + person.organisationproposal_set.all() %} +
  • {{organisation.name}}
  • + {% endfor %} +
+

+ Muokataksesi luotua käyttäjätunnusta, + klikkaa + tästä! +

+

+ Nähdäksesi listan käyttäjistä, klikkaa + tästä. +

+
+
+
+
+
+ + + + + | + + + + + + New user created for Kultus + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Dear Kultus Admin!

+

+ A new Kultus provider user profile is + created

+
+ {{person.name}}
+ {{person.email_address}}
+ Username: {{person.user.username}} +
+

+ The provider who created the user profile + needs an admin (you) to accept the + user profile: +

+
    +
  1. Create the missing organisations to + LinkedEvents
  2. +
  3. Create the missing organisations to + Kultus
  4. +
  5. Link the user to organisations
  6. +
  7. + Set the staff -flag so the user would + receive the permissions to create and + edit their events. +
  8. +
+

+ The user would like to represent these + organisations:

+
    + {% for organisation in + person.organisationproposal_set.all() %} +
  • {{organisation.name}}
  • + {% endfor %} +
+

+ To edit the newly created user profile, + click + here! +

+

+ To see a full list of users, click + here. +

+
+
+
+
+
+ + + + + | + + + + + + Ny användare skapad för Kultus + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Dear Kultus Admin!

+

+ A new Kultus provider user profile is + created

+
+ {{person.name}}
+ {{person.email_address}}
+ Username: {{person.user.username}} +
+

+ The provider who created the user profile + needs an admin (you) to accept the + user profile: +

+
    +
  1. Create the missing organisations to + LinkedEvents
  2. +
  3. Create the missing organisations to + Kultus
  4. +
  5. Link the user to organisations
  6. +
  7. + Set the staff -flag so the user would + receive the permissions to create and + edit their events. +
  8. +
+

+ The user would like to represent these + organisations:

+
    + {% for organisation in + person.organisationproposal_set.all() %} +
  • {{organisation.name}}
  • + {% endfor %} +
+

+ To edit the newly created user profile, + click + here! +

+

+ To see a full list of users, click + here. +

+
+
+
+
+
+ + + + + + ''' +# --- +# name: test_update_notifications + ''' + enrolment_approved|Ilmoittautuminen vahvistettu|Enrolment approved|Anmälan har bekräftats|||| + + + + + + Ilmoittautuminen vahvistettu + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingin kaupungin logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Ilmoittautuminen vahvistettu +

+
+ Hei {{person.name }}
+

+ Hienoa, osallistumisenne {{trans(event.name)}} {{ + occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}} on nyt vahvistettu. +

+

+ Otathan yhteyttä jos teille tulee esteitä tai muita muutoksia.

+

+ Tervetuloa, tavataan pian.

+ +

+ Tapahtuman tiedot:

+
    + {% if not preview_mode %} +
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Aika: {{ occurrence.start_time}}
  • +
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • +
  • Kieli: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Paikka: {{trans(event.location.name)}} +
  • +
  • Osoite: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Viesti järjestäjältä:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Järjestäjän yhteystiedot

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Enrolment approved + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ City of Helsinki logo +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Enrolment accepted +

+
+ Hello, {{person.name }}
+

+ Congratulations, your participation in {{trans(event.name)}} {{ + occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}} has now been confirmed. +

+

+ Please contact us if any obstacles arise that could prevent you from attending or + you need to make other changes.

+

+ See you soon!

+ +

+ Event information:

+
    + {% if not preview_mode %} +
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{occurrence.languages.all() | join (", ")}}
  • + {% else %} +
  • Time: {{ occurrence.start_time}}
  • +
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • +
  • Language: {{ occurrence.languages | join (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Place: {{trans(event.location.name)}} +
  • +
  • Address: {{trans(event.location.street_address)}}
  • + {% if event.location.telephone %} +
  • Contact information: {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Message from the organiser:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Organiser’s contact information

+ + {% endif %} +
+
+
+
+
+ + + + + | + + + + + + Anmälan har bekräftats + + + + + + + + + + + + +
+
+ + + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
+ Helsingfors stads logotyp +
+
+ + + + + + +
+

+ KULTUS

+
+
+
+
+ + + + + + +
+ + + + + + +
+
+ + + + + + +
+ + + + + + + +
+

+ Anmälan har bekräftats +

+
+ Hej {{person.name }}!
+

+ Fint, ert deltagande {{trans(event.name)}} + {{ + occurrence.local_start_time.strftime('%d.%m.%Y + kl %H.%M')}} har nu bekräftats.

+

+ Vänligen kontakta oss om ni får förhinder + eller det dyker upp andra ändringar.

+

+ Välkommen, vi ses snart!

+ +

+ Uppgifter om evenemanget:

+
    + {% if not preview_mode %} +
  • Tidpunkt: {{ + occurrence.local_start_time.strftime('%d.%m.%Y + kl %H.%M')}}
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }} +
  • +
  • Språk: {{occurrence.languages.all() | + join (", ")}}
  • + {% else %} +
  • Tidpunkt: {{ occurrence.start_time}} +
  • +
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }} +
  • +
  • Språk: {{ occurrence.languages | join + (", ")}}
  • + {% endif %} + {% if event.location is defined %} +
  • Plats: {{trans(event.location.name)}} +
  • +
  • Adress: + {{trans(event.location.street_address)}} +
  • + {% if event.location.telephone %} +
  • Kontaktuppgifter: + {{trans(event.location.telephone)}}
  • + {% endif %} + {% endif %} +
+ + {% if custom_message %} +

+ Meddelande från arrangörerna:

+

+ {{custom_message}}

+ {% endif %} ​ + {% if not occurrence.p_event.contact_info_deleted_at %} +

+ Arrangörens kontaktuppgifter

+ + {% endif %} +
+
+
+
+
+ + + + + + ''' +# --- diff --git a/notification_importers/tests/__snapshots__/test_notification_google_sheet_importer.ambr b/notification_importers/tests/__snapshots__/test_notification_google_sheet_importer.ambr new file mode 100644 index 00000000..f8dbd3c8 --- /dev/null +++ b/notification_importers/tests/__snapshots__/test_notification_google_sheet_importer.ambr @@ -0,0 +1,16 @@ +# serializer version: 1 +# name: test_create_non_existing_and_update_existing_notifications + ''' + enrolment_approved|enrolment_approved fi updated subject|enrolment_approved en updated subject|enrolment_approved sv updated subject|enrolment_approved fi updated body_text|enrolment_approved en updated body_text|enrolment_approved sv updated body_text||| + occurrence_enrolment|occurrence_enrolment fi updated subject|occurrence_enrolment en updated subject|occurrence_enrolment sv updated subject|occurrence_enrolment fi updated body_text|occurrence_enrolment en updated body_text|occurrence_enrolment sv updated body_text||| + ''' +# --- +# name: test_create_non_existing_notifications + ''' + enrolment_approved|enrolment_approved fi original subject|enrolment_approved en original subject|enrolment_approved sv original subject|enrolment_approved fi original body_text|enrolment_approved en original body_text|enrolment_approved sv original body_text||| + occurrence_enrolment|occurrence_enrolment fi updated subject|occurrence_enrolment en updated subject|occurrence_enrolment sv updated subject|occurrence_enrolment fi updated body_text|occurrence_enrolment en updated body_text|occurrence_enrolment sv updated body_text||| + ''' +# --- +# name: test_update_notifications + 'enrolment_approved|enrolment_approved fi updated subject|enrolment_approved en updated subject|enrolment_approved sv updated subject|enrolment_approved fi updated body_text|enrolment_approved en updated body_text|enrolment_approved sv updated body_text|||' +# --- diff --git a/notification_importers/tests/snapshots/__init__.py b/notification_importers/tests/snapshots/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/notification_importers/tests/snapshots/snap_test_notification_file_importer.py b/notification_importers/tests/snapshots/snap_test_notification_file_importer.py deleted file mode 100644 index c1d60162..00000000 --- a/notification_importers/tests/snapshots/snap_test_notification_file_importer.py +++ /dev/null @@ -1,26822 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - - -snapshots = Snapshot() - -snapshots['test_create_non_existing_and_update_existing_notifications 1'] = '''enrolment_approved_sms|enrolment approved sms|enrolment approved sms|enrolment approved sms|Hei. Ilmoittautuminen hyväksytty tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Enrolment accepted for the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Din anmälan till evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -enrolment_cancellation|Ilmoittautumisen peruuttaminen|Enrolment cancellation|Avbokning av anmälan|||| - - - - - - Ilmoittautumisen peruuttaminen - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Ilmoittautumisen peruuttaminen -

-
- Hei {{person.name }}. Olette pyytäneet peruutusta tekemällenne ilmoittautumiselle. - Vahvistakaa peruuttaminen klikkaamalla seuraavaa linkkiä: {{ - enrolment.get_cancellation_url(language='fi') }}
-

- Tapahtuma: {{trans(event.name)}} -

-

- Ryhmä: {{study_group.unit_name}} -

- -

- Tapahtuman tiedot:

-
    -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Enrolment cancellation - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Enrolment cancellation -

-
- Hi {{person.name }}. You are requesting a cancellation for your enrolment. Please - confirm the cancellation by clicking on the following link: {{ - enrolment.get_cancellation_url(language='en') }}
-

- Event: {{trans(event.name)}} -

-

- Group: {{study_group.unit_name}} -

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Avbokning av anmälan - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Avbokning av anmälan -

-
- Hej {{person.name }}. Du begär en avbokning för din anmälan. Bekräfta avbokningen - genom att klicka på följande länk: {{ - enrolment.get_cancellation_url(language='sv') }}
-

- Evenemang: {{trans(event.name)}} -

-

- Grupp: {{study_group.unit_name}} -

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -enrolment_cancellation_sms|enrolment cancellation sms|enrolment cancellation sms|enrolment cancellation sms|Hei. Voitte vahvistaa peruutuksenne liittyen tapahtumaan {{trans(event.name)}} seuraavalla linkillä: {{enrolment.get_cancellation_url(language='fi')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. You can confirm your cancellation to the event {{trans(event.name)}} at the following link: {{enrolment.get_cancellation_url(language='en')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Du kan bekräfta din avbokning till evenemanget {{trans(event.name)}} på följande länk: {{enrolment.get_cancellation_url(language='sv')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -enrolment_cancelled|Ilmoittautumisen peruuttaminen vahvistettu|Enrolment cancellation confirmed|Avbokning av anmälan bekräftad|||| - - - - - - Ilmoittautumisen peruuttaminen vahvistettu - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Ilmoittautumisen peruuttaminen vahvistettu -

-
- Hei {{person.name }}. Ilmoittautumisen peruuttaminen on vahvistettu.
-

- Tapahtuma: {{trans(event.name)}} -

-

- Ryhmä: {{study_group.unit_name}} -

- -

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Enrolment cancellation confirmed - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Enrolment cancellation confirmed -

-
- Hello {{person.name }}. The cancellation of enrolment has been confirmed.
-

- Event: {{trans(event.name)}} -

-

- Group: {{study_group.unit_name}} -

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Avbokning av anmälan bekräftad - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Avbokning av anmälan bekräftad -

-
- Hej {{person.name }}. Avbokningen av anmälan har bekräftats.
-

- Evenemang: {{trans(event.name)}} -

-

- Grupp: {{study_group.unit_name}} -

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -enrolment_cancelled_sms|enrolment cancelled sms|enrolment cancelled sms|enrolment cancelled sms|Hei. Peruutuksenne tapahtumaan {{trans(event.name)}} on vahvistettu. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Your cancellation to the event {{trans(event.name)}} is confirmed. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Avbokningen av anmälan till evenemanget {{trans(event.name)}} har bekräftats. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -enrolment_declined|Ilmoittautumisen peruutusilmoitus|Enrolment declined|Meddelande om avbokning|||| - - - - - - Ilmoittautumisen peruutusilmoitus - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Ilmoittautumisen peruutusilmoitus -

-
- Hei {{person.name }}
-

- Harmin paikka, tällä kertaa emme onnistuneet saamaan ryhmällesi paikkoja - {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y klo - %H.%M')}}.

-

- Toivottavasti tarjonnasta löytyy joku toinen mukava vaihtoehto teille.

-

- Kokeilethan uudelleen.

-

- Toivottavasti tavataan pian.

- -

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Enrolment declined - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Enrolment cancellation notification -

-
- Hello {{person.name }}
-

- Unfortunately we were unable to reserve places for your group at - {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}} - this time.

-

- We hope that you will be able to find another fun option in our range of events. -

-

- Please try again.

-

- Hope to see you soon!

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Meddelande om avbokning - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Meddelande om avbokning -

-
- Hej {{person.name }}!
-

- Synd, denna gång lyckades vi tyvärr inte komma åt platser för din grupp - {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y kl - %H.%M')}}.

-

- Hoppas ni hittar något annat trevligt alternativ i urvalet.

-

- Vänligen prova på nytt.

-

- Hoppas vi ses snart!

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -enrolment_declined_sms|enrolment declined sms|enrolment declined sms|enrolment declined sms|Hei. Valitettavasti emme pysty tarjoamaan paikkaa tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Unfortunately, we cannot offer you a place at the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Vi kan tyvärr inte erbjuda en plats på evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -enrolment_summary_report|Ilmoittautumisen yhteenvetoraportti|Enrolment summary report|Sammanfattningsrapport för inskrivning|||| - - - - - - Ilmoittautumisen yhteenvetoraportti - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

Hei,

-

Tässä viimeisen 24 tunnin ilmoittautumiset

-
    -
  • Automaattisesti hyväksyttyjä: {{ total_new_enrolments }}
  • -
  • Hyväksymättä: {{ total_pending_enrolments }}
  • -
  • Uusia jonoilmoittautumisia: {{ total_new_queued_enrolments }}
  • -
- -

Käy katsomassa nämä:

- -

Mukavaa päivää !

-
-
-
-
-
- - - - - -| - - - - - - Enrolment summary report - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

Hi,

-

Here are the enrollments for the last 24 hours

-
    -
  • Automatically approved: {{ total_new_enrolments }}
  • -
  • Pending enrolments: {{ total_pending_enrolments }}
  • -
  • New queued event enrolments: {{ total_new_queued_enrolments }}
  • -
- -

Check these:

- -

Have a nice day!

-
-
-
-
-
- - - - - -| - - - - - - Sammanfattningsrapport för inskrivning - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

Hej,

-

Här är de senaste 24 timmarna av registreringar

-
    -
  • Godkänd automatiskt: {{ total_new_enrolments }}
  • -
  • Totalt väntande registreringar: {{ total_pending_enrolments }}
  • -
  • Nya köade eventregistreringar: {{ total_new_queued_enrolments }}
  • -
- -

Glöm ej att kolla dessa:

- -

Ha en trevlig dag

-
-
-
-
-
- - - - - - -occurrence_cancelled|Peruutusilmoitus|Cancellation notification|Meddelande om inställt evenemang|||| - - - - - - Peruutusilmoitus - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Peruutusilmoitus

-
- Hei {{person.name }}, valitettavasti tapahtuma, johon olit osallistumassa, on - peruttu
-

- Tapahtuma: {{trans(event.name)}} -

-

- Ryhmä: {{study_group.unit_name}} -

- -

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ - occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ - occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Cancellation notification - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Cancellation notification

-
- Hello {{person.name }}, unfortunately the event you were planning to participate - in has been cancelled.
-

- Event: {{trans(event.name)}} -

-

- Group: {{study_group.unit_name}} -

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ - occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ - occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Meddelande om inställt evenemang - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Meddelande om inställt evenemang

-
- Hej {{person.name }}. Evenemanget som du skulle delta i har tyvärr ställts in. -
-

- Evenemang: {{trans(event.name)}} -

-

- Grupp: {{study_group.unit_name}} -

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ - occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -occurrence_cancelled_sms|occurrence cancelled sms|occurrence cancelled sms|occurrence cancelled sms|Hei. Valitettavasti tapahtuma on peruttu. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Unfortunately, the event is cancelled. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Evenemanget har tyvärr ställts in. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -occurrence_enrolment_sms|occurrence enrolment sms|occurrence enrolment sms|occurrence enrolment sms|Hei. Viesti vastaanotettu tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Message received. We will send you a confirmation for the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Meddelandet är mottaget. Du får ännu en separat bekräftelse för deltagandet i evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -occurrence_upcoming_sms|occurrence upcoming sms|occurrence upcoming sms|occurrence upcoming sms|Muistathan ilmoittautumisesi tapahtumaan {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {{study_group.unit_name}}. Mikäli et pääse paikalle, peruutathan varauksesi sähköpostilla: {{occurrence.p_event.contact_email}}. -|Please remember your enrolment for {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {{study_group.unit_name}}. If you are unable to attend, please cancel your place by email: {{occurrence.p_event.contact_email}}. -|Kom ihåg din anmälan till evenemanget {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}}. {{study_group.unit_name}}. Om du inte kan delta, vänligen avboka din bokning via e-post: {{occurrence.p_event.contact_email}}. -||| -person_myprofile_accepted|Käyttäjätilisi Kultuksessa on valmis käytettäväksi|Your user account in Kultus is ready for use|Ditt användarkonto i Kultus är klart för användning|||| - - - - - - Käyttäjätilisi Kultuksessa on valmis käytettäväksi - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Käyttäjätilisi on valmis käytettäväksi -

-

- Hei {{person.name}}!

-

- Sinun käyttäjätilisi on nyt valmis - käytettäväksi - Kultuksessa - seuraavilla organisaatioilla:

-
    - {% for organisation in - person.organisations.all()%} -
  • {{organisation.name}}
  • - {% endfor %} -
- - {% if custom_message %} -

- {{ custom_message }}

- {% endif %} -
-
-
-
-
- - - - -| - - - - - - Your user account in Kultus is ready for use - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Your account is now ready to be used in - Kultus -

-

- Hi {{person.name}}!

-

- Your account is now ready to be used in - Kultus - with the following organisations linked to - your account:

-
    - {% for organisation in - person.organisations.all()%} -
  • {{organisation.name}}
  • - {% endfor %} -
- - {% if custom_message %} -

- {{ custom_message }}

- {% endif %} -
-
-
-
-
- - - - -| - - - - - - Ditt användarkonto i Kultus är klart för användning - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Your account is now ready to be used in - Kultus -

-

- Hi {{person.name}}!

-

- Your account is now ready to be used in - Kultus - with the following organisations linked to - your account:

-
    - {% for organisation in - person.organisations.all()%} -
  • {{organisation.name}}
  • - {% endfor %} -
- - {% if custom_message %} -

- {{ custom_message }}

- {% endif %} -
-
-
-
-
- - - - - -person_myprofile_creation|Uusi käyttäjä luotu Kultukseen|New user created for Kultus|Ny användare skapad för Kultus|||| - - - - - - Uusi käyttäjä luotu Kultukseen - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Hei Kultus ylläpitäjä!

-

- Uusi palveluntarjoajan tunnus on luotu!

-
- {{person.name}}
- {{person.email_address}}
- Käyttäjätunnus: {{person.user.username}} -
-

- Palveluntarjoaja tarvitsee ylläpitäjää - (sinua) hyväksymään luomansa - käyttäjätunnuksen käyttöön: -

-
    -
  1. Luo puuttuvat organisaatiot - LinkedEventsiin
  2. -
  3. Luo puuttuvat organisaatiot Kultukseen -
  4. -
  5. Liitä organisaatiot käyttäjään
  6. -
  7. - Lisää käyttäjälle staff-lippu, jotta hän - saisi oikeudet luoda ja muokata - tapahtumia. -
  8. -
-

- Käyttäjä haluaisi edustaa seuraavia - organisaatioita:

-
    - {% for organisation in - person.organisationproposal_set.all() %} -
  • {{organisation.name}}
  • - {% endfor %} -
-

- Muokataksesi luotua käyttäjätunnusta, - klikkaa - tästä! -

-

- Nähdäksesi listan käyttäjistä, klikkaa - tästä. -

-
-
-
-
-
- - - - -| - - - - - - New user created for Kultus - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Dear Kultus Admin!

-

- A new Kultus provider user profile is - created

-
- {{person.name}}
- {{person.email_address}}
- Username: {{person.user.username}} -
-

- The provider who created the user profile - needs an admin (you) to accept the - user profile: -

-
    -
  1. Create the missing organisations to - LinkedEvents
  2. -
  3. Create the missing organisations to - Kultus
  4. -
  5. Link the user to organisations
  6. -
  7. - Set the staff -flag so the user would - receive the permissions to create and - edit their events. -
  8. -
-

- The user would like to represent these - organisations:

-
    - {% for organisation in - person.organisationproposal_set.all() %} -
  • {{organisation.name}}
  • - {% endfor %} -
-

- To edit the newly created user profile, - click - here! -

-

- To see a full list of users, click - here. -

-
-
-
-
-
- - - - -| - - - - - - Ny användare skapad för Kultus - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Dear Kultus Admin!

-

- A new Kultus provider user profile is - created

-
- {{person.name}}
- {{person.email_address}}
- Username: {{person.user.username}} -
-

- The provider who created the user profile - needs an admin (you) to accept the - user profile: -

-
    -
  1. Create the missing organisations to - LinkedEvents
  2. -
  3. Create the missing organisations to - Kultus
  4. -
  5. Link the user to organisations
  6. -
  7. - Set the staff -flag so the user would - receive the permissions to create and - edit their events. -
  8. -
-

- The user would like to represent these - organisations:

-
    - {% for organisation in - person.organisationproposal_set.all() %} -
  • {{organisation.name}}
  • - {% endfor %} -
-

- To edit the newly created user profile, - click - here! -

-

- To see a full list of users, click - here. -

-
-
-
-
-
- - - - - -enrolment_approved|Ilmoittautuminen vahvistettu|Enrolment approved|Anmälan har bekräftats|||| - - - - - - Ilmoittautuminen vahvistettu - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Ilmoittautuminen vahvistettu -

-
- Hei {{person.name }}
-

- Hienoa, osallistumisenne {{trans(event.name)}} {{ - occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}} on nyt vahvistettu. -

-

- Otathan yhteyttä jos teille tulee esteitä tai muita muutoksia.

-

- Tervetuloa, tavataan pian.

- -

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Enrolment approved - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Enrolment accepted -

-
- Hello, {{person.name }}
-

- Congratulations, your participation in {{trans(event.name)}} {{ - occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}} has now been confirmed. -

-

- Please contact us if any obstacles arise that could prevent you from attending or - you need to make other changes.

-

- See you soon!

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Anmälan har bekräftats - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Anmälan har bekräftats -

-
- Hej {{person.name }}!
-

- Fint, ert deltagande {{trans(event.name)}} - {{ - occurrence.local_start_time.strftime('%d.%m.%Y - kl %H.%M')}} har nu bekräftats.

-

- Vänligen kontakta oss om ni får förhinder - eller det dyker upp andra ändringar.

-

- Välkommen, vi ses snart!

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ - occurrence.local_start_time.strftime('%d.%m.%Y - kl %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }} -
  • -
  • Språk: {{occurrence.languages.all() | - join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}} -
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }} -
  • -
  • Språk: {{ occurrence.languages | join - (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: - {{trans(event.location.street_address)}} -
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: - {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -occurrence_enrolment|Ilmoittautuminen vastaanotettu|Enrolment received|Anmälan mottagen|||| - - - - - - Ilmoittautuminen vastaanotettu - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Viesti vastaanotettu, vahvistamme osallistumisen myöhemmin

-
- Hei {{ person.name }}, kiitos viestistäsi.
-

- Tapahtuma: {{trans(event.name)}} -

-

- Ryhmä: {{study_group.unit_name}} -

-

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - - -| - - - - - - Enrolment received - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Message received, we will confirm the participation later

-
- Hello {{ person.name }}, thank you for your message.
-

- Event: {{trans(event.name)}} -

-

- Group: {{study_group.unit_name}} -

-

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - - -| - - - - - - Anmälan mottagen - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Meddelandet mottaget, vi bekräftar deltagande senare

-
- Hej {{ person.name }}, tack för ditt meddelande.
-

- Evenemang: {{trans(event.name)}} -

-

- Grupp: {{study_group.unit_name}} -

-

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -''' - -snapshots['test_create_non_existing_notifications 1'] = '''enrolment_approved|enrolment_approved fi original subject|enrolment_approved en original subject|enrolment_approved sv original subject||||enrolment_approved fi original body_html|enrolment_approved en original body_html|enrolment_approved sv original body_html -enrolment_approved_sms|enrolment approved sms|enrolment approved sms|enrolment approved sms|Hei. Ilmoittautuminen hyväksytty tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Enrolment accepted for the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Din anmälan till evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -enrolment_cancellation|Ilmoittautumisen peruuttaminen|Enrolment cancellation|Avbokning av anmälan|||| - - - - - - Ilmoittautumisen peruuttaminen - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Ilmoittautumisen peruuttaminen -

-
- Hei {{person.name }}. Olette pyytäneet peruutusta tekemällenne ilmoittautumiselle. - Vahvistakaa peruuttaminen klikkaamalla seuraavaa linkkiä: {{ - enrolment.get_cancellation_url(language='fi') }}
-

- Tapahtuma: {{trans(event.name)}} -

-

- Ryhmä: {{study_group.unit_name}} -

- -

- Tapahtuman tiedot:

-
    -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Enrolment cancellation - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Enrolment cancellation -

-
- Hi {{person.name }}. You are requesting a cancellation for your enrolment. Please - confirm the cancellation by clicking on the following link: {{ - enrolment.get_cancellation_url(language='en') }}
-

- Event: {{trans(event.name)}} -

-

- Group: {{study_group.unit_name}} -

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Avbokning av anmälan - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Avbokning av anmälan -

-
- Hej {{person.name }}. Du begär en avbokning för din anmälan. Bekräfta avbokningen - genom att klicka på följande länk: {{ - enrolment.get_cancellation_url(language='sv') }}
-

- Evenemang: {{trans(event.name)}} -

-

- Grupp: {{study_group.unit_name}} -

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -enrolment_cancellation_sms|enrolment cancellation sms|enrolment cancellation sms|enrolment cancellation sms|Hei. Voitte vahvistaa peruutuksenne liittyen tapahtumaan {{trans(event.name)}} seuraavalla linkillä: {{enrolment.get_cancellation_url(language='fi')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. You can confirm your cancellation to the event {{trans(event.name)}} at the following link: {{enrolment.get_cancellation_url(language='en')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Du kan bekräfta din avbokning till evenemanget {{trans(event.name)}} på följande länk: {{enrolment.get_cancellation_url(language='sv')}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -enrolment_cancelled|Ilmoittautumisen peruuttaminen vahvistettu|Enrolment cancellation confirmed|Avbokning av anmälan bekräftad|||| - - - - - - Ilmoittautumisen peruuttaminen vahvistettu - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Ilmoittautumisen peruuttaminen vahvistettu -

-
- Hei {{person.name }}. Ilmoittautumisen peruuttaminen on vahvistettu.
-

- Tapahtuma: {{trans(event.name)}} -

-

- Ryhmä: {{study_group.unit_name}} -

- -

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Enrolment cancellation confirmed - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Enrolment cancellation confirmed -

-
- Hello {{person.name }}. The cancellation of enrolment has been confirmed.
-

- Event: {{trans(event.name)}} -

-

- Group: {{study_group.unit_name}} -

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Avbokning av anmälan bekräftad - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Avbokning av anmälan bekräftad -

-
- Hej {{person.name }}. Avbokningen av anmälan har bekräftats.
-

- Evenemang: {{trans(event.name)}} -

-

- Grupp: {{study_group.unit_name}} -

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -enrolment_cancelled_sms|enrolment cancelled sms|enrolment cancelled sms|enrolment cancelled sms|Hei. Peruutuksenne tapahtumaan {{trans(event.name)}} on vahvistettu. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Your cancellation to the event {{trans(event.name)}} is confirmed. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Avbokningen av anmälan till evenemanget {{trans(event.name)}} har bekräftats. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -enrolment_declined|Ilmoittautumisen peruutusilmoitus|Enrolment declined|Meddelande om avbokning|||| - - - - - - Ilmoittautumisen peruutusilmoitus - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Ilmoittautumisen peruutusilmoitus -

-
- Hei {{person.name }}
-

- Harmin paikka, tällä kertaa emme onnistuneet saamaan ryhmällesi paikkoja - {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y klo - %H.%M')}}.

-

- Toivottavasti tarjonnasta löytyy joku toinen mukava vaihtoehto teille.

-

- Kokeilethan uudelleen.

-

- Toivottavasti tavataan pian.

- -

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Enrolment declined - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Enrolment cancellation notification -

-
- Hello {{person.name }}
-

- Unfortunately we were unable to reserve places for your group at - {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}} - this time.

-

- We hope that you will be able to find another fun option in our range of events. -

-

- Please try again.

-

- Hope to see you soon!

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Meddelande om avbokning - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Meddelande om avbokning -

-
- Hej {{person.name }}!
-

- Synd, denna gång lyckades vi tyvärr inte komma åt platser för din grupp - {{trans(event.name)}} {{ occurrence.local_start_time.strftime('%d.%m.%Y kl - %H.%M')}}.

-

- Hoppas ni hittar något annat trevligt alternativ i urvalet.

-

- Vänligen prova på nytt.

-

- Hoppas vi ses snart!

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -enrolment_declined_sms|enrolment declined sms|enrolment declined sms|enrolment declined sms|Hei. Valitettavasti emme pysty tarjoamaan paikkaa tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Unfortunately, we cannot offer you a place at the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Vi kan tyvärr inte erbjuda en plats på evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -enrolment_summary_report|Ilmoittautumisen yhteenvetoraportti|Enrolment summary report|Sammanfattningsrapport för inskrivning|||| - - - - - - Ilmoittautumisen yhteenvetoraportti - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

Hei,

-

Tässä viimeisen 24 tunnin ilmoittautumiset

-
    -
  • Automaattisesti hyväksyttyjä: {{ total_new_enrolments }}
  • -
  • Hyväksymättä: {{ total_pending_enrolments }}
  • -
  • Uusia jonoilmoittautumisia: {{ total_new_queued_enrolments }}
  • -
- -

Käy katsomassa nämä:

- -

Mukavaa päivää !

-
-
-
-
-
- - - - - -| - - - - - - Enrolment summary report - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

Hi,

-

Here are the enrollments for the last 24 hours

-
    -
  • Automatically approved: {{ total_new_enrolments }}
  • -
  • Pending enrolments: {{ total_pending_enrolments }}
  • -
  • New queued event enrolments: {{ total_new_queued_enrolments }}
  • -
- -

Check these:

- -

Have a nice day!

-
-
-
-
-
- - - - - -| - - - - - - Sammanfattningsrapport för inskrivning - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

Hej,

-

Här är de senaste 24 timmarna av registreringar

-
    -
  • Godkänd automatiskt: {{ total_new_enrolments }}
  • -
  • Totalt väntande registreringar: {{ total_pending_enrolments }}
  • -
  • Nya köade eventregistreringar: {{ total_new_queued_enrolments }}
  • -
- -

Glöm ej att kolla dessa:

- -

Ha en trevlig dag

-
-
-
-
-
- - - - - - -occurrence_cancelled|Peruutusilmoitus|Cancellation notification|Meddelande om inställt evenemang|||| - - - - - - Peruutusilmoitus - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Peruutusilmoitus

-
- Hei {{person.name }}, valitettavasti tapahtuma, johon olit osallistumassa, on - peruttu
-

- Tapahtuma: {{trans(event.name)}} -

-

- Ryhmä: {{study_group.unit_name}} -

- -

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ - occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ - occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Cancellation notification - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Cancellation notification

-
- Hello {{person.name }}, unfortunately the event you were planning to participate - in has been cancelled.
-

- Event: {{trans(event.name)}} -

-

- Group: {{study_group.unit_name}} -

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ - occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ - occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Meddelande om inställt evenemang - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Meddelande om inställt evenemang

-
- Hej {{person.name }}. Evenemanget som du skulle delta i har tyvärr ställts in. -
-

- Evenemang: {{trans(event.name)}} -

-

- Grupp: {{study_group.unit_name}} -

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ - occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - -occurrence_cancelled_sms|occurrence cancelled sms|occurrence cancelled sms|occurrence cancelled sms|Hei. Valitettavasti tapahtuma on peruttu. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Hi. Unfortunately, the event is cancelled. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Evenemanget har tyvärr ställts in. {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -occurrence_enrolment|Ilmoittautuminen vastaanotettu|Enrolment received|Anmälan mottagen|||| - - - - - - Ilmoittautuminen vastaanotettu - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Viesti vastaanotettu, vahvistamme osallistumisen myöhemmin

-
- Hei {{ person.name }}, kiitos viestistäsi.
-

- Tapahtuma: {{trans(event.name)}} -

-

- Ryhmä: {{study_group.unit_name}} -

-

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - - -| - - - - - - Enrolment received - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Message received, we will confirm the participation later

-
- Hello {{ person.name }}, thank you for your message.
-

- Event: {{trans(event.name)}} -

-

- Group: {{study_group.unit_name}} -

-

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - - -| - - - - - - Anmälan mottagen - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Meddelandet mottaget, vi bekräftar deltagande senare

-
- Hej {{ person.name }}, tack för ditt meddelande.
-

- Evenemang: {{trans(event.name)}} -

-

- Grupp: {{study_group.unit_name}} -

-

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }}
  • -
  • Språk: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - - - -occurrence_enrolment_sms|occurrence enrolment sms|occurrence enrolment sms|occurrence enrolment sms|Hei. Viesti vastaanotettu tapahtumaan {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. Ryhmä {{ study_group.unit_name }} {{study_group.group_size}} hlö. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Lisätietoja: {{occurrence.p_event.contact_email}}|Message received. We will send you a confirmation for the event {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. Group {{ study_group.unit_name }} {{study_group.group_size}} ppl. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Info: {{occurrence.p_event.contact_email}}|Hej. Meddelandet är mottaget. Du får ännu en separat bekräftelse för deltagandet i evenemanget {{trans(event.name)}}. {{ occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}} Grupp {{ study_group.unit_name }} {{study_group.group_size}} personer. {% if event.location is defined %}{{trans(event.location.name)}}, {{trans(event.location.street_address)}}. {% endif %}Mer information: {{occurrence.p_event.contact_email}}||| -occurrence_upcoming_sms|occurrence upcoming sms|occurrence upcoming sms|occurrence upcoming sms|Muistathan ilmoittautumisesi tapahtumaan {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}. {{study_group.unit_name}}. Mikäli et pääse paikalle, peruutathan varauksesi sähköpostilla: {{occurrence.p_event.contact_email}}. -|Please remember your enrolment for {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y at %H.%M')}}. {{study_group.unit_name}}. If you are unable to attend, please cancel your place by email: {{occurrence.p_event.contact_email}}. -|Kom ihåg din anmälan till evenemanget {{trans(event.name)}}. {{occurrence.local_start_time.strftime('%d.%m.%Y kl %H.%M')}}. {{study_group.unit_name}}. Om du inte kan delta, vänligen avboka din bokning via e-post: {{occurrence.p_event.contact_email}}. -||| -person_myprofile_accepted|Käyttäjätilisi Kultuksessa on valmis käytettäväksi|Your user account in Kultus is ready for use|Ditt användarkonto i Kultus är klart för användning|||| - - - - - - Käyttäjätilisi Kultuksessa on valmis käytettäväksi - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Käyttäjätilisi on valmis käytettäväksi -

-

- Hei {{person.name}}!

-

- Sinun käyttäjätilisi on nyt valmis - käytettäväksi - Kultuksessa - seuraavilla organisaatioilla:

-
    - {% for organisation in - person.organisations.all()%} -
  • {{organisation.name}}
  • - {% endfor %} -
- - {% if custom_message %} -

- {{ custom_message }}

- {% endif %} -
-
-
-
-
- - - - -| - - - - - - Your user account in Kultus is ready for use - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Your account is now ready to be used in - Kultus -

-

- Hi {{person.name}}!

-

- Your account is now ready to be used in - Kultus - with the following organisations linked to - your account:

-
    - {% for organisation in - person.organisations.all()%} -
  • {{organisation.name}}
  • - {% endfor %} -
- - {% if custom_message %} -

- {{ custom_message }}

- {% endif %} -
-
-
-
-
- - - - -| - - - - - - Ditt användarkonto i Kultus är klart för användning - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Your account is now ready to be used in - Kultus -

-

- Hi {{person.name}}!

-

- Your account is now ready to be used in - Kultus - with the following organisations linked to - your account:

-
    - {% for organisation in - person.organisations.all()%} -
  • {{organisation.name}}
  • - {% endfor %} -
- - {% if custom_message %} -

- {{ custom_message }}

- {% endif %} -
-
-
-
-
- - - - - -person_myprofile_creation|Uusi käyttäjä luotu Kultukseen|New user created for Kultus|Ny användare skapad för Kultus|||| - - - - - - Uusi käyttäjä luotu Kultukseen - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Hei Kultus ylläpitäjä!

-

- Uusi palveluntarjoajan tunnus on luotu!

-
- {{person.name}}
- {{person.email_address}}
- Käyttäjätunnus: {{person.user.username}} -
-

- Palveluntarjoaja tarvitsee ylläpitäjää - (sinua) hyväksymään luomansa - käyttäjätunnuksen käyttöön: -

-
    -
  1. Luo puuttuvat organisaatiot - LinkedEventsiin
  2. -
  3. Luo puuttuvat organisaatiot Kultukseen -
  4. -
  5. Liitä organisaatiot käyttäjään
  6. -
  7. - Lisää käyttäjälle staff-lippu, jotta hän - saisi oikeudet luoda ja muokata - tapahtumia. -
  8. -
-

- Käyttäjä haluaisi edustaa seuraavia - organisaatioita:

-
    - {% for organisation in - person.organisationproposal_set.all() %} -
  • {{organisation.name}}
  • - {% endfor %} -
-

- Muokataksesi luotua käyttäjätunnusta, - klikkaa - tästä! -

-

- Nähdäksesi listan käyttäjistä, klikkaa - tästä. -

-
-
-
-
-
- - - - -| - - - - - - New user created for Kultus - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Dear Kultus Admin!

-

- A new Kultus provider user profile is - created

-
- {{person.name}}
- {{person.email_address}}
- Username: {{person.user.username}} -
-

- The provider who created the user profile - needs an admin (you) to accept the - user profile: -

-
    -
  1. Create the missing organisations to - LinkedEvents
  2. -
  3. Create the missing organisations to - Kultus
  4. -
  5. Link the user to organisations
  6. -
  7. - Set the staff -flag so the user would - receive the permissions to create and - edit their events. -
  8. -
-

- The user would like to represent these - organisations:

-
    - {% for organisation in - person.organisationproposal_set.all() %} -
  • {{organisation.name}}
  • - {% endfor %} -
-

- To edit the newly created user profile, - click - here! -

-

- To see a full list of users, click - here. -

-
-
-
-
-
- - - - -| - - - - - - Ny användare skapad för Kultus - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Dear Kultus Admin!

-

- A new Kultus provider user profile is - created

-
- {{person.name}}
- {{person.email_address}}
- Username: {{person.user.username}} -
-

- The provider who created the user profile - needs an admin (you) to accept the - user profile: -

-
    -
  1. Create the missing organisations to - LinkedEvents
  2. -
  3. Create the missing organisations to - Kultus
  4. -
  5. Link the user to organisations
  6. -
  7. - Set the staff -flag so the user would - receive the permissions to create and - edit their events. -
  8. -
-

- The user would like to represent these - organisations:

-
    - {% for organisation in - person.organisationproposal_set.all() %} -
  • {{organisation.name}}
  • - {% endfor %} -
-

- To edit the newly created user profile, - click - here! -

-

- To see a full list of users, click - here. -

-
-
-
-
-
- - - - -''' - -snapshots['test_update_notifications 1'] = '''enrolment_approved|Ilmoittautuminen vahvistettu|Enrolment approved|Anmälan har bekräftats|||| - - - - - - Ilmoittautuminen vahvistettu - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingin kaupungin logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Ilmoittautuminen vahvistettu -

-
- Hei {{person.name }}
-

- Hienoa, osallistumisenne {{trans(event.name)}} {{ - occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}} on nyt vahvistettu. -

-

- Otathan yhteyttä jos teille tulee esteitä tai muita muutoksia.

-

- Tervetuloa, tavataan pian.

- -

- Tapahtuman tiedot:

-
    - {% if not preview_mode %} -
  • Aika: {{ occurrence.local_start_time.strftime('%d.%m.%Y klo %H.%M')}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Aika: {{ occurrence.start_time}}
  • -
  • Paikkoja: Lapset: {{ study_group.group_size }} Aikuiset: {{ study_group.amount_of_adult }}
  • -
  • Kieli: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Paikka: {{trans(event.location.name)}} -
  • -
  • Osoite: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Yhteystiedot: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Viesti järjestäjältä:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Järjestäjän yhteystiedot

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Enrolment approved - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- City of Helsinki logo -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Enrolment accepted -

-
- Hello, {{person.name }}
-

- Congratulations, your participation in {{trans(event.name)}} {{ - occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}} has now been confirmed. -

-

- Please contact us if any obstacles arise that could prevent you from attending or - you need to make other changes.

-

- See you soon!

- -

- Event information:

-
    - {% if not preview_mode %} -
  • Time: {{ occurrence.local_start_time.strftime('%d.%m.%Y %H.%M')}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{occurrence.languages.all() | join (", ")}}
  • - {% else %} -
  • Time: {{ occurrence.start_time}}
  • -
  • Places: Children: {{ study_group.group_size }} Adults: {{ study_group.amount_of_adult }}
  • -
  • Language: {{ occurrence.languages | join (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Place: {{trans(event.location.name)}} -
  • -
  • Address: {{trans(event.location.street_address)}}
  • - {% if event.location.telephone %} -
  • Contact information: {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Message from the organiser:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Organiser’s contact information

- - {% endif %} -
-
-
-
-
- - - - -| - - - - - - Anmälan har bekräftats - - - - - - - - - - - - -
-
- - - - - - - -
- - - - - - -
- - - - - - - -
- - - - - - -
- Helsingfors stads logotyp -
-
- - - - - - -
-

- KULTUS

-
-
-
-
- - - - - - -
- - - - - - -
-
- - - - - - -
- - - - - - - -
-

- Anmälan har bekräftats -

-
- Hej {{person.name }}!
-

- Fint, ert deltagande {{trans(event.name)}} - {{ - occurrence.local_start_time.strftime('%d.%m.%Y - kl %H.%M')}} har nu bekräftats.

-

- Vänligen kontakta oss om ni får förhinder - eller det dyker upp andra ändringar.

-

- Välkommen, vi ses snart!

- -

- Uppgifter om evenemanget:

-
    - {% if not preview_mode %} -
  • Tidpunkt: {{ - occurrence.local_start_time.strftime('%d.%m.%Y - kl %H.%M')}}
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }} -
  • -
  • Språk: {{occurrence.languages.all() | - join (", ")}}
  • - {% else %} -
  • Tidpunkt: {{ occurrence.start_time}} -
  • -
  • Plats: Barn: {{ study_group.group_size }} Vuxna: {{ study_group.amount_of_adult }} -
  • -
  • Språk: {{ occurrence.languages | join - (", ")}}
  • - {% endif %} - {% if event.location is defined %} -
  • Plats: {{trans(event.location.name)}} -
  • -
  • Adress: - {{trans(event.location.street_address)}} -
  • - {% if event.location.telephone %} -
  • Kontaktuppgifter: - {{trans(event.location.telephone)}}
  • - {% endif %} - {% endif %} -
- - {% if custom_message %} -

- Meddelande från arrangörerna:

-

- {{custom_message}}

- {% endif %} \u200b - {% if not occurrence.p_event.contact_info_deleted_at %} -

- Arrangörens kontaktuppgifter

- - {% endif %} -
-
-
-
-
- - - - -''' diff --git a/notification_importers/tests/snapshots/snap_test_notification_google_sheet_importer.py b/notification_importers/tests/snapshots/snap_test_notification_google_sheet_importer.py deleted file mode 100644 index ac5ef559..00000000 --- a/notification_importers/tests/snapshots/snap_test_notification_google_sheet_importer.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - -snapshots = Snapshot() - -snapshots[ - "test_create_non_existing_and_update_existing_notifications 1" -] = """enrolment_approved|enrolment_approved fi updated subject|enrolment_approved en updated subject|enrolment_approved sv updated subject|enrolment_approved fi updated body_text|enrolment_approved en updated body_text|enrolment_approved sv updated body_text||| -occurrence_enrolment|occurrence_enrolment fi updated subject|occurrence_enrolment en updated subject|occurrence_enrolment sv updated subject|occurrence_enrolment fi updated body_text|occurrence_enrolment en updated body_text|occurrence_enrolment sv updated body_text|||""" - -snapshots[ - "test_create_non_existing_notifications 1" -] = """enrolment_approved|enrolment_approved fi original subject|enrolment_approved en original subject|enrolment_approved sv original subject|enrolment_approved fi original body_text|enrolment_approved en original body_text|enrolment_approved sv original body_text||| -occurrence_enrolment|occurrence_enrolment fi updated subject|occurrence_enrolment en updated subject|occurrence_enrolment sv updated subject|occurrence_enrolment fi updated body_text|occurrence_enrolment en updated body_text|occurrence_enrolment sv updated body_text|||""" - -snapshots["test_update_notifications 1"] = ( - "enrolment_approved|enrolment_approved fi updated subject|enrolment_approved en updated subject|enrolment_approved sv updated subject|enrolment_approved fi updated body_text|enrolment_approved en updated body_text|enrolment_approved sv updated body_text|||" -) diff --git a/notification_importers/tests/snapshots/snap_test_notification_importer.py b/notification_importers/tests/snapshots/snap_test_notification_importer.py deleted file mode 100644 index f82a0d74..00000000 --- a/notification_importers/tests/snapshots/snap_test_notification_importer.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - -snapshots = Snapshot() - -snapshots["test_update_notifications 1"] = ( - "enrolment_approved|enrolment_approved fi updated subject|enrolment_approved en updated subject|enrolment_approved sv updated subject|enrolment_approved fi updated body_text|enrolment_approved en updated body_text|enrolment_approved sv updated body_text|||" -) - -snapshots[ - "test_create_non_existing_and_update_existing_notifications 1" -] = """enrolment_approved|enrolment_approved fi updated subject|enrolment_approved en updated subject|enrolment_approved sv updated subject|enrolment_approved fi updated body_text|enrolment_approved en updated body_text|enrolment_approved sv updated body_text||| -occurrence_enrolment|occurrence_enrolment fi updated subject|occurrence_enrolment en updated subject|occurrence_enrolment sv updated subject|occurrence_enrolment fi updated body_text|occurrence_enrolment en updated body_text|occurrence_enrolment sv updated body_text|||""" - -snapshots[ - "test_create_non_existing_notifications 1" -] = """enrolment_approved|enrolment_approved fi original subject|enrolment_approved en original subject|enrolment_approved sv original subject|enrolment_approved fi original body_text|enrolment_approved en original body_text|enrolment_approved sv original body_text||| -occurrence_enrolment|occurrence_enrolment fi updated subject|occurrence_enrolment en updated subject|occurrence_enrolment sv updated subject|occurrence_enrolment fi updated body_text|occurrence_enrolment en updated body_text|occurrence_enrolment sv updated body_text|||""" diff --git a/occurrences/templates/admin/palvelutarjotinevent_changelist.html b/occurrences/templates/admin/palvelutarjotinevent_changelist.html index e8a88642..13e0be6a 100644 --- a/occurrences/templates/admin/palvelutarjotinevent_changelist.html +++ b/occurrences/templates/admin/palvelutarjotinevent_changelist.html @@ -24,4 +24,4 @@ {{ block.super }} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/occurrences/tests/__snapshots__/test_api.ambr b/occurrences/tests/__snapshots__/test_api.ambr new file mode 100644 index 00000000..febd54d6 --- /dev/null +++ b/occurrences/tests/__snapshots__/test_api.ambr @@ -0,0 +1,3151 @@ +# serializer version: 1 +# name: test_add_occurrence_to_published_event + dict({ + 'data': dict({ + 'addOccurrence': dict({ + 'occurrence': dict({ + 'contactPersons': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'New name', + }), + }), + dict({ + 'node': dict({ + 'name': 'Sean Rocha', + }), + }), + ]), + }), + 'endTime': '2020-05-06T00:00:00+00:00', + 'languages': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'ar', + 'name': 'Arabic', + }), + }), + dict({ + 'node': dict({ + 'id': 'zh_hans', + 'name': 'Chinese', + }), + }), + dict({ + 'node': dict({ + 'id': 'en', + 'name': 'English', + }), + }), + dict({ + 'node': dict({ + 'id': 'ru', + 'name': 'Russia', + }), + }), + dict({ + 'node': dict({ + 'id': 'sv', + 'name': 'Swedish', + }), + }), + ]), + }), + 'maxGroupSize': None, + 'minGroupSize': 10, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'barrettjason@example.org', + 'contactPhoneNumber': '271-434-1145', + 'enrolmentEndDays': 0, + 'enrolmentStart': '1980-03-10T09:11:49.213826+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'QoxZH', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 2, + }), + 'startTime': '2020-05-05T00:00:00+00:00', + }), + }), + }), + }) +# --- +# name: test_add_occurrence_to_unpublished_event + dict({ + 'data': dict({ + 'addOccurrence': dict({ + 'occurrence': dict({ + 'contactPersons': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'New name', + }), + }), + dict({ + 'node': dict({ + 'name': 'Sean Rocha', + }), + }), + ]), + }), + 'endTime': '2020-05-06T00:00:00+00:00', + 'languages': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'ar', + 'name': 'Arabic', + }), + }), + dict({ + 'node': dict({ + 'id': 'zh_hans', + 'name': 'Chinese', + }), + }), + dict({ + 'node': dict({ + 'id': 'en', + 'name': 'English', + }), + }), + dict({ + 'node': dict({ + 'id': 'ru', + 'name': 'Russia', + }), + }), + dict({ + 'node': dict({ + 'id': 'sv', + 'name': 'Swedish', + }), + }), + ]), + }), + 'maxGroupSize': None, + 'minGroupSize': 10, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'barrettjason@example.org', + 'contactPhoneNumber': '271-434-1145', + 'enrolmentEndDays': 0, + 'enrolmentStart': '1980-03-10T09:11:49.213826+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'QoxZH', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 2, + }), + 'startTime': '2020-05-05T00:00:00+00:00', + }), + }), + }), + }) +# --- +# name: test_add_study_group + dict({ + 'data': dict({ + 'addStudyGroup': dict({ + 'studyGroup': dict({ + 'amountOfAdult': 1, + 'extraNeeds': 'Extra needs', + 'groupName': 'Sample group name', + 'groupSize': 20, + 'person': dict({ + 'emailAddress': 'email@address.com', + 'language': 'SV', + 'name': 'Name', + 'phoneNumber': '123123', + }), + 'studyLevels': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'grade_1', + 'label': 'first grade', + 'level': 3, + 'translations': list([ + dict({ + 'label': 'first grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + ]), + }), + 'unit': dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/', + 'name': dict({ + 'fi': 'Raija Malka & Kaija Saariaho: Blick', + }), + }), + 'unitId': 'helsinki:afxp6tv4xa', + 'unitName': 'Sample study group name', + }), + }), + }), + }) +# --- +# name: test_add_study_group.1 + dict({ + 'data': dict({ + 'addStudyGroup': dict({ + 'studyGroup': dict({ + 'amountOfAdult': 1, + 'extraNeeds': 'Extra needs', + 'groupName': 'Sample group name', + 'groupSize': 20, + 'person': dict({ + 'emailAddress': 'kimberlyshort@example.org', + 'language': 'FI', + 'name': 'Charles Anderson', + 'phoneNumber': '213.341.1450x892', + }), + 'studyLevels': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'grade_1', + 'label': 'first grade', + 'level': 3, + 'translations': list([ + dict({ + 'label': 'first grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + ]), + }), + 'unit': dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/', + 'name': dict({ + 'fi': 'Raija Malka & Kaija Saariaho: Blick', + }), + }), + 'unitId': 'helsinki:afxp6tv4xa', + 'unitName': 'Sample study group name', + }), + }), + }), + }) +# --- +# name: test_add_venue_staff_user + dict({ + 'data': dict({ + 'addVenue': dict({ + 'venue': dict({ + 'description': 'Venue description in FI', + 'hasAreaForGroupWork': True, + 'hasClothingStorage': True, + 'hasIndoorPlayingArea': True, + 'hasOutdoorPlayingArea': True, + 'hasSnackEatingPlace': True, + 'hasToiletNearby': True, + 'id': 'place_id', + 'outdoorActivity': True, + 'translations': list([ + dict({ + 'description': 'Venue description in FI', + }), + dict({ + 'description': 'Venue description in EN', + }), + ]), + }), + }), + }), + }) +# --- +# name: test_approve_enrolment + dict({ + 'data': dict({ + 'approveEnrolment': dict({ + 'enrolment': dict({ + 'status': 'APPROVED', + }), + }), + }), + }) +# --- +# name: test_approve_enrolment.1 + list([ + ''' + no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: VFlOj + Study group: Leave serve important probably. Sea something western research. + Occurrence: 06.01.2020 02.00 + Person: kimberlyshort@example.org + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + + ''', + ]) +# --- +# name: test_approve_enrolment_with_custom_message + dict({ + 'data': dict({ + 'approveEnrolment': dict({ + 'enrolment': dict({ + 'status': 'APPROVED', + }), + }), + }), + }) +# --- +# name: test_approve_enrolment_with_custom_message.1 + list([ + ''' + no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: MYfOB + Study group: Leave serve important probably. Sea something western research. + Occurrence: 06.01.2020 02.00 + Person: kimberlyshort@example.org + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + Custom message: custom message + + ''', + ]) +# --- +# name: test_ask_for_cancelled_confirmation_mutation + dict({ + 'data': dict({ + 'cancelEnrolment': dict({ + 'enrolment': dict({ + 'status': 'PENDING', + }), + }), + }), + }) +# --- +# name: test_auto_accept_message_is_used_as_custom_message_in_auto_approved_enrolments[False] + dict({ + 'data': dict({ + 'enrolOccurrence': dict({ + 'enrolments': list([ + dict({ + 'notificationType': 'EMAIL', + 'occurrence': dict({ + 'amountOfSeats': 50, + 'remainingSeats': 35, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 15, + 'seatsTaken': 15, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'status': 'APPROVED', + 'studyGroup': dict({ + 'unitName': 'To be created group', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_auto_accept_message_is_used_as_custom_message_in_auto_approved_enrolments[True] + dict({ + 'data': dict({ + 'enrolOccurrence': dict({ + 'enrolments': list([ + dict({ + 'notificationType': 'EMAIL', + 'occurrence': dict({ + 'amountOfSeats': 50, + 'remainingSeats': 35, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 15, + 'seatsTaken': 15, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'status': 'APPROVED', + 'studyGroup': dict({ + 'unitName': 'To be created group', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_auto_accept_message_is_used_as_custom_message_in_auto_approved_enrolments[True].1 + list([ + ''' + no-reply@hel.ninja|['hutchinsonrachel@example.org']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: EOTtw + Study group: To be created group + Occurrence: 06.01.2020 02.00 + Person: hutchinsonrachel@example.org + + Custom message: Testing auto acceptance message + + ''', + ]) +# --- +# name: test_cancel_enrolment_mutation + dict({ + 'data': dict({ + 'cancelEnrolment': dict({ + 'enrolment': dict({ + 'status': 'CANCELLED', + }), + }), + }), + }) +# --- +# name: test_cancel_enrolment_query + dict({ + 'data': dict({ + 'cancellingEnrolment': dict({ + 'enrolmentTime': '2020-01-04T00:00:00+00:00', + 'occurrence': dict({ + 'seatsTaken': 229, + }), + 'status': 'PENDING', + 'studyGroup': dict({ + 'groupSize': 229, + 'unitName': 'Campaign college career fight data. Generation man process white visit step.', + }), + }), + }), + }) +# --- +# name: test_cancel_occurrence + dict({ + 'data': dict({ + 'cancelOccurrence': dict({ + 'occurrence': dict({ + 'cancelled': True, + }), + }), + }), + }) +# --- +# name: test_decline_enrolment + dict({ + 'data': dict({ + 'declineEnrolment': dict({ + 'enrolment': dict({ + 'status': 'DECLINED', + }), + }), + }), + }) +# --- +# name: test_decline_enrolment.1 + list([ + ''' + no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment declined FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: VFlOj + Study group: Leave serve important probably. Sea something western research. + Occurrence: 06.01.2020 02.00 + Person: kimberlyshort@example.org + + + ''', + ''' + no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment declined FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: VFlOj + Study group: Leave serve important probably. Sea something western research. + Occurrence: 06.01.2020 02.00 + Person: kimberlyshort@example.org + + + ''', + ]) +# --- +# name: test_decline_enrolment_with_custom_message + dict({ + 'data': dict({ + 'declineEnrolment': dict({ + 'enrolment': dict({ + 'status': 'DECLINED', + }), + }), + }), + }) +# --- +# name: test_decline_enrolment_with_custom_message.1 + list([ + ''' + no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment declined FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: MYfOB + Study group: Leave serve important probably. Sea something western research. + Occurrence: 06.01.2020 02.00 + Person: kimberlyshort@example.org + + Custom message: custom message + + ''', + ]) +# --- +# name: test_delete_cancelled_occurrence + dict({ + 'data': dict({ + 'deleteOccurrence': dict({ + '__typename': 'DeleteOccurrenceMutationPayload', + }), + }), + }) +# --- +# name: test_delete_unpublished_occurrence + dict({ + 'data': dict({ + 'deleteOccurrence': dict({ + '__typename': 'DeleteOccurrenceMutationPayload', + }), + }), + }) +# --- +# name: test_enrol_auto_acceptance_occurrence + dict({ + 'data': dict({ + 'enrolOccurrence': dict({ + 'enrolments': list([ + dict({ + 'notificationType': 'EMAIL', + 'occurrence': dict({ + 'amountOfSeats': 50, + 'remainingSeats': 35, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 15, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'status': 'PENDING', + 'studyGroup': dict({ + 'unitName': 'To be created group', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_enrol_auto_acceptance_occurrence.1 + dict({ + 'data': dict({ + 'enrolOccurrence': dict({ + 'enrolments': list([ + dict({ + 'notificationType': 'EMAIL', + 'occurrence': dict({ + 'amountOfSeats': 50, + 'remainingSeats': 35, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 15, + 'seatsTaken': 15, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'status': 'APPROVED', + 'studyGroup': dict({ + 'unitName': 'To be created group', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_enrol_event_queue_mutation + dict({ + 'data': dict({ + 'enrolEventQueue': dict({ + 'eventQueueEnrolment': dict({ + 'notificationType': 'EMAIL_SMS', + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'patriciacervantes@example.net', + 'contactPhoneNumber': '001-299-601-3232x13168', + 'enrolmentEndDays': 2, + 'enrolmentStart': '2019-09-02T21:49:06.027297+00:00', + 'externalEnrolmentUrl': None, + 'isQueueingAllowed': True, + 'linkedEventId': 'kSRpd', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 2, + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'preferredTimes': 'Only tuesdays', + 'unitName': 'To be created group', + }), + }), + }), + }), + }) +# --- +# name: test_enrol_occurrence + dict({ + 'data': dict({ + 'enrolOccurrence': dict({ + 'enrolments': list([ + dict({ + 'notificationType': 'EMAIL', + 'occurrence': dict({ + 'amountOfSeats': 50, + 'remainingSeats': 35, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 15, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'status': 'PENDING', + 'studyGroup': dict({ + 'unitName': 'To be created group', + }), + }), + dict({ + 'notificationType': 'EMAIL', + 'occurrence': dict({ + 'amountOfSeats': 2, + 'remainingSeats': 1, + 'seatType': 'ENROLMENT_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 1, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'status': 'PENDING', + 'studyGroup': dict({ + 'unitName': 'To be created group', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_enrol_occurrence_with_captcha + dict({ + 'data': dict({ + 'enrolOccurrence': dict({ + 'enrolments': list([ + dict({ + 'notificationType': 'EMAIL', + 'occurrence': dict({ + 'amountOfSeats': 50, + 'remainingSeats': 35, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 15, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'status': 'PENDING', + 'studyGroup': dict({ + 'unitName': 'To be created group', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_enrolment_query + dict({ + 'data': dict({ + 'enrolment': dict({ + 'occurrence': dict({ + 'endTime': '1984-08-14T20:17:50.965825+00:00', + 'pEvent': dict({ + 'linkedEventId': 'rBcjT', + }), + 'seatsTaken': 838, + 'startTime': '1976-10-26T19:25:30.627463+00:00', + }), + 'status': 'PENDING', + 'studyGroup': dict({ + 'groupName': 'Hot identify each its general. By garden so country past involve choose.', + }), + }), + }), + }) +# --- +# name: test_enrolments_summary + dict({ + 'data': dict({ + 'enrolmentSummary': dict({ + 'count': 4, + 'edges': list([ + dict({ + 'node': dict({ + 'status': 'APPROVED', + }), + }), + dict({ + 'node': dict({ + 'status': 'CANCELLED', + }), + }), + dict({ + 'node': dict({ + 'status': 'DECLINED', + }), + }), + dict({ + 'node': dict({ + 'status': 'PENDING', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_enrolments_summary.1 + dict({ + 'data': dict({ + 'enrolmentSummary': dict({ + 'count': 1, + 'edges': list([ + dict({ + 'node': dict({ + 'status': 'APPROVED', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_enrolments_summary.2 + dict({ + 'data': dict({ + 'enrolmentSummary': dict({ + 'count': 1, + 'edges': list([ + dict({ + 'node': dict({ + 'status': 'PENDING', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_enrolments_summary.3 + dict({ + 'data': dict({ + 'enrolmentSummary': dict({ + 'count': 1, + 'edges': list([ + dict({ + 'node': dict({ + 'status': 'CANCELLED', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_enrolments_summary.4 + dict({ + 'data': dict({ + 'enrolmentSummary': dict({ + 'count': 1, + 'edges': list([ + dict({ + 'node': dict({ + 'status': 'DECLINED', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_event_queue_enrolment_query + dict({ + 'data': dict({ + 'eventQueueEnrolment': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Close term where up notice environment father stay. Hold project month similar support line.', + 'preferredTimes': 'Only drug follow research.', + }), + }), + }), + }) +# --- +# name: test_event_queue_enrolments_query + dict({ + 'data': dict({ + 'eventQueueEnrolments': dict({ + 'count': 15, + 'edges': list([ + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjA=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Hotel event already college. Ok court type hit.', + 'preferredTimes': 'Fund nor white identify.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjE=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': ''' + Apply somebody especially far. Color price environmental. + Market him beyond. + ''', + 'preferredTimes': 'Pattern administration early.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjI=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Reach ask I cut ok. Perhaps teacher involve all my improve our Congress.', + 'preferredTimes': 'Future upon a key fast white.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjM=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Space oil painting. Cut region decade hold point firm. Interesting technology group.', + 'preferredTimes': 'Defense field east.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjQ=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Offer record quite window station. And natural seven. Hit performance daughter.', + 'preferredTimes': 'Home argue way all moment.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjU=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Yeah rock evening player. According however energy large change history.', + 'preferredTimes': 'Leg ready building.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjY=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Peace relationship hear increase us. Population along collection though.', + 'preferredTimes': 'Pressure health design admit.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjc=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Simple spend decade born. Day range age.', + 'preferredTimes': 'Image identify and.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjg=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Friend clear focus operation its bar anyone he.', + 'preferredTimes': 'Yes back traditional.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjk=', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Consumer miss sense remember. House senior popular end.', + 'preferredTimes': 'Site score center.', + }), + }), + }), + ]), + }), + }), + }) +# --- +# name: test_event_queue_enrolments_query.1 + dict({ + 'data': dict({ + 'eventQueueEnrolments': dict({ + 'count': 15, + 'edges': list([ + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjEw', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Away watch above bad car. List short color produce include threat.', + 'preferredTimes': 'Street sign education field.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjEx', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Before charge difficult number. Leave part and test benefit.', + 'preferredTimes': 'Hotel near deal.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjEy', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'The threat organization check may available. Offer much discuss.', + 'preferredTimes': 'Range seek turn how.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjEz', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Card support wait clearly.', + 'preferredTimes': 'Ago include poor example.', + }), + }), + }), + dict({ + 'cursor': 'YXJyYXljb25uZWN0aW9uOjE0', + 'node': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'GVbfW', + 'organisation': dict({ + 'name': 'Graves and Sons', + }), + }), + 'status': 'HAS_NO_ENROLMENTS', + 'studyGroup': dict({ + 'groupName': 'Project hope eight week still. Mission program point piece simple too walk. Talk hand price author.', + 'preferredTimes': 'On performance detail sure.', + }), + }), + }), + ]), + }), + }), + }) +# --- +# name: test_language_query + dict({ + 'data': dict({ + 'language': dict({ + 'id': 'aAVEavNlmo', + 'name': 'Him question stay.', + }), + }), + }) +# --- +# name: test_languages_query + dict({ + 'data': dict({ + 'languages': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'ar', + 'name': 'Arabic', + }), + }), + dict({ + 'node': dict({ + 'id': 'zh_hans', + 'name': 'Chinese', + }), + }), + dict({ + 'node': dict({ + 'id': 'en', + 'name': 'English', + }), + }), + dict({ + 'node': dict({ + 'id': 'fi', + 'name': 'Finnish', + }), + }), + dict({ + 'node': dict({ + 'id': 'aAVEavNlmo', + 'name': 'Him question stay.', + }), + }), + dict({ + 'node': dict({ + 'id': 'ru', + 'name': 'Russia', + }), + }), + dict({ + 'node': dict({ + 'id': 'sv', + 'name': 'Swedish', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_mass_approve_enrolment_mutation + dict({ + 'data': dict({ + 'massApproveEnrolments': dict({ + 'enrolments': list([ + dict({ + 'status': 'APPROVED', + }), + dict({ + 'status': 'APPROVED', + }), + dict({ + 'status': 'APPROVED', + }), + ]), + }), + }), + }) +# --- +# name: test_notification_template_query + dict({ + 'data': dict({ + 'notificationTemplate': dict({ + 'customContextPreviewHtml': ''' +

+ Event EN: Name in english + Extra event info: linked_event_id + Study group: group name + Occurrence: 2020-12-12 + Person: email@me.com + + Custom message: custom_message +

+ ''', + 'customContextPreviewText': ''' + + Event EN: Name in english + Extra event info: linked_event_id + Study group: group name + Occurrence: 2020-12-12 + Person: email@me.com + + Custom message: custom_message + + ''', + 'template': dict({ + 'type': 'enrolment_approved', + }), + }), + }), + }) +# --- +# name: test_occurrence_query + dict({ + 'data': dict({ + 'occurrence': dict({ + 'amountOfSeats': 33, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-07-05T12:04:13.244825+00:00', + 'languages': dict({ + 'edges': list([ + ]), + }), + 'linkedEvent': dict({ + 'name': dict({ + 'en': 'Raija Malka & Kaija Saariaho: Blick', + 'fi': 'Raija Malka & Kaija Saariaho: Blick', + 'sv': 'Raija Malka & Kaija Saariaho: Blick', + }), + }), + 'maxGroupSize': 383, + 'minGroupSize': 341, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'eperry@example.org', + 'contactPhoneNumber': '5646976380', + 'enrolmentEndDays': 1, + 'enrolmentStart': '1989-08-31T23:14:42.824885+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'ytHjL', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 5, + }), + 'placeId': 'Record card my. Sure sister return.', + 'remainingSeats': 33, + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2002-04-18T06:53:11.806335+00:00', + }), + }), + }) +# --- +# name: test_occurrences_filter_by_cancelled + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 48, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2010-06-18T23:16:49.508200+00:00', + 'maxGroupSize': 588, + 'minGroupSize': 752, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'dsellers@example.net', + 'contactPhoneNumber': '934.957.7355', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 3, + }), + 'placeId': 'Event lay yes policy data control as receive.', + 'remainingSeats': 48, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2010-05-25T06:23:10.664303+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 27, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-11-11T22:23:23.275974+00:00', + 'maxGroupSize': 779, + 'minGroupSize': 292, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'dsellers@example.net', + 'contactPhoneNumber': '934.957.7355', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 3, + }), + 'placeId': 'Foreign go age. Thought price gas heavy affect difficult look.', + 'remainingSeats': 27, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2017-11-29T20:14:25.983420+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_cancelled.1 + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 19, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1999-05-25T03:21:42.257063+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'dsellers@example.net', + 'contactPhoneNumber': '934.957.7355', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 3, + }), + 'placeId': 'Think significant land especially can quite.', + 'remainingSeats': 19, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '1992-03-25T02:06:42.233338+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_date + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 14, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-03-25T02:06:42.233338+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'huntveronica@example.net', + 'contactPhoneNumber': '946-620-0377x22182', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Eprsb', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 9, + }), + 'placeId': 'Today friend maintain marriage ok thank realize.', + 'remainingSeats': 14, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-02T00:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_date.1 + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 14, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-03-25T02:06:42.233338+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'huntveronica@example.net', + 'contactPhoneNumber': '946-620-0377x22182', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Eprsb', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 9, + }), + 'placeId': 'Today friend maintain marriage ok thank realize.', + 'remainingSeats': 14, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-02T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 46, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2009-07-10T23:31:56.453060+00:00', + 'maxGroupSize': 285, + 'minGroupSize': 350, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'flowersbryan@example.net', + 'contactPhoneNumber': '(951)826-3008x4654', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'jGwiN', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 10, + }), + 'placeId': 'Traditional whether serious sister work.', + 'remainingSeats': 46, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-02T00:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_enrollable[0-3] + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 2, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2010-02-19T14:44:08.844371+00:00', + 'maxGroupSize': 714, + 'minGroupSize': 757, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': 0, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Put matter benefit treat final. Father boy economy the.', + 'remainingSeats': 2, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-05T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 37, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1985-05-19T11:46:06.872667+00:00', + 'maxGroupSize': 859, + 'minGroupSize': 99, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': 0, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Party door better performance race story.', + 'remainingSeats': 37, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 15, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1987-01-08T13:12:09.032776+00:00', + 'maxGroupSize': 873, + 'minGroupSize': 799, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': 0, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Toward scientist service wonder everything.', + 'remainingSeats': 15, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-07T00:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_enrollable[1-2] + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 37, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1985-05-19T11:46:06.872667+00:00', + 'maxGroupSize': 859, + 'minGroupSize': 99, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': 1, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Party door better performance race story.', + 'remainingSeats': 37, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 15, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1987-01-08T13:12:09.032776+00:00', + 'maxGroupSize': 873, + 'minGroupSize': 799, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': 1, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Toward scientist service wonder everything.', + 'remainingSeats': 15, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-07T00:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_enrollable[None-3] + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 2, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2010-02-19T14:44:08.844371+00:00', + 'maxGroupSize': 714, + 'minGroupSize': 757, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': None, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Put matter benefit treat final. Father boy economy the.', + 'remainingSeats': 2, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-05T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 37, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1985-05-19T11:46:06.872667+00:00', + 'maxGroupSize': 859, + 'minGroupSize': 99, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': None, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Party door better performance race story.', + 'remainingSeats': 37, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 15, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1987-01-08T13:12:09.032776+00:00', + 'maxGroupSize': 873, + 'minGroupSize': 799, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': None, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Toward scientist service wonder everything.', + 'remainingSeats': 15, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-07T00:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_p_event + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 27, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1982-11-06T04:40:33.407924+00:00', + 'maxGroupSize': 22, + 'minGroupSize': 6, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'dsellers@example.net', + 'contactPhoneNumber': '934.957.7355', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 3, + }), + 'placeId': 'Need benefit ready though street.', + 'remainingSeats': 27, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2008-02-13T12:08:42.493034+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 3, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1983-12-18T04:04:52.499467+00:00', + 'maxGroupSize': 128, + 'minGroupSize': 574, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'dsellers@example.net', + 'contactPhoneNumber': '934.957.7355', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 3, + }), + 'placeId': 'Course plant strong truth customer.', + 'remainingSeats': 3, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2009-08-12T09:04:07.768068+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_p_event.1 + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 49, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1975-07-12T08:02:11.536273+00:00', + 'maxGroupSize': 990, + 'minGroupSize': 749, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'cmartin@example.org', + 'contactPhoneNumber': '+1-777-693-4055x5508', + 'enrolmentEndDays': 1, + 'enrolmentStart': '2004-08-22T05:11:59.521157+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'rzzET', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 10, + }), + 'placeId': 'End look once strong artist save. Run hand human value base.', + 'remainingSeats': 49, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2018-10-21T22:46:45.180823+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_time + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 33, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2002-04-18T06:53:11.806335+00:00', + 'maxGroupSize': 383, + 'minGroupSize': 341, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'bthomas@example.org', + 'contactPhoneNumber': '(806)849-7638x034', + 'enrolmentEndDays': 1, + 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'xytHj', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 7, + }), + 'placeId': 'Record card my. Sure sister return.', + 'remainingSeats': 33, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-01T10:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_time.1 + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 24, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1970-04-03T02:18:45.929522+00:00', + 'maxGroupSize': 288, + 'minGroupSize': 67, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'pwilliams@example.org', + 'contactPhoneNumber': '737.279.4021x78779', + 'enrolmentEndDays': 2, + 'enrolmentStart': '2007-04-19T17:41:37.637441+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Tfgkj', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 3, + }), + 'placeId': 'Few eye first walk west six feel. Fast authority key crime.', + 'remainingSeats': 24, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-02T12:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_time.2 + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 46, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2009-07-10T23:31:56.453060+00:00', + 'maxGroupSize': 285, + 'minGroupSize': 350, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'flowersbryan@example.net', + 'contactPhoneNumber': '(951)826-3008x4654', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'jGwiN', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 10, + }), + 'placeId': 'Traditional whether serious sister work.', + 'remainingSeats': 46, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-01T11:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 14, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-03-25T02:06:42.233338+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'huntveronica@example.net', + 'contactPhoneNumber': '946-620-0377x22182', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Eprsb', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 9, + }), + 'placeId': 'Today friend maintain marriage ok thank realize.', + 'remainingSeats': 14, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-02T11:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_time.3 + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 46, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2009-07-10T23:31:56.453060+00:00', + 'maxGroupSize': 285, + 'minGroupSize': 350, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'flowersbryan@example.net', + 'contactPhoneNumber': '(951)826-3008x4654', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'jGwiN', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 10, + }), + 'placeId': 'Traditional whether serious sister work.', + 'remainingSeats': 46, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-01T11:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 14, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-03-25T02:06:42.233338+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'huntveronica@example.net', + 'contactPhoneNumber': '946-620-0377x22182', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Eprsb', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 9, + }), + 'placeId': 'Today friend maintain marriage ok thank realize.', + 'remainingSeats': 14, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-02T11:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_filter_by_upcoming + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 43, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-05T00:00:00+00:00', + 'maxGroupSize': 709, + 'minGroupSize': 132, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': 10, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Success commercial recently from front affect senior.', + 'remainingSeats': 43, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-04T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 22, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-06T00:00:00+00:00', + 'maxGroupSize': 407, + 'minGroupSize': 589, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': 10, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Option PM put matter benefit.', + 'remainingSeats': 22, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-05T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 19, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-07T00:00:00+00:00', + 'maxGroupSize': 859, + 'minGroupSize': 99, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'thompsonjessica@example.com', + 'contactPhoneNumber': '001-833-934-5773x55777', + 'enrolmentEndDays': 10, + 'enrolmentStart': '2020-01-05T00:00:00+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'aAVEa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 6, + }), + 'placeId': 'Dream party door better performance race story.', + 'remainingSeats': 19, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_ordering_by_order_by_end_time + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 46, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-05T00:00:00+00:00', + 'maxGroupSize': 285, + 'minGroupSize': 350, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'flowersbryan@example.net', + 'contactPhoneNumber': '(951)826-3008x4654', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'jGwiN', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 10, + }), + 'placeId': 'Traditional whether serious sister work.', + 'remainingSeats': 46, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2009-07-10T23:31:56.453060+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 33, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-06T00:00:00+00:00', + 'maxGroupSize': 383, + 'minGroupSize': 341, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'bthomas@example.org', + 'contactPhoneNumber': '(806)849-7638x034', + 'enrolmentEndDays': 1, + 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'xytHj', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 7, + }), + 'placeId': 'Record card my. Sure sister return.', + 'remainingSeats': 33, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2002-04-18T06:53:11.806335+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 14, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-07T00:00:00+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'huntveronica@example.net', + 'contactPhoneNumber': '946-620-0377x22182', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Eprsb', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 9, + }), + 'placeId': 'Today friend maintain marriage ok thank realize.', + 'remainingSeats': 14, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '1992-03-25T02:06:42.233338+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_ordering_by_order_by_end_time.1 + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 14, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-07T00:00:00+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'huntveronica@example.net', + 'contactPhoneNumber': '946-620-0377x22182', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Eprsb', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 9, + }), + 'placeId': 'Today friend maintain marriage ok thank realize.', + 'remainingSeats': 14, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '1992-03-25T02:06:42.233338+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 33, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-06T00:00:00+00:00', + 'maxGroupSize': 383, + 'minGroupSize': 341, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'bthomas@example.org', + 'contactPhoneNumber': '(806)849-7638x034', + 'enrolmentEndDays': 1, + 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'xytHj', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 7, + }), + 'placeId': 'Record card my. Sure sister return.', + 'remainingSeats': 33, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2002-04-18T06:53:11.806335+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 46, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2020-01-05T00:00:00+00:00', + 'maxGroupSize': 285, + 'minGroupSize': 350, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'flowersbryan@example.net', + 'contactPhoneNumber': '(951)826-3008x4654', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'jGwiN', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 10, + }), + 'placeId': 'Traditional whether serious sister work.', + 'remainingSeats': 46, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2009-07-10T23:31:56.453060+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_ordering_by_order_by_start_time + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 46, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2009-07-10T23:31:56.453060+00:00', + 'maxGroupSize': 285, + 'minGroupSize': 350, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'flowersbryan@example.net', + 'contactPhoneNumber': '(951)826-3008x4654', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'jGwiN', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 10, + }), + 'placeId': 'Traditional whether serious sister work.', + 'remainingSeats': 46, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-05T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 33, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2002-04-18T06:53:11.806335+00:00', + 'maxGroupSize': 383, + 'minGroupSize': 341, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'bthomas@example.org', + 'contactPhoneNumber': '(806)849-7638x034', + 'enrolmentEndDays': 1, + 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'xytHj', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 7, + }), + 'placeId': 'Record card my. Sure sister return.', + 'remainingSeats': 33, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 14, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-03-25T02:06:42.233338+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'huntveronica@example.net', + 'contactPhoneNumber': '946-620-0377x22182', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Eprsb', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 9, + }), + 'placeId': 'Today friend maintain marriage ok thank realize.', + 'remainingSeats': 14, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-07T00:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_ordering_by_order_by_start_time.1 + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 14, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-03-25T02:06:42.233338+00:00', + 'maxGroupSize': 808, + 'minGroupSize': 974, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'huntveronica@example.net', + 'contactPhoneNumber': '946-620-0377x22182', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'Eprsb', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 9, + }), + 'placeId': 'Today friend maintain marriage ok thank realize.', + 'remainingSeats': 14, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-07T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 33, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2002-04-18T06:53:11.806335+00:00', + 'maxGroupSize': 383, + 'minGroupSize': 341, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'bthomas@example.org', + 'contactPhoneNumber': '(806)849-7638x034', + 'enrolmentEndDays': 1, + 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'xytHj', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 7, + }), + 'placeId': 'Record card my. Sure sister return.', + 'remainingSeats': 33, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + }), + dict({ + 'node': dict({ + 'amountOfSeats': 46, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '2009-07-10T23:31:56.453060+00:00', + 'maxGroupSize': 285, + 'minGroupSize': 350, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'flowersbryan@example.net', + 'contactPhoneNumber': '(951)826-3008x4654', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'jGwiN', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 10, + }), + 'placeId': 'Traditional whether serious sister work.', + 'remainingSeats': 46, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-05T00:00:00+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_occurrences_query + dict({ + 'data': dict({ + 'occurrences': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'amountOfSeats': 33, + 'contactPersons': dict({ + 'edges': list([ + ]), + }), + 'endTime': '1992-07-05T12:04:13.244825+00:00', + 'maxGroupSize': 383, + 'minGroupSize': 341, + 'pEvent': dict({ + 'autoAcceptance': False, + 'contactEmail': 'eperry@example.org', + 'contactPhoneNumber': '5646976380', + 'enrolmentEndDays': 1, + 'enrolmentStart': '1989-08-31T23:14:42.824885+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'ytHjL', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 5, + }), + 'placeId': 'Record card my. Sure sister return.', + 'remainingSeats': 33, + 'seatType': 'CHILDREN_COUNT', + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2002-04-18T06:53:11.806335+00:00', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_pick_enrolment_from_queue + dict({ + 'data': dict({ + 'pickEnrolmentFromQueue': dict({ + 'enrolment': dict({ + 'notificationType': 'EMAIL', + 'person': dict({ + 'emailAddress': 'rose06@example.com', + 'name': 'Robert Gray', + }), + 'status': 'PENDING', + 'studyGroup': dict({ + 'groupName': 'Decade address have turn serve me every traditional. Sound describe risk newspaper reflect four.', + }), + }), + }), + }), + }) +# --- +# name: test_study_level_query + dict({ + 'data': dict({ + 'studyLevel': dict({ + 'id': 'age_0_2', + 'label': 'age 0-2', + 'level': 0, + 'translations': list([ + dict({ + 'label': 'age 0-2', + 'languageCode': 'EN', + }), + ]), + }), + }), + }) +# --- +# name: test_study_levels_query + dict({ + 'data': dict({ + 'studyLevels': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'age_0_2', + 'label': 'age 0-2', + 'level': 0, + 'translations': list([ + dict({ + 'label': 'age 0-2', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'age_3_4', + 'label': 'age 3-4', + 'level': 1, + 'translations': list([ + dict({ + 'label': 'age 3-4', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'preschool', + 'label': 'preschool', + 'level': 2, + 'translations': list([ + dict({ + 'label': 'preschool', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_1', + 'label': 'first grade', + 'level': 3, + 'translations': list([ + dict({ + 'label': 'first grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_2', + 'label': 'second grade', + 'level': 4, + 'translations': list([ + dict({ + 'label': 'second grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_3', + 'label': 'third grade', + 'level': 5, + 'translations': list([ + dict({ + 'label': 'third grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_4', + 'label': 'fourth grade', + 'level': 6, + 'translations': list([ + dict({ + 'label': 'fourth grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_5', + 'label': 'fifth grade', + 'level': 7, + 'translations': list([ + dict({ + 'label': 'fifth grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_6', + 'label': 'sixth grade', + 'level': 8, + 'translations': list([ + dict({ + 'label': 'sixth grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_7', + 'label': 'seventh grade', + 'level': 9, + 'translations': list([ + dict({ + 'label': 'seventh grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_8', + 'label': 'eighth grade', + 'level': 10, + 'translations': list([ + dict({ + 'label': 'eighth grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_9', + 'label': 'ninth grade', + 'level': 11, + 'translations': list([ + dict({ + 'label': 'ninth grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'grade_10', + 'label': 'tenth grade', + 'level': 12, + 'translations': list([ + dict({ + 'label': 'tenth grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'secondary', + 'label': 'secondary', + 'level': 13, + 'translations': list([ + dict({ + 'label': 'secondary', + 'languageCode': 'EN', + }), + ]), + }), + }), + dict({ + 'node': dict({ + 'id': 'other', + 'label': 'other group', + 'level': 14, + 'translations': list([ + dict({ + 'label': 'other group', + 'languageCode': 'EN', + }), + ]), + }), + }), + ]), + }), + }), + }) +# --- +# name: test_unenrol_event_queue_mutation[False] + dict({ + 'data': dict({ + 'unenrolEventQueue': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': False, + 'linkedEventId': 'MYfOB', + }), + 'studyGroup': dict({ + 'unitName': 'Tough plant traditional after born up always. Return student light a point charge.', + }), + }), + }), + }) +# --- +# name: test_unenrol_event_queue_mutation[True] + dict({ + 'data': dict({ + 'unenrolEventQueue': dict({ + 'pEvent': dict({ + 'isQueueingAllowed': True, + 'linkedEventId': 'MYfOB', + }), + 'studyGroup': dict({ + 'unitName': 'Tough plant traditional after born up always. Return student light a point charge.', + }), + }), + }), + }) +# --- +# name: test_unenrol_occurrence + dict({ + 'data': dict({ + 'unenrolOccurrence': dict({ + 'occurrence': dict({ + 'amountOfSeats': 50, + 'remainingSeats': 50, + 'seatsApproved': 0, + 'seatsTaken': 0, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'studyGroup': dict({ + 'unitName': 'Leave serve important probably. Sea something western research.', + }), + }), + }), + }) +# --- +# name: test_update_enrolment + dict({ + 'data': dict({ + 'updateEnrolment': dict({ + 'enrolment': dict({ + 'notificationType': 'SMS', + 'occurrence': dict({ + 'amountOfSeats': 35, + 'remainingSeats': 6, + 'seatsApproved': 0, + 'seatsTaken': 29, + 'startTime': '2020-01-06T00:00:00+00:00', + }), + 'status': 'PENDING', + 'studyGroup': dict({ + 'amountOfAdult': 3, + 'enrolments': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'notificationType': 'SMS', + }), + }), + dict({ + 'node': dict({ + 'notificationType': 'SMS', + }), + }), + ]), + }), + 'groupName': 'Updated study group name', + 'groupSize': 16, + 'unitName': 'Updated name', + }), + }), + }), + }), + }) +# --- +# name: test_update_occurrence_of_published_event_without_enrolments + dict({ + 'data': dict({ + 'updateOccurrence': dict({ + 'occurrence': dict({ + 'contactPersons': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Julie Parrish', + }), + }), + ]), + }), + 'endTime': '2020-05-06T00:00:00+00:00', + 'languages': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'en', + 'name': 'English', + }), + }), + dict({ + 'node': dict({ + 'id': 'fi', + 'name': 'Finnish', + }), + }), + dict({ + 'node': dict({ + 'id': 'sv', + 'name': 'Swedish', + }), + }), + ]), + }), + 'maxGroupSize': 10, + 'minGroupSize': 10, + 'pEvent': dict({ + 'contactEmail': 'donald78@example.net', + 'contactPhoneNumber': '001-658-731-3222x29493', + 'enrolmentEndDays': 2, + 'enrolmentStart': '1981-07-25T08:53:14.019007+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'helsinki:afxp6tv4xa', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 0, + }), + 'startTime': '2020-05-05T00:00:00+00:00', + }), + }), + }), + }) +# --- +# name: test_update_study_group_staff_user + dict({ + 'data': dict({ + 'updateStudyGroup': dict({ + 'studyGroup': dict({ + 'amountOfAdult': 2, + 'extraNeeds': 'Extra needs', + 'groupName': 'Sample group name', + 'groupSize': 20, + 'person': dict({ + 'emailAddress': 'email@address.com', + 'language': 'FI', + 'name': 'Name', + 'phoneNumber': '123123', + }), + 'studyLevels': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'grade_2', + 'label': 'second grade', + 'level': 4, + 'translations': list([ + dict({ + 'label': 'second grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + ]), + }), + 'unit': dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15417/', + 'name': dict({ + 'fi': 'Sellon kirjasto', + }), + }), + 'unitId': 'helsinki:afxp6tv4xa', + 'unitName': 'Sample study group name', + }), + }), + }), + }) +# --- +# name: test_update_study_group_staff_user.1 + dict({ + 'data': dict({ + 'updateStudyGroup': dict({ + 'studyGroup': dict({ + 'amountOfAdult': 2, + 'extraNeeds': 'Extra needs', + 'groupName': 'Sample group name', + 'groupSize': 20, + 'person': dict({ + 'emailAddress': 'shawndouglas@example.com', + 'language': 'FI', + 'name': 'Sean Rocha', + 'phoneNumber': '001-215-991-0232x02813', + }), + 'studyLevels': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'grade_2', + 'label': 'second grade', + 'level': 4, + 'translations': list([ + dict({ + 'label': 'second grade', + 'languageCode': 'EN', + }), + ]), + }), + }), + ]), + }), + 'unit': dict({ + 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15417/', + 'name': dict({ + 'fi': 'Sellon kirjasto', + }), + }), + 'unitId': 'helsinki:afxp6tv4xa', + 'unitName': 'Sample study group name', + }), + }), + }), + }) +# --- +# name: test_update_unpublished_occurrence + dict({ + 'data': dict({ + 'updateOccurrence': dict({ + 'occurrence': dict({ + 'contactPersons': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Julie Parrish', + }), + }), + ]), + }), + 'endTime': '2020-05-06T00:00:00+00:00', + 'languages': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'id': 'en', + 'name': 'English', + }), + }), + dict({ + 'node': dict({ + 'id': 'fi', + 'name': 'Finnish', + }), + }), + dict({ + 'node': dict({ + 'id': 'sv', + 'name': 'Swedish', + }), + }), + ]), + }), + 'maxGroupSize': 588, + 'minGroupSize': 10, + 'pEvent': dict({ + 'contactEmail': 'travishopkins@example.net', + 'contactPhoneNumber': '(722)729-4934', + 'enrolmentEndDays': 0, + 'enrolmentStart': '1980-12-30T21:30:40.750124+00:00', + 'externalEnrolmentUrl': None, + 'linkedEventId': 'raSqN', + 'mandatoryAdditionalInformation': False, + 'neededOccurrences': 3, + }), + 'startTime': '2020-05-05T00:00:00+00:00', + }), + }), + }), + }) +# --- +# name: test_update_venue_staff_user + dict({ + 'data': dict({ + 'updateVenue': dict({ + 'venue': dict({ + 'description': 'Venue description', + 'hasAreaForGroupWork': True, + 'hasClothingStorage': True, + 'hasIndoorPlayingArea': True, + 'hasOutdoorPlayingArea': True, + 'hasSnackEatingPlace': True, + 'hasToiletNearby': True, + 'id': 'Irtal', + 'outdoorActivity': True, + 'translations': list([ + dict({ + 'description': 'Venue description', + }), + dict({ + 'description': 'Venue description in EN', + }), + ]), + }), + }), + }), + }) +# --- +# name: test_venue_query + dict({ + 'data': dict({ + 'venue': dict({ + 'description': 'Answer entire increase thank certainly again thought. Beyond than trial western.', + 'hasAreaForGroupWork': False, + 'hasClothingStorage': False, + 'hasIndoorPlayingArea': False, + 'hasOutdoorPlayingArea': False, + 'hasSnackEatingPlace': True, + 'hasToiletNearby': False, + 'id': 'PcMpy', + 'outdoorActivity': False, + 'translations': list([ + dict({ + 'description': 'Answer entire increase thank certainly again thought. Beyond than trial western.', + }), + ]), + }), + }), + }) +# --- +# name: test_venues_query + dict({ + 'data': dict({ + 'venues': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'description': 'Answer entire increase thank certainly again thought. Beyond than trial western.', + 'hasAreaForGroupWork': False, + 'hasClothingStorage': False, + 'hasIndoorPlayingArea': False, + 'hasOutdoorPlayingArea': False, + 'hasSnackEatingPlace': True, + 'hasToiletNearby': False, + 'id': 'PcMpy', + 'outdoorActivity': False, + 'translations': list([ + dict({ + 'description': 'Answer entire increase thank certainly again thought. Beyond than trial western.', + }), + ]), + }), + }), + ]), + }), + }), + }) +# --- diff --git a/occurrences/tests/__snapshots__/test_notifications.ambr b/occurrences/tests/__snapshots__/test_notifications.ambr new file mode 100644 index 00000000..203c8717 --- /dev/null +++ b/occurrences/tests/__snapshots__/test_notifications.ambr @@ -0,0 +1,385 @@ +# serializer version: 1 +# name: test_approve_enrolment_notification_email + list([ + ''' + no-reply@hel.ninja|['hutchinsonrachel@example.org']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: MPXLz + Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. + Occurrence: 05.09.1971 13.56 + Person: hutchinsonrachel@example.org + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + Custom message: custom message + + ''', + ]) +# --- +# name: test_cancel_enrolment_notification_email + list([ + ''' + no-reply@hel.ninja|['brett47@example.com']|Enrolment cancellation confirmation FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Campaign college career fight data. Generation man process white visit step. + Occurrence: 18.04.2002 09.53 + Person: brett47@example.com + + Custom message: custom message + + ''', + ]) +# --- +# name: test_cancelled_enrolment_notification_email + list([ + ''' + no-reply@hel.ninja|['email_me@dommain.com']|Enrolment cancelled FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Investment difference heart guess west black. + Occurrence: 18.04.2002 09.53 + Person: email_me@dommain.com + + Custom message: custom message + + ''', + ]) +# --- +# name: test_decline_enrolment_notification_email + list([ + ''' + no-reply@hel.ninja|['brett47@example.com']|Enrolment declined FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Campaign college career fight data. Generation man process white visit step. + Occurrence: 18.04.2002 09.53 + Person: brett47@example.com + + Custom message: custom message + + ''', + ]) +# --- +# name: test_decline_enrolment_notification_email_to_multiple_contact_person + list([ + ''' + no-reply@hel.ninja|['brett47@example.com']|Enrolment declined FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Campaign college career fight data. Generation man process white visit step. + Occurrence: 18.04.2002 09.53 + Person: brett47@example.com + + Custom message: custom message + + ''', + ]) +# --- +# name: test_decline_enrolment_notification_email_to_multiple_contact_person.1 + list([ + ''' + no-reply@hel.ninja|['brett47@example.com']|Enrolment declined FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Campaign college career fight data. Generation man process white visit step. + Occurrence: 18.04.2002 09.53 + Person: brett47@example.com + + Custom message: custom message + + ''', + ''' + no-reply@hel.ninja|['davidsummers@example.net']|Enrolment declined FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: HHEUh + Study group: Close term where up notice environment father stay. Hold project month similar support line. + Occurrence: 01.11.2006 02.06 + Person: davidsummers@example.net + + Custom message: custom message + + ''', + ''' + no-reply@hel.ninja|['sandra56@example.net']|Enrolment declined FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: HHEUh + Study group: Close term where up notice environment father stay. Hold project month similar support line. + Occurrence: 01.11.2006 02.06 + Person: sandra56@example.net + + Custom message: custom message + + ''', + ]) +# --- +# name: test_local_time_notification[tz0] + list([ + ''' + no-reply@hel.ninja|['hutchinsonrachel@example.org']|Occurrence enrolment FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: OhDGq + Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. + Occurrence: 04.01.2020 00.00 + Person: hutchinsonrachel@example.org + + ''', + ]) +# --- +# name: test_local_time_notification[tz1] + list([ + ''' + no-reply@hel.ninja|['hutchinsonrachel@example.org']|Occurrence enrolment FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: OhDGq + Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. + Occurrence: 04.01.2020 00.00 + Person: hutchinsonrachel@example.org + + ''', + ]) +# --- +# name: test_local_time_notification[tz2] + list([ + ''' + no-reply@hel.ninja|['hutchinsonrachel@example.org']|Occurrence enrolment FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: OhDGq + Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. + Occurrence: 04.01.2020 00.00 + Person: hutchinsonrachel@example.org + + ''', + ]) +# --- +# name: test_mass_approve_enrolment_mutation[False] + list([ + ''' + no-reply@hel.ninja|['jamesmcgrath@example.com']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ZHkjd + Study group: Question national throw three. + Occurrence: 29.08.1983 11.35 + Person: jamesmcgrath@example.com + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + Custom message: Custom message + + ''', + ''' + no-reply@hel.ninja|['bradleybutler@example.com']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ZHkjd + Study group: Question national throw three. + Occurrence: 29.08.1983 11.35 + Person: bradleybutler@example.com + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + Custom message: Custom message + + ''', + ''' + no-reply@hel.ninja|['schwartzkayla@example.org']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ZHkjd + Study group: Better majority behavior along pressure yes others. Trouble change world indeed always. + Occurrence: 29.08.1983 11.35 + Person: schwartzkayla@example.org + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + Custom message: Custom message + + ''', + ''' + no-reply@hel.ninja|['cwall@example.net']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ZHkjd + Study group: Better majority behavior along pressure yes others. Trouble change world indeed always. + Occurrence: 29.08.1983 11.35 + Person: cwall@example.net + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + Custom message: Custom message + + ''', + ''' + no-reply@hel.ninja|['elizabethschultz@example.net']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ZHkjd + Study group: Structure professional message road focus turn space. Art space along win. + Occurrence: 29.08.1983 11.35 + Person: elizabethschultz@example.net + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + Custom message: Custom message + + ''', + ''' + no-reply@hel.ninja|['tammyjordan@example.com']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ZHkjd + Study group: Structure professional message road focus turn space. Art space along win. + Occurrence: 29.08.1983 11.35 + Person: tammyjordan@example.com + Click this link to cancel the enrolment: + https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 + + Custom message: Custom message + + ''', + ]) +# --- +# name: test_occurrence_enrolment_notifications_email_only + list([ + ''' + no-reply@hel.ninja|['brett47@example.com']|Occurrence enrolment FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Campaign college career fight data. Generation man process white visit step. + Occurrence: 18.04.2002 09.53 + Person: brett47@example.com + + ''', + ''' + no-reply@hel.ninja|['brett47@example.com']|Occurrence unenrolment FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Campaign college career fight data. Generation man process white visit step. + Occurrence: 18.04.2002 09.53 + Person: brett47@example.com + + ''', + ''' + no-reply@hel.ninja|['brett47@example.com']|Occurrence enrolment EN| + Event EN: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Close term where up notice environment father stay. Hold project month similar support line. + Occurrence: 18.04.2002 09.53 + Person: sandra56@example.net + ''', + ''' + no-reply@hel.ninja|['brett47@example.com']|Occurrence unenrolment EN| + Event EN: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Close term where up notice environment father stay. Hold project month similar support line. + Occurrence: 18.04.2002 09.53 + Person: sandra56@example.net + ''', + ]) +# --- +# name: test_occurrence_enrolment_notifications_to_contact_person + list([ + ''' + no-reply@hel.ninja|['email_me@dommain.com']|Occurrence enrolment FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Campaign college career fight data. Generation man process white visit step. + Occurrence: 18.04.2002 09.53 + Person: email_me@dommain.com + + ''', + ''' + no-reply@hel.ninja|['email_me@dommain.com']|Occurrence unenrolment FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Campaign college career fight data. Generation man process white visit step. + Occurrence: 18.04.2002 09.53 + Person: email_me@dommain.com + + ''', + ''' + no-reply@hel.ninja|['email_me@dommain.com']|Occurrence enrolment EN| + Event EN: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Race kitchen change single now rich. Bill write color politics. Matter this same happy standard. + Occurrence: 18.04.2002 09.53 + Person: do_not_email_me@domain.com + ''', + ''' + no-reply@hel.ninja|['email_me@dommain.com']|Occurrence unenrolment EN| + Event EN: Raija Malka & Kaija Saariaho: Blick + Extra event info: ytHjL + Study group: Race kitchen change single now rich. Bill write color politics. Matter this same happy standard. + Occurrence: 18.04.2002 09.53 + Person: do_not_email_me@domain.com + ''', + ]) +# --- +# name: test_only_send_approved_notification[False] + list([ + ''' + no-reply@hel.ninja|['hutchinsonrachel@example.org']|Occurrence enrolment FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: MPXLz + Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. + Occurrence: 05.09.1971 13.56 + Person: hutchinsonrachel@example.org + + ''', + ''' + no-reply@hel.ninja|['hutchinsonrachel@example.org']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: MPXLz + Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. + Occurrence: 05.09.1971 13.56 + Person: hutchinsonrachel@example.org + + + ''', + ]) +# --- +# name: test_only_send_approved_notification[True] + list([ + ''' + no-reply@hel.ninja|['hutchinsonrachel@example.org']|Enrolment approved FI| + Event FI: Raija Malka & Kaija Saariaho: Blick + Extra event info: MPXLz + Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. + Occurrence: 05.09.1971 13.56 + Person: hutchinsonrachel@example.org + + + ''', + ]) +# --- +# name: test_send_enrolment_summary_report + list([ + ''' + no-reply@hel.ninja|['john29@example.com']|Enrolment approved FI| + Total pending enrolments: 3 + Total new accepted enrolments: 1 + Event name: Raija Malka & Kaija Saariaho: Blick + Event link: https://kultus-admin.hel.fi/fi/events/TuZpF + Occurrence: #2020-01-14 00:00:00+00:00 (1 new enrolments) + Link to occurrence: https://kultus-admin.hel.fi/fi/events/TuZpF/occurrences/T2NjdXJyZW5jZU5vZGU6NDE= + Event name: Raija Malka & Kaija Saariaho: Blick + Event link: https://kultus-admin.hel.fi/fi/events/csgfn + Occurrence: #2020-01-14 00:00:00+00:00 (1 pending) + Link to occurrence: https://kultus-admin.hel.fi/fi/events/csgfn/occurrences/T2NjdXJyZW5jZU5vZGU6MzE= + Event name: Raija Malka & Kaija Saariaho: Blick + Event link: https://kultus-admin.hel.fi/fi/events/jfwob + Occurrence: #2020-01-14 00:00:00+00:00 (1 pending) + Link to occurrence: https://kultus-admin.hel.fi/fi/events/jfwob/occurrences/T2NjdXJyZW5jZU5vZGU6MjE= + Occurrence: #2020-01-14 00:00:00+00:00 (1 pending) + Link to occurrence: https://kultus-admin.hel.fi/fi/events/jfwob/occurrences/T2NjdXJyZW5jZU5vZGU6MjI= + + ''', + ''' + no-reply@hel.ninja|['dsellers@example.net']|Enrolment approved FI| + Total pending enrolments: 4 + Total new accepted enrolments: 0 + Event name: Raija Malka & Kaija Saariaho: Blick + Event link: https://kultus-admin.hel.fi/fi/events/aAVEa + Occurrence: #2020-01-14 00:00:00+00:00 (3 pending) + Link to occurrence: https://kultus-admin.hel.fi/fi/events/aAVEa/occurrences/T2NjdXJyZW5jZU5vZGU6MTE= + Occurrence: #2020-01-14 00:00:00+00:00 (1 pending) + Link to occurrence: https://kultus-admin.hel.fi/fi/events/aAVEa/occurrences/T2NjdXJyZW5jZU5vZGU6MTI= + + ''', + ]) +# --- diff --git a/occurrences/tests/snapshots/__init__.py b/occurrences/tests/snapshots/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/occurrences/tests/snapshots/snap_test_api.py b/occurrences/tests/snapshots/snap_test_api.py deleted file mode 100644 index 45702038..00000000 --- a/occurrences/tests/snapshots/snap_test_api.py +++ /dev/null @@ -1,3066 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - - -snapshots = Snapshot() - -snapshots['test_add_occurrence_to_published_event 1'] = { - 'data': { - 'addOccurrence': { - 'occurrence': { - 'contactPersons': { - 'edges': [ - { - 'node': { - 'name': 'New name' - } - }, - { - 'node': { - 'name': 'Sean Rocha' - } - } - ] - }, - 'endTime': '2020-05-06T00:00:00+00:00', - 'languages': { - 'edges': [ - { - 'node': { - 'id': 'ar', - 'name': 'Arabic' - } - }, - { - 'node': { - 'id': 'zh_hans', - 'name': 'Chinese' - } - }, - { - 'node': { - 'id': 'en', - 'name': 'English' - } - }, - { - 'node': { - 'id': 'ru', - 'name': 'Russia' - } - }, - { - 'node': { - 'id': 'sv', - 'name': 'Swedish' - } - } - ] - }, - 'maxGroupSize': None, - 'minGroupSize': 10, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'barrettjason@example.org', - 'contactPhoneNumber': '271-434-1145', - 'enrolmentEndDays': 0, - 'enrolmentStart': '1980-03-10T09:11:49.213826+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'QoxZH', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 2 - }, - 'startTime': '2020-05-05T00:00:00+00:00' - } - } - } -} - -snapshots['test_add_occurrence_to_unpublished_event 1'] = { - 'data': { - 'addOccurrence': { - 'occurrence': { - 'contactPersons': { - 'edges': [ - { - 'node': { - 'name': 'New name' - } - }, - { - 'node': { - 'name': 'Sean Rocha' - } - } - ] - }, - 'endTime': '2020-05-06T00:00:00+00:00', - 'languages': { - 'edges': [ - { - 'node': { - 'id': 'ar', - 'name': 'Arabic' - } - }, - { - 'node': { - 'id': 'zh_hans', - 'name': 'Chinese' - } - }, - { - 'node': { - 'id': 'en', - 'name': 'English' - } - }, - { - 'node': { - 'id': 'ru', - 'name': 'Russia' - } - }, - { - 'node': { - 'id': 'sv', - 'name': 'Swedish' - } - } - ] - }, - 'maxGroupSize': None, - 'minGroupSize': 10, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'barrettjason@example.org', - 'contactPhoneNumber': '271-434-1145', - 'enrolmentEndDays': 0, - 'enrolmentStart': '1980-03-10T09:11:49.213826+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'QoxZH', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 2 - }, - 'startTime': '2020-05-05T00:00:00+00:00' - } - } - } -} - -snapshots['test_add_study_group 1'] = { - 'data': { - 'addStudyGroup': { - 'studyGroup': { - 'amountOfAdult': 1, - 'extraNeeds': 'Extra needs', - 'groupName': 'Sample group name', - 'groupSize': 20, - 'person': { - 'emailAddress': 'email@address.com', - 'language': 'SV', - 'name': 'Name', - 'phoneNumber': '123123' - }, - 'studyLevels': { - 'edges': [ - { - 'node': { - 'id': 'grade_1', - 'label': 'first grade', - 'level': 3, - 'translations': [ - { - 'label': 'first grade', - 'languageCode': 'EN' - } - ] - } - } - ] - }, - 'unit': { - 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/', - 'name': { - 'fi': 'Raija Malka & Kaija Saariaho: Blick' - } - }, - 'unitId': 'helsinki:afxp6tv4xa', - 'unitName': 'Sample study group name' - } - } - } -} - -snapshots['test_add_study_group 2'] = { - 'data': { - 'addStudyGroup': { - 'studyGroup': { - 'amountOfAdult': 1, - 'extraNeeds': 'Extra needs', - 'groupName': 'Sample group name', - 'groupSize': 20, - 'person': { - 'emailAddress': 'kimberlyshort@example.org', - 'language': 'FI', - 'name': 'Charles Anderson', - 'phoneNumber': '213.341.1450x892' - }, - 'studyLevels': { - 'edges': [ - { - 'node': { - 'id': 'grade_1', - 'label': 'first grade', - 'level': 3, - 'translations': [ - { - 'label': 'first grade', - 'languageCode': 'EN' - } - ] - } - } - ] - }, - 'unit': { - 'internalId': 'https://api.hel.fi/linkedevents/v1/event/helsinki:afxp6tv4xa/', - 'name': { - 'fi': 'Raija Malka & Kaija Saariaho: Blick' - } - }, - 'unitId': 'helsinki:afxp6tv4xa', - 'unitName': 'Sample study group name' - } - } - } -} - -snapshots['test_add_venue_staff_user 1'] = { - 'data': { - 'addVenue': { - 'venue': { - 'description': 'Venue description in FI', - 'hasAreaForGroupWork': True, - 'hasClothingStorage': True, - 'hasIndoorPlayingArea': True, - 'hasOutdoorPlayingArea': True, - 'hasSnackEatingPlace': True, - 'hasToiletNearby': True, - 'id': 'place_id', - 'outdoorActivity': True, - 'translations': [ - { - 'description': 'Venue description in FI' - }, - { - 'description': 'Venue description in EN' - } - ] - } - } - } -} - -snapshots['test_approve_enrolment 1'] = { - 'data': { - 'approveEnrolment': { - 'enrolment': { - 'status': 'APPROVED' - } - } - } -} - -snapshots['test_approve_enrolment 2'] = [ - '''no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: VFlOj - Study group: Leave serve important probably. Sea something western research. - Occurrence: 06.01.2020 02.00 - Person: kimberlyshort@example.org - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - -''' -] - -snapshots['test_approve_enrolment_with_custom_message 1'] = { - 'data': { - 'approveEnrolment': { - 'enrolment': { - 'status': 'APPROVED' - } - } - } -} - -snapshots['test_approve_enrolment_with_custom_message 2'] = [ - '''no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: MYfOB - Study group: Leave serve important probably. Sea something western research. - Occurrence: 06.01.2020 02.00 - Person: kimberlyshort@example.org - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - - Custom message: custom message -''' -] - -snapshots['test_ask_for_cancelled_confirmation_mutation 1'] = { - 'data': { - 'cancelEnrolment': { - 'enrolment': { - 'status': 'PENDING' - } - } - } -} - -snapshots['test_auto_accept_message_is_used_as_custom_message_in_auto_approved_enrolments[False] 1'] = { - 'data': { - 'enrolOccurrence': { - 'enrolments': [ - { - 'notificationType': 'EMAIL', - 'occurrence': { - 'amountOfSeats': 50, - 'remainingSeats': 35, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 15, - 'seatsTaken': 15, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'status': 'APPROVED', - 'studyGroup': { - 'unitName': 'To be created group' - } - } - ] - } - } -} - -snapshots['test_auto_accept_message_is_used_as_custom_message_in_auto_approved_enrolments[True] 1'] = { - 'data': { - 'enrolOccurrence': { - 'enrolments': [ - { - 'notificationType': 'EMAIL', - 'occurrence': { - 'amountOfSeats': 50, - 'remainingSeats': 35, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 15, - 'seatsTaken': 15, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'status': 'APPROVED', - 'studyGroup': { - 'unitName': 'To be created group' - } - } - ] - } - } -} - -snapshots['test_auto_accept_message_is_used_as_custom_message_in_auto_approved_enrolments[True] 2'] = [ - '''no-reply@hel.ninja|['hutchinsonrachel@example.org']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: EOTtw - Study group: To be created group - Occurrence: 06.01.2020 02.00 - Person: hutchinsonrachel@example.org - - Custom message: Testing auto acceptance message -''' -] - -snapshots['test_cancel_enrolment_mutation 1'] = { - 'data': { - 'cancelEnrolment': { - 'enrolment': { - 'status': 'CANCELLED' - } - } - } -} - -snapshots['test_cancel_enrolment_query 1'] = { - 'data': { - 'cancellingEnrolment': { - 'enrolmentTime': '2020-01-04T00:00:00+00:00', - 'occurrence': { - 'seatsTaken': 229 - }, - 'status': 'PENDING', - 'studyGroup': { - 'groupSize': 229, - 'unitName': 'Campaign college career fight data. Generation man process white visit step.' - } - } - } -} - -snapshots['test_cancel_occurrence 1'] = { - 'data': { - 'cancelOccurrence': { - 'occurrence': { - 'cancelled': True - } - } - } -} - -snapshots['test_decline_enrolment 1'] = { - 'data': { - 'declineEnrolment': { - 'enrolment': { - 'status': 'DECLINED' - } - } - } -} - -snapshots['test_decline_enrolment 2'] = [ - '''no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment declined FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: VFlOj - Study group: Leave serve important probably. Sea something western research. - Occurrence: 06.01.2020 02.00 - Person: kimberlyshort@example.org - -''', - '''no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment declined FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: VFlOj - Study group: Leave serve important probably. Sea something western research. - Occurrence: 06.01.2020 02.00 - Person: kimberlyshort@example.org - -''' -] - -snapshots['test_decline_enrolment_with_custom_message 1'] = { - 'data': { - 'declineEnrolment': { - 'enrolment': { - 'status': 'DECLINED' - } - } - } -} - -snapshots['test_decline_enrolment_with_custom_message 2'] = [ - '''no-reply@hel.ninja|['kimberlyshort@example.org']|Enrolment declined FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: MYfOB - Study group: Leave serve important probably. Sea something western research. - Occurrence: 06.01.2020 02.00 - Person: kimberlyshort@example.org - - Custom message: custom message -''' -] - -snapshots['test_delete_cancelled_occurrence 1'] = { - 'data': { - 'deleteOccurrence': { - '__typename': 'DeleteOccurrenceMutationPayload' - } - } -} - -snapshots['test_delete_unpublished_occurrence 1'] = { - 'data': { - 'deleteOccurrence': { - '__typename': 'DeleteOccurrenceMutationPayload' - } - } -} - -snapshots['test_enrol_auto_acceptance_occurrence 1'] = { - 'data': { - 'enrolOccurrence': { - 'enrolments': [ - { - 'notificationType': 'EMAIL', - 'occurrence': { - 'amountOfSeats': 50, - 'remainingSeats': 35, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 15, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'status': 'PENDING', - 'studyGroup': { - 'unitName': 'To be created group' - } - } - ] - } - } -} - -snapshots['test_enrol_auto_acceptance_occurrence 2'] = { - 'data': { - 'enrolOccurrence': { - 'enrolments': [ - { - 'notificationType': 'EMAIL', - 'occurrence': { - 'amountOfSeats': 50, - 'remainingSeats': 35, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 15, - 'seatsTaken': 15, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'status': 'APPROVED', - 'studyGroup': { - 'unitName': 'To be created group' - } - } - ] - } - } -} - -snapshots['test_enrol_event_queue_mutation 1'] = { - 'data': { - 'enrolEventQueue': { - 'eventQueueEnrolment': { - 'notificationType': 'EMAIL_SMS', - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'patriciacervantes@example.net', - 'contactPhoneNumber': '001-299-601-3232x13168', - 'enrolmentEndDays': 2, - 'enrolmentStart': '2019-09-02T21:49:06.027297+00:00', - 'externalEnrolmentUrl': None, - 'isQueueingAllowed': True, - 'linkedEventId': 'kSRpd', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 2 - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'preferredTimes': 'Only tuesdays', - 'unitName': 'To be created group' - } - } - } - } -} - -snapshots['test_enrol_occurrence 1'] = { - 'data': { - 'enrolOccurrence': { - 'enrolments': [ - { - 'notificationType': 'EMAIL', - 'occurrence': { - 'amountOfSeats': 50, - 'remainingSeats': 35, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 15, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'status': 'PENDING', - 'studyGroup': { - 'unitName': 'To be created group' - } - }, - { - 'notificationType': 'EMAIL', - 'occurrence': { - 'amountOfSeats': 2, - 'remainingSeats': 1, - 'seatType': 'ENROLMENT_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 1, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'status': 'PENDING', - 'studyGroup': { - 'unitName': 'To be created group' - } - } - ] - } - } -} - -snapshots['test_enrol_occurrence_with_captcha 1'] = { - 'data': { - 'enrolOccurrence': { - 'enrolments': [ - { - 'notificationType': 'EMAIL', - 'occurrence': { - 'amountOfSeats': 50, - 'remainingSeats': 35, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 15, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'status': 'PENDING', - 'studyGroup': { - 'unitName': 'To be created group' - } - } - ] - } - } -} - -snapshots['test_enrolment_query 1'] = { - 'data': { - 'enrolment': { - 'occurrence': { - 'endTime': '1984-08-14T20:17:50.965825+00:00', - 'pEvent': { - 'linkedEventId': 'rBcjT' - }, - 'seatsTaken': 838, - 'startTime': '1976-10-26T19:25:30.627463+00:00' - }, - 'status': 'PENDING', - 'studyGroup': { - 'groupName': 'Hot identify each its general. By garden so country past involve choose.' - } - } - } -} - -snapshots['test_enrolments_summary 1'] = { - 'data': { - 'enrolmentSummary': { - 'count': 4, - 'edges': [ - { - 'node': { - 'status': 'APPROVED' - } - }, - { - 'node': { - 'status': 'CANCELLED' - } - }, - { - 'node': { - 'status': 'DECLINED' - } - }, - { - 'node': { - 'status': 'PENDING' - } - } - ] - } - } -} - -snapshots['test_enrolments_summary 2'] = { - 'data': { - 'enrolmentSummary': { - 'count': 1, - 'edges': [ - { - 'node': { - 'status': 'APPROVED' - } - } - ] - } - } -} - -snapshots['test_enrolments_summary 3'] = { - 'data': { - 'enrolmentSummary': { - 'count': 1, - 'edges': [ - { - 'node': { - 'status': 'PENDING' - } - } - ] - } - } -} - -snapshots['test_enrolments_summary 4'] = { - 'data': { - 'enrolmentSummary': { - 'count': 1, - 'edges': [ - { - 'node': { - 'status': 'CANCELLED' - } - } - ] - } - } -} - -snapshots['test_enrolments_summary 5'] = { - 'data': { - 'enrolmentSummary': { - 'count': 1, - 'edges': [ - { - 'node': { - 'status': 'DECLINED' - } - } - ] - } - } -} - -snapshots['test_event_queue_enrolment_query 1'] = { - 'data': { - 'eventQueueEnrolment': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW' - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Close term where up notice environment father stay. Hold project month similar support line.', - 'preferredTimes': 'Only drug follow research.' - } - } - } -} - -snapshots['test_event_queue_enrolments_query 1'] = { - 'data': { - 'eventQueueEnrolments': { - 'count': 15, - 'edges': [ - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjA=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Hotel event already college. Ok court type hit.', - 'preferredTimes': 'Fund nor white identify.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjE=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': '''Apply somebody especially far. Color price environmental. -Market him beyond.''', - 'preferredTimes': 'Pattern administration early.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjI=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Reach ask I cut ok. Perhaps teacher involve all my improve our Congress.', - 'preferredTimes': 'Future upon a key fast white.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjM=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Space oil painting. Cut region decade hold point firm. Interesting technology group.', - 'preferredTimes': 'Defense field east.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjQ=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Offer record quite window station. And natural seven. Hit performance daughter.', - 'preferredTimes': 'Home argue way all moment.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjU=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Yeah rock evening player. According however energy large change history.', - 'preferredTimes': 'Leg ready building.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjY=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Peace relationship hear increase us. Population along collection though.', - 'preferredTimes': 'Pressure health design admit.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjc=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Simple spend decade born. Day range age.', - 'preferredTimes': 'Image identify and.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjg=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Friend clear focus operation its bar anyone he.', - 'preferredTimes': 'Yes back traditional.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjk=', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Consumer miss sense remember. House senior popular end.', - 'preferredTimes': 'Site score center.' - } - } - } - ] - } - } -} - -snapshots['test_event_queue_enrolments_query 2'] = { - 'data': { - 'eventQueueEnrolments': { - 'count': 15, - 'edges': [ - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjEw', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Away watch above bad car. List short color produce include threat.', - 'preferredTimes': 'Street sign education field.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjEx', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Before charge difficult number. Leave part and test benefit.', - 'preferredTimes': 'Hotel near deal.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjEy', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'The threat organization check may available. Offer much discuss.', - 'preferredTimes': 'Range seek turn how.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjEz', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Card support wait clearly.', - 'preferredTimes': 'Ago include poor example.' - } - } - }, - { - 'cursor': 'YXJyYXljb25uZWN0aW9uOjE0', - 'node': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'GVbfW', - 'organisation': { - 'name': 'Graves and Sons' - } - }, - 'status': 'HAS_NO_ENROLMENTS', - 'studyGroup': { - 'groupName': 'Project hope eight week still. Mission program point piece simple too walk. Talk hand price author.', - 'preferredTimes': 'On performance detail sure.' - } - } - } - ] - } - } -} - -snapshots['test_language_query 1'] = { - 'data': { - 'language': { - 'id': 'aAVEavNlmo', - 'name': 'Him question stay.' - } - } -} - -snapshots['test_languages_query 1'] = { - 'data': { - 'languages': { - 'edges': [ - { - 'node': { - 'id': 'ar', - 'name': 'Arabic' - } - }, - { - 'node': { - 'id': 'zh_hans', - 'name': 'Chinese' - } - }, - { - 'node': { - 'id': 'en', - 'name': 'English' - } - }, - { - 'node': { - 'id': 'fi', - 'name': 'Finnish' - } - }, - { - 'node': { - 'id': 'aAVEavNlmo', - 'name': 'Him question stay.' - } - }, - { - 'node': { - 'id': 'ru', - 'name': 'Russia' - } - }, - { - 'node': { - 'id': 'sv', - 'name': 'Swedish' - } - } - ] - } - } -} - -snapshots['test_mass_approve_enrolment_mutation 1'] = { - 'data': { - 'massApproveEnrolments': { - 'enrolments': [ - { - 'status': 'APPROVED' - }, - { - 'status': 'APPROVED' - }, - { - 'status': 'APPROVED' - } - ] - } - } -} - -snapshots['test_notification_template_query 1'] = { - 'data': { - 'notificationTemplate': { - 'customContextPreviewHtml': '''

- Event EN: Name in english - Extra event info: linked_event_id - Study group: group name - Occurrence: 2020-12-12 - Person: email@me.com - - Custom message: custom_message -

''', - 'customContextPreviewText': ''' - Event EN: Name in english - Extra event info: linked_event_id - Study group: group name - Occurrence: 2020-12-12 - Person: email@me.com - - Custom message: custom_message -''', - 'template': { - 'type': 'enrolment_approved' - } - } - } -} - -snapshots['test_occurrence_query 1'] = { - 'data': { - 'occurrence': { - 'amountOfSeats': 33, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-07-05T12:04:13.244825+00:00', - 'languages': { - 'edges': [ - ] - }, - 'linkedEvent': { - 'name': { - 'en': 'Raija Malka & Kaija Saariaho: Blick', - 'fi': 'Raija Malka & Kaija Saariaho: Blick', - 'sv': 'Raija Malka & Kaija Saariaho: Blick' - } - }, - 'maxGroupSize': 383, - 'minGroupSize': 341, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'eperry@example.org', - 'contactPhoneNumber': '5646976380', - 'enrolmentEndDays': 1, - 'enrolmentStart': '1989-08-31T23:14:42.824885+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'ytHjL', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 5 - }, - 'placeId': 'Record card my. Sure sister return.', - 'remainingSeats': 33, - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2002-04-18T06:53:11.806335+00:00' - } - } -} - -snapshots['test_occurrences_filter_by_cancelled 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 48, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2010-06-18T23:16:49.508200+00:00', - 'maxGroupSize': 588, - 'minGroupSize': 752, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'dsellers@example.net', - 'contactPhoneNumber': '934.957.7355', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 3 - }, - 'placeId': 'Event lay yes policy data control as receive.', - 'remainingSeats': 48, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2010-05-25T06:23:10.664303+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 27, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-11-11T22:23:23.275974+00:00', - 'maxGroupSize': 779, - 'minGroupSize': 292, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'dsellers@example.net', - 'contactPhoneNumber': '934.957.7355', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 3 - }, - 'placeId': 'Foreign go age. Thought price gas heavy affect difficult look.', - 'remainingSeats': 27, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2017-11-29T20:14:25.983420+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_cancelled 2'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 19, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1999-05-25T03:21:42.257063+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'dsellers@example.net', - 'contactPhoneNumber': '934.957.7355', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 3 - }, - 'placeId': 'Think significant land especially can quite.', - 'remainingSeats': 19, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '1992-03-25T02:06:42.233338+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_date 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 14, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-03-25T02:06:42.233338+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'huntveronica@example.net', - 'contactPhoneNumber': '946-620-0377x22182', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Eprsb', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 9 - }, - 'placeId': 'Today friend maintain marriage ok thank realize.', - 'remainingSeats': 14, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-02T00:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_date 2'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 14, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-03-25T02:06:42.233338+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'huntveronica@example.net', - 'contactPhoneNumber': '946-620-0377x22182', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Eprsb', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 9 - }, - 'placeId': 'Today friend maintain marriage ok thank realize.', - 'remainingSeats': 14, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-02T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 46, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2009-07-10T23:31:56.453060+00:00', - 'maxGroupSize': 285, - 'minGroupSize': 350, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'flowersbryan@example.net', - 'contactPhoneNumber': '(951)826-3008x4654', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'jGwiN', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 10 - }, - 'placeId': 'Traditional whether serious sister work.', - 'remainingSeats': 46, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-02T00:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_enrollable[0-3] 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 2, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2010-02-19T14:44:08.844371+00:00', - 'maxGroupSize': 714, - 'minGroupSize': 757, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': 0, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Put matter benefit treat final. Father boy economy the.', - 'remainingSeats': 2, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-05T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 37, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1985-05-19T11:46:06.872667+00:00', - 'maxGroupSize': 859, - 'minGroupSize': 99, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': 0, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Party door better performance race story.', - 'remainingSeats': 37, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-06T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 15, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1987-01-08T13:12:09.032776+00:00', - 'maxGroupSize': 873, - 'minGroupSize': 799, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': 0, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Toward scientist service wonder everything.', - 'remainingSeats': 15, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-07T00:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_enrollable[1-2] 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 37, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1985-05-19T11:46:06.872667+00:00', - 'maxGroupSize': 859, - 'minGroupSize': 99, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': 1, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Party door better performance race story.', - 'remainingSeats': 37, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-06T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 15, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1987-01-08T13:12:09.032776+00:00', - 'maxGroupSize': 873, - 'minGroupSize': 799, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': 1, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Toward scientist service wonder everything.', - 'remainingSeats': 15, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-07T00:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_enrollable[None-3] 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 2, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2010-02-19T14:44:08.844371+00:00', - 'maxGroupSize': 714, - 'minGroupSize': 757, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': None, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Put matter benefit treat final. Father boy economy the.', - 'remainingSeats': 2, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-05T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 37, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1985-05-19T11:46:06.872667+00:00', - 'maxGroupSize': 859, - 'minGroupSize': 99, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': None, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Party door better performance race story.', - 'remainingSeats': 37, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-06T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 15, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1987-01-08T13:12:09.032776+00:00', - 'maxGroupSize': 873, - 'minGroupSize': 799, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': None, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Toward scientist service wonder everything.', - 'remainingSeats': 15, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-07T00:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_p_event 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 27, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1982-11-06T04:40:33.407924+00:00', - 'maxGroupSize': 22, - 'minGroupSize': 6, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'dsellers@example.net', - 'contactPhoneNumber': '934.957.7355', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 3 - }, - 'placeId': 'Need benefit ready though street.', - 'remainingSeats': 27, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2008-02-13T12:08:42.493034+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 3, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1983-12-18T04:04:52.499467+00:00', - 'maxGroupSize': 128, - 'minGroupSize': 574, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'dsellers@example.net', - 'contactPhoneNumber': '934.957.7355', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1990-12-14T02:05:00.660682+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 3 - }, - 'placeId': 'Course plant strong truth customer.', - 'remainingSeats': 3, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2009-08-12T09:04:07.768068+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_p_event 2'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 49, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1975-07-12T08:02:11.536273+00:00', - 'maxGroupSize': 990, - 'minGroupSize': 749, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'cmartin@example.org', - 'contactPhoneNumber': '+1-777-693-4055x5508', - 'enrolmentEndDays': 1, - 'enrolmentStart': '2004-08-22T05:11:59.521157+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'rzzET', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 10 - }, - 'placeId': 'End look once strong artist save. Run hand human value base.', - 'remainingSeats': 49, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2018-10-21T22:46:45.180823+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_time 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 33, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2002-04-18T06:53:11.806335+00:00', - 'maxGroupSize': 383, - 'minGroupSize': 341, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'bthomas@example.org', - 'contactPhoneNumber': '(806)849-7638x034', - 'enrolmentEndDays': 1, - 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'xytHj', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 7 - }, - 'placeId': 'Record card my. Sure sister return.', - 'remainingSeats': 33, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-01T10:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_time 2'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 24, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1970-04-03T02:18:45.929522+00:00', - 'maxGroupSize': 288, - 'minGroupSize': 67, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'pwilliams@example.org', - 'contactPhoneNumber': '737.279.4021x78779', - 'enrolmentEndDays': 2, - 'enrolmentStart': '2007-04-19T17:41:37.637441+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Tfgkj', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 3 - }, - 'placeId': 'Few eye first walk west six feel. Fast authority key crime.', - 'remainingSeats': 24, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-02T12:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_time 3'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 46, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2009-07-10T23:31:56.453060+00:00', - 'maxGroupSize': 285, - 'minGroupSize': 350, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'flowersbryan@example.net', - 'contactPhoneNumber': '(951)826-3008x4654', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'jGwiN', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 10 - }, - 'placeId': 'Traditional whether serious sister work.', - 'remainingSeats': 46, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-01T11:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 14, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-03-25T02:06:42.233338+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'huntveronica@example.net', - 'contactPhoneNumber': '946-620-0377x22182', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Eprsb', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 9 - }, - 'placeId': 'Today friend maintain marriage ok thank realize.', - 'remainingSeats': 14, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-02T11:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_time 4'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 46, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2009-07-10T23:31:56.453060+00:00', - 'maxGroupSize': 285, - 'minGroupSize': 350, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'flowersbryan@example.net', - 'contactPhoneNumber': '(951)826-3008x4654', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'jGwiN', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 10 - }, - 'placeId': 'Traditional whether serious sister work.', - 'remainingSeats': 46, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-01T11:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 14, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-03-25T02:06:42.233338+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'huntveronica@example.net', - 'contactPhoneNumber': '946-620-0377x22182', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Eprsb', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 9 - }, - 'placeId': 'Today friend maintain marriage ok thank realize.', - 'remainingSeats': 14, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-02T11:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_filter_by_upcoming 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 43, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-05T00:00:00+00:00', - 'maxGroupSize': 709, - 'minGroupSize': 132, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': 10, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Success commercial recently from front affect senior.', - 'remainingSeats': 43, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-04T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 22, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-06T00:00:00+00:00', - 'maxGroupSize': 407, - 'minGroupSize': 589, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': 10, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Option PM put matter benefit.', - 'remainingSeats': 22, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-05T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 19, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-07T00:00:00+00:00', - 'maxGroupSize': 859, - 'minGroupSize': 99, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'thompsonjessica@example.com', - 'contactPhoneNumber': '001-833-934-5773x55777', - 'enrolmentEndDays': 10, - 'enrolmentStart': '2020-01-05T00:00:00+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'aAVEa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 6 - }, - 'placeId': 'Dream party door better performance race story.', - 'remainingSeats': 19, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-06T00:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_ordering_by_order_by_end_time 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 46, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-05T00:00:00+00:00', - 'maxGroupSize': 285, - 'minGroupSize': 350, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'flowersbryan@example.net', - 'contactPhoneNumber': '(951)826-3008x4654', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'jGwiN', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 10 - }, - 'placeId': 'Traditional whether serious sister work.', - 'remainingSeats': 46, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2009-07-10T23:31:56.453060+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 33, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-06T00:00:00+00:00', - 'maxGroupSize': 383, - 'minGroupSize': 341, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'bthomas@example.org', - 'contactPhoneNumber': '(806)849-7638x034', - 'enrolmentEndDays': 1, - 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'xytHj', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 7 - }, - 'placeId': 'Record card my. Sure sister return.', - 'remainingSeats': 33, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2002-04-18T06:53:11.806335+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 14, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-07T00:00:00+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'huntveronica@example.net', - 'contactPhoneNumber': '946-620-0377x22182', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Eprsb', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 9 - }, - 'placeId': 'Today friend maintain marriage ok thank realize.', - 'remainingSeats': 14, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '1992-03-25T02:06:42.233338+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_ordering_by_order_by_end_time 2'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 14, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-07T00:00:00+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'huntveronica@example.net', - 'contactPhoneNumber': '946-620-0377x22182', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Eprsb', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 9 - }, - 'placeId': 'Today friend maintain marriage ok thank realize.', - 'remainingSeats': 14, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '1992-03-25T02:06:42.233338+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 33, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-06T00:00:00+00:00', - 'maxGroupSize': 383, - 'minGroupSize': 341, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'bthomas@example.org', - 'contactPhoneNumber': '(806)849-7638x034', - 'enrolmentEndDays': 1, - 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'xytHj', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 7 - }, - 'placeId': 'Record card my. Sure sister return.', - 'remainingSeats': 33, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2002-04-18T06:53:11.806335+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 46, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2020-01-05T00:00:00+00:00', - 'maxGroupSize': 285, - 'minGroupSize': 350, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'flowersbryan@example.net', - 'contactPhoneNumber': '(951)826-3008x4654', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'jGwiN', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 10 - }, - 'placeId': 'Traditional whether serious sister work.', - 'remainingSeats': 46, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2009-07-10T23:31:56.453060+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_ordering_by_order_by_start_time 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 46, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2009-07-10T23:31:56.453060+00:00', - 'maxGroupSize': 285, - 'minGroupSize': 350, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'flowersbryan@example.net', - 'contactPhoneNumber': '(951)826-3008x4654', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'jGwiN', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 10 - }, - 'placeId': 'Traditional whether serious sister work.', - 'remainingSeats': 46, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-05T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 33, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2002-04-18T06:53:11.806335+00:00', - 'maxGroupSize': 383, - 'minGroupSize': 341, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'bthomas@example.org', - 'contactPhoneNumber': '(806)849-7638x034', - 'enrolmentEndDays': 1, - 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'xytHj', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 7 - }, - 'placeId': 'Record card my. Sure sister return.', - 'remainingSeats': 33, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-06T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 14, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-03-25T02:06:42.233338+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'huntveronica@example.net', - 'contactPhoneNumber': '946-620-0377x22182', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Eprsb', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 9 - }, - 'placeId': 'Today friend maintain marriage ok thank realize.', - 'remainingSeats': 14, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-07T00:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_ordering_by_order_by_start_time 2'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 14, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-03-25T02:06:42.233338+00:00', - 'maxGroupSize': 808, - 'minGroupSize': 974, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'huntveronica@example.net', - 'contactPhoneNumber': '946-620-0377x22182', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1995-07-09T08:34:53.846489+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'Eprsb', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 9 - }, - 'placeId': 'Today friend maintain marriage ok thank realize.', - 'remainingSeats': 14, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-07T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 33, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2002-04-18T06:53:11.806335+00:00', - 'maxGroupSize': 383, - 'minGroupSize': 341, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'bthomas@example.org', - 'contactPhoneNumber': '(806)849-7638x034', - 'enrolmentEndDays': 1, - 'enrolmentStart': '2006-07-17T08:32:28.440059+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'xytHj', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 7 - }, - 'placeId': 'Record card my. Sure sister return.', - 'remainingSeats': 33, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-06T00:00:00+00:00' - } - }, - { - 'node': { - 'amountOfSeats': 46, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '2009-07-10T23:31:56.453060+00:00', - 'maxGroupSize': 285, - 'minGroupSize': 350, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'flowersbryan@example.net', - 'contactPhoneNumber': '(951)826-3008x4654', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1987-07-08T20:58:36.505491+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'jGwiN', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 10 - }, - 'placeId': 'Traditional whether serious sister work.', - 'remainingSeats': 46, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-05T00:00:00+00:00' - } - } - ] - } - } -} - -snapshots['test_occurrences_query 1'] = { - 'data': { - 'occurrences': { - 'edges': [ - { - 'node': { - 'amountOfSeats': 33, - 'contactPersons': { - 'edges': [ - ] - }, - 'endTime': '1992-07-05T12:04:13.244825+00:00', - 'maxGroupSize': 383, - 'minGroupSize': 341, - 'pEvent': { - 'autoAcceptance': False, - 'contactEmail': 'eperry@example.org', - 'contactPhoneNumber': '5646976380', - 'enrolmentEndDays': 1, - 'enrolmentStart': '1989-08-31T23:14:42.824885+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'ytHjL', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 5 - }, - 'placeId': 'Record card my. Sure sister return.', - 'remainingSeats': 33, - 'seatType': 'CHILDREN_COUNT', - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2002-04-18T06:53:11.806335+00:00' - } - } - ] - } - } -} - -snapshots['test_pick_enrolment_from_queue 1'] = { - 'data': { - 'pickEnrolmentFromQueue': { - 'enrolment': { - 'notificationType': 'EMAIL', - 'person': { - 'emailAddress': 'rose06@example.com', - 'name': 'Robert Gray' - }, - 'status': 'PENDING', - 'studyGroup': { - 'groupName': 'Decade address have turn serve me every traditional. Sound describe risk newspaper reflect four.' - } - } - } - } -} - -snapshots['test_study_level_query 1'] = { - 'data': { - 'studyLevel': { - 'id': 'age_0_2', - 'label': 'age 0-2', - 'level': 0, - 'translations': [ - { - 'label': 'age 0-2', - 'languageCode': 'EN' - } - ] - } - } -} - -snapshots['test_study_levels_query 1'] = { - 'data': { - 'studyLevels': { - 'edges': [ - { - 'node': { - 'id': 'age_0_2', - 'label': 'age 0-2', - 'level': 0, - 'translations': [ - { - 'label': 'age 0-2', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'age_3_4', - 'label': 'age 3-4', - 'level': 1, - 'translations': [ - { - 'label': 'age 3-4', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'preschool', - 'label': 'preschool', - 'level': 2, - 'translations': [ - { - 'label': 'preschool', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_1', - 'label': 'first grade', - 'level': 3, - 'translations': [ - { - 'label': 'first grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_2', - 'label': 'second grade', - 'level': 4, - 'translations': [ - { - 'label': 'second grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_3', - 'label': 'third grade', - 'level': 5, - 'translations': [ - { - 'label': 'third grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_4', - 'label': 'fourth grade', - 'level': 6, - 'translations': [ - { - 'label': 'fourth grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_5', - 'label': 'fifth grade', - 'level': 7, - 'translations': [ - { - 'label': 'fifth grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_6', - 'label': 'sixth grade', - 'level': 8, - 'translations': [ - { - 'label': 'sixth grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_7', - 'label': 'seventh grade', - 'level': 9, - 'translations': [ - { - 'label': 'seventh grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_8', - 'label': 'eighth grade', - 'level': 10, - 'translations': [ - { - 'label': 'eighth grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_9', - 'label': 'ninth grade', - 'level': 11, - 'translations': [ - { - 'label': 'ninth grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'grade_10', - 'label': 'tenth grade', - 'level': 12, - 'translations': [ - { - 'label': 'tenth grade', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'secondary', - 'label': 'secondary', - 'level': 13, - 'translations': [ - { - 'label': 'secondary', - 'languageCode': 'EN' - } - ] - } - }, - { - 'node': { - 'id': 'other', - 'label': 'other group', - 'level': 14, - 'translations': [ - { - 'label': 'other group', - 'languageCode': 'EN' - } - ] - } - } - ] - } - } -} - -snapshots['test_unenrol_event_queue_mutation[False] 1'] = { - 'data': { - 'unenrolEventQueue': { - 'pEvent': { - 'isQueueingAllowed': False, - 'linkedEventId': 'MYfOB' - }, - 'studyGroup': { - 'unitName': 'Tough plant traditional after born up always. Return student light a point charge.' - } - } - } -} - -snapshots['test_unenrol_event_queue_mutation[True] 1'] = { - 'data': { - 'unenrolEventQueue': { - 'pEvent': { - 'isQueueingAllowed': True, - 'linkedEventId': 'MYfOB' - }, - 'studyGroup': { - 'unitName': 'Tough plant traditional after born up always. Return student light a point charge.' - } - } - } -} - -snapshots['test_unenrol_occurrence 1'] = { - 'data': { - 'unenrolOccurrence': { - 'occurrence': { - 'amountOfSeats': 50, - 'remainingSeats': 50, - 'seatsApproved': 0, - 'seatsTaken': 0, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'studyGroup': { - 'unitName': 'Leave serve important probably. Sea something western research.' - } - } - } -} - -snapshots['test_update_enrolment 1'] = { - 'data': { - 'updateEnrolment': { - 'enrolment': { - 'notificationType': 'SMS', - 'occurrence': { - 'amountOfSeats': 35, - 'remainingSeats': 6, - 'seatsApproved': 0, - 'seatsTaken': 29, - 'startTime': '2020-01-06T00:00:00+00:00' - }, - 'status': 'PENDING', - 'studyGroup': { - 'amountOfAdult': 3, - 'enrolments': { - 'edges': [ - { - 'node': { - 'notificationType': 'SMS' - } - }, - { - 'node': { - 'notificationType': 'SMS' - } - } - ] - }, - 'groupName': 'Updated study group name', - 'groupSize': 16, - 'unitName': 'Updated name' - } - } - } - } -} - -snapshots['test_update_occurrence_of_published_event_without_enrolments 1'] = { - 'data': { - 'updateOccurrence': { - 'occurrence': { - 'contactPersons': { - 'edges': [ - { - 'node': { - 'name': 'Julie Parrish' - } - } - ] - }, - 'endTime': '2020-05-06T00:00:00+00:00', - 'languages': { - 'edges': [ - { - 'node': { - 'id': 'en', - 'name': 'English' - } - }, - { - 'node': { - 'id': 'fi', - 'name': 'Finnish' - } - }, - { - 'node': { - 'id': 'sv', - 'name': 'Swedish' - } - } - ] - }, - 'maxGroupSize': 10, - 'minGroupSize': 10, - 'pEvent': { - 'contactEmail': 'donald78@example.net', - 'contactPhoneNumber': '001-658-731-3222x29493', - 'enrolmentEndDays': 2, - 'enrolmentStart': '1981-07-25T08:53:14.019007+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'helsinki:afxp6tv4xa', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 0 - }, - 'startTime': '2020-05-05T00:00:00+00:00' - } - } - } -} - -snapshots['test_update_study_group_staff_user 1'] = { - 'data': { - 'updateStudyGroup': { - 'studyGroup': { - 'amountOfAdult': 2, - 'extraNeeds': 'Extra needs', - 'groupName': 'Sample group name', - 'groupSize': 20, - 'person': { - 'emailAddress': 'email@address.com', - 'language': 'FI', - 'name': 'Name', - 'phoneNumber': '123123' - }, - 'studyLevels': { - 'edges': [ - { - 'node': { - 'id': 'grade_2', - 'label': 'second grade', - 'level': 4, - 'translations': [ - { - 'label': 'second grade', - 'languageCode': 'EN' - } - ] - } - } - ] - }, - 'unit': { - 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15417/', - 'name': { - 'fi': 'Sellon kirjasto' - } - }, - 'unitId': 'helsinki:afxp6tv4xa', - 'unitName': 'Sample study group name' - } - } - } -} - -snapshots['test_update_study_group_staff_user 2'] = { - 'data': { - 'updateStudyGroup': { - 'studyGroup': { - 'amountOfAdult': 2, - 'extraNeeds': 'Extra needs', - 'groupName': 'Sample group name', - 'groupSize': 20, - 'person': { - 'emailAddress': 'shawndouglas@example.com', - 'language': 'FI', - 'name': 'Sean Rocha', - 'phoneNumber': '001-215-991-0232x02813' - }, - 'studyLevels': { - 'edges': [ - { - 'node': { - 'id': 'grade_2', - 'label': 'second grade', - 'level': 4, - 'translations': [ - { - 'label': 'second grade', - 'languageCode': 'EN' - } - ] - } - } - ] - }, - 'unit': { - 'internalId': 'https://api.hel.fi/linkedevents/v1/place/tprek:15417/', - 'name': { - 'fi': 'Sellon kirjasto' - } - }, - 'unitId': 'helsinki:afxp6tv4xa', - 'unitName': 'Sample study group name' - } - } - } -} - -snapshots['test_update_unpublished_occurrence 1'] = { - 'data': { - 'updateOccurrence': { - 'occurrence': { - 'contactPersons': { - 'edges': [ - { - 'node': { - 'name': 'Julie Parrish' - } - } - ] - }, - 'endTime': '2020-05-06T00:00:00+00:00', - 'languages': { - 'edges': [ - { - 'node': { - 'id': 'en', - 'name': 'English' - } - }, - { - 'node': { - 'id': 'fi', - 'name': 'Finnish' - } - }, - { - 'node': { - 'id': 'sv', - 'name': 'Swedish' - } - } - ] - }, - 'maxGroupSize': 588, - 'minGroupSize': 10, - 'pEvent': { - 'contactEmail': 'travishopkins@example.net', - 'contactPhoneNumber': '(722)729-4934', - 'enrolmentEndDays': 0, - 'enrolmentStart': '1980-12-30T21:30:40.750124+00:00', - 'externalEnrolmentUrl': None, - 'linkedEventId': 'raSqN', - 'mandatoryAdditionalInformation': False, - 'neededOccurrences': 3 - }, - 'startTime': '2020-05-05T00:00:00+00:00' - } - } - } -} - -snapshots['test_update_venue_staff_user 1'] = { - 'data': { - 'updateVenue': { - 'venue': { - 'description': 'Venue description', - 'hasAreaForGroupWork': True, - 'hasClothingStorage': True, - 'hasIndoorPlayingArea': True, - 'hasOutdoorPlayingArea': True, - 'hasSnackEatingPlace': True, - 'hasToiletNearby': True, - 'id': 'Irtal', - 'outdoorActivity': True, - 'translations': [ - { - 'description': 'Venue description' - }, - { - 'description': 'Venue description in EN' - } - ] - } - } - } -} - -snapshots['test_venue_query 1'] = { - 'data': { - 'venue': { - 'description': 'Answer entire increase thank certainly again thought. Beyond than trial western.', - 'hasAreaForGroupWork': False, - 'hasClothingStorage': False, - 'hasIndoorPlayingArea': False, - 'hasOutdoorPlayingArea': False, - 'hasSnackEatingPlace': True, - 'hasToiletNearby': False, - 'id': 'PcMpy', - 'outdoorActivity': False, - 'translations': [ - { - 'description': 'Answer entire increase thank certainly again thought. Beyond than trial western.' - } - ] - } - } -} - -snapshots['test_venues_query 1'] = { - 'data': { - 'venues': { - 'edges': [ - { - 'node': { - 'description': 'Answer entire increase thank certainly again thought. Beyond than trial western.', - 'hasAreaForGroupWork': False, - 'hasClothingStorage': False, - 'hasIndoorPlayingArea': False, - 'hasOutdoorPlayingArea': False, - 'hasSnackEatingPlace': True, - 'hasToiletNearby': False, - 'id': 'PcMpy', - 'outdoorActivity': False, - 'translations': [ - { - 'description': 'Answer entire increase thank certainly again thought. Beyond than trial western.' - } - ] - } - } - ] - } - } -} diff --git a/occurrences/tests/snapshots/snap_test_notifications.py b/occurrences/tests/snapshots/snap_test_notifications.py deleted file mode 100644 index d343b56d..00000000 --- a/occurrences/tests/snapshots/snap_test_notifications.py +++ /dev/null @@ -1,317 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - - -snapshots = Snapshot() - -snapshots['test_approve_enrolment_notification_email 1'] = [ - '''no-reply@hel.ninja|['hutchinsonrachel@example.org']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: MPXLz - Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. - Occurrence: 05.09.1971 13.56 - Person: hutchinsonrachel@example.org - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - - Custom message: custom message -''' -] - -snapshots['test_cancel_enrolment_notification_email 1'] = [ - '''no-reply@hel.ninja|['brett47@example.com']|Enrolment cancellation confirmation FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Campaign college career fight data. Generation man process white visit step. - Occurrence: 18.04.2002 09.53 - Person: brett47@example.com - - Custom message: custom message -''' -] - -snapshots['test_cancelled_enrolment_notification_email 1'] = [ - '''no-reply@hel.ninja|['email_me@dommain.com']|Enrolment cancelled FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Investment difference heart guess west black. - Occurrence: 18.04.2002 09.53 - Person: email_me@dommain.com - - Custom message: custom message -''' -] - -snapshots['test_decline_enrolment_notification_email 1'] = [ - '''no-reply@hel.ninja|['brett47@example.com']|Enrolment declined FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Campaign college career fight data. Generation man process white visit step. - Occurrence: 18.04.2002 09.53 - Person: brett47@example.com - - Custom message: custom message -''' -] - -snapshots['test_decline_enrolment_notification_email_to_multiple_contact_person 1'] = [ - '''no-reply@hel.ninja|['brett47@example.com']|Enrolment declined FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Campaign college career fight data. Generation man process white visit step. - Occurrence: 18.04.2002 09.53 - Person: brett47@example.com - - Custom message: custom message -''' -] - -snapshots['test_decline_enrolment_notification_email_to_multiple_contact_person 2'] = [ - '''no-reply@hel.ninja|['brett47@example.com']|Enrolment declined FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Campaign college career fight data. Generation man process white visit step. - Occurrence: 18.04.2002 09.53 - Person: brett47@example.com - - Custom message: custom message -''', - '''no-reply@hel.ninja|['davidsummers@example.net']|Enrolment declined FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: HHEUh - Study group: Close term where up notice environment father stay. Hold project month similar support line. - Occurrence: 01.11.2006 02.06 - Person: davidsummers@example.net - - Custom message: custom message -''', - '''no-reply@hel.ninja|['sandra56@example.net']|Enrolment declined FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: HHEUh - Study group: Close term where up notice environment father stay. Hold project month similar support line. - Occurrence: 01.11.2006 02.06 - Person: sandra56@example.net - - Custom message: custom message -''' -] - -snapshots['test_local_time_notification[tz0] 1'] = [ - '''no-reply@hel.ninja|['hutchinsonrachel@example.org']|Occurrence enrolment FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: OhDGq - Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. - Occurrence: 04.01.2020 00.00 - Person: hutchinsonrachel@example.org -''' -] - -snapshots['test_local_time_notification[tz1] 1'] = [ - '''no-reply@hel.ninja|['hutchinsonrachel@example.org']|Occurrence enrolment FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: OhDGq - Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. - Occurrence: 04.01.2020 00.00 - Person: hutchinsonrachel@example.org -''' -] - -snapshots['test_local_time_notification[tz2] 1'] = [ - '''no-reply@hel.ninja|['hutchinsonrachel@example.org']|Occurrence enrolment FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: OhDGq - Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. - Occurrence: 04.01.2020 00.00 - Person: hutchinsonrachel@example.org -''' -] - -snapshots['test_mass_approve_enrolment_mutation[False] 1'] = [ - '''no-reply@hel.ninja|['jamesmcgrath@example.com']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ZHkjd - Study group: Question national throw three. - Occurrence: 29.08.1983 11.35 - Person: jamesmcgrath@example.com - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - - Custom message: Custom message -''', - '''no-reply@hel.ninja|['bradleybutler@example.com']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ZHkjd - Study group: Question national throw three. - Occurrence: 29.08.1983 11.35 - Person: bradleybutler@example.com - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - - Custom message: Custom message -''', - '''no-reply@hel.ninja|['schwartzkayla@example.org']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ZHkjd - Study group: Better majority behavior along pressure yes others. Trouble change world indeed always. - Occurrence: 29.08.1983 11.35 - Person: schwartzkayla@example.org - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - - Custom message: Custom message -''', - '''no-reply@hel.ninja|['cwall@example.net']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ZHkjd - Study group: Better majority behavior along pressure yes others. Trouble change world indeed always. - Occurrence: 29.08.1983 11.35 - Person: cwall@example.net - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - - Custom message: Custom message -''', - '''no-reply@hel.ninja|['elizabethschultz@example.net']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ZHkjd - Study group: Structure professional message road focus turn space. Art space along win. - Occurrence: 29.08.1983 11.35 - Person: elizabethschultz@example.net - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - - Custom message: Custom message -''', - '''no-reply@hel.ninja|['tammyjordan@example.com']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ZHkjd - Study group: Structure professional message road focus turn space. Art space along win. - Occurrence: 29.08.1983 11.35 - Person: tammyjordan@example.com - Click this link to cancel the enrolment: - https://kultus.hel.fi/fi/enrolments/cancel/mock-enrolment-unique-id-abc123xyz456 - - Custom message: Custom message -''' -] - -snapshots['test_occurrence_enrolment_notifications_email_only 1'] = [ - '''no-reply@hel.ninja|['brett47@example.com']|Occurrence enrolment FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Campaign college career fight data. Generation man process white visit step. - Occurrence: 18.04.2002 09.53 - Person: brett47@example.com -''', - '''no-reply@hel.ninja|['brett47@example.com']|Occurrence unenrolment FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Campaign college career fight data. Generation man process white visit step. - Occurrence: 18.04.2002 09.53 - Person: brett47@example.com -''', - '''no-reply@hel.ninja|['brett47@example.com']|Occurrence enrolment EN| - Event EN: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Close term where up notice environment father stay. Hold project month similar support line. - Occurrence: 18.04.2002 09.53 - Person: sandra56@example.net''', - '''no-reply@hel.ninja|['brett47@example.com']|Occurrence unenrolment EN| - Event EN: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Close term where up notice environment father stay. Hold project month similar support line. - Occurrence: 18.04.2002 09.53 - Person: sandra56@example.net''' -] - -snapshots['test_occurrence_enrolment_notifications_to_contact_person 1'] = [ - '''no-reply@hel.ninja|['email_me@dommain.com']|Occurrence enrolment FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Campaign college career fight data. Generation man process white visit step. - Occurrence: 18.04.2002 09.53 - Person: email_me@dommain.com -''', - '''no-reply@hel.ninja|['email_me@dommain.com']|Occurrence unenrolment FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Campaign college career fight data. Generation man process white visit step. - Occurrence: 18.04.2002 09.53 - Person: email_me@dommain.com -''', - '''no-reply@hel.ninja|['email_me@dommain.com']|Occurrence enrolment EN| - Event EN: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Race kitchen change single now rich. Bill write color politics. Matter this same happy standard. - Occurrence: 18.04.2002 09.53 - Person: do_not_email_me@domain.com''', - '''no-reply@hel.ninja|['email_me@dommain.com']|Occurrence unenrolment EN| - Event EN: Raija Malka & Kaija Saariaho: Blick - Extra event info: ytHjL - Study group: Race kitchen change single now rich. Bill write color politics. Matter this same happy standard. - Occurrence: 18.04.2002 09.53 - Person: do_not_email_me@domain.com''' -] - -snapshots['test_only_send_approved_notification[False] 1'] = [ - '''no-reply@hel.ninja|['hutchinsonrachel@example.org']|Occurrence enrolment FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: MPXLz - Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. - Occurrence: 05.09.1971 13.56 - Person: hutchinsonrachel@example.org -''', - '''no-reply@hel.ninja|['hutchinsonrachel@example.org']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: MPXLz - Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. - Occurrence: 05.09.1971 13.56 - Person: hutchinsonrachel@example.org - -''' -] - -snapshots['test_only_send_approved_notification[True] 1'] = [ - '''no-reply@hel.ninja|['hutchinsonrachel@example.org']|Enrolment approved FI| - Event FI: Raija Malka & Kaija Saariaho: Blick - Extra event info: MPXLz - Study group: Skin watch media. Condition like lay still bar. From daughter order stay sign discover eight. - Occurrence: 05.09.1971 13.56 - Person: hutchinsonrachel@example.org - -''' -] - -snapshots['test_send_enrolment_summary_report 1'] = [ - '''no-reply@hel.ninja|['john29@example.com']|Enrolment approved FI| - Total pending enrolments: 3 - Total new accepted enrolments: 1 - Event name: Raija Malka & Kaija Saariaho: Blick - Event link: https://kultus-admin.hel.fi/fi/events/TuZpF - Occurrence: #2020-01-14 00:00:00+00:00 (1 new enrolments) - Link to occurrence: https://kultus-admin.hel.fi/fi/events/TuZpF/occurrences/T2NjdXJyZW5jZU5vZGU6NDE= - Event name: Raija Malka & Kaija Saariaho: Blick - Event link: https://kultus-admin.hel.fi/fi/events/csgfn - Occurrence: #2020-01-14 00:00:00+00:00 (1 pending) - Link to occurrence: https://kultus-admin.hel.fi/fi/events/csgfn/occurrences/T2NjdXJyZW5jZU5vZGU6MzE= - Event name: Raija Malka & Kaija Saariaho: Blick - Event link: https://kultus-admin.hel.fi/fi/events/jfwob - Occurrence: #2020-01-14 00:00:00+00:00 (1 pending) - Link to occurrence: https://kultus-admin.hel.fi/fi/events/jfwob/occurrences/T2NjdXJyZW5jZU5vZGU6MjE= - Occurrence: #2020-01-14 00:00:00+00:00 (1 pending) - Link to occurrence: https://kultus-admin.hel.fi/fi/events/jfwob/occurrences/T2NjdXJyZW5jZU5vZGU6MjI= - ''', - '''no-reply@hel.ninja|['dsellers@example.net']|Enrolment approved FI| - Total pending enrolments: 4 - Total new accepted enrolments: 0 - Event name: Raija Malka & Kaija Saariaho: Blick - Event link: https://kultus-admin.hel.fi/fi/events/aAVEa - Occurrence: #2020-01-14 00:00:00+00:00 (3 pending) - Link to occurrence: https://kultus-admin.hel.fi/fi/events/aAVEa/occurrences/T2NjdXJyZW5jZU5vZGU6MTE= - Occurrence: #2020-01-14 00:00:00+00:00 (1 pending) - Link to occurrence: https://kultus-admin.hel.fi/fi/events/aAVEa/occurrences/T2NjdXJyZW5jZU5vZGU6MTI= - ''' -] diff --git a/organisations/tests/__snapshots__/test_api.ambr b/organisations/tests/__snapshots__/test_api.ambr new file mode 100644 index 00000000..5347ee47 --- /dev/null +++ b/organisations/tests/__snapshots__/test_api.ambr @@ -0,0 +1,608 @@ +# serializer version: 1 +# name: test_add_organisation + dict({ + 'data': dict({ + 'addOrganisation': dict({ + 'organisation': dict({ + 'name': 'New organisation', + 'phoneNumber': '012345678', + 'publisherId': 'publisher_id', + 'type': 'PROVIDER', + }), + }), + }), + }) +# --- +# name: test_create_my_profile + dict({ + 'data': dict({ + 'createMyProfile': dict({ + 'myProfile': dict({ + 'emailAddress': 'newEmail@address.com', + 'isStaff': False, + 'language': 'EN', + 'name': 'New name', + 'organisationproposalSet': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': '3rd party org', + }), + }), + ]), + }), + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Myers, Ellis and Gonzalez', + }), + }), + ]), + }), + 'phoneNumber': '', + 'placeIds': list([ + ]), + }), + }), + }), + }) +# --- +# name: test_create_my_profile_with_place_ids + dict({ + 'data': dict({ + 'createMyProfile': dict({ + 'myProfile': dict({ + 'emailAddress': 'newEmail@address.com', + 'isStaff': False, + 'language': 'EN', + 'name': 'New name', + 'organisationproposalSet': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': '3rd party org', + }), + }), + ]), + }), + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Myers, Ellis and Gonzalez', + }), + }), + ]), + }), + 'phoneNumber': '', + 'placeIds': list([ + 'xyz:123', + 'abc321', + ]), + }), + }), + }), + }) +# --- +# name: test_my_profile_query + dict({ + 'data': dict({ + 'myProfile': dict({ + 'emailAddress': 'hutchinsonrachel@example.org', + 'isStaff': False, + 'language': 'FI', + 'name': 'Amanda Newton', + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Smith, Wood and Baker', + }), + }), + ]), + }), + 'phoneNumber': '497-963-8034x6697', + 'placeIds': list([ + 'VXgFfhhcjebLxIzCCeza', + 'knnouKQItjsGbbnCZaIe', + ]), + }), + }), + }) +# --- +# name: test_my_profile_query.1 + dict({ + 'data': dict({ + 'myProfile': dict({ + 'emailAddress': 'jmoore@example.org', + 'isStaff': True, + 'language': 'FI', + 'name': 'Cheyenne Carson', + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Smith, Wood and Baker', + }), + }), + ]), + }), + 'phoneNumber': '001-895-799-1183x2639', + 'placeIds': list([ + 'yOWeWgxNvIdaNadghCet', + 'YgCAuXtmqVxzDraSqNld', + ]), + }), + }), + }) +# --- +# name: test_organisation_query + dict({ + 'data': dict({ + 'organisation': dict({ + 'name': 'Graves and Sons', + 'persons': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '+1-990-963-3345', + 'publisherId': 'rtOzV', + 'type': 'USER', + }), + }), + }) +# --- +# name: test_organisations_query + dict({ + 'data': dict({ + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Graves and Sons', + 'persons': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '+1-990-963-3345', + 'publisherId': 'rtOzV', + 'type': 'USER', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_organisations_query_type_filter + dict({ + 'data': dict({ + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Bryant-Davis', + 'persons': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '206-575-0649x763', + 'publisherId': 'nvThb', + 'type': 'PROVIDER', + }), + }), + dict({ + 'node': dict({ + 'name': 'Garcia Group', + 'persons': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '+1-515-291-0232x0281', + 'publisherId': 'yiWRb', + 'type': 'PROVIDER', + }), + }), + dict({ + 'node': dict({ + 'name': 'Graves and Sons', + 'persons': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '+1-990-963-3345', + 'publisherId': 'VrtOz', + 'type': 'PROVIDER', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_organisations_query_type_filter.1 + dict({ + 'data': dict({ + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Hawkins, Davis and Porter', + 'persons': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '8127344744', + 'publisherId': 'QItjs', + 'type': 'USER', + }), + }), + dict({ + 'node': dict({ + 'name': 'Travis, Thomas and Ochoa', + 'persons': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '+1-583-401-9054', + 'publisherId': 'jOnQt', + 'type': 'USER', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_person_enrolments + dict({ + 'data': dict({ + 'person': dict({ + 'enrolmentSet': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'Hand human value base pattern democratic focus. Kind various laugh smile behavior.', + }), + }), + }), + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'Close term where up notice environment father stay. Hold project month similar support line.', + }), + }), + }), + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'Eat design give per kind history ahead. Herself consider fight us claim. Age feeling speech eye.', + }), + }), + }), + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': ''' + Apply somebody especially far. Color price environmental. + Market him beyond. + ''', + }), + }), + }), + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'Civil find learn follow. Tend practice other poor.', + }), + }), + }), + ]), + }), + 'name': 'Patrick Estrada', + }), + }), + }) +# --- +# name: test_person_query + dict({ + 'data': dict({ + 'person': None, + }), + }) +# --- +# name: test_person_query.1 + dict({ + 'data': dict({ + 'person': None, + }), + }) +# --- +# name: test_person_query.2 + dict({ + 'data': dict({ + 'person': dict({ + 'emailAddress': 'jacobbrown@example.net', + 'language': 'FI', + 'name': 'Brian Daniels', + 'organisations': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '440.584.7694x703', + 'placeIds': list([ + 'nddsAMQQNGTIkhlhOSlf', + 'VcHUQIIHoLALPuMgdVNr', + ]), + }), + }), + }) +# --- +# name: test_person_query.3 + dict({ + 'data': dict({ + 'person': dict({ + 'emailAddress': 'ochoaangela@example.org', + 'language': 'FI', + 'name': 'Carolyn Scott', + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Williams-Newton', + }), + }), + ]), + }), + 'phoneNumber': '244.468.5816x6245', + 'placeIds': list([ + 'JDOXAmjOnQtrkEQOlnVO', + ]), + }), + }), + }) +# --- +# name: test_person_queued_enrolments + dict({ + 'data': dict({ + 'person': dict({ + 'eventqueueenrolmentSet': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'Let join might player example environment. Then offer organization model.', + }), + }), + }), + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'By rate activity business let art. Admit think edge once election seat.', + }), + }), + }), + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'Play make war chance discover throw. Crime imagine wall two economy. Far power animal society Mrs.', + }), + }), + }), + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'Reach ask I cut ok. Perhaps teacher involve all my improve our Congress.', + }), + }), + }), + dict({ + 'node': dict({ + 'studyGroup': dict({ + 'groupName': 'Second yet pay. First teach democratic.', + }), + }), + }), + ]), + }), + 'name': 'Patrick Estrada', + }), + }), + }) +# --- +# name: test_person_study_groups + dict({ + 'data': dict({ + 'person': dict({ + 'name': 'Patrick Estrada', + 'studygroupSet': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'groupName': 'Hand human value base pattern democratic focus. Kind various laugh smile behavior.', + }), + }), + dict({ + 'node': dict({ + 'groupName': 'Close term where up notice environment father stay. Hold project month similar support line.', + }), + }), + dict({ + 'node': dict({ + 'groupName': 'Eat design give per kind history ahead. Herself consider fight us claim. Age feeling speech eye.', + }), + }), + dict({ + 'node': dict({ + 'groupName': ''' + Apply somebody especially far. Color price environmental. + Market him beyond. + ''', + }), + }), + dict({ + 'node': dict({ + 'groupName': 'Civil find learn follow. Tend practice other poor.', + }), + }), + ]), + }), + }), + }), + }) +# --- +# name: test_persons_query + dict({ + 'data': dict({ + 'persons': dict({ + 'edges': list([ + ]), + }), + }), + }) +# --- +# name: test_persons_query.1 + dict({ + 'data': dict({ + 'persons': dict({ + 'edges': list([ + ]), + }), + }), + }) +# --- +# name: test_persons_query.2 + dict({ + 'data': dict({ + 'persons': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'emailAddress': 'jacobbrown@example.net', + 'language': 'FI', + 'name': 'Brian Daniels', + 'organisations': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '440.584.7694x703', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_persons_query.3 + dict({ + 'data': dict({ + 'persons': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'emailAddress': 'michael41@example.net', + 'language': 'FI', + 'name': 'Brett Dean', + 'organisations': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '+1-362-312-6661x44948', + }), + }), + dict({ + 'node': dict({ + 'emailAddress': 'jacobbrown@example.net', + 'language': 'FI', + 'name': 'Brian Daniels', + 'organisations': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '440.584.7694x703', + }), + }), + dict({ + 'node': dict({ + 'emailAddress': 'ochoaangela@example.org', + 'language': 'FI', + 'name': 'Carolyn Scott', + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Williams-Newton', + }), + }), + ]), + }), + 'phoneNumber': '244.468.5816x6245', + }), + }), + ]), + }), + }), + }) +# --- +# name: test_update_my_profile + dict({ + 'data': dict({ + 'updateMyProfile': dict({ + 'myProfile': dict({ + 'emailAddress': 'newEmail@address.com', + 'isStaff': False, + 'language': 'SV', + 'name': 'New name', + 'organisations': dict({ + 'edges': list([ + ]), + }), + 'phoneNumber': '497-963-8034x6697', + 'placeIds': list([ + 'xyz:123', + 'xxx:123', + ]), + }), + }), + }), + }) +# --- +# name: test_update_organisation + dict({ + 'data': dict({ + 'updateOrganisation': dict({ + 'organisation': dict({ + 'name': 'New name', + 'phoneNumber': '497-963-8034x6697', + 'publisherId': 'publisher_id', + 'type': 'USER', + }), + }), + }), + }) +# --- +# name: test_update_person_mutation[firstlast@example.com-True] + dict({ + 'data': dict({ + 'updatePerson': dict({ + 'person': dict({ + 'emailAddress': 'firstlast@example.com', + 'language': 'SV', + 'name': 'New name', + 'organisations': dict({ + 'edges': list([ + dict({ + 'node': dict({ + 'name': 'Williams-Newton', + }), + }), + ]), + }), + 'phoneNumber': '244.468.5816x6245', + }), + }), + }), + }) +# --- diff --git a/organisations/tests/__snapshots__/test_notifications.ambr b/organisations/tests/__snapshots__/test_notifications.ambr new file mode 100644 index 00000000..e91a046d --- /dev/null +++ b/organisations/tests/__snapshots__/test_notifications.ambr @@ -0,0 +1,132 @@ +# serializer version: 1 +# name: test_myprofile_accepted_email[en] + list([ + ''' + no-reply@hel.ninja|['sreyes@example.com']|My profile accepted EN| +

Hi Kyle Walls!

+

Your account is now ready to be used in Kultus + with the following organisations linked to your account:

+ + +

Custom message: custom message

+ + ''', + ]) +# --- +# name: test_myprofile_accepted_email[fi] + list([ + ''' + no-reply@hel.ninja|['sreyes@example.com']|My profile accepted FI| +

Hei Kyle Walls!

+

Sinun käyttäjäsi on nyt valmis käytettäväksi Kultuksessa + seuraavilla organisaatioille:

+ + +

Erityisviesti: custom message

+ + ''', + ]) +# --- +# name: test_myprofile_creation_email + list([ + ''' + no-reply@hel.ninja|['jennifer62@example.org']|My profile creation FI| +

Hyvä Kultus ylläpitäjä!

+

Uusi palveluntarjoajan tunnus on luotu!

+
+ Amanda Newton
+ hutchinsonrachel@example.org + Käyttäjätunnus: jeffersonkimberly_3MmHFh +
+

Palveluntarjoaja tarvitsee ylläpitäjää (sinua) + hyväksymään luomansa käyttäjätunnuksen käyttöön:

+
    +
  1. Luo puuttuvat organisaatiot LinkedEventsiin
  2. +
  3. Luo puuttuvat organisaatiot Kultukseen
  4. +
  5. Liitä organisaatiot käyttäjään
  6. +
  7. Lisää käyttäjälle staff-lippu, jotta hän saisi oikeudet + luoda ja muokata tapahtumia.
  8. +
+

Käyttäjä haluaisi edustaa seuraavia organisaatioita:

+ +

Muokataksesi luotua käyttäjätunnusta, + klikkaa tästä!

+

Nähdäksesi listan käyttäjistä, klikkaa + tästä.

+ +

Erityisviesti: custom message

+ + ''', + ''' + no-reply@hel.ninja|['lsimmons@example.com']|My profile creation FI| +

Hyvä Kultus ylläpitäjä!

+

Uusi palveluntarjoajan tunnus on luotu!

+
+ Amanda Newton
+ hutchinsonrachel@example.org + Käyttäjätunnus: jeffersonkimberly_3MmHFh +
+

Palveluntarjoaja tarvitsee ylläpitäjää (sinua) + hyväksymään luomansa käyttäjätunnuksen käyttöön:

+
    +
  1. Luo puuttuvat organisaatiot LinkedEventsiin
  2. +
  3. Luo puuttuvat organisaatiot Kultukseen
  4. +
  5. Liitä organisaatiot käyttäjään
  6. +
  7. Lisää käyttäjälle staff-lippu, jotta hän saisi oikeudet + luoda ja muokata tapahtumia.
  8. +
+

Käyttäjä haluaisi edustaa seuraavia organisaatioita:

+ +

Muokataksesi luotua käyttäjätunnusta, + klikkaa tästä!

+

Nähdäksesi listan käyttäjistä, klikkaa + tästä.

+ +

Erityisviesti: custom message

+ + ''', + ''' + no-reply@hel.ninja|['patrickkenneth@example.com']|My profile creation EN| +

Dear Kultus Admin!

+

A new Kultus provider user profile is created!

+
+ Amanda Newton
+ hutchinsonrachel@example.org + Username: jeffersonkimberly_3MmHFh +
+

The provider who created the user profile needs an admin (you) + to accept the user profile:

+
    +
  1. Create the missing organisations to LinkedEvents
  2. +
  3. Create the missing organisations to Kultus
  4. +
  5. Link the user to organisations
  6. +
  7. Set the staff -flag so the user would receive the permissions + to create and edit their events.
  8. +
+

The user would like to represent these organisations:

+ +

To edit the newly created user profile, + click here!

+

To see a full list of users, click + here.

+ +

Custom message: custom message

+ + ''', + ]) +# --- diff --git a/organisations/tests/snapshots/__init__.py b/organisations/tests/snapshots/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/organisations/tests/snapshots/snap_test_api.py b/organisations/tests/snapshots/snap_test_api.py deleted file mode 100644 index ab95e3ff..00000000 --- a/organisations/tests/snapshots/snap_test_api.py +++ /dev/null @@ -1,588 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - - -snapshots = Snapshot() - -snapshots['test_add_organisation 1'] = { - 'data': { - 'addOrganisation': { - 'organisation': { - 'name': 'New organisation', - 'phoneNumber': '012345678', - 'publisherId': 'publisher_id', - 'type': 'PROVIDER' - } - } - } -} - -snapshots['test_create_my_profile 1'] = { - 'data': { - 'createMyProfile': { - 'myProfile': { - 'emailAddress': 'newEmail@address.com', - 'isStaff': False, - 'language': 'EN', - 'name': 'New name', - 'organisationproposalSet': { - 'edges': [ - { - 'node': { - 'name': '3rd party org' - } - } - ] - }, - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Myers, Ellis and Gonzalez' - } - } - ] - }, - 'phoneNumber': '', - 'placeIds': [ - ] - } - } - } -} - -snapshots['test_create_my_profile_with_place_ids 1'] = { - 'data': { - 'createMyProfile': { - 'myProfile': { - 'emailAddress': 'newEmail@address.com', - 'isStaff': False, - 'language': 'EN', - 'name': 'New name', - 'organisationproposalSet': { - 'edges': [ - { - 'node': { - 'name': '3rd party org' - } - } - ] - }, - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Myers, Ellis and Gonzalez' - } - } - ] - }, - 'phoneNumber': '', - 'placeIds': [ - 'xyz:123', - 'abc321' - ] - } - } - } -} - -snapshots['test_my_profile_query 1'] = { - 'data': { - 'myProfile': { - 'emailAddress': 'hutchinsonrachel@example.org', - 'isStaff': False, - 'language': 'FI', - 'name': 'Amanda Newton', - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Smith, Wood and Baker' - } - } - ] - }, - 'phoneNumber': '497-963-8034x6697', - 'placeIds': [ - 'VXgFfhhcjebLxIzCCeza', - 'knnouKQItjsGbbnCZaIe' - ] - } - } -} - -snapshots['test_my_profile_query 2'] = { - 'data': { - 'myProfile': { - 'emailAddress': 'jmoore@example.org', - 'isStaff': True, - 'language': 'FI', - 'name': 'Cheyenne Carson', - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Smith, Wood and Baker' - } - } - ] - }, - 'phoneNumber': '001-895-799-1183x2639', - 'placeIds': [ - 'yOWeWgxNvIdaNadghCet', - 'YgCAuXtmqVxzDraSqNld' - ] - } - } -} - -snapshots['test_organisation_query 1'] = { - 'data': { - 'organisation': { - 'name': 'Graves and Sons', - 'persons': { - 'edges': [ - ] - }, - 'phoneNumber': '+1-990-963-3345', - 'publisherId': 'rtOzV', - 'type': 'USER' - } - } -} - -snapshots['test_organisations_query 1'] = { - 'data': { - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Graves and Sons', - 'persons': { - 'edges': [ - ] - }, - 'phoneNumber': '+1-990-963-3345', - 'publisherId': 'rtOzV', - 'type': 'USER' - } - } - ] - } - } -} - -snapshots['test_organisations_query_type_filter 1'] = { - 'data': { - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Bryant-Davis', - 'persons': { - 'edges': [ - ] - }, - 'phoneNumber': '206-575-0649x763', - 'publisherId': 'nvThb', - 'type': 'PROVIDER' - } - }, - { - 'node': { - 'name': 'Garcia Group', - 'persons': { - 'edges': [ - ] - }, - 'phoneNumber': '+1-515-291-0232x0281', - 'publisherId': 'yiWRb', - 'type': 'PROVIDER' - } - }, - { - 'node': { - 'name': 'Graves and Sons', - 'persons': { - 'edges': [ - ] - }, - 'phoneNumber': '+1-990-963-3345', - 'publisherId': 'VrtOz', - 'type': 'PROVIDER' - } - } - ] - } - } -} - -snapshots['test_organisations_query_type_filter 2'] = { - 'data': { - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Hawkins, Davis and Porter', - 'persons': { - 'edges': [ - ] - }, - 'phoneNumber': '8127344744', - 'publisherId': 'QItjs', - 'type': 'USER' - } - }, - { - 'node': { - 'name': 'Travis, Thomas and Ochoa', - 'persons': { - 'edges': [ - ] - }, - 'phoneNumber': '+1-583-401-9054', - 'publisherId': 'jOnQt', - 'type': 'USER' - } - } - ] - } - } -} - -snapshots['test_person_enrolments 1'] = { - 'data': { - 'person': { - 'enrolmentSet': { - 'edges': [ - { - 'node': { - 'studyGroup': { - 'groupName': 'Hand human value base pattern democratic focus. Kind various laugh smile behavior.' - } - } - }, - { - 'node': { - 'studyGroup': { - 'groupName': 'Close term where up notice environment father stay. Hold project month similar support line.' - } - } - }, - { - 'node': { - 'studyGroup': { - 'groupName': 'Eat design give per kind history ahead. Herself consider fight us claim. Age feeling speech eye.' - } - } - }, - { - 'node': { - 'studyGroup': { - 'groupName': '''Apply somebody especially far. Color price environmental. -Market him beyond.''' - } - } - }, - { - 'node': { - 'studyGroup': { - 'groupName': 'Civil find learn follow. Tend practice other poor.' - } - } - } - ] - }, - 'name': 'Patrick Estrada' - } - } -} - -snapshots['test_person_query 1'] = { - 'data': { - 'person': None - } -} - -snapshots['test_person_query 2'] = { - 'data': { - 'person': None - } -} - -snapshots['test_person_query 3'] = { - 'data': { - 'person': { - 'emailAddress': 'jacobbrown@example.net', - 'language': 'FI', - 'name': 'Brian Daniels', - 'organisations': { - 'edges': [ - ] - }, - 'phoneNumber': '440.584.7694x703', - 'placeIds': [ - 'nddsAMQQNGTIkhlhOSlf', - 'VcHUQIIHoLALPuMgdVNr' - ] - } - } -} - -snapshots['test_person_query 4'] = { - 'data': { - 'person': { - 'emailAddress': 'ochoaangela@example.org', - 'language': 'FI', - 'name': 'Carolyn Scott', - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Williams-Newton' - } - } - ] - }, - 'phoneNumber': '244.468.5816x6245', - 'placeIds': [ - 'JDOXAmjOnQtrkEQOlnVO' - ] - } - } -} - -snapshots['test_person_queued_enrolments 1'] = { - 'data': { - 'person': { - 'eventqueueenrolmentSet': { - 'edges': [ - { - 'node': { - 'studyGroup': { - 'groupName': 'Let join might player example environment. Then offer organization model.' - } - } - }, - { - 'node': { - 'studyGroup': { - 'groupName': 'By rate activity business let art. Admit think edge once election seat.' - } - } - }, - { - 'node': { - 'studyGroup': { - 'groupName': 'Play make war chance discover throw. Crime imagine wall two economy. Far power animal society Mrs.' - } - } - }, - { - 'node': { - 'studyGroup': { - 'groupName': 'Reach ask I cut ok. Perhaps teacher involve all my improve our Congress.' - } - } - }, - { - 'node': { - 'studyGroup': { - 'groupName': 'Second yet pay. First teach democratic.' - } - } - } - ] - }, - 'name': 'Patrick Estrada' - } - } -} - -snapshots['test_person_study_groups 1'] = { - 'data': { - 'person': { - 'name': 'Patrick Estrada', - 'studygroupSet': { - 'edges': [ - { - 'node': { - 'groupName': 'Hand human value base pattern democratic focus. Kind various laugh smile behavior.' - } - }, - { - 'node': { - 'groupName': 'Close term where up notice environment father stay. Hold project month similar support line.' - } - }, - { - 'node': { - 'groupName': 'Eat design give per kind history ahead. Herself consider fight us claim. Age feeling speech eye.' - } - }, - { - 'node': { - 'groupName': '''Apply somebody especially far. Color price environmental. -Market him beyond.''' - } - }, - { - 'node': { - 'groupName': 'Civil find learn follow. Tend practice other poor.' - } - } - ] - } - } - } -} - -snapshots['test_persons_query 1'] = { - 'data': { - 'persons': { - 'edges': [ - ] - } - } -} - -snapshots['test_persons_query 2'] = { - 'data': { - 'persons': { - 'edges': [ - ] - } - } -} - -snapshots['test_persons_query 3'] = { - 'data': { - 'persons': { - 'edges': [ - { - 'node': { - 'emailAddress': 'jacobbrown@example.net', - 'language': 'FI', - 'name': 'Brian Daniels', - 'organisations': { - 'edges': [ - ] - }, - 'phoneNumber': '440.584.7694x703' - } - } - ] - } - } -} - -snapshots['test_persons_query 4'] = { - 'data': { - 'persons': { - 'edges': [ - { - 'node': { - 'emailAddress': 'michael41@example.net', - 'language': 'FI', - 'name': 'Brett Dean', - 'organisations': { - 'edges': [ - ] - }, - 'phoneNumber': '+1-362-312-6661x44948' - } - }, - { - 'node': { - 'emailAddress': 'jacobbrown@example.net', - 'language': 'FI', - 'name': 'Brian Daniels', - 'organisations': { - 'edges': [ - ] - }, - 'phoneNumber': '440.584.7694x703' - } - }, - { - 'node': { - 'emailAddress': 'ochoaangela@example.org', - 'language': 'FI', - 'name': 'Carolyn Scott', - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Williams-Newton' - } - } - ] - }, - 'phoneNumber': '244.468.5816x6245' - } - } - ] - } - } -} - -snapshots['test_update_my_profile 1'] = { - 'data': { - 'updateMyProfile': { - 'myProfile': { - 'emailAddress': 'newEmail@address.com', - 'isStaff': False, - 'language': 'SV', - 'name': 'New name', - 'organisations': { - 'edges': [ - ] - }, - 'phoneNumber': '497-963-8034x6697', - 'placeIds': [ - 'xyz:123', - 'xxx:123' - ] - } - } - } -} - -snapshots['test_update_organisation 1'] = { - 'data': { - 'updateOrganisation': { - 'organisation': { - 'name': 'New name', - 'phoneNumber': '497-963-8034x6697', - 'publisherId': 'publisher_id', - 'type': 'USER' - } - } - } -} - -snapshots['test_update_person_mutation[firstlast@example.com-True] 1'] = { - 'data': { - 'updatePerson': { - 'person': { - 'emailAddress': 'firstlast@example.com', - 'language': 'SV', - 'name': 'New name', - 'organisations': { - 'edges': [ - { - 'node': { - 'name': 'Williams-Newton' - } - } - ] - }, - 'phoneNumber': '244.468.5816x6245' - } - } - } -} diff --git a/organisations/tests/snapshots/snap_test_notifications.py b/organisations/tests/snapshots/snap_test_notifications.py deleted file mode 100644 index aacfb188..00000000 --- a/organisations/tests/snapshots/snap_test_notifications.py +++ /dev/null @@ -1,125 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - -snapshots = Snapshot() - -snapshots["test_myprofile_accepted_email[en] 1"] = [ - """no-reply@hel.ninja|['sreyes@example.com']|My profile accepted EN| -

Hi Kyle Walls!

-

Your account is now ready to be used in Kultus -with the following organisations linked to your account:

- - -

Custom message: custom message

- """ -] - -snapshots["test_myprofile_accepted_email[fi] 1"] = [ - """no-reply@hel.ninja|['sreyes@example.com']|My profile accepted FI| -

Hei Kyle Walls!

-

Sinun käyttäjäsi on nyt valmis käytettäväksi Kultuksessa -seuraavilla organisaatioille:

- - -

Erityisviesti: custom message

- """ -] - -snapshots["test_myprofile_creation_email 1"] = [ - """no-reply@hel.ninja|['jennifer62@example.org']|My profile creation FI| -

Hyvä Kultus ylläpitäjä!

-

Uusi palveluntarjoajan tunnus on luotu!

-
- Amanda Newton
- hutchinsonrachel@example.org - Käyttäjätunnus: jeffersonkimberly_3MmHFh -
-

Palveluntarjoaja tarvitsee ylläpitäjää (sinua) -hyväksymään luomansa käyttäjätunnuksen käyttöön:

-
    -
  1. Luo puuttuvat organisaatiot LinkedEventsiin
  2. -
  3. Luo puuttuvat organisaatiot Kultukseen
  4. -
  5. Liitä organisaatiot käyttäjään
  6. -
  7. Lisää käyttäjälle staff-lippu, jotta hän saisi oikeudet - luoda ja muokata tapahtumia.
  8. -
-

Käyttäjä haluaisi edustaa seuraavia organisaatioita:

- -

Muokataksesi luotua käyttäjätunnusta, -klikkaa tästä!

-

Nähdäksesi listan käyttäjistä, klikkaa -tästä.

- -

Erityisviesti: custom message

-""", - """no-reply@hel.ninja|['lsimmons@example.com']|My profile creation FI| -

Hyvä Kultus ylläpitäjä!

-

Uusi palveluntarjoajan tunnus on luotu!

-
- Amanda Newton
- hutchinsonrachel@example.org - Käyttäjätunnus: jeffersonkimberly_3MmHFh -
-

Palveluntarjoaja tarvitsee ylläpitäjää (sinua) -hyväksymään luomansa käyttäjätunnuksen käyttöön:

-
    -
  1. Luo puuttuvat organisaatiot LinkedEventsiin
  2. -
  3. Luo puuttuvat organisaatiot Kultukseen
  4. -
  5. Liitä organisaatiot käyttäjään
  6. -
  7. Lisää käyttäjälle staff-lippu, jotta hän saisi oikeudet - luoda ja muokata tapahtumia.
  8. -
-

Käyttäjä haluaisi edustaa seuraavia organisaatioita:

- -

Muokataksesi luotua käyttäjätunnusta, -klikkaa tästä!

-

Nähdäksesi listan käyttäjistä, klikkaa -tästä.

- -

Erityisviesti: custom message

-""", - """no-reply@hel.ninja|['patrickkenneth@example.com']|My profile creation EN| -

Dear Kultus Admin!

-

A new Kultus provider user profile is created!

-
- Amanda Newton
- hutchinsonrachel@example.org - Username: jeffersonkimberly_3MmHFh -
-

The provider who created the user profile needs an admin (you) -to accept the user profile:

-
    -
  1. Create the missing organisations to LinkedEvents
  2. -
  3. Create the missing organisations to Kultus
  4. -
  5. Link the user to organisations
  6. -
  7. Set the staff -flag so the user would receive the permissions - to create and edit their events.
  8. -
-

The user would like to represent these organisations:

- -

To edit the newly created user profile, -click here!

-

To see a full list of users, click -here.

- -

Custom message: custom message

-""", -] diff --git a/palvelutarjotin/tests/test_pre_commit_ruff_version.py b/palvelutarjotin/tests/test_pre_commit_ruff_version.py index 73dd5835..a10ea689 100644 --- a/palvelutarjotin/tests/test_pre_commit_ruff_version.py +++ b/palvelutarjotin/tests/test_pre_commit_ruff_version.py @@ -3,14 +3,16 @@ RUFF_VERSION_PRE_COMMIT_REGEX = re.compile( r"rev: v(\d+(\.\d+)+)\s*# ruff-pre-commit version" ) +RUFF_VERSION_DEV_REQS_REGEX = re.compile(r"^ruff==(\d+(\.\d+)+)\s*\S$") def get_ruff_version_from_dev_requirements() -> str | None: with open("./requirements-dev.txt") as file: dev_requirements = file.read() for line in dev_requirements.splitlines(): - if line.startswith("ruff=="): - return line.split("==")[1].strip() + match = RUFF_VERSION_DEV_REQS_REGEX.search(line) + if match: + return match.group(1) return None diff --git a/pipelines/kultus-api-review.yml b/pipelines/kultus-api-review.yml index 20e120fc..715a601c 100644 --- a/pipelines/kultus-api-review.yml +++ b/pipelines/kultus-api-review.yml @@ -8,14 +8,14 @@ trigger: none # Pull request (PR) triggers cause a pipeline to run whenever a pull request is -# opened with one of the specified target branches, or when updates are made to +# opened with one of the specified target branches, or when updates are made to # such a pull request. # -# GitHub creates a new ref when a pull request is created. The ref points to a -# merge commit, which is the merged code between the source and target branches +# GitHub creates a new ref when a pull request is created. The ref points to a +# merge commit, which is the merged code between the source and target branches # of the pull request. # -# Opt out of pull request validation +# Opt out of pull request validation pr: # PR target branch branches: diff --git a/pyproject.toml b/pyproject.toml index cbeb712b..0fdf99cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,6 +4,7 @@ version = "1.25.1" requires-python = ">= 3.12" [tool.ruff] +target-version = "py312" extend-exclude = ["migrations", "snapshots"] [tool.ruff.lint] @@ -17,6 +18,11 @@ extend-select = [ "W", # Enable pycodestyle warning (W) rules ] +[tool.pip-tools.compile] +allow-unsafe = true +generate-hashes = true +strip-extras = true + [tool.ruff.lint.isort] # isort options for ruff: # https://docs.astral.sh/ruff/settings/#lintisort diff --git a/reports/templates/reports/admin/enrolmentreport_changelist.html b/reports/templates/reports/admin/enrolmentreport_changelist.html index 9bb2bbe5..1c0098ed 100644 --- a/reports/templates/reports/admin/enrolmentreport_changelist.html +++ b/reports/templates/reports/admin/enrolmentreport_changelist.html @@ -7,4 +7,4 @@ {{ block.super }} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/reports/templates/reports/admin/organisation_persons.html b/reports/templates/reports/admin/organisation_persons.html index 4590d801..25ffc542 100644 --- a/reports/templates/reports/admin/organisation_persons.html +++ b/reports/templates/reports/admin/organisation_persons.html @@ -34,4 +34,4 @@ {% endfor %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/reports/templates/reports/admin/persons.html b/reports/templates/reports/admin/persons.html index d87c5ca9..6156bb85 100644 --- a/reports/templates/reports/admin/persons.html +++ b/reports/templates/reports/admin/persons.html @@ -23,15 +23,15 @@ {% for person in persons %} - + {{person.name}} {{person.email}} {{person.phone_number}} {% for org in person.organisations.all %}{{org.name}}{% if not forloop.last %}, {% endif %}{% endfor %} - + {% endfor %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/reports/tests/snapshots/__init__.py b/reports/tests/snapshots/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/reports/tests/snapshots/snap_test_models.py b/reports/tests/snapshots/snap_test_models.py deleted file mode 100644 index 3f0e2439..00000000 --- a/reports/tests/snapshots/snap_test_models.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import GenericRepr, Snapshot - -snapshots = Snapshot() - -snapshots["test_enrolment_report 1"] = { - "_enrolment_id": 1, - "_occurrence_id": 1, - "_state": GenericRepr(""), - "_study_group_id": 1, - "created_at": GenericRepr("FakeDatetime(2020, 1, 4, 0, 0, tzinfo=)"), - "distance_from_unit_to_event_place": None, - "enrolment_externally": False, - "enrolment_start_time": GenericRepr( - "datetime.datetime(1970, 5, 15, 14, 25, 3, tzinfo=)" - ), - "enrolment_status": "pending", - "enrolment_time": GenericRepr("FakeDatetime(2020, 1, 4, 0, 0, tzinfo=)"), - "id": 1, - "keywords": None, - "linked_event_id": "TVcHU", - "occurrence_amount_of_seats": 49, - "occurrence_cancelled": False, - "occurrence_end_time": GenericRepr( - "datetime.datetime(1976, 9, 7, 23, 2, 28, tzinfo=)" - ), - "occurrence_languages": [], - "occurrence_place_divisions": None, - "occurrence_place_id": "Space speak sense person the probably deep.", - "occurrence_place_position": None, - "occurrence_start_time": GenericRepr( - "datetime.datetime(2020, 7, 12, 8, 50, 37, tzinfo=)" - ), - "provider": None, - "publisher": None, - "study_group_amount_of_adult": 0, - "study_group_amount_of_children": 631, - "study_group_study_levels": [], - "study_group_unit_divisions": None, - "study_group_unit_id": None, - "study_group_unit_position": None, - "updated_at": GenericRepr("FakeDatetime(2020, 1, 4, 0, 0, tzinfo=)"), -} diff --git a/requirements-dev.in b/requirements-dev.in index f99cedab..2d2d0ae8 100644 --- a/requirements-dev.in +++ b/requirements-dev.in @@ -1,13 +1,13 @@ -c requirements.txt cryptography freezegun -ipython parameterized pre-commit +pip-tools pytest pytest-cov pytest-django requests-mock responses ruff -snapshottest>=1.0.0a1 # Allow pre-release version, please remove when stable up-to-date +syrupy diff --git a/requirements-dev.txt b/requirements-dev.txt index 2a3d844e..6175a831 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -2,143 +2,514 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile requirements-dev.in +# pip-compile --allow-unsafe --generate-hashes --strip-extras requirements-dev.in # -asttokens==3.0.0 - # via stack-data -certifi==2025.1.31 +build==1.3.0 \ + --hash=sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397 \ + --hash=sha256:7145f0b5061ba90a1500d60bd1b13ca0a8a4cebdd0cc16ed8adf1c0e739f43b4 + # via pip-tools +certifi==2025.1.31 \ + --hash=sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651 \ + --hash=sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe # via # -c requirements.txt # requests -cffi==1.17.1 +cffi==1.17.1 \ + --hash=sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8 \ + --hash=sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2 \ + --hash=sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1 \ + --hash=sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15 \ + --hash=sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36 \ + --hash=sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824 \ + --hash=sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8 \ + --hash=sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36 \ + --hash=sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17 \ + --hash=sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf \ + --hash=sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc \ + --hash=sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3 \ + --hash=sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed \ + --hash=sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702 \ + --hash=sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1 \ + --hash=sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8 \ + --hash=sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903 \ + --hash=sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6 \ + --hash=sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d \ + --hash=sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b \ + --hash=sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e \ + --hash=sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be \ + --hash=sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c \ + --hash=sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683 \ + --hash=sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9 \ + --hash=sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c \ + --hash=sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8 \ + --hash=sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1 \ + --hash=sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4 \ + --hash=sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655 \ + --hash=sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67 \ + --hash=sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595 \ + --hash=sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0 \ + --hash=sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65 \ + --hash=sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41 \ + --hash=sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6 \ + --hash=sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401 \ + --hash=sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6 \ + --hash=sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3 \ + --hash=sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16 \ + --hash=sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93 \ + --hash=sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e \ + --hash=sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4 \ + --hash=sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964 \ + --hash=sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c \ + --hash=sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576 \ + --hash=sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0 \ + --hash=sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3 \ + --hash=sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662 \ + --hash=sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3 \ + --hash=sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff \ + --hash=sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5 \ + --hash=sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd \ + --hash=sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f \ + --hash=sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5 \ + --hash=sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14 \ + --hash=sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d \ + --hash=sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9 \ + --hash=sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7 \ + --hash=sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382 \ + --hash=sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a \ + --hash=sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e \ + --hash=sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a \ + --hash=sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4 \ + --hash=sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99 \ + --hash=sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87 \ + --hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b # via # -c requirements.txt # cryptography -cfgv==3.4.0 +cfgv==3.4.0 \ + --hash=sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9 \ + --hash=sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560 # via pre-commit -charset-normalizer==3.4.1 +charset-normalizer==3.4.1 \ + --hash=sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537 \ + --hash=sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa \ + --hash=sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a \ + --hash=sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294 \ + --hash=sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b \ + --hash=sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd \ + --hash=sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601 \ + --hash=sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd \ + --hash=sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4 \ + --hash=sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d \ + --hash=sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2 \ + --hash=sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313 \ + --hash=sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd \ + --hash=sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa \ + --hash=sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8 \ + --hash=sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1 \ + --hash=sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2 \ + --hash=sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496 \ + --hash=sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d \ + --hash=sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b \ + --hash=sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e \ + --hash=sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a \ + --hash=sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4 \ + --hash=sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca \ + --hash=sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78 \ + --hash=sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408 \ + --hash=sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5 \ + --hash=sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3 \ + --hash=sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f \ + --hash=sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a \ + --hash=sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765 \ + --hash=sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6 \ + --hash=sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146 \ + --hash=sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6 \ + --hash=sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9 \ + --hash=sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd \ + --hash=sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c \ + --hash=sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f \ + --hash=sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545 \ + --hash=sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176 \ + --hash=sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770 \ + --hash=sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824 \ + --hash=sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f \ + --hash=sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf \ + --hash=sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487 \ + --hash=sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d \ + --hash=sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd \ + --hash=sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b \ + --hash=sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534 \ + --hash=sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f \ + --hash=sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b \ + --hash=sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9 \ + --hash=sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd \ + --hash=sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125 \ + --hash=sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9 \ + --hash=sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de \ + --hash=sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11 \ + --hash=sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d \ + --hash=sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35 \ + --hash=sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f \ + --hash=sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda \ + --hash=sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7 \ + --hash=sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a \ + --hash=sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971 \ + --hash=sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8 \ + --hash=sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41 \ + --hash=sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d \ + --hash=sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f \ + --hash=sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757 \ + --hash=sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a \ + --hash=sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886 \ + --hash=sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77 \ + --hash=sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76 \ + --hash=sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247 \ + --hash=sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85 \ + --hash=sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb \ + --hash=sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7 \ + --hash=sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e \ + --hash=sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6 \ + --hash=sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037 \ + --hash=sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1 \ + --hash=sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e \ + --hash=sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807 \ + --hash=sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407 \ + --hash=sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c \ + --hash=sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12 \ + --hash=sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3 \ + --hash=sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089 \ + --hash=sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd \ + --hash=sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e \ + --hash=sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00 \ + --hash=sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616 # via # -c requirements.txt # requests -coverage[toml]==7.6.12 +click==8.2.1 \ + --hash=sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202 \ + --hash=sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b + # via pip-tools +coverage==7.6.12 \ + --hash=sha256:00b2086892cf06c7c2d74983c9595dc511acca00665480b3ddff749ec4fb2a95 \ + --hash=sha256:0533adc29adf6a69c1baa88c3d7dbcaadcffa21afbed3ca7a225a440e4744bf9 \ + --hash=sha256:06097c7abfa611c91edb9e6920264e5be1d6ceb374efb4986f38b09eed4cb2fe \ + --hash=sha256:07e92ae5a289a4bc4c0aae710c0948d3c7892e20fd3588224ebe242039573bf0 \ + --hash=sha256:0a9d8be07fb0832636a0f72b80d2a652fe665e80e720301fb22b191c3434d924 \ + --hash=sha256:0e549f54ac5f301e8e04c569dfdb907f7be71b06b88b5063ce9d6953d2d58574 \ + --hash=sha256:0ef01d70198431719af0b1f5dcbefc557d44a190e749004042927b2a3fed0702 \ + --hash=sha256:0f16f44025c06792e0fb09571ae454bcc7a3ec75eeb3c36b025eccf501b1a4c3 \ + --hash=sha256:14d47376a4f445e9743f6c83291e60adb1b127607a3618e3185bbc8091f0467b \ + --hash=sha256:1a936309a65cc5ca80fa9f20a442ff9e2d06927ec9a4f54bcba9c14c066323f2 \ + --hash=sha256:1ceeb90c3eda1f2d8c4c578c14167dbd8c674ecd7d38e45647543f19839dd6ea \ + --hash=sha256:1f7ffa05da41754e20512202c866d0ebfc440bba3b0ed15133070e20bf5aeb5f \ + --hash=sha256:200e10beb6ddd7c3ded322a4186313d5ca9e63e33d8fab4faa67ef46d3460af3 \ + --hash=sha256:220fa6c0ad7d9caef57f2c8771918324563ef0d8272c94974717c3909664e674 \ + --hash=sha256:2251fabcfee0a55a8578a9d29cecfee5f2de02f11530e7d5c5a05859aa85aee9 \ + --hash=sha256:2458f275944db8129f95d91aee32c828a408481ecde3b30af31d552c2ce284a0 \ + --hash=sha256:299cf973a7abff87a30609879c10df0b3bfc33d021e1adabc29138a48888841e \ + --hash=sha256:2b996819ced9f7dbb812c701485d58f261bef08f9b85304d41219b1496b591ef \ + --hash=sha256:3688b99604a24492bcfe1c106278c45586eb819bf66a654d8a9a1433022fb2eb \ + --hash=sha256:3a1e465f398c713f1b212400b4e79a09829cd42aebd360362cd89c5bdc44eb87 \ + --hash=sha256:488c27b3db0ebee97a830e6b5a3ea930c4a6e2c07f27a5e67e1b3532e76b9ef1 \ + --hash=sha256:48cfc4641d95d34766ad41d9573cc0f22a48aa88d22657a1fe01dca0dbae4de2 \ + --hash=sha256:4b467a8c56974bf06e543e69ad803c6865249d7a5ccf6980457ed2bc50312703 \ + --hash=sha256:53c56358d470fa507a2b6e67a68fd002364d23c83741dbc4c2e0680d80ca227e \ + --hash=sha256:5d1095bbee1851269f79fd8e0c9b5544e4c00c0c24965e66d8cba2eb5bb535fd \ + --hash=sha256:641dfe0ab73deb7069fb972d4d9725bf11c239c309ce694dd50b1473c0f641c3 \ + --hash=sha256:64cbb1a3027c79ca6310bf101014614f6e6e18c226474606cf725238cf5bc2d4 \ + --hash=sha256:66fe626fd7aa5982cdebad23e49e78ef7dbb3e3c2a5960a2b53632f1f703ea45 \ + --hash=sha256:676f92141e3c5492d2a1596d52287d0d963df21bf5e55c8b03075a60e1ddf8aa \ + --hash=sha256:69e62c5034291c845fc4df7f8155e8544178b6c774f97a99e2734b05eb5bed31 \ + --hash=sha256:704c8c8c6ce6569286ae9622e534b4f5b9759b6f2cd643f1c1a61f666d534fe8 \ + --hash=sha256:78f5243bb6b1060aed6213d5107744c19f9571ec76d54c99cc15938eb69e0e86 \ + --hash=sha256:79cac3390bfa9836bb795be377395f28410811c9066bc4eefd8015258a7578c6 \ + --hash=sha256:7ae6eabf519bc7871ce117fb18bf14e0e343eeb96c377667e3e5dd12095e0288 \ + --hash=sha256:7e39e845c4d764208e7b8f6a21c541ade741e2c41afabdfa1caa28687a3c98cf \ + --hash=sha256:8161d9fbc7e9fe2326de89cd0abb9f3599bccc1287db0aba285cb68d204ce929 \ + --hash=sha256:8bec2ac5da793c2685ce5319ca9bcf4eee683b8a1679051f8e6ec04c4f2fd7dc \ + --hash=sha256:959244a17184515f8c52dcb65fb662808767c0bd233c1d8a166e7cf74c9ea985 \ + --hash=sha256:9b148068e881faa26d878ff63e79650e208e95cf1c22bd3f77c3ca7b1d9821a3 \ + --hash=sha256:aa6f302a3a0b5f240ee201297fff0bbfe2fa0d415a94aeb257d8b461032389bd \ + --hash=sha256:ace9048de91293e467b44bce0f0381345078389814ff6e18dbac8fdbf896360e \ + --hash=sha256:ad7525bf0241e5502168ae9c643a2f6c219fa0a283001cee4cf23a9b7da75879 \ + --hash=sha256:b01a840ecc25dce235ae4c1b6a0daefb2a203dba0e6e980637ee9c2f6ee0df57 \ + --hash=sha256:b076e625396e787448d27a411aefff867db2bffac8ed04e8f7056b07024eed5a \ + --hash=sha256:b172f8e030e8ef247b3104902cc671e20df80163b60a203653150d2fc204d1ad \ + --hash=sha256:b1f097878d74fe51e1ddd1be62d8e3682748875b461232cf4b52ddc6e6db0bba \ + --hash=sha256:b95574d06aa9d2bd6e5cc35a5bbe35696342c96760b69dc4287dbd5abd4ad51d \ + --hash=sha256:bda1c5f347550c359f841d6614fb8ca42ae5cb0b74d39f8a1e204815ebe25750 \ + --hash=sha256:cec6b9ce3bd2b7853d4a4563801292bfee40b030c05a3d29555fd2a8ee9bd68c \ + --hash=sha256:d1a987778b9c71da2fc8948e6f2656da6ef68f59298b7e9786849634c35d2c3c \ + --hash=sha256:d74c08e9aaef995f8c4ef6d202dbd219c318450fe2a76da624f2ebb9c8ec5d9f \ + --hash=sha256:e18aafdfb3e9ec0d261c942d35bd7c28d031c5855dadb491d2723ba54f4c3015 \ + --hash=sha256:e216c5c45f89ef8971373fd1c5d8d1164b81f7f5f06bbf23c37e7908d19e8558 \ + --hash=sha256:e695df2c58ce526eeab11a2e915448d3eb76f75dffe338ea613c1201b33bab2f \ + --hash=sha256:e7575ab65ca8399c8c4f9a7d61bbd2d204c8b8e447aab9d355682205c9dd948d \ + --hash=sha256:e995b3b76ccedc27fe4f477b349b7d64597e53a43fc2961db9d3fbace085d69d \ + --hash=sha256:ea31689f05043d520113e0552f039603c4dd71fa4c287b64cb3606140c66f425 \ + --hash=sha256:eb5507795caabd9b2ae3f1adc95f67b1104971c22c624bb354232d65c4fc90b3 \ + --hash=sha256:eb8668cfbc279a536c633137deeb9435d2962caec279c3f8cf8b91fff6ff8953 \ + --hash=sha256:ecea0c38c9079570163d663c0433a9af4094a60aafdca491c6a3d248c7432827 \ + --hash=sha256:f25d8b92a4e31ff1bd873654ec367ae811b3a943583e05432ea29264782dc32c \ + --hash=sha256:f60a297c3987c6c02ffb29effc70eadcbb412fe76947d394a1091a3615948e2f \ + --hash=sha256:f973643ef532d4f9be71dd88cf7588936685fdb576d93a79fe9f65bc337d9d73 # via pytest-cov -cryptography==44.0.2 +cryptography==44.0.2 \ + --hash=sha256:04abd71114848aa25edb28e225ab5f268096f44cf0127f3d36975bdf1bdf3390 \ + --hash=sha256:0529b1d5a0105dd3731fa65680b45ce49da4d8115ea76e9da77a875396727b41 \ + --hash=sha256:1bc312dfb7a6e5d66082c87c34c8a62176e684b6fe3d90fcfe1568de675e6688 \ + --hash=sha256:268e4e9b177c76d569e8a145a6939eca9a5fec658c932348598818acf31ae9a5 \ + --hash=sha256:29ecec49f3ba3f3849362854b7253a9f59799e3763b0c9d0826259a88efa02f1 \ + --hash=sha256:2bf7bf75f7df9715f810d1b038870309342bff3069c5bd8c6b96128cb158668d \ + --hash=sha256:3b721b8b4d948b218c88cb8c45a01793483821e709afe5f622861fc6182b20a7 \ + --hash=sha256:3c00b6b757b32ce0f62c574b78b939afab9eecaf597c4d624caca4f9e71e7843 \ + --hash=sha256:3dc62975e31617badc19a906481deacdeb80b4bb454394b4098e3f2525a488c5 \ + --hash=sha256:4973da6ca3db4405c54cd0b26d328be54c7747e89e284fcff166132eb7bccc9c \ + --hash=sha256:4e389622b6927d8133f314949a9812972711a111d577a5d1f4bee5e58736b80a \ + --hash=sha256:51e4de3af4ec3899d6d178a8c005226491c27c4ba84101bfb59c901e10ca9f79 \ + --hash=sha256:5f6f90b72d8ccadb9c6e311c775c8305381db88374c65fa1a68250aa8a9cb3a6 \ + --hash=sha256:6210c05941994290f3f7f175a4a57dbbb2afd9273657614c506d5976db061181 \ + --hash=sha256:6f101b1f780f7fc613d040ca4bdf835c6ef3b00e9bd7125a4255ec574c7916e4 \ + --hash=sha256:7bdcd82189759aba3816d1f729ce42ffded1ac304c151d0a8e89b9996ab863d5 \ + --hash=sha256:7ca25849404be2f8e4b3c59483d9d3c51298a22c1c61a0e84415104dacaf5562 \ + --hash=sha256:81276f0ea79a208d961c433a947029e1a15948966658cf6710bbabb60fcc2639 \ + --hash=sha256:8cadc6e3b5a1f144a039ea08a0bdb03a2a92e19c46be3285123d32029f40a922 \ + --hash=sha256:8e0ddd63e6bf1161800592c71ac794d3fb8001f2caebe0966e77c5234fa9efc3 \ + --hash=sha256:909c97ab43a9c0c0b0ada7a1281430e4e5ec0458e6d9244c0e821bbf152f061d \ + --hash=sha256:96e7a5e9d6e71f9f4fca8eebfd603f8e86c5225bb18eb621b2c1e50b290a9471 \ + --hash=sha256:9a1e657c0f4ea2a23304ee3f964db058c9e9e635cc7019c4aa21c330755ef6fd \ + --hash=sha256:9eb9d22b0a5d8fd9925a7764a054dca914000607dff201a24c791ff5c799e1fa \ + --hash=sha256:af4ff3e388f2fa7bff9f7f2b31b87d5651c45731d3e8cfa0944be43dff5cfbdb \ + --hash=sha256:b042d2a275c8cee83a4b7ae30c45a15e6a4baa65a179a0ec2d78ebb90e4f6699 \ + --hash=sha256:bc821e161ae88bfe8088d11bb39caf2916562e0a2dc7b6d56714a48b784ef0bb \ + --hash=sha256:c505d61b6176aaf982c5717ce04e87da5abc9a36a5b39ac03905c4aafe8de7aa \ + --hash=sha256:c63454aa261a0cf0c5b4718349629793e9e634993538db841165b3df74f37ec0 \ + --hash=sha256:c7362add18b416b69d58c910caa217f980c5ef39b23a38a0880dfd87bdf8cd23 \ + --hash=sha256:d03806036b4f89e3b13b6218fefea8d5312e450935b1a2d55f0524e2ed7c59d9 \ + --hash=sha256:d1b3031093a366ac767b3feb8bcddb596671b3aaff82d4050f984da0c248b615 \ + --hash=sha256:d1c3572526997b36f245a96a2b1713bf79ce99b271bbcf084beb6b9b075f29ea \ + --hash=sha256:efcfe97d1b3c79e486554efddeb8f6f53a4cdd4cf6086642784fa31fc384e1d7 \ + --hash=sha256:f514ef4cd14bb6fb484b4a60203e912cfcb64f2ab139e88c2274511514bf7308 # via # -c requirements.txt # -r requirements-dev.in -decorator==5.2.1 - # via ipython -distlib==0.3.9 +distlib==0.3.9 \ + --hash=sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87 \ + --hash=sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403 # via virtualenv -executing==2.2.0 - # via stack-data -fastdiff==0.3.0 - # via snapshottest -filelock==3.18.0 +filelock==3.18.0 \ + --hash=sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2 \ + --hash=sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de # via virtualenv -freezegun==1.5.1 +freezegun==1.5.1 \ + --hash=sha256:b29dedfcda6d5e8e083ce71b2b542753ad48cfec44037b3fc79702e2980a89e9 \ + --hash=sha256:bf111d7138a8abe55ab48a71755673dbaa4ab87f4cff5634a4442dfec34c15f1 # via -r requirements-dev.in -identify==2.6.9 +identify==2.6.9 \ + --hash=sha256:c98b4322da415a8e5a70ff6e51fbc2d2932c015532d77e9f8537b4ba7813b150 \ + --hash=sha256:d40dfe3142a1421d8518e3d3985ef5ac42890683e32306ad614a29490abeb6bf # via pre-commit -idna==3.10 +idna==3.10 \ + --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \ + --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 # via # -c requirements.txt # requests -iniconfig==2.0.0 +iniconfig==2.0.0 \ + --hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \ + --hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374 # via pytest -ipython==9.0.2 - # via -r requirements-dev.in -ipython-pygments-lexers==1.1.1 - # via ipython -jedi==0.19.2 - # via ipython -matplotlib-inline==0.1.7 - # via ipython -nodeenv==1.9.1 +nodeenv==1.9.1 \ + --hash=sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f \ + --hash=sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9 # via pre-commit -packaging==24.2 +packaging==24.2 \ + --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \ + --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f # via # -c requirements.txt + # build # pytest -parameterized==0.9.0 +parameterized==0.9.0 \ + --hash=sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b \ + --hash=sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1 + # via -r requirements-dev.in +pip-tools==7.5.0 \ + --hash=sha256:30639f50961bb09f49d22f4389e8d7d990709677c094ce1114186b1f2e9b5821 \ + --hash=sha256:69758e4e5a65f160e315d74db46246fdbb30d549f1ed0c4236d057122c9b0f18 # via -r requirements-dev.in -parso==0.8.4 - # via jedi -pexpect==4.9.0 - # via ipython -platformdirs==4.3.6 +platformdirs==4.3.6 \ + --hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 \ + --hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb # via virtualenv -pluggy==1.5.0 +pluggy==1.5.0 \ + --hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \ + --hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 # via pytest -pre-commit==4.1.0 +pre-commit==4.1.0 \ + --hash=sha256:ae3f018575a588e30dfddfab9a05448bfbd6b73d78709617b5a2b853549716d4 \ + --hash=sha256:d29e7cb346295bcc1cc75fc3e92e343495e3ea0196c9ec6ba53f49f10ab6ae7b # via -r requirements-dev.in -prompt-toolkit==3.0.50 - # via ipython -ptyprocess==0.7.0 - # via pexpect -pure-eval==0.2.3 - # via stack-data -pycparser==2.22 +pycparser==2.22 \ + --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ + --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc # via # -c requirements.txt # cffi -pygments==2.19.1 +pyproject-hooks==1.2.0 \ + --hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \ + --hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913 # via - # ipython - # ipython-pygments-lexers -pytest==8.3.5 + # build + # pip-tools +pytest==8.3.5 \ + --hash=sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820 \ + --hash=sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845 # via # -r requirements-dev.in # pytest-cov # pytest-django -pytest-cov==6.0.0 + # syrupy +pytest-cov==6.0.0 \ + --hash=sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35 \ + --hash=sha256:fde0b595ca248bb8e2d76f020b465f3b107c9632e6a1d1705f17834c89dcadc0 # via -r requirements-dev.in -pytest-django==4.10.0 +pytest-django==4.10.0 \ + --hash=sha256:1091b20ea1491fd04a310fc9aaff4c01b4e8450e3b157687625e16a6b5f3a366 \ + --hash=sha256:57c74ef3aa9d89cae5a5d73fbb69a720a62673ade7ff13b9491872409a3f5918 # via -r requirements-dev.in -python-dateutil==2.9.0.post0 +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 # via # -c requirements.txt # freezegun -pyyaml==6.0.2 +pyyaml==6.0.2 \ + --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ + --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ + --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \ + --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \ + --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \ + --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \ + --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \ + --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \ + --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \ + --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \ + --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \ + --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \ + --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \ + --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \ + --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \ + --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \ + --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \ + --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \ + --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \ + --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \ + --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \ + --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \ + --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \ + --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \ + --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \ + --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \ + --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \ + --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \ + --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \ + --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \ + --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \ + --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \ + --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \ + --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \ + --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \ + --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \ + --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \ + --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \ + --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \ + --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \ + --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \ + --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \ + --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \ + --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \ + --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \ + --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \ + --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \ + --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \ + --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \ + --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \ + --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ + --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ + --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 # via # -c requirements.txt # pre-commit # responses -requests==2.32.4 +requests==2.32.4 \ + --hash=sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c \ + --hash=sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422 # via # -c requirements.txt # requests-mock # responses -requests-mock==1.12.1 +requests-mock==1.12.1 \ + --hash=sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563 \ + --hash=sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401 # via -r requirements-dev.in -responses==0.25.7 +responses==0.25.7 \ + --hash=sha256:8ebae11405d7a5df79ab6fd54277f6f2bc29b2d002d0dd2d5c632594d1ddcedb \ + --hash=sha256:92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c # via -r requirements-dev.in -ruff==0.10.0 +ruff==0.12.12 \ + --hash=sha256:01543c137fd3650d322922e8b14cc133b8ea734617c4891c5a9fccf4bfc9aa92 \ + --hash=sha256:0c0945246f5ad776cb8925e36af2438e66188d2b57d9cf2eed2c382c58b371e5 \ + --hash=sha256:173be2bfc142af07a01e3a759aba6f7791aa47acf3604f610b1c36db888df7b1 \ + --hash=sha256:26a1b5a2bf7dd2c47e3b46d077cd9c0fc3b93e6c6cc9ed750bd312ae9dc302ee \ + --hash=sha256:2a8199cab4ce4d72d158319b63370abf60991495fb733db96cd923a34c52d093 \ + --hash=sha256:2afc2fa864197634e549d87fb1e7b6feb01df0a80fd510d6489e1ce8c0b1cc45 \ + --hash=sha256:42a67d16e5b1ffc6d21c5f67851e0e769517fb57a8ebad1d0781b30888aa704e \ + --hash=sha256:59f909c0fdd8f1dcdbfed0b9569b8bf428cf144bec87d9de298dcd4723f5bee8 \ + --hash=sha256:5f12856123b0ad0147d90b3961f5c90e7427f9acd4b40050705499c98983f489 \ + --hash=sha256:7acd6045e87fac75a0b0cdedacf9ab3e1ad9d929d149785903cff9bb69ad9727 \ + --hash=sha256:968e77094b1d7a576992ac078557d1439df678a34c6fe02fd979f973af167577 \ + --hash=sha256:9ac93d87047e765336f0c18eacad51dad0c1c33c9df7484c40f98e1d773876f5 \ + --hash=sha256:a0fbafe8c58e37aae28b84a80ba1817f2ea552e9450156018a478bf1fa80f4e4 \ + --hash=sha256:abf4073688d7d6da16611f2f126be86523a8ec4343d15d276c614bda8ec44edb \ + --hash=sha256:b216ec0a0674e4b1214dcc998a5088e54eaf39417327b19ffefba1c4a1e4971e \ + --hash=sha256:b86cd3415dbe31b3b46a71c598f4c4b2f550346d1ccf6326b347cc0c8fd063d6 \ + --hash=sha256:b9c456fb2fc8e1282affa932c9e40f5ec31ec9cbb66751a316bd131273b57c23 \ + --hash=sha256:de1c4b916d98ab289818e55ce481e2cacfaad7710b01d1f990c497edf217dafc \ + --hash=sha256:e99620bf01884e5f38611934c09dd194eb665b0109104acae3ba6102b600fd0d # via -r requirements-dev.in -six==1.17.0 +six==1.17.0 \ + --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \ + --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81 # via # -c requirements.txt # python-dateutil -snapshottest==1.0.0a1 +syrupy==4.9.1 \ + --hash=sha256:b7d0fcadad80a7d2f6c4c71917918e8ebe2483e8c703dfc8d49cdbb01081f9a4 \ + --hash=sha256:b94cc12ed0e5e75b448255430af642516842a2374a46936dd2650cfb6dd20eda # via -r requirements-dev.in -stack-data==0.6.3 - # via ipython -termcolor==2.5.0 - # via snapshottest -traitlets==5.14.3 - # via - # ipython - # matplotlib-inline -urllib3==2.5.0 +urllib3==2.5.0 \ + --hash=sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760 \ + --hash=sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc # via # -c requirements.txt # requests # responses -virtualenv==20.29.3 +virtualenv==20.29.3 \ + --hash=sha256:3e3d00f5807e83b234dfb6122bf37cfadf4be216c53a49ac059d02414f819170 \ + --hash=sha256:95e39403fcf3940ac45bc717597dba16110b74506131845d9b687d5e73d947ac # via pre-commit -wasmer==1.1.0 - # via fastdiff -wasmer-compiler-cranelift==1.1.0 - # via fastdiff -wcwidth==0.2.13 - # via prompt-toolkit +wheel==0.45.1 \ + --hash=sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729 \ + --hash=sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248 + # via pip-tools + +# The following packages are considered to be unsafe in a requirements file: +pip==25.2 \ + --hash=sha256:578283f006390f85bb6282dffb876454593d637f5d1be494b5202ce4877e71f2 \ + --hash=sha256:6d67a2b4e7f14d8b31b8b52648866fa717f45a1eb70e83002f4331d07e953717 + # via pip-tools +setuptools==80.9.0 \ + --hash=sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 \ + --hash=sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c + # via pip-tools diff --git a/requirements-prod.in b/requirements-prod.in deleted file mode 100644 index d3229d88..00000000 --- a/requirements-prod.in +++ /dev/null @@ -1,3 +0,0 @@ --c requirements.txt -uwsgi -uwsgitop diff --git a/requirements-prod.txt b/requirements-prod.txt deleted file mode 100644 index 8ab80459..00000000 --- a/requirements-prod.txt +++ /dev/null @@ -1,10 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.12 -# by the following command: -# -# pip-compile requirements-prod.in -# -uwsgi==2.0.28 - # via -r requirements-prod.in -uwsgitop==0.12 - # via -r requirements-prod.in diff --git a/requirements.in b/requirements.in index fd24c98d..618c6d9b 100644 --- a/requirements.in +++ b/requirements.in @@ -21,9 +21,12 @@ graphene-django graphene-file-upload helsinki-profile-gdpr-api importlib_metadata -psycopg2-binary +ipython +psycopg2 requests sentry-sdk social-auth-app-django urllib3 -django-auditlog-extra@git+https://github.com/City-of-Helsinki/django-auditlog-extra.git@bff5fa3921d6821bebdd6be6c9fd20db39d32d54#egg=django-auditlog-extra +django-auditlog-extra@https://github.com/City-of-Helsinki/django-auditlog-extra/archive/bff5fa3921d6821bebdd6be6c9fd20db39d32d54.zip +uwsgi +uwsgitop diff --git a/requirements.txt b/requirements.txt index 43df4a62..7f3d6b8f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,42 +2,260 @@ # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile requirements.in +# pip-compile --allow-unsafe --generate-hashes --strip-extras requirements.in # -asgiref==3.8.1 +asgiref==3.8.1 \ + --hash=sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47 \ + --hash=sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590 # via # django # django-axes # django-cors-headers -attrs==25.3.0 +asttokens==3.0.0 \ + --hash=sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7 \ + --hash=sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2 + # via stack-data +attrs==25.3.0 \ + --hash=sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3 \ + --hash=sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b # via # jsonschema # referencing -authlib==1.5.1 +authlib==1.5.1 \ + --hash=sha256:5cbc85ecb0667312c1cdc2f9095680bb735883b123fb509fde1e65b1c5df972e \ + --hash=sha256:8408861cbd9b4ea2ff759b00b6f02fd7d81ac5a56d0b2b22c08606c6049aae11 # via drf-oidc-auth -cachetools==5.5.2 +cachetools==5.5.2 \ + --hash=sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4 \ + --hash=sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a # via django-helusers -certifi==2025.1.31 +certifi==2025.1.31 \ + --hash=sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651 \ + --hash=sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe # via # -r requirements.in # requests # sentry-sdk -cffi==1.17.1 +cffi==1.17.1 \ + --hash=sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8 \ + --hash=sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2 \ + --hash=sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1 \ + --hash=sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15 \ + --hash=sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36 \ + --hash=sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824 \ + --hash=sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8 \ + --hash=sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36 \ + --hash=sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17 \ + --hash=sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf \ + --hash=sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc \ + --hash=sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3 \ + --hash=sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed \ + --hash=sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702 \ + --hash=sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1 \ + --hash=sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8 \ + --hash=sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903 \ + --hash=sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6 \ + --hash=sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d \ + --hash=sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b \ + --hash=sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e \ + --hash=sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be \ + --hash=sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c \ + --hash=sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683 \ + --hash=sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9 \ + --hash=sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c \ + --hash=sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8 \ + --hash=sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1 \ + --hash=sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4 \ + --hash=sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655 \ + --hash=sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67 \ + --hash=sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595 \ + --hash=sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0 \ + --hash=sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65 \ + --hash=sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41 \ + --hash=sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6 \ + --hash=sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401 \ + --hash=sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6 \ + --hash=sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3 \ + --hash=sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16 \ + --hash=sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93 \ + --hash=sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e \ + --hash=sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4 \ + --hash=sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964 \ + --hash=sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c \ + --hash=sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576 \ + --hash=sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0 \ + --hash=sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3 \ + --hash=sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662 \ + --hash=sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3 \ + --hash=sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff \ + --hash=sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5 \ + --hash=sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd \ + --hash=sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f \ + --hash=sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5 \ + --hash=sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14 \ + --hash=sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d \ + --hash=sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9 \ + --hash=sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7 \ + --hash=sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382 \ + --hash=sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a \ + --hash=sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e \ + --hash=sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a \ + --hash=sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4 \ + --hash=sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99 \ + --hash=sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87 \ + --hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b # via cryptography -charset-normalizer==3.4.1 +charset-normalizer==3.4.1 \ + --hash=sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537 \ + --hash=sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa \ + --hash=sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a \ + --hash=sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294 \ + --hash=sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b \ + --hash=sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd \ + --hash=sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601 \ + --hash=sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd \ + --hash=sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4 \ + --hash=sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d \ + --hash=sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2 \ + --hash=sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313 \ + --hash=sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd \ + --hash=sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa \ + --hash=sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8 \ + --hash=sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1 \ + --hash=sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2 \ + --hash=sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496 \ + --hash=sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d \ + --hash=sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b \ + --hash=sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e \ + --hash=sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a \ + --hash=sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4 \ + --hash=sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca \ + --hash=sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78 \ + --hash=sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408 \ + --hash=sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5 \ + --hash=sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3 \ + --hash=sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f \ + --hash=sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a \ + --hash=sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765 \ + --hash=sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6 \ + --hash=sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146 \ + --hash=sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6 \ + --hash=sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9 \ + --hash=sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd \ + --hash=sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c \ + --hash=sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f \ + --hash=sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545 \ + --hash=sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176 \ + --hash=sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770 \ + --hash=sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824 \ + --hash=sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f \ + --hash=sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf \ + --hash=sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487 \ + --hash=sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d \ + --hash=sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd \ + --hash=sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b \ + --hash=sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534 \ + --hash=sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f \ + --hash=sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b \ + --hash=sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9 \ + --hash=sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd \ + --hash=sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125 \ + --hash=sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9 \ + --hash=sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de \ + --hash=sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11 \ + --hash=sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d \ + --hash=sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35 \ + --hash=sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f \ + --hash=sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda \ + --hash=sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7 \ + --hash=sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a \ + --hash=sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971 \ + --hash=sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8 \ + --hash=sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41 \ + --hash=sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d \ + --hash=sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f \ + --hash=sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757 \ + --hash=sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a \ + --hash=sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886 \ + --hash=sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77 \ + --hash=sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76 \ + --hash=sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247 \ + --hash=sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85 \ + --hash=sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb \ + --hash=sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7 \ + --hash=sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e \ + --hash=sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6 \ + --hash=sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037 \ + --hash=sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1 \ + --hash=sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e \ + --hash=sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807 \ + --hash=sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407 \ + --hash=sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c \ + --hash=sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12 \ + --hash=sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3 \ + --hash=sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089 \ + --hash=sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd \ + --hash=sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e \ + --hash=sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00 \ + --hash=sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616 # via requests -cryptography==44.0.2 +cryptography==44.0.2 \ + --hash=sha256:04abd71114848aa25edb28e225ab5f268096f44cf0127f3d36975bdf1bdf3390 \ + --hash=sha256:0529b1d5a0105dd3731fa65680b45ce49da4d8115ea76e9da77a875396727b41 \ + --hash=sha256:1bc312dfb7a6e5d66082c87c34c8a62176e684b6fe3d90fcfe1568de675e6688 \ + --hash=sha256:268e4e9b177c76d569e8a145a6939eca9a5fec658c932348598818acf31ae9a5 \ + --hash=sha256:29ecec49f3ba3f3849362854b7253a9f59799e3763b0c9d0826259a88efa02f1 \ + --hash=sha256:2bf7bf75f7df9715f810d1b038870309342bff3069c5bd8c6b96128cb158668d \ + --hash=sha256:3b721b8b4d948b218c88cb8c45a01793483821e709afe5f622861fc6182b20a7 \ + --hash=sha256:3c00b6b757b32ce0f62c574b78b939afab9eecaf597c4d624caca4f9e71e7843 \ + --hash=sha256:3dc62975e31617badc19a906481deacdeb80b4bb454394b4098e3f2525a488c5 \ + --hash=sha256:4973da6ca3db4405c54cd0b26d328be54c7747e89e284fcff166132eb7bccc9c \ + --hash=sha256:4e389622b6927d8133f314949a9812972711a111d577a5d1f4bee5e58736b80a \ + --hash=sha256:51e4de3af4ec3899d6d178a8c005226491c27c4ba84101bfb59c901e10ca9f79 \ + --hash=sha256:5f6f90b72d8ccadb9c6e311c775c8305381db88374c65fa1a68250aa8a9cb3a6 \ + --hash=sha256:6210c05941994290f3f7f175a4a57dbbb2afd9273657614c506d5976db061181 \ + --hash=sha256:6f101b1f780f7fc613d040ca4bdf835c6ef3b00e9bd7125a4255ec574c7916e4 \ + --hash=sha256:7bdcd82189759aba3816d1f729ce42ffded1ac304c151d0a8e89b9996ab863d5 \ + --hash=sha256:7ca25849404be2f8e4b3c59483d9d3c51298a22c1c61a0e84415104dacaf5562 \ + --hash=sha256:81276f0ea79a208d961c433a947029e1a15948966658cf6710bbabb60fcc2639 \ + --hash=sha256:8cadc6e3b5a1f144a039ea08a0bdb03a2a92e19c46be3285123d32029f40a922 \ + --hash=sha256:8e0ddd63e6bf1161800592c71ac794d3fb8001f2caebe0966e77c5234fa9efc3 \ + --hash=sha256:909c97ab43a9c0c0b0ada7a1281430e4e5ec0458e6d9244c0e821bbf152f061d \ + --hash=sha256:96e7a5e9d6e71f9f4fca8eebfd603f8e86c5225bb18eb621b2c1e50b290a9471 \ + --hash=sha256:9a1e657c0f4ea2a23304ee3f964db058c9e9e635cc7019c4aa21c330755ef6fd \ + --hash=sha256:9eb9d22b0a5d8fd9925a7764a054dca914000607dff201a24c791ff5c799e1fa \ + --hash=sha256:af4ff3e388f2fa7bff9f7f2b31b87d5651c45731d3e8cfa0944be43dff5cfbdb \ + --hash=sha256:b042d2a275c8cee83a4b7ae30c45a15e6a4baa65a179a0ec2d78ebb90e4f6699 \ + --hash=sha256:bc821e161ae88bfe8088d11bb39caf2916562e0a2dc7b6d56714a48b784ef0bb \ + --hash=sha256:c505d61b6176aaf982c5717ce04e87da5abc9a36a5b39ac03905c4aafe8de7aa \ + --hash=sha256:c63454aa261a0cf0c5b4718349629793e9e634993538db841165b3df74f37ec0 \ + --hash=sha256:c7362add18b416b69d58c910caa217f980c5ef39b23a38a0880dfd87bdf8cd23 \ + --hash=sha256:d03806036b4f89e3b13b6218fefea8d5312e450935b1a2d55f0524e2ed7c59d9 \ + --hash=sha256:d1b3031093a366ac767b3feb8bcddb596671b3aaff82d4050f984da0c248b615 \ + --hash=sha256:d1c3572526997b36f245a96a2b1713bf79ce99b271bbcf084beb6b9b075f29ea \ + --hash=sha256:efcfe97d1b3c79e486554efddeb8f6f53a4cdd4cf6086642784fa31fc384e1d7 \ + --hash=sha256:f514ef4cd14bb6fb484b4a60203e912cfcb64f2ab139e88c2274511514bf7308 # via # authlib # drf-oidc-auth # social-auth-core -defusedxml==0.7.1 +decorator==5.2.1 \ + --hash=sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360 \ + --hash=sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a + # via ipython +defusedxml==0.7.1 \ + --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \ + --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61 # via # python3-openid # social-auth-core -deprecation==2.1.0 +deprecation==2.1.0 \ + --hash=sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff \ + --hash=sha256:a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a # via django-helusers -django==4.2.24 +django==4.2.24 \ + --hash=sha256:40cd7d3f53bc6cd1902eadce23c337e97200888df41e4a73b42d682f23e71d80 \ + --hash=sha256:a6527112c58821a0dfc5ab73013f0bdd906539790a17196658e36e66af43c350 # via # -r requirements.in # django-anymail @@ -59,137 +277,401 @@ django==4.2.24 # graphene-django # helsinki-profile-gdpr-api # social-auth-app-django -django-admin-list-filter-dropdown==1.0.3 +django-admin-list-filter-dropdown==1.0.3 \ + --hash=sha256:07cd37b6a9be1b08f11d4a92957c69b67bc70b1f87a2a7d4ae886c93ea51eb53 \ + --hash=sha256:bf1b48bab9772dad79db71efef17e78782d4f2421444d5e49bb10e0da71cd6bb # via -r requirements.in -django-anymail==12.0 +django-anymail==12.0 \ + --hash=sha256:65789c1b0f42915aa0450a4f173f77572d4c552979b748ddd8125af41972ad30 \ + --hash=sha256:de8458d713d0f9776da9ed04dcd3a0161be23e9ecbcb49dcf149219700ecd274 # via django-ilmoitin -django-auditlog==3.0.0 +django-auditlog==3.0.0 \ + --hash=sha256:92db1cf4a51ceca5c26b3ff46997d9e3305a02da1bd435e2efb5b8b6d300ce1f \ + --hash=sha256:9de49f80a4911135d136017123cd73461f869b4947eec14d5e76db4b88182f3f # via # -r requirements.in # django-auditlog-extra -django-auditlog-extra @ git+https://github.com/City-of-Helsinki/django-auditlog-extra.git@bff5fa3921d6821bebdd6be6c9fd20db39d32d54 +django-auditlog-extra @ https://github.com/City-of-Helsinki/django-auditlog-extra/archive/bff5fa3921d6821bebdd6be6c9fd20db39d32d54.zip \ + --hash=sha256:34bfceb4392595daa3bbe52601d990e92c8320822d3a894e524660c24d71552d # via -r requirements.in -django-axes==7.0.2 +django-axes==7.0.2 \ + --hash=sha256:893dacce259d39e8cbcff655c61a008b3b827797c2f733f64fd9baf6bc7256e9 \ + --hash=sha256:a96bd6cdca9fbcbd250cf5ce1d92bfc72f2ce64b928804d9802d30a090406c59 # via -r requirements.in -django-cors-headers==4.7.0 +django-cors-headers==4.7.0 \ + --hash=sha256:6fdf31bf9c6d6448ba09ef57157db2268d515d94fc5c89a0a1028e1fc03ee52b \ + --hash=sha256:f1c125dcd58479fe7a67fe2499c16ee38b81b397463cf025f0e2c42937421070 # via -r requirements.in -django-csp==3.8 +django-csp==3.8 \ + --hash=sha256:19b2978b03fcd73517d7d67acbc04fbbcaec0facc3e83baa502965892d1e0719 \ + --hash=sha256:ef0f1a9f7d8da68ae6e169c02e9ac661c0ecf04db70e0d1d85640512a68471c0 # via -r requirements.in -django-environ==0.12.0 +django-environ==0.12.0 \ + --hash=sha256:227dc891453dd5bde769c3449cf4a74b6f2ee8f7ab2361c93a07068f4179041a \ + --hash=sha256:92fb346a158abda07ffe6eb23135ce92843af06ecf8753f43adf9d2366dcc0ca # via -r requirements.in -django-filter==25.1 +django-filter==25.1 \ + --hash=sha256:1ec9eef48fa8da1c0ac9b411744b16c3f4c31176c867886e4c48da369c407153 \ + --hash=sha256:4fa48677cf5857b9b1347fed23e355ea792464e0fe07244d1fdfb8a806215b80 # via -r requirements.in -django-graphql-jwt==0.4.0 +django-graphql-jwt==0.4.0 \ + --hash=sha256:537972519f0deeec7a0e4a306ddfed1fe385266ef61c9f78c54cd04ac01a171e \ + --hash=sha256:5823aa8ac9bf0b7a6e3b2febd029598b332c41fe9043d89900c116fcecd23f5e # via -r requirements.in -django-health-check==3.18.3 +django-health-check==3.18.3 \ + --hash=sha256:18b75daca4551c69a43f804f9e41e23f5f5fb9efd06cf6a313b3d5031bb87bd0 \ + --hash=sha256:f5f58762b80bdf7b12fad724761993d6e83540f97e2c95c42978f187e452fa07 # via -r requirements.in -django-helusers==0.13.3 +django-helusers==0.13.3 \ + --hash=sha256:26b396edcfd247886171e185fe5f56a1d9ae2937edfa342f1cf2977371cb4974 \ + --hash=sha256:2b5e29f1440eabb380c1e9484953d91f159003f79fd5b4bf4f2df9061eb79b53 # via # -r requirements.in # helsinki-profile-gdpr-api -django-ilmoitin==0.7.1 +django-ilmoitin==0.7.1 \ + --hash=sha256:02931abd50d857ac30195e8ece533b19a0c9e5d6912d86f04044030917f5fa54 \ + --hash=sha256:8c0ced97271a1233027da6267cab67490ade4ef78026d24e6365dbf5c3f413ef # via -r requirements.in -django-mailer==2.3.2 +django-mailer==2.3.2 \ + --hash=sha256:6ea0cbec09f57eb91376780a5f20ab7a834b942435a575e92e8e021f7838d78f \ + --hash=sha256:c7ef5ad63d5484246908bd1ce583c22837c66c1a7b593c9b816f4ead2421c995 # via django-ilmoitin -django-parler==2.3 +django-parler==2.3 \ + --hash=sha256:2c8f5012ceb5e49af93b16ea3fe4d0c83d70b91b2d0f470c05d7d742b6f3083d \ + --hash=sha256:8f6c8061e4b5690f1ee2d8e5760940ef06bf78a5bfa033d11178377559c749cf # via # -r requirements.in # django-ilmoitin -django-utils-six==2.0 +django-utils-six==2.0 \ + --hash=sha256:4ef9d20de679a5b2448429476452493661fe08f23d6e788a8e9816ec05e3c5b0 \ + --hash=sha256:8f0e77289d911069a6a15bab5a25ccf2c0fcb8fc4177461dd17470cfdeb94aa6 # via -r requirements.in -djangorestframework==3.15.2 +djangorestframework==3.15.2 \ + --hash=sha256:2b8871b062ba1aefc2de01f773875441a961fefbf79f5eed1e32b2f096944b20 \ + --hash=sha256:36fe88cd2d6c6bec23dca9804bab2ba5517a8bb9d8f47ebc68981b56840107ad # via # drf-oidc-auth # drf-spectacular # helsinki-profile-gdpr-api -drf-oidc-auth==3.0.0 +drf-oidc-auth==3.0.0 \ + --hash=sha256:243b44ffaf9bbb4a26445370616ab6b666a541479649e6bd3319ede502ea723b \ + --hash=sha256:9b3ee051e86709f2bb8bb9a7e9bb975b7d9a1cf2c55cadcdd5b6889454f99075 # via # -r requirements.in # helsinki-profile-gdpr-api -drf-spectacular==0.28.0 +drf-spectacular==0.28.0 \ + --hash=sha256:2c778a47a40ab2f5078a7c42e82baba07397bb35b074ae4680721b2805943061 \ + --hash=sha256:856e7edf1056e49a4245e87a61e8da4baff46c83dbc25be1da2df77f354c7cb4 # via -r requirements.in -ecdsa==0.19.1 +ecdsa==0.19.1 \ + --hash=sha256:30638e27cf77b7e15c4c4cc1973720149e1033827cfd00661ca5c8cc0cdb24c3 \ + --hash=sha256:478cba7b62555866fcb3bb3fe985e06decbdb68ef55713c4e5ab98c57d508e61 # via python-jose -factory-boy==3.3.3 +executing==2.2.1 \ + --hash=sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4 \ + --hash=sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017 + # via stack-data +factory-boy==3.3.3 \ + --hash=sha256:1c39e3289f7e667c4285433f305f8d506efc2fe9c73aaea4151ebd5cdea394fc \ + --hash=sha256:866862d226128dfac7f2b4160287e899daf54f2612778327dd03d0e2cb1e3d03 # via -r requirements.in -faker==37.0.2 +faker==37.0.2 \ + --hash=sha256:8955706c56c28099585e9e2b6f814eb0a3a227eb36a2ee3eb9ab577c4764eacc \ + --hash=sha256:948bd27706478d3aa0b6f9f58b9f25207098f6ca79852c7b49c44a8ced2bc59b # via factory-boy -geographiclib==2.0 +geographiclib==2.0 \ + --hash=sha256:6b7225248e45ff7edcee32becc4e0a1504c606ac5ee163a5656d482e0cd38734 \ + --hash=sha256:f7f41c85dc3e1c2d3d935ec86660dc3b2c848c83e17f9a9e51ba9d5146a15859 # via geopy -geopy==2.4.1 +geopy==2.4.1 \ + --hash=sha256:50283d8e7ad07d89be5cb027338c6365a32044df3ae2556ad3f52f4840b3d0d1 \ + --hash=sha256:ae8b4bc5c1131820f4d75fce9d4aaaca0c85189b3aa5d64c3dcaf5e3b7b882a7 # via -r requirements.in -graphene==3.4.3 +graphene==3.4.3 \ + --hash=sha256:2a3786948ce75fe7e078443d37f609cbe5bb36ad8d6b828740ad3b95ed1a0aaa \ + --hash=sha256:820db6289754c181007a150db1f7fff544b94142b556d12e3ebc777a7bf36c71 # via # django-graphql-jwt # graphene-django -graphene-django==3.2.3 +graphene-django==3.2.3 \ + --hash=sha256:0c673a4dad315b26b4d18eb379ad0c7027fd6a36d23a1848b7c7c09a14a9271e \ + --hash=sha256:d831bfe8e9a6e77e477b7854faef4addb318f386119a69ee4c57b74560f3e07d # via # -r requirements.in # django-graphql-jwt -graphene-file-upload==1.3.0 +graphene-file-upload==1.3.0 \ + --hash=sha256:5afe50f409f50e3d198fd92c883d98d868e6c6aaadf5df3a3f4d88ecad90ed97 \ + --hash=sha256:6898480b0556826472c80971032917c01968ade5800d84054008fe598795b063 # via -r requirements.in -graphql-core==3.2.6 +graphql-core==3.2.6 \ + --hash=sha256:78b016718c161a6fb20a7d97bbf107f331cd1afe53e45566c59f776ed7f0b45f \ + --hash=sha256:c08eec22f9e40f0bd61d805907e3b3b1b9a320bc606e23dc145eebca07c8fbab # via # graphene # graphene-django # graphql-relay -graphql-relay==3.2.0 +graphql-relay==3.2.0 \ + --hash=sha256:1ff1c51298356e481a0be009ccdff249832ce53f30559c1338f22a0e0d17250c \ + --hash=sha256:c9b22bd28b170ba1fe674c74384a8ff30a76c8e26f88ac3aa1584dd3179953e5 # via # graphene # graphene-django -helsinki-profile-gdpr-api==0.2.0 +helsinki-profile-gdpr-api==0.2.0 \ + --hash=sha256:2816eedbeafd0adcd96822f8533227f42d3051ccb48266f7480a0d34903f3496 \ + --hash=sha256:856e219fc98ea43b7704e10f05dea4cbbe78a968b6570952657621fbc88ee1af # via -r requirements.in -idna==3.10 +idna==3.10 \ + --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \ + --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 # via requests -importlib-metadata==8.6.1 +importlib-metadata==8.6.1 \ + --hash=sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e \ + --hash=sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580 # via -r requirements.in -inflection==0.5.1 +inflection==0.5.1 \ + --hash=sha256:1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417 \ + --hash=sha256:f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2 # via drf-spectacular -jinja2==3.1.6 +ipython==9.5.0 \ + --hash=sha256:129c44b941fe6d9b82d36fc7a7c18127ddb1d6f02f78f867f402e2e3adde3113 \ + --hash=sha256:88369ffa1d5817d609120daa523a6da06d02518e582347c29f8451732a9c5e72 + # via -r requirements.in +ipython-pygments-lexers==1.1.1 \ + --hash=sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81 \ + --hash=sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c + # via ipython +jedi==0.19.2 \ + --hash=sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0 \ + --hash=sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9 + # via ipython +jinja2==3.1.6 \ + --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \ + --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 # via django-ilmoitin -jsonschema==4.23.0 +jsonschema==4.23.0 \ + --hash=sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4 \ + --hash=sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566 # via drf-spectacular -jsonschema-specifications==2025.4.1 +jsonschema-specifications==2025.4.1 \ + --hash=sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af \ + --hash=sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608 # via jsonschema -lockfile==0.12.2 +lockfile==0.12.2 \ + --hash=sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799 \ + --hash=sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa # via django-mailer -markupsafe==3.0.2 +markupsafe==3.0.2 \ + --hash=sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4 \ + --hash=sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30 \ + --hash=sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0 \ + --hash=sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9 \ + --hash=sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396 \ + --hash=sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13 \ + --hash=sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028 \ + --hash=sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca \ + --hash=sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557 \ + --hash=sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832 \ + --hash=sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0 \ + --hash=sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b \ + --hash=sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579 \ + --hash=sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a \ + --hash=sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c \ + --hash=sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff \ + --hash=sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c \ + --hash=sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22 \ + --hash=sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094 \ + --hash=sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb \ + --hash=sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e \ + --hash=sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5 \ + --hash=sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a \ + --hash=sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d \ + --hash=sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a \ + --hash=sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b \ + --hash=sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8 \ + --hash=sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 \ + --hash=sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c \ + --hash=sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144 \ + --hash=sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f \ + --hash=sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87 \ + --hash=sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d \ + --hash=sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93 \ + --hash=sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf \ + --hash=sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158 \ + --hash=sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84 \ + --hash=sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb \ + --hash=sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48 \ + --hash=sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171 \ + --hash=sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c \ + --hash=sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6 \ + --hash=sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd \ + --hash=sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d \ + --hash=sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1 \ + --hash=sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d \ + --hash=sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca \ + --hash=sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a \ + --hash=sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29 \ + --hash=sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe \ + --hash=sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798 \ + --hash=sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c \ + --hash=sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8 \ + --hash=sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f \ + --hash=sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f \ + --hash=sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a \ + --hash=sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178 \ + --hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 \ + --hash=sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79 \ + --hash=sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430 \ + --hash=sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50 # via jinja2 -oauthlib==3.2.2 +matplotlib-inline==0.1.7 \ + --hash=sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90 \ + --hash=sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca + # via ipython +oauthlib==3.2.2 \ + --hash=sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca \ + --hash=sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918 # via # requests-oauthlib # social-auth-core -packaging==24.2 +packaging==24.2 \ + --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \ + --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f # via deprecation -promise==2.3 +parso==0.8.5 \ + --hash=sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a \ + --hash=sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887 + # via jedi +pexpect==4.9.0 \ + --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 \ + --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f + # via ipython +promise==2.3 \ + --hash=sha256:dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0 # via graphene-django -psycopg2-binary==2.9.10 +prompt-toolkit==3.0.52 \ + --hash=sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855 \ + --hash=sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955 + # via ipython +psycopg2==2.9.10 \ + --hash=sha256:0435034157049f6846e95103bd8f5a668788dd913a7c30162ca9503fdf542cb4 \ + --hash=sha256:12ec0b40b0273f95296233e8750441339298e6a572f7039da5b260e3c8b60e11 \ + --hash=sha256:47c4f9875125344f4c2b870e41b6aad585901318068acd01de93f3677a6522c2 \ + --hash=sha256:4a579d6243da40a7b3182e0430493dbd55950c493d8c68f4eec0b302f6bbf20e \ + --hash=sha256:5df2b672140f95adb453af93a7d669d7a7bf0a56bcd26f1502329166f4a61716 \ + --hash=sha256:65a63d7ab0e067e2cdb3cf266de39663203d38d6a8ed97f5ca0cb315c73fe067 \ + --hash=sha256:88138c8dedcbfa96408023ea2b0c369eda40fe5d75002c0964c78f46f11fa442 \ + --hash=sha256:91fd603a2155da8d0cfcdbf8ab24a2d54bca72795b90d2a3ed2b6da8d979dee2 \ + --hash=sha256:9d5b3b94b79a844a986d029eee38998232451119ad653aea42bb9220a8c5066b \ + --hash=sha256:c6f7b8561225f9e711a9c47087388a97fdc948211c10a4bccbf0ba68ab7b3b5a # via -r requirements.in -pyasn1==0.4.8 +ptyprocess==0.7.0 \ + --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ + --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 + # via pexpect +pure-eval==0.2.3 \ + --hash=sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 \ + --hash=sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42 + # via stack-data +pyasn1==0.4.8 \ + --hash=sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d \ + --hash=sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba # via # python-jose # rsa -pycparser==2.22 +pycparser==2.22 \ + --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ + --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc # via cffi -pyjwt==2.10.1 +pygments==2.19.2 \ + --hash=sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887 \ + --hash=sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b + # via + # ipython + # ipython-pygments-lexers +pyjwt==2.10.1 \ + --hash=sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953 \ + --hash=sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb # via # django-graphql-jwt # social-auth-core -python-dateutil==2.9.0.post0 +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 # via # django-auditlog # graphene -python-jose==3.4.0 +python-jose==3.4.0 \ + --hash=sha256:9a9a40f418ced8ecaf7e3b28d69887ceaa76adad3bcaa6dae0d9e596fec1d680 \ + --hash=sha256:9c9f616819652d109bd889ecd1e15e9a162b9b94d682534c9c2146092945b78f # via django-helusers -python3-openid==3.2.0 +python3-openid==3.2.0 \ + --hash=sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf \ + --hash=sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b # via social-auth-core -pyyaml==6.0.2 +pyyaml==6.0.2 \ + --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ + --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ + --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \ + --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \ + --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \ + --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \ + --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \ + --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \ + --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \ + --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \ + --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \ + --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \ + --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \ + --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \ + --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \ + --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \ + --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \ + --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \ + --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \ + --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \ + --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \ + --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \ + --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \ + --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \ + --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \ + --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \ + --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \ + --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \ + --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \ + --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \ + --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \ + --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \ + --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \ + --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \ + --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \ + --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \ + --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \ + --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \ + --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \ + --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \ + --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \ + --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \ + --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \ + --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \ + --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \ + --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \ + --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \ + --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \ + --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \ + --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \ + --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ + --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ + --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 # via drf-spectacular -referencing==0.36.2 +referencing==0.36.2 \ + --hash=sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa \ + --hash=sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0 # via # jsonschema # jsonschema-specifications -requests==2.32.4 +requests==2.32.4 \ + --hash=sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c \ + --hash=sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422 # via # -r requirements.in # django-anymail @@ -197,43 +679,203 @@ requests==2.32.4 # drf-oidc-auth # requests-oauthlib # social-auth-core -requests-oauthlib==2.0.0 +requests-oauthlib==2.0.0 \ + --hash=sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36 \ + --hash=sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9 # via social-auth-core -rpds-py==0.24.0 +rpds-py==0.24.0 \ + --hash=sha256:0047638c3aa0dbcd0ab99ed1e549bbf0e142c9ecc173b6492868432d8989a046 \ + --hash=sha256:006f4342fe729a368c6df36578d7a348c7c716be1da0a1a0f86e3021f8e98724 \ + --hash=sha256:041f00419e1da7a03c46042453598479f45be3d787eb837af382bfc169c0db33 \ + --hash=sha256:04ecf5c1ff4d589987b4d9882872f80ba13da7d42427234fce8f22efb43133bc \ + --hash=sha256:04f2b712a2206e13800a8136b07aaedc23af3facab84918e7aa89e4be0260032 \ + --hash=sha256:0aeb3329c1721c43c58cae274d7d2ca85c1690d89485d9c63a006cb79a85771a \ + --hash=sha256:0e374c0ce0ca82e5b67cd61fb964077d40ec177dd2c4eda67dba130de09085c7 \ + --hash=sha256:0f00c16e089282ad68a3820fd0c831c35d3194b7cdc31d6e469511d9bffc535c \ + --hash=sha256:174e46569968ddbbeb8a806d9922f17cd2b524aa753b468f35b97ff9c19cb718 \ + --hash=sha256:1b221c2457d92a1fb3c97bee9095c874144d196f47c038462ae6e4a14436f7bc \ + --hash=sha256:208b3a70a98cf3710e97cabdc308a51cd4f28aa6e7bb11de3d56cd8b74bab98d \ + --hash=sha256:20f2712bd1cc26a3cc16c5a1bfee9ed1abc33d4cdf1aabd297fe0eb724df4272 \ + --hash=sha256:24795c099453e3721fda5d8ddd45f5dfcc8e5a547ce7b8e9da06fecc3832e26f \ + --hash=sha256:2a0f156e9509cee987283abd2296ec816225145a13ed0391df8f71bf1d789e2d \ + --hash=sha256:2b2356688e5d958c4d5cb964af865bea84db29971d3e563fb78e46e20fe1848b \ + --hash=sha256:2c13777ecdbbba2077670285dd1fe50828c8742f6a4119dbef6f83ea13ad10fb \ + --hash=sha256:2d3ee4615df36ab8eb16c2507b11e764dcc11fd350bbf4da16d09cda11fcedef \ + --hash=sha256:2d53747da70a4e4b17f559569d5f9506420966083a31c5fbd84e764461c4444b \ + --hash=sha256:32bab0a56eac685828e00cc2f5d1200c548f8bc11f2e44abf311d6b548ce2e45 \ + --hash=sha256:34d90ad8c045df9a4259c47d2e16a3f21fdb396665c94520dbfe8766e62187a4 \ + --hash=sha256:369d9c6d4c714e36d4a03957b4783217a3ccd1e222cdd67d464a3a479fc17796 \ + --hash=sha256:3a55fc10fdcbf1a4bd3c018eea422c52cf08700cf99c28b5cb10fe97ab77a0d3 \ + --hash=sha256:3d2d8e4508e15fc05b31285c4b00ddf2e0eb94259c2dc896771966a163122a0c \ + --hash=sha256:3fab5f4a2c64a8fb64fc13b3d139848817a64d467dd6ed60dcdd6b479e7febc9 \ + --hash=sha256:43dba99f00f1d37b2a0265a259592d05fcc8e7c19d140fe51c6e6f16faabeb1f \ + --hash=sha256:44d51febb7a114293ffd56c6cf4736cb31cd68c0fddd6aa303ed09ea5a48e029 \ + --hash=sha256:493fe54318bed7d124ce272fc36adbf59d46729659b2c792e87c3b95649cdee9 \ + --hash=sha256:4b28e5122829181de1898c2c97f81c0b3246d49f585f22743a1246420bb8d399 \ + --hash=sha256:4cd031e63bc5f05bdcda120646a0d32f6d729486d0067f09d79c8db5368f4586 \ + --hash=sha256:528927e63a70b4d5f3f5ccc1fa988a35456eb5d15f804d276709c33fc2f19bda \ + --hash=sha256:564c96b6076a98215af52f55efa90d8419cc2ef45d99e314fddefe816bc24f91 \ + --hash=sha256:5db385bacd0c43f24be92b60c857cf760b7f10d8234f4bd4be67b5b20a7c0b6b \ + --hash=sha256:5ef877fa3bbfb40b388a5ae1cb00636a624690dcb9a29a65267054c9ea86d88a \ + --hash=sha256:5f6e3cec44ba05ee5cbdebe92d052f69b63ae792e7d05f1020ac5e964394080c \ + --hash=sha256:5fc13b44de6419d1e7a7e592a4885b323fbc2f46e1f22151e3a8ed3b8b920405 \ + --hash=sha256:60748789e028d2a46fc1c70750454f83c6bdd0d05db50f5ae83e2db500b34da5 \ + --hash=sha256:60d9b630c8025b9458a9d114e3af579a2c54bd32df601c4581bd054e85258143 \ + --hash=sha256:619ca56a5468f933d940e1bf431c6f4e13bef8e688698b067ae68eb4f9b30e3a \ + --hash=sha256:630d3d8ea77eabd6cbcd2ea712e1c5cecb5b558d39547ac988351195db433f6c \ + --hash=sha256:63981feca3f110ed132fd217bf7768ee8ed738a55549883628ee3da75bb9cb78 \ + --hash=sha256:66420986c9afff67ef0c5d1e4cdc2d0e5262f53ad11e4f90e5e22448df485bf0 \ + --hash=sha256:675269d407a257b8c00a6b58205b72eec8231656506c56fd429d924ca00bb350 \ + --hash=sha256:6a4a535013aeeef13c5532f802708cecae8d66c282babb5cd916379b72110cf7 \ + --hash=sha256:6a727fd083009bc83eb83d6950f0c32b3c94c8b80a9b667c87f4bd1274ca30ba \ + --hash=sha256:6e1daf5bf6c2be39654beae83ee6b9a12347cb5aced9a29eecf12a2d25fff664 \ + --hash=sha256:6eea559077d29486c68218178ea946263b87f1c41ae7f996b1f30a983c476a5a \ + --hash=sha256:75a810b7664c17f24bf2ffd7f92416c00ec84b49bb68e6a0d93e542406336b56 \ + --hash=sha256:772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e \ + --hash=sha256:78884d155fd15d9f64f5d6124b486f3d3f7fd7cd71a78e9670a0f6f6ca06fb2d \ + --hash=sha256:79e8d804c2ccd618417e96720ad5cd076a86fa3f8cb310ea386a3e6229bae7d1 \ + --hash=sha256:7e80d375134ddb04231a53800503752093dbb65dad8dabacce2c84cccc78e964 \ + --hash=sha256:8097b3422d020ff1c44effc40ae58e67d93e60d540a65649d2cdaf9466030791 \ + --hash=sha256:8205ee14463248d3349131bb8099efe15cd3ce83b8ef3ace63c7e976998e7124 \ + --hash=sha256:8212ff58ac6dfde49946bea57474a386cca3f7706fc72c25b772b9ca4af6b79e \ + --hash=sha256:823e74ab6fbaa028ec89615ff6acb409e90ff45580c45920d4dfdddb069f2120 \ + --hash=sha256:84e0566f15cf4d769dade9b366b7b87c959be472c92dffb70462dd0844d7cbad \ + --hash=sha256:896c41007931217a343eff197c34513c154267636c8056fb409eafd494c3dcdc \ + --hash=sha256:8aa362811ccdc1f8dadcc916c6d47e554169ab79559319ae9fae7d7752d0d60c \ + --hash=sha256:8b3b397eefecec8e8e39fa65c630ef70a24b09141a6f9fc17b3c3a50bed6b50e \ + --hash=sha256:8ebc7e65ca4b111d928b669713865f021b7773350eeac4a31d3e70144297baba \ + --hash=sha256:9168764133fd919f8dcca2ead66de0105f4ef5659cbb4fa044f7014bed9a1797 \ + --hash=sha256:921ae54f9ecba3b6325df425cf72c074cd469dea843fb5743a26ca7fb2ccb149 \ + --hash=sha256:92558d37d872e808944c3c96d0423b8604879a3d1c86fdad508d7ed91ea547d5 \ + --hash=sha256:951cc481c0c395c4a08639a469d53b7d4afa252529a085418b82a6b43c45c240 \ + --hash=sha256:998c01b8e71cf051c28f5d6f1187abbdf5cf45fc0efce5da6c06447cba997034 \ + --hash=sha256:9abc80fe8c1f87218db116016de575a7998ab1629078c90840e8d11ab423ee25 \ + --hash=sha256:9be4f99bee42ac107870c61dfdb294d912bf81c3c6d45538aad7aecab468b6b7 \ + --hash=sha256:9c39438c55983d48f4bb3487734d040e22dad200dab22c41e331cee145e7a50d \ + --hash=sha256:9d7e8ce990ae17dda686f7e82fd41a055c668e13ddcf058e7fb5e9da20b57793 \ + --hash=sha256:9ea7f4174d2e4194289cb0c4e172d83e79a6404297ff95f2875cf9ac9bced8ba \ + --hash=sha256:a18fc371e900a21d7392517c6f60fe859e802547309e94313cd8181ad9db004d \ + --hash=sha256:a36b452abbf29f68527cf52e181fced56685731c86b52e852053e38d8b60bc8d \ + --hash=sha256:a5b66d1b201cc71bc3081bc2f1fc36b0c1f268b773e03bbc39066651b9e18391 \ + --hash=sha256:a824d2c7a703ba6daaca848f9c3d5cb93af0505be505de70e7e66829affd676e \ + --hash=sha256:a88c0d17d039333a41d9bf4616bd062f0bd7aa0edeb6cafe00a2fc2a804e944f \ + --hash=sha256:aa6800adc8204ce898c8a424303969b7aa6a5e4ad2789c13f8648739830323b7 \ + --hash=sha256:aad911555286884be1e427ef0dc0ba3929e6821cbeca2194b13dc415a462c7fd \ + --hash=sha256:afc6e35f344490faa8276b5f2f7cbf71f88bc2cda4328e00553bd451728c571f \ + --hash=sha256:b9a4df06c35465ef4d81799999bba810c68d29972bf1c31db61bfdb81dd9d5bb \ + --hash=sha256:bb2954155bb8f63bb19d56d80e5e5320b61d71084617ed89efedb861a684baea \ + --hash=sha256:bbc4362e06f950c62cad3d4abf1191021b2ffaf0b31ac230fbf0526453eee75e \ + --hash=sha256:c0145295ca415668420ad142ee42189f78d27af806fcf1f32a18e51d47dd2052 \ + --hash=sha256:c30ff468163a48535ee7e9bf21bd14c7a81147c0e58a36c1078289a8ca7af0bd \ + --hash=sha256:c347a20d79cedc0a7bd51c4d4b7dbc613ca4e65a756b5c3e57ec84bd43505b47 \ + --hash=sha256:c43583ea8517ed2e780a345dd9960896afc1327e8cf3ac8239c167530397440d \ + --hash=sha256:c61a2cb0085c8783906b2f8b1f16a7e65777823c7f4d0a6aaffe26dc0d358dd9 \ + --hash=sha256:c9ca89938dff18828a328af41ffdf3902405a19f4131c88e22e776a8e228c5a8 \ + --hash=sha256:cc31e13ce212e14a539d430428cd365e74f8b2d534f8bc22dd4c9c55b277b875 \ + --hash=sha256:cdabcd3beb2a6dca7027007473d8ef1c3b053347c76f685f5f060a00327b8b65 \ + --hash=sha256:cf86f72d705fc2ef776bb7dd9e5fbba79d7e1f3e258bf9377f8204ad0fc1c51e \ + --hash=sha256:d09dc82af2d3c17e7dd17120b202a79b578d79f2b5424bda209d9966efeed114 \ + --hash=sha256:d3aa13bdf38630da298f2e0d77aca967b200b8cc1473ea05248f6c5e9c9bdb44 \ + --hash=sha256:d69d003296df4840bd445a5d15fa5b6ff6ac40496f956a221c4d1f6f7b4bc4d9 \ + --hash=sha256:d6e109a454412ab82979c5b1b3aee0604eca4bbf9a02693bb9df027af2bfa91a \ + --hash=sha256:d8551e733626afec514b5d15befabea0dd70a343a9f23322860c4f16a9430205 \ + --hash=sha256:d8754d872a5dfc3c5bf9c0e059e8107451364a30d9fd50f1f1a85c4fb9481164 \ + --hash=sha256:d8f9a6e7fd5434817526815f09ea27f2746c4a51ee11bb3439065f5fc754db58 \ + --hash=sha256:dbcbb6db5582ea33ce46a5d20a5793134b5365110d84df4e30b9d37c6fd40ad3 \ + --hash=sha256:e0f3ef95795efcd3b2ec3fe0a5bcfb5dadf5e3996ea2117427e524d4fbf309c6 \ + --hash=sha256:e13ae74a8a3a0c2f22f450f773e35f893484fcfacb00bb4344a7e0f4f48e1f97 \ + --hash=sha256:e274f62cbd274359eff63e5c7e7274c913e8e09620f6a57aae66744b3df046d6 \ + --hash=sha256:e838bf2bb0b91ee67bf2b889a1a841e5ecac06dd7a2b1ef4e6151e2ce155c7ae \ + --hash=sha256:e8acd55bd5b071156bae57b555f5d33697998752673b9de554dd82f5b5352727 \ + --hash=sha256:e8e5ab32cf9eb3647450bc74eb201b27c185d3857276162c101c0f8c6374e098 \ + --hash=sha256:ebcb786b9ff30b994d5969213a8430cbb984cdd7ea9fd6df06663194bd3c450c \ + --hash=sha256:ebea2821cdb5f9fef44933617be76185b80150632736f3d76e54829ab4a3b4d1 \ + --hash=sha256:ed0ef550042a8dbcd657dfb284a8ee00f0ba269d3f2286b0493b15a5694f9fe8 \ + --hash=sha256:eda5c1e2a715a4cbbca2d6d304988460942551e4e5e3b7457b50943cd741626d \ + --hash=sha256:f5c0ed12926dec1dfe7d645333ea59cf93f4d07750986a586f511c0bc61fe103 \ + --hash=sha256:f6016bd950be4dcd047b7475fdf55fb1e1f59fc7403f387be0e8123e4a576d30 \ + --hash=sha256:f9e0057a509e096e47c87f753136c9b10d7a91842d8042c2ee6866899a717c0d \ + --hash=sha256:fc1c892b1ec1f8cbd5da8de287577b455e388d9c328ad592eabbdcb6fc93bee5 \ + --hash=sha256:fc2c1e1b00f88317d9de6b2c2b39b012ebbfe35fe5e7bef980fd2a91f6100a07 \ + --hash=sha256:fd822f019ccccd75c832deb7aa040bb02d70a92eb15a2f16c7987b7ad4ee8d83 # via # jsonschema # referencing -rsa==4.9 +rsa==4.9 \ + --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ + --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 # via python-jose -sentry-sdk==2.23.1 +sentry-sdk==2.23.1 \ + --hash=sha256:2288320465065f3f056630ce55936426204f96f63f1208edb79e033ed03774db \ + --hash=sha256:42ef3a6cc1db3d22cb2ab24163d75b23f291ad9892b1a8c44075ce809a32b191 # via -r requirements.in -six==1.17.0 +six==1.17.0 \ + --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \ + --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81 # via # ecdsa # graphene-file-upload # promise # python-dateutil -social-auth-app-django==5.4.3 +social-auth-app-django==5.4.3 \ + --hash=sha256:d1f4286d5ca1e512c9b2f686e7ecb2a0128148f1a33d853b69dc07b58508362e \ + --hash=sha256:db70b972faeb10ee1ec83d0dc7dbd0558d5f5830417bba317b712b10ff58d031 # via -r requirements.in -social-auth-core==4.5.6 +social-auth-core==4.5.6 \ + --hash=sha256:14753d4cf870b820918729ce8a2dfe51f332075528fb13bed908701a8486da80 \ + --hash=sha256:43114bbc50f99789f7aadfd4943c2e15aee5e2f8c8612ad67fc4115b70b46ee1 # via social-auth-app-django -sqlparse==0.5.3 +sqlparse==0.5.3 \ + --hash=sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272 \ + --hash=sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca # via django -text-unidecode==1.3 +stack-data==0.6.3 \ + --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \ + --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 + # via ipython +text-unidecode==1.3 \ + --hash=sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8 \ + --hash=sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93 # via graphene-django -typing-extensions==4.12.2 +traitlets==5.14.3 \ + --hash=sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7 \ + --hash=sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f + # via + # ipython + # matplotlib-inline +typing-extensions==4.12.2 \ + --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \ + --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 # via # graphene # referencing -tzdata==2025.1 +tzdata==2025.1 \ + --hash=sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694 \ + --hash=sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639 # via faker -uritemplate==4.1.1 +uritemplate==4.1.1 \ + --hash=sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0 \ + --hash=sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e # via drf-spectacular -urllib3==2.5.0 +urllib3==2.5.0 \ + --hash=sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760 \ + --hash=sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc # via # -r requirements.in # django-anymail # requests # sentry-sdk -zipp==3.21.0 +uwsgi==2.0.30 \ + --hash=sha256:c12aa652124f062ac216077da59f6d247bd7ef938234445881552e58afb1eb5f + # via -r requirements.in +uwsgitop==0.12 \ + --hash=sha256:4f9330951f0fb9633226de36cf0c28c04dcf323efab608834aa81f638b6019b2 + # via -r requirements.in +wcwidth==0.2.13 \ + --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \ + --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5 + # via prompt-toolkit +zipp==3.21.0 \ + --hash=sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4 \ + --hash=sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931 # via importlib-metadata diff --git a/servicemap/tests/__snapshots__/test_api.ambr b/servicemap/tests/__snapshots__/test_api.ambr new file mode 100644 index 00000000..7694d4ad --- /dev/null +++ b/servicemap/tests/__snapshots__/test_api.ambr @@ -0,0 +1,38 @@ +# serializer version: 1 +# name: test_list_helsinki_schools_and_kindergartens + dict({ + 'data': dict({ + 'schoolsAndKindergartensList': dict({ + 'data': list([ + dict({ + 'id': 'tprek:3', + 'name': dict({ + 'en': 'Daycare Kannel', + 'fi': 'Päiväkoti Kannel', + 'sv': 'Päiväkoti Kannel', + }), + }), + dict({ + 'id': 'tprek:2266', + 'name': dict({ + 'en': 'Family day care Itä-Kannelmäki - Hakuninmaa - Maununneva', + 'fi': 'Perhepäivähoito Kaarela', + 'sv': 'Perhepäivähoito Kaarela', + }), + }), + dict({ + 'id': 'tprek:73213', + 'name': dict({ + 'en': 'Daycare Kannelmäki, preschool groups', + 'fi': 'Päiväkoti Kannelmäki, esiopetusryhmät', + 'sv': 'Päiväkoti Kannelmäki, förskolegrupper', + }), + }), + ]), + 'meta': dict({ + 'count': 3, + }), + }), + }), + }) +# --- diff --git a/servicemap/tests/snapshots/__init__.py b/servicemap/tests/snapshots/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/servicemap/tests/snapshots/snap_test_api.py b/servicemap/tests/snapshots/snap_test_api.py deleted file mode 100644 index 5095a9a6..00000000 --- a/servicemap/tests/snapshots/snap_test_api.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# snapshottest: v1 - https://goo.gl/zC4yUc -from __future__ import unicode_literals - -from snapshottest import Snapshot - -snapshots = Snapshot() - -snapshots["test_list_helsinki_schools_and_kindergartens 1"] = { - "data": { - "schoolsAndKindergartensList": { - "data": [ - { - "id": "tprek:3", - "name": { - "en": "Daycare Kannel", - "fi": "Päiväkoti Kannel", - "sv": "Päiväkoti Kannel", - }, - }, - { - "id": "tprek:2266", - "name": { - "en": "Family day care Itä-Kannelmäki - Hakuninmaa - Maununneva", - "fi": "Perhepäivähoito Kaarela", - "sv": "Perhepäivähoito Kaarela", - }, - }, - { - "id": "tprek:73213", - "name": { - "en": "Daycare Kannelmäki, preschool groups", - "fi": "Päiväkoti Kannelmäki, esiopetusryhmät", - "sv": "Päiväkoti Kannelmäki, förskolegrupper", - }, - }, - ], - "meta": {"count": 3}, - } - } -}