Compare commits

...

3079 Commits
2.2b3 ... main

Author SHA1 Message Date
Emanuel Schütze 94263da223
Updated autoupdate service (#6446) 2022-06-20 16:01:22 +02:00
Emanuel Schütze 0e6f223cf0
Updated services (#6445) 2022-06-17 18:51:59 +02:00
GabrielInTheWorld b053baa5a6
Updating auth service (#6444) 2022-06-16 19:28:15 +02:00
Emanuel Schütze 52af4ac0da
Updated client (#6442) 2022-06-14 12:49:55 +00:00
Emanuel Schütze 37f8d76c24
Updated services (#6441) 2022-06-14 08:55:09 +00:00
Emanuel Schütze b251b942c3
Updated client (#6439) 2022-06-10 16:19:48 +00:00
Emanuel Schütze 986f55382d
Updated AU and client (#6438) 2022-06-10 18:07:48 +02:00
peb-adr 11d70bec88
Updated client,AU,icc,vote (#6437)
Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-06-10 12:13:16 +00:00
Emanuel Schütze 47d7c48425
Updated services (#6436) 2022-06-09 16:45:52 +02:00
peb-adr 4cc5c55b13
Updated client (#6435)
Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-06-08 17:10:00 +00:00
Emanuel Schütze e343bb7e6b
Updated services + Add OpenTelemetry (#6434)
OpenTelemetry now available in dev mode.
 -> run `make run-dev-otel`
As of now backend and datastore report spans.
2022-06-08 16:46:14 +00:00
Emanuel Schütze 676be7f1fa
Updated services (#6432) 2022-06-02 14:38:44 +00:00
Emanuel Schütze aeffbb6622
Updated services (#6431) 2022-05-31 22:32:52 +02:00
Emanuel Schütze 05a1712131
Updated services (#6430) 2022-05-30 17:03:45 +02:00
peb-adr f41c117cd0
Updated services (#6429)
Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-05-25 18:39:28 +02:00
Emanuel Schütze b5ddb57b06
Updated services (#6426) 2022-05-20 18:34:21 +02:00
Emanuel Schütze 5fd8e184e0
Updated client (#6425) 2022-05-19 12:33:05 +00:00
Emanuel Schütze 88a45044e8
Updated services (#6424) 2022-05-19 09:43:32 +02:00
peb-adr 8d9d114fca
Updated services (#6423)
Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-05-18 11:36:18 +02:00
Emanuel Schütze 110f4d769d
Updated client (#6422) 2022-05-17 08:55:14 +00:00
peb-adr 1467f2b529
Updated services (#6421)
Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-05-16 17:36:36 +00:00
peb-adr 43a218f58a
Updated services (#6420)
Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-05-16 14:43:45 +02:00
peb-adr 73ddad152d
Updated services (#6419)
Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-05-13 17:05:07 +02:00
Ralf Peschke 6ac9bde47d
Issue6417 last modules set to main (#6418) 2022-05-11 11:33:52 +00:00
Emanuel Schütze c5b95594d8
Updated services (#6416) 2022-05-10 05:32:26 +00:00
Emanuel Schütze 464a0e59e8
Updated client (#6415) 2022-05-02 09:09:14 +00:00
Emanuel Schütze b1f2574205
Updated services (#6414) 2022-04-29 12:08:53 +02:00
Emanuel Schütze f900b0dbcf
Updated services (#6411) 2022-04-27 10:51:04 +00:00
Emanuel Schütze 96ad0652d5
Updated services (#6410) 2022-04-25 13:44:35 +00:00
Emanuel Schütze e34be730d8
Updated services (#6406) 2022-04-23 16:06:52 +00:00
Emanuel Schütze ce1c30661a
Updated services (#6405) 2022-04-20 17:59:45 +00:00
Emanuel Schütze 17bbbc9962
Updated services and AUTHORS (#6395) 2022-03-30 13:31:23 +02:00
dependabot[bot] 5bf57687b2
Bump minimist from 1.2.5 to 1.2.6 in /integration (#6390)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-26 19:06:30 +01:00
Emanuel Schütze cfdcb80874
Use version 4.0.0-beta (#6389) 2022-03-26 06:33:33 +01:00
Emanuel Schütze 1d38d096e8
Updated services (#6388) 2022-03-25 11:25:46 +00:00
Emanuel Schütze c2019bcb07
Updated services (#6387) 2022-03-24 08:15:57 +00:00
Emanuel Schütze 871a42532a
Updated services (#6386) 2022-03-22 12:51:29 +00:00
Emanuel Schütze abe1597bd1
Updated services (#6384) 2022-03-21 16:55:11 +01:00
dependabot[bot] 023e445930
Bump follow-redirects from 1.14.7 to 1.14.8 in /integration (#6360)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17 12:59:36 +00:00
Emanuel Schütze f8347972fa
Updated services (#6383) 2022-03-11 14:25:43 +00:00
Emanuel Schütze a54555dc62
Updated services (#6382) 2022-03-09 14:23:05 +00:00
Emanuel Schütze f5425644e5
Updated services (#6381) 2022-03-04 16:14:23 +01:00
peb-adr 0b7f0c4073
Updated services (#6379) 2022-03-03 17:33:09 +00:00
Emanuel Schütze 3090779e7a
Updated services (#6377) 2022-03-01 18:18:30 +01:00
Emanuel Schütze 35d0d9d365
Updated services (#6375) 2022-02-25 14:31:18 +00:00
peb-adr a8f19e9901
cleanup services-to-main.sh (#6372)
- remove -B from checkout, didn't work as expected
- all submodules are now using main, fallback to master no longer needed
- make using git pull optional (--pull)

Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-02-25 15:16:36 +01:00
Emanuel Schütze acfb4554d2
Updated AUTHORS (#6374) 2022-02-25 11:27:33 +01:00
Emanuel Schütze 92e658ab50
Updated services (#6373) 2022-02-24 10:24:43 +01:00
Emanuel Schütze 283383bb26
Updated services (#6368) 2022-02-17 18:10:29 +01:00
Emanuel Schütze 81e75aabe2
Updated services (#6363) 2022-02-17 14:50:55 +01:00
GabrielInTheWorld 473c742681
Speed up the 'make run-dev' command (#6362) 2022-02-16 16:19:58 +01:00
bug0001 b9ca06af25
Documentation improvements (#6350)
Documentation improvements OS4
2022-02-16 11:24:50 +00:00
Emanuel Schütze 8f2fb37f79
Updated services (#6358) 2022-02-14 15:05:15 +00:00
Emanuel Schütze a98349020a
Updated services (#6357) 2022-02-11 12:20:40 +00:00
Emanuel Schütze a1d0d2cf44
Updated services (#6349) 2022-02-03 23:03:50 +00:00
Emanuel Schütze 18a8449b5c
Updated package-lock.json (#6348) 2022-02-03 17:42:18 +01:00
GabrielInTheWorld 13b3204dab
Update DEVELOPMENT.md (#6347)
Changes some wording to prevent mixing up "git checkout" with "After checking out".
2022-02-03 16:09:15 +00:00
Emanuel Schütze 714a03c154
Updated services (#6345) 2022-01-28 18:04:11 +00:00
Emanuel Schütze 04d2676b0b
Updated services (#6344) 2022-01-25 17:26:19 +00:00
Emanuel Schütze 9edf0487f1
Updated services (#6341) 2022-01-21 17:28:53 +01:00
Ralf Peschke df8c36030d
Open port 5678 for debugpy in dev (#6340)
Co-authored-by: Ralf Peschke <rpeschke@peschke-it.de>
2022-01-20 09:24:53 +01:00
Emanuel Schütze 532be0bac7
Updated services (#6339) 2022-01-19 16:18:25 +00:00
peb-adr d54499f633
make services-to-main.sh more compatible (#6332) 2022-01-18 19:46:13 +00:00
Emanuel Schütze 7b24b3db36
Updated services (#6333) 2022-01-14 17:07:19 +00:00
Emanuel Schütze 97a83af8c8
Updated services (#6331) 2022-01-14 00:32:03 +00:00
Emanuel Schütze e3ad7d2e1f
Use 'main' as default branch in services-to-main.sh. (#6330) 2022-01-13 19:10:34 +01:00
peb-adr ff13c99818
proxy: check ALLOWED_HOSTS only for client requests (#6328)
This feature is only intended to identify misdirected browser requests.
The other routes are called by services/tools which will not necessarily
set the 'Host' header and thus break.

Co-authored-by: Adrian Richter <adrian@intevation.de>
2022-01-12 17:11:21 +01:00
Emanuel Schütze 670bbdba5a
Updated services (#6326) 2022-01-10 17:09:19 +00:00
Sean 88dad9fc3e
Set various information to "main" (#6325)
Changes various usages from master to main
2022-01-10 17:46:40 +01:00
Norman Jäckel fa0fa370d6
Added LABELS to proxy's Dockerfile. (#6323) 2022-01-07 20:12:51 +00:00
Emanuel Schütze b8e01143ba
Merge pull request #6324 from emanuelschuetze/update-20220107
Updated services
2022-01-07 20:49:18 +01:00
Emanuel Schütze 504b620a40 Updated services 2022-01-07 20:21:11 +01:00
Emanuel Schütze b4bee3483f
Merge pull request #6320 from emanuelschuetze/update20220106
updated services
2022-01-06 23:59:58 +01:00
Emanuel Schütze 51bfd49aa5 updated services 2022-01-06 23:38:44 +01:00
Emanuel Schütze d75d11a511
Merge pull request #6319 from emanuelschuetze/update-20220106
Updated services
2022-01-06 16:09:20 +01:00
Emanuel Schütze 0e18053510 Updated services 2022-01-06 15:50:56 +01:00
Emanuel Schütze f0bff0a754
Merge pull request #6316 from gsiv/update-buildsh
docker/build.sh: Add ICC and voting service
2022-01-06 15:45:33 +01:00
peb-adr 3ecbd356dc
Merge pull request #6315 from peb-adr/proxy-ahosts
proxy: add ALLOWED_HOSTS env var
2022-01-06 12:41:09 +01:00
Gernot Schulz c841f817b2 docker/build.sh: Add ICC and voting service 2021-12-28 13:45:37 +01:00
root ba74f33e68 proxy: add ALLOWED_HOSTS env var
will setup caddy to check if the Host-header matches one of the space
delimited fields in ALLOWED_HOSTS. Or do no such thing if ALLOWED_HOSTS
is not set.
2021-12-22 12:42:46 +01:00
Emanuel Schütze b2741c782e
Merge pull request #6313 from emanuelschuetze/update-20211210
Updated services
2021-12-10 18:50:36 +01:00
Emanuel Schütze a3455c3981 Updated services 2021-12-10 18:18:52 +01:00
Norman Jäckel 51c72c543c
Merge pull request #6309 from peb-adr/local-prod
add local production setup
2021-12-10 16:34:08 +01:00
Emanuel Schütze 8a325e1569
Merge pull request #6312 from emanuelschuetze/services-to-master
Updated services-to-master script
2021-12-10 15:54:11 +01:00
Adrian Richter 26ef35f72e add local production setup 2021-12-10 12:45:06 +01:00
Emanuel Schütze 1241a651c6 Updated services-to-master script 2021-12-10 12:44:13 +01:00
GabrielInTheWorld 95504ce8c0
Merge pull request #6310 from GabrielInTheWorld/dev
Improves the 'services-to-master' function
2021-12-10 10:20:16 +01:00
GabrielInTheWorld 29edcc18f0 Improves the 'services-to-master' function 2021-12-09 16:23:36 +01:00
Emanuel Schütze 74f4f2dfbd
Merge pull request #6307 from emanuelschuetze/update-20211208
Updated services
2021-12-08 17:12:58 +01:00
Emanuel Schütze 119576f4a5 Updated services 2021-12-08 16:23:33 +01:00
Emanuel Schütze eb79dd9aca
Merge pull request #6305 from tsiegleauq/fix-icc-integration
Fix ICC integration
2021-12-07 20:14:58 +01:00
Sean 44e9c99eb3 Fix ICC integration
Updates the ICC Service
Changes the ICC port to 9007
Adjust the proxy
Adjust services.env
2021-12-07 17:47:09 +01:00
Emanuel Schütze 396dc75961
Merge pull request #6303 from GabrielInTheWorld/new-service-to-master
Automatically checkout the latest commit for every submodule
2021-12-07 16:43:30 +01:00
GabrielInTheWorld 9809eb029c Automatically checkout the latest commit for every submodule
Adds a new script "services-to-master.sh" and updates the Makefile
2021-12-02 15:17:14 +01:00
Emanuel Schütze fd3371dd0b
Merge pull request #6302 from emanuelschuetze/update20211201
Updated services
2021-12-02 12:09:16 +01:00
Emanuel Schütze 5762c4a9a0 Updated services 2021-12-02 11:49:02 +01:00
Emanuel Schütze 3d56027ae4
Update README.md 2021-11-30 22:03:19 +01:00
Emanuel Schütze 845f8c5676
Merge pull request #6297 from emanuelschuetze/update-serices20211125
Updated services
2021-11-25 23:00:12 +01:00
Emanuel Schütze 003acc1b78 Updated services 2021-11-25 20:29:43 +01:00
Sean f4e3257d88
Merge pull request #6293 from tsiegleauq/cypress-integration-no-docker
Run cypress workflow without docker
2021-11-24 11:30:11 +01:00
Sean fe163c809d
Merge pull request #6288 from ostcar/vote-volumes
Add volumes to vote-dev-environment
2021-11-24 10:57:24 +01:00
Sean 693e116222 Run cypress workflow without docker
Runs the cypress workflow directly without docker
2021-11-23 22:47:49 +01:00
Sean 3adea03883
Merge pull request #6291 from tsiegleauq/remove-announce-workflow
Remove GHActions to announce file changes
2021-11-23 10:58:57 +01:00
Sean 12308fbe3c Remove GHActions to announce file changes
Removes the GHActions that would create issues when files change.
The files in question were moved to the backend-repo
2021-11-23 10:31:32 +01:00
Sean 597da01430
Merge pull request #6290 from peb-adr/actions-build-vote
add vote-service to build-images workflow
2021-11-22 17:14:21 +01:00
Adrian Richter d77a14d233 add vote-service to build-images workflow 2021-11-22 15:54:09 +01:00
GabrielInTheWorld 0ab17c3597
Merge pull request #6284 from peb-adr/fix-proxy-dev
fix missing caddy_base when rebuilding
2021-11-22 11:58:31 +01:00
peb-adr 004ff453bc
Merge branch 'master' into fix-proxy-dev 2021-11-22 11:00:06 +01:00
Oskar Hahn 77dac78d88 Add volumes to vote-dev-environment
needed for auto reload
2021-11-19 19:53:15 +01:00
Emanuel Schütze 77d672544c
Merge pull request #6286 from emanuelschuetze/update-20211118
Updated services
2021-11-18 20:23:46 +01:00
Emanuel Schütze df08720d0e Updated services 2021-11-18 17:53:59 +01:00
GabrielInTheWorld e0b2679941
Merge pull request #6274 from tsiegleauq/add-vote-service
Add vote service to OS4 setup
2021-11-18 14:56:36 +01:00
Sean Engelhardt 6846b2ab91 Add vote service to OS4 setup
Integrate vote service, makes according changes to configuration
Updates the client to integrate the vote service
Updates the backend to integrate the vote service
2021-11-17 23:32:40 +01:00
Adrian Richter 3dabed8667 fix missing caddy_base when rebuilding 2021-11-17 17:57:34 +01:00
Sean 67a82de70c
Merge pull request #6281 from GabrielInTheWorld/new-dev-setup
Change the initial data
2021-11-15 15:04:47 +01:00
GabrielInTheWorld bed69cf9d2 Change the initial data 2021-11-15 14:40:03 +01:00
Sean 3b798b8ce8
Merge pull request #6275 from peb-adr/https
make local cert file location adjustable
2021-11-11 15:46:36 +01:00
Adrian Richter 84d38dc553 make local cert file location adjustable 2021-11-11 15:17:38 +01:00
Ralf Peschke a100ff22b1
Issue1008 Backend: models.yml etc. moved to backend, remove omitted workflows 2021-11-11 14:37:39 +01:00
Emanuel Schütze e9d0c07eb4
Merge pull request #6271 from emanuelschuetze/updateServices
Updated services
2021-11-04 16:33:47 +01:00
Emanuel Schütze 8a0fd4473c Updated services 2021-11-04 10:59:15 +01:00
Ralf Peschke 7a679dc530 Remove omitted workflows 2021-11-03 13:30:24 +01:00
Ralf Peschke 34eb57a31d
Merge pull request #6265 from r-peschke/BAIssue678_smtp-server
ClientIssue553: Add Testmailserver to openslides-dev-setup
2021-11-02 17:23:08 +01:00
Ralf Peschke 60e4e537f8 Remove caddy volume 2021-11-02 17:03:05 +01:00
Ralf Peschke 8c6edaf4b0 BAIssue1008: models.yml etc. deleted from repo 2021-11-01 18:51:58 +01:00
Ralf Peschke 912fafcca3 ClientIssue553: Add Testmailserver to openslides-dev-setup 2021-10-29 16:46:15 +02:00
reiterl b7263f0c3c
Merge pull request #6269 from reiterl/rename_in_progress
Rename one motion_state in initial/example data.
2021-10-29 10:18:04 +02:00
Ludwig Reiter 60d266789e Use newest backend. 2021-10-28 15:17:23 +02:00
Ludwig Reiter 95e48b05c2 Rename one motion_state in initial/example data. 2021-10-28 15:10:47 +02:00
reiterl 4430f0560a
Merge pull request #6268 from reiterl/limit_of_users
Add field limit_of_users to organization.
2021-10-28 14:29:31 +02:00
Ludwig Reiter 2ec3ad19a2 Change md5sum of initial data. 2021-10-28 14:11:15 +02:00
Ludwig Reiter b97b0de412 Add field limit_of_users to organization. 2021-10-28 14:08:36 +02:00
GabrielInTheWorld cd3dfb4229
Merge pull request #6267 from GabrielInTheWorld/of-initial-themes
Adds the openslides-red and -green theme to the initial data
2021-10-28 08:34:07 +02:00
GabrielInTheWorld 89b8422361 Adds the openslides-red and -green theme to the initial data 2021-10-27 12:18:07 +02:00
peb-adr bad1e131ee
Merge pull request #6261 from peb-adr/proxy-rework
Proxy rework
2021-10-25 14:59:31 +02:00
Adrian Richter 4d02165f1f add auto https support + manage router by header
switch from caddy file to native json
2021-10-25 12:58:32 +02:00
Ralf Peschke 4fc44929f8
Merge pull request #6255 from r-peschke/pull_req6246_req_true_fields
PR6246 mediafile.list_of_speakers not required, because of directories
2021-10-19 10:38:01 +02:00
Ralf Peschke e622822a3f - set mediafle.list_of_speakers required=false
- use submodule backend with generated models.py
- fix bug initial-data.json MI5 -> Mi7, because file data represents MI7
2021-10-19 10:18:35 +02:00
Ralf Peschke 30e978d288 Revert "PR6246 mediafile.list_of_speakers not required, because of directories"
This reverts commit 851e54077f.
2021-10-19 09:57:02 +02:00
Ralf Peschke 851e54077f PR6246 mediafile.list_of_speakers not required, because of directories 2021-10-18 19:34:01 +02:00
Emanuel Schütze 772e3a391f
Merge pull request #6253 from emanuelschuetze/update-20211014
Updated services
2021-10-14 22:38:11 +02:00
Emanuel Schütze 29f1a3b86d Updated services 2021-10-14 22:18:08 +02:00
reiterl d97e97186b
Merge pull request #6242 from reiterl/themes_collection
Add theme collection to models.
2021-10-12 11:02:50 +02:00
Ludwig Reiter dc2998b0ea Update initial-data md5sum. 2021-10-12 10:39:41 +02:00
Emanuel Schütze b5eece6052
Merge pull request #6248 from emanuelschuetze/update20211009
Updated services
2021-10-09 21:21:23 +02:00
Emanuel Schütze 53db1caa39 Updated services 2021-10-09 12:07:22 +02:00
Emanuel Schütze b21d76c882
Merge pull request #6246 from ostcar/requied_relations
Set required attribute on relation and generic-relation fields
2021-10-08 20:32:04 +02:00
Oskar Hahn 94cb1a47d2 Set required attribute on relation and
generic-relation fields
2021-10-08 17:14:14 +02:00
Ludwig Reiter 97056e9f2a Add missing options to theme. 2021-10-08 09:15:10 +02:00
Ludwig Reiter 285b900b5a Rename default_theme_id into theme_id
And update initial and example data.
2021-10-08 09:15:09 +02:00
Ludwig Reiter fdfe3bd66a Add required to default_theme_id and organization_id. 2021-10-08 09:15:09 +02:00
Ludwig Reiter ee3b84abde Add one theme to initial/example data. 2021-10-08 09:15:09 +02:00
Ludwig Reiter e2382a7c86 Fix indentation of initial-data.json 2021-10-08 09:15:09 +02:00
Ludwig Reiter cc9df51cc3 Update models.yml, initial-data.json and example-data.json 2021-10-08 09:15:09 +02:00
Ludwig Reiter 5aa9bc082d Update initial and example data. 2021-10-08 09:15:09 +02:00
Ludwig Reiter 1078a7101a Change theme/organization_ids
It should be a relation and not a relation-list, as there is only one
organization and it is renamed to avoid name conflict.
2021-10-08 09:15:09 +02:00
Ludwig Reiter 9c0329b2ad Change theme attribute names, because large letters are not allowed. 2021-10-08 09:15:09 +02:00
Ludwig Reiter 703d61a3b7 Update models.yml, initial-data.json and example-data.json 2021-10-08 09:15:09 +02:00
Ludwig Reiter d5d41a532a Add organization/theme_ids to models.yml 2021-10-08 09:14:29 +02:00
Ludwig Reiter c293544f24 Remove user/theme_id. 2021-10-08 09:14:29 +02:00
Ludwig Reiter 225a6eb5de Update initial and example data. 2021-10-08 09:14:29 +02:00
Ludwig Reiter 494b8d54f4 Rename organization/theme_id into default_theme_id. 2021-10-08 09:14:29 +02:00
Ludwig Reiter 1da3c6dced Changes to the models.yml. 2021-10-08 09:14:29 +02:00
Ludwig Reiter 23e7bc4df2 Fix minus problem in var names. 2021-10-08 09:14:29 +02:00
Ludwig Reiter 38ac9c2838 Fix type. 2021-10-08 09:14:29 +02:00
Ludwig Reiter 90d705666d Add theme collection to models. 2021-10-08 09:14:29 +02:00
Emanuel Schütze 855f5f2e86
Merge pull request #6247 from GabrielInTheWorld/updates
Updates services
2021-10-07 19:27:57 +02:00
GabrielMeyer 42b30d1ea9 Updates services 2021-10-07 16:33:38 +02:00
jsangmeister 4021c7620b
Merge pull request #6244 from jsangmeister/add-state-weight
Add motion state weight
2021-10-07 14:04:02 +02:00
Joshua Sangmeister cb85892447 Fix checksum 2021-10-06 15:43:00 +02:00
Joshua Sangmeister 3f4a020808 Update Backend 2021-10-06 15:25:47 +02:00
Joshua Sangmeister 615736eda2 Fix example & initial data 2021-10-06 12:54:52 +02:00
Joshua Sangmeister 9483414fb3 Add motion state weight 2021-10-06 10:45:15 +02:00
reiterl 973184237a
Merge pull request #6243 from jsangmeister/fix-gh-actions
Fix initial data workflow
2021-10-05 13:12:35 +02:00
Joshua Sangmeister 72d5ee06d3 Fix initial data workflow 2021-10-04 15:18:29 +02:00
Norman Jäckel 0e95e7f7e0
Merge pull request #6236 from normanjaeckel/Typo
Fixed typo and changed some format.
2021-10-02 20:07:05 +02:00
GabrielInTheWorld 34b6fcd0b3
Merge pull request #6239 from GabrielInTheWorld/updates
Updates the client, backend and media-service
2021-10-01 15:14:04 +02:00
GabrielMeyer 788afca754 Updates the client, backend and media-service 2021-10-01 14:29:57 +02:00
Emanuel Schütze c4dcedcb17
Merge pull request #6238 from emanuelschuetze/update-20210930
Updated services
2021-09-30 09:37:05 +02:00
Emanuel Schütze 8859892e10 Updated services 2021-09-30 09:18:01 +02:00
GabrielInTheWorld 5415f68723
Merge pull request #6237 from GabrielInTheWorld/updating-client
New version of the client
2021-09-29 17:40:31 +02:00
GabrielMeyer 64908007c7 New version 2021-09-29 16:54:41 +02:00
Norman Jäckel 44a3193406 Fixed typo and changed some format. 2021-09-28 22:13:13 +02:00
Emanuel Schütze c628fe3244
Merge pull request #6235 from emanuelschuetze/update-20210924
Updated services
2021-09-24 11:51:58 +02:00
Emanuel Schütze ddc8cd2716 Updated services 2021-09-24 11:34:17 +02:00
Emanuel Schütze 5aa0b84123
Merge pull request #6233 from peb-adr/fix-tagging
fix client/version.txt path
2021-09-24 11:31:02 +02:00
Adrian Richter cc4666646d shouldve double checked the path 2021-09-24 11:08:14 +02:00
Emanuel Schütze cda2c0c21c
Merge pull request #6224 from peb-adr/tagging
unique version tag for docker images
2021-09-24 10:36:18 +02:00
GabrielInTheWorld 058ee57658
Merge pull request #6232 from GabrielInTheWorld/of-perm-can-forward
Updates the wording according to #6231
2021-09-24 08:22:16 +02:00
Adrian Richter 4e00e13038 tag images uniquely + write to client/version.txt
* adjust path to client/src/assets/version.txt

      * also tag as latest

      * add timestamp to image tag + client/version.txt
2021-09-23 18:54:23 +02:00
GabrielMeyer 6629cf9ee7 Updates the wording 2021-09-23 16:57:50 +02:00
GabrielInTheWorld 7ffe5922a0
Merge pull request #6226 from r-peschke/BA939_New_field_motion_state_dont_set_identifier
New field motion_state/dont_set_identifier (Backend #939)
2021-09-23 14:45:46 +02:00
Ralf Peschke 0e830e677b Initia-dat.json plus workflow and new backend submodule 2021-09-23 14:10:44 +02:00
Ralf Peschke 761c248e19 Changed hash for initial_data.json 2021-09-23 14:10:44 +02:00
Ralf Peschke 1fe6e4e58e New field motion_state/dont_set_identifier (Backend #939) 2021-09-23 14:10:44 +02:00
GabrielInTheWorld b81b7e9980
Merge pull request #6231 from GabrielInTheWorld/of-perm-can-forward
Adjusts the models.yml to the new perm (#6230)
2021-09-23 13:54:03 +02:00
GabrielMeyer 1fb1d834e1 Adjusts the models.yml to the new perm (#6230) 2021-09-23 13:31:28 +02:00
GabrielInTheWorld 3e553a2714
Merge pull request #6230 from GabrielInTheWorld/of-perm-can-forward
Adds the perm 'motion.can_forward_to_this'
2021-09-23 11:21:11 +02:00
GabrielMeyer 8b0811efa9 Adds the perm 'motion.can_forward_to_this' 2021-09-23 11:01:53 +02:00
Sean b7c97baa1e
Merge pull request #6218 from tsiegleauq/integration-cypress
Integration tests using cypress
2021-09-21 11:02:09 +02:00
Sean 4134367b8a
Merge pull request #6225 from ostcar/remove_permission_service
Remove permission service
2021-09-17 12:26:39 +02:00
Sean 85c0e50c21 Integration tests using cypress
Test client integration (client loads)
Test auth integration (client logs in)
Test backend integration (accept request)
  - broken
Test autoupdate integration (sends au to client)

Add manual cypress tests
Add dockered cypress tests

Add Readme
Add test execution to makefile
Add test execution to github-actions

TODO:
- Create user for tests
- flush db after every test
2021-09-16 17:16:51 +02:00
Oskar Hahn b504a1c51e Remove permission service 2021-09-15 16:20:39 +02:00
Emanuel Schütze 7c43e77fcb
Merge pull request #6221 from emanuelschuetze/update-20210913
(4.0-beta-20210913) Updated services.
2021-09-13 14:21:53 +02:00
Emanuel Schütze a958549adb (4.0-beta-20210913) Updated services. 2021-09-13 14:16:27 +02:00
Ralf Peschke 97ea71c8db
Merge pull request #6215 from r-peschke/fix_users_email_sender
Replace mail-address by sender name
2021-09-06 22:00:28 +02:00
Ralf Peschke 9306ee11ea Upgrade to current backend 2021-09-06 17:35:14 +02:00
Ralf Peschke c8d9f213bd Replace mail-address by sender name 2021-09-06 17:35:14 +02:00
Ralf Peschke 6fb3e40f8b
Update md5_check_initial-data.yml
For committing the new initial-data.json with changed field content users_email_sender
2021-09-06 17:26:54 +02:00
Norman Jäckel c2f1d2b4b8
Merge pull request #6217 from normanjaeckel/UpdateFormat
Update format
2021-08-31 23:04:30 +02:00
Norman Jäckel 217e3d0b75 Updated README. Updated initial-data.json to new format. Updated example-data.json to new format. Updated backend and datastore. Disabled check of unmigrated initial data. Added announcement workflow. 2021-08-31 22:00:25 +02:00
Sean 36c9ff1451
Merge pull request #6216 from tsiegleauq/update-services-08-27
Update services
2021-08-27 17:29:29 +02:00
Sean c5accdaa9c Update services 2021-08-27 17:25:34 +02:00
GabrielInTheWorld f2515decf8
Merge pull request #6214 from GabrielInTheWorld/of-update-initial-data
Updates the docker-compose.dev.yml file to use master
2021-08-26 15:55:30 +02:00
GabrielMeyer 1b630ba714 Updates the initial data used by the datastore 2021-08-20 10:52:42 +02:00
Sean 7b8139dbfe
Merge pull request #6211 from tsiegleauq/update-readme-for-stable
Update readme
2021-08-19 12:37:19 +02:00
Sean 34eaada3d0 Update readme
Remove unused parts from the readme
Update develoment.md, replace os4-dev branch with master
2021-08-19 12:32:05 +02:00
Finn Stutzenstein 901c8beca9
Merge pull request #6210 from FinnStutzenstein/initialDataCi
Add a CI check to verify that migrating the initial data works
2021-08-18 12:13:38 +02:00
Finn Stutzenstein 6b218e3c7f
Add a CI check to verify that migrating the initial data works 2021-08-18 11:58:20 +02:00
Sean f9296f017b
Merge pull request #6170 from tsiegleauq/workflow-dispatch
Workflow dispatch
2021-08-18 11:52:01 +02:00
Sean 456ecb8316 Workflow dispatch
Manually fire to build images
2021-08-18 11:48:10 +02:00
Sean 2753499167
Merge pull request #6208 from tsiegleauq/inform-repos-about-changes
Monitor and announces changes to models and perms
2021-08-17 12:49:59 +02:00
Sean de503bbb2b Monitor and announces changes to models and perms
Monitors changes to docs/models.yml and docs/perms.yml.
If changes were made and merged github actions will create an issue
and assign the maintainers of the subprojects to ackknowledge the
changes.
2021-08-17 12:45:30 +02:00
Finn Stutzenstein 3ca9918fa2
Merge pull request #6209 from FinnStutzenstein/migrations
Update Submodules to enable migrations
2021-08-17 11:39:48 +02:00
Finn Stutzenstein 1d74030d2b
Update Submodules to enable migrations 2021-08-17 11:37:15 +02:00
Finn Stutzenstein bd537b5678
Merge pull request #6205 from r-peschke/Issue6204_fields_for_archiving_meetings
Issue6204: Define fields for archiving of meetings
2021-08-17 09:04:13 +02:00
Ralf Peschke 2b58b2f2f7
Issue6204: Define fields for archiving of meetings
- set initial-data.json to migration_index 1
- md5sum checking for initial-data.json
2021-08-17 09:03:03 +02:00
Ralf Peschke 59f6fa1ed3
Merge pull request #6206 from r-peschke/github_models.yml_generate_model
github models.yml: generate models.py for backend check_json
2021-08-11 11:49:10 +02:00
Ralf Peschke f81738a06e github models.yml: generate models.py for backend check_json 2021-08-11 11:31:16 +02:00
Norman Jäckel 2a5b4a3126
Merge pull request #6152 from normanjaeckel/RemoveProdSetup
Moved production setup to manage service.
2021-08-08 18:06:21 +02:00
Norman Jäckel de2d5eb030 Moved production setup to manage service. 2021-08-08 18:01:53 +02:00
Emanuel Schütze 6192e2347c
Merge pull request #6201 from emanuelschuetze/update-20210806
Updated client
2021-08-06 17:36:11 +02:00
Emanuel Schütze 1f94532a43 Updated client 2021-08-06 17:16:51 +02:00
Finn Stutzenstein 8ff0f379a5
Merge pull request #6200 from FinnStutzenstein/update
Update Backend
2021-08-06 11:15:36 +02:00
Finn Stutzenstein c93fb68a4f
Update Backend 2021-08-06 11:14:30 +02:00
Finn Stutzenstein 07e49746c1
Merge pull request #6198 from FinnStutzenstein/update
Update submodules. Added explicit migration index to data files
2021-08-06 08:01:50 +02:00
Finn Stutzenstein 59d9c6a9a8
Update submodules. Added explicit migration index to data files 2021-08-06 08:00:52 +02:00
Emanuel Schütze 725782078c
Merge pull request #6199 from emanuelschuetze/update-20210805
Updated os4 services
2021-08-05 20:57:32 +02:00
Emanuel Schütze d402fd4b9d Updated os4 services 2021-08-05 20:55:12 +02:00
Finn Stutzenstein b85a82bc61
Merge pull request #6197 from FinnStutzenstein/CI
Enhance CI
2021-08-04 14:14:06 +02:00
Finn Stutzenstein 27d31189c1
Enhance CI
- redone the modelsvalidator
- use the datavalidator from the backend, remove old code
2021-08-04 14:10:40 +02:00
jsangmeister 816f5cc574
Merge pull request #6194 from jsangmeister/fix-settings-definitions
Add missing defaults & fix existing ones
2021-08-04 11:37:24 +02:00
Joshua Sangmeister de14009a52 Add missing defaults & fix existing ones 2021-08-04 11:35:16 +02:00
Finn Stutzenstein ec00c6c7db
Merge pull request #6192 from ostcar/models_field_groups
Add field group info in organization
2021-08-04 07:19:27 +02:00
Oskar Hahn 552ac0f9d3
Add field restriction_mode to every collectionfield 2021-08-04 07:18:06 +02:00
Emanuel Schütze 7c6fe46946
Merge pull request #6191 from emanuelschuetze/update-20210730-2
Updated autoupdate service
2021-07-30 16:49:25 +02:00
Emanuel Schütze 53ff280f45 Updated autoupdate service 2021-07-30 16:48:02 +02:00
Emanuel Schütze 4135149cc6
Merge pull request #6190 from emanuelschuetze/update-20210730
Updated os4 services
2021-07-30 16:06:32 +02:00
Emanuel Schütze dd930ae973 Updated os4 services 2021-07-30 16:04:28 +02:00
reiterl ba5bfe1477
Merge pull request #6189 from reiterl/model_submitter_weight
motion_submitter does not need a default. In the creating a weight is…
2021-07-29 14:20:34 +02:00
Ludwig Reiter 62282cc964 motion_submitter does not need a default. In the creating a weight is always set. 2021-07-29 14:14:33 +02:00
Emanuel Schütze b19f2189c9
Merge pull request #6187 from jsangmeister/fix-motion-preamble
Fix default motion preamble
2021-07-27 17:37:59 +02:00
Joshua Sangmeister 8b7a8bf6de Fix default motion preamble 2021-07-27 17:12:15 +02:00
reiterl 8d3f0a24ea
Merge pull request #6182 from reiterl/dev_model_gender
Dev model gender
2021-07-23 13:49:20 +02:00
Ludwig Reiter 1c3088841a Update initial-data. 2021-07-23 13:44:06 +02:00
Ludwig Reiter d6c5b16a8a Add some gender to example data. 2021-07-23 13:35:18 +02:00
Ludwig Reiter 6e26108531 Update models: user/gender field. 2021-07-23 12:55:27 +02:00
Emanuel Schütze 4913ac5920
Merge pull request #6178 from emanuelschuetze/update-20210720
Updated os4 services
2021-07-20 16:59:15 +02:00
Emanuel Schütze a30477ded0 Updated os4 services 2021-07-20 16:56:02 +02:00
Emanuel Schütze 01b2b53e24
Merge pull request #6169 from emanuelschuetze/update-20210716a
Updated os4 services
2021-07-16 16:03:46 +02:00
Emanuel Schütze 53fd8148c4 Updated os4 services 2021-07-16 16:02:45 +02:00
Finn Stutzenstein b04fe236f2
Merge pull request #6168 from FinnStutzenstein/adjustModelsYml
Fix limits for LOS settings (closes #6167)
2021-07-16 13:57:32 +02:00
Finn Stutzenstein 3b14153965
Fix limits for LOS settings (closes #6167) 2021-07-16 12:37:57 +02:00
Emanuel Schütze 233fb8dfca
Merge pull request #6164 from emanuelschuetze/update-20210716
Updated os4 client
2021-07-16 08:52:01 +02:00
Emanuel Schütze a63643e762 Updated os4 client 2021-07-16 08:44:26 +02:00
Emanuel Schütze c603960291
Merge pull request #6163 from emanuelschuetze/update-20210715
Updated os4 services
2021-07-15 23:37:54 +02:00
Emanuel Schütze cac529e7c3 Updated os4 services 2021-07-15 23:33:08 +02:00
jsangmeister d8b06c8c2d
Merge pull request #6162 from jsangmeister/user-cascade-deletion
Add cascade deletion to user->speaker relation
2021-07-15 16:10:44 +02:00
Joshua Sangmeister 15e37df62d Fix on_delete field in template fields 2021-07-15 16:06:47 +02:00
Joshua Sangmeister 239e0ff30f Add cascade deletion to user->speaker relation 2021-07-15 16:02:59 +02:00
Emanuel Schütze ca4d5783d7
Merge pull request #6159 from emanuelschuetze/update-20210714
Updated os4 services
2021-07-14 21:05:27 +02:00
Emanuel Schütze 6762888333 Updated os4 services 2021-07-14 21:01:19 +02:00
jsangmeister 9b3271277f
Merge pull request #6155 from jsangmeister/remove-majority-method
Remove majority method
2021-07-12 10:47:30 +02:00
Joshua Sangmeister feee6952e7 Remove majority method 2021-07-12 10:17:06 +02:00
Finn Stutzenstein 372fe17bf1
Merge pull request #6153 from GabrielInTheWorld/interaction-into-models
Adds applause configs to the meeting model
2021-07-12 07:21:27 +02:00
GabrielMeyer 0e56d1360e Adds applause configs to the meeting model 2021-07-09 15:46:40 +02:00
Emanuel Schütze 77f6516438
Merge pull request #6149 from emanuelschuetze/update-20210708
Updated services
2021-07-08 18:19:20 +02:00
Emanuel Schütze c98e10e607 Updated os4 services 2021-07-08 17:15:53 +02:00
Finn Stutzenstein 47ac8ac984
Merge pull request #6147 from FinnStutzenstein/datastoreLib
Datastore lib
2021-07-08 10:30:27 +02:00
Finn Stutzenstein ba72cb8b01
Datastore library 2021-07-08 10:29:43 +02:00
Finn Stutzenstein a0ec4be644
Merge pull request #6144 from FinnStutzenstein/openslides4-dev
clean up docs that are in the wiki
2021-07-08 09:07:49 +02:00
jsangmeister 238f8fa602
Merge pull request #6145 from jsangmeister/split-forwarding-tree-motion-ids
Split forwarding_tree_motion_ids into two fields
2021-07-08 09:07:28 +02:00
Joshua Sangmeister 7f8a00ea4e Split forwarding_tree_motion_ids into two fields 2021-07-05 14:52:29 +02:00
Finn Stutzenstein 65bd70375d
clean up docs that are in the wiki 2021-07-05 08:22:56 +02:00
Sean 610a10712d
Merge pull request #6142 from tsiegleauq/add-helpdesk-to-yml
Add conference_enable_helpdesk to models
2021-07-01 16:33:47 +02:00
Sean a131424c8f Add conference_enable_helpdesk to models
Adjust models.yml and the json files to support the helpdesk settings
2021-07-01 16:17:14 +02:00
Sean fb9e9513fc
Merge pull request #6141 from jsangmeister/fix-number-fields
Fix initial data for conference_auto_connect_next_speakers and datavalidator for number fields
2021-07-01 16:03:25 +02:00
Joshua Sangmeister d7c67248dc Fix initial data for conference_auto_connect_next_speakers and datavalidator for number fields 2021-07-01 15:58:14 +02:00
Emanuel Schütze d1d69954f5
Merge pull request #6136 from emanuelschuetze/icc-image
Added icc image
2021-06-30 16:04:43 +02:00
Emanuel Schütze 334931c0d9 Added icc image 2021-06-30 16:03:10 +02:00
Emanuel Schütze dbb146e92c
Merge pull request #6135 from emanuelschuetze/services
Updated services
2021-06-30 14:33:20 +02:00
Emanuel Schütze de01e81306 Updated services 2021-06-30 14:31:30 +02:00
Oskar Hahn d56800b510
Merge pull request #6131 from ostcar/icc-service
Add ICC Service
2021-06-29 20:22:38 +02:00
Oskar Hahn a38942b6eb Add ICC Service 2021-06-29 20:20:59 +02:00
Finn Stutzenstein a9fbac74bb
Merge pull request #6133 from FinnStutzenstein/openslides4-dev
Fix exporting the DS
2021-06-28 12:45:01 +02:00
Finn Stutzenstein 9519849c45
Fix exporting the DS
Introduced with #6055
2021-06-28 12:42:33 +02:00
Emanuel Schütze a52467f740
Merge pull request #6132 from emanuelschuetze/os4-update
Updated os4 sevices
2021-06-28 12:11:39 +02:00
Emanuel Schütze 6bbca6cc66 Updated os4 services 2021-06-28 12:05:04 +02:00
Finn Stutzenstein 1df22d4fc3
Merge pull request #6128 from FinnStutzenstein/adjustDatavalidator
Adjust datavalidator
2021-06-24 11:25:10 +02:00
Finn Stutzenstein b3f17db2a3
Adjust datavalidator
- collection whitelist instead of blacklist
- added field mediafile/blob for import
2021-06-24 11:23:07 +02:00
Sean 6f24efa544
Merge pull request #6125 from tsiegleauq/add-imported_at
Add imported_at to models.yml
2021-06-21 15:08:47 +02:00
Sean a841919c31 Add imported_at to models.yml
Adds the imported_at field to the models.yml file
2021-06-21 15:07:30 +02:00
Finn Stutzenstein 603a558b42
Merge pull request #6124 from FinnStutzenstein/datavalidator
Enhance datavalidator for template fields
2021-06-21 15:06:54 +02:00
Finn Stutzenstein e8dd5d56d1
Enhance datavalidator for template fields 2021-06-21 11:18:59 +02:00
Ralf Peschke 8c1fa5be91
Merge pull request #6116 from r-peschke/PR_Move_translation_from_org_to_meeting
- Move custom_translation from organization to meeting
- Initialization of custom_translations as {}
2021-06-15 11:36:06 +02:00
Ralf Peschke 6816419da9 Initialization of custom_translations as {} 2021-06-15 11:31:48 +02:00
Ralf Peschke 18534b6f75 Move custom_translation from organization to meeting: initial and example.json 2021-06-14 15:18:51 +02:00
Ralf Peschke 80b05fda2f Move custom_translation from organization to meeting 2021-06-14 15:08:01 +02:00
jsangmeister 41b5ee0340
Merge pull request #6115 from jsangmeister/model-locked-error-interface
Update datastore interface for model locked error
2021-06-14 09:16:17 +02:00
Joshua Sangmeister 0778681181 Update datastore interface for model locked error 2021-06-10 16:05:56 +02:00
Finn Stutzenstein a3b2784cc7
Merge pull request #6111 from reiterl/permission_chat_group_can_manage
Add chat.can_manage to permissions enum.
2021-06-08 21:51:39 +02:00
Ludwig Reiter d5a43ea8c4 Add chat.can_manage to permissions enum. 2021-06-08 12:15:06 +02:00
Finn Stutzenstein e56786d375
Merge pull request #6107 from FinnStutzenstein/chatgroups
[WIP] Added chat groups
2021-06-07 11:55:17 +02:00
Finn Stutzenstein bc310a98e6
Added chat groups 2021-06-07 11:18:05 +02:00
Finn Stutzenstein cc2a40a178
Merge pull request #6101 from FinnStutzenstein/organizationSpelling
Fixed spelling of organization and update submodules
2021-06-03 15:18:49 +02:00
Finn Stutzenstein 6572e8b20c
Fixed spelling of organization and update submodules 2021-06-03 15:15:15 +02:00
Finn Stutzenstein cdbb5f1a83
Merge pull request #6093 from r-peschke/PR_OS4_is_demo_user_not_RO
is_demo_user is no more read only
2021-06-03 07:21:35 +02:00
Ralf Peschke ac457fdb2c is_demo_user is no more read only 2021-06-01 10:01:50 +02:00
reiterl 1e52ef9148
Merge pull request #6092 from reiterl/models_orga
Rm ro from organisation.enable_electronic_voting
2021-05-31 15:25:53 +02:00
Ludwig Reiter 2f80d1a11e Rm ro from organisation.enable_electronic_voting 2021-05-31 15:23:12 +02:00
Finn Stutzenstein aaf476fba7
Merge pull request #6090 from FinnStutzenstein/fixDatastoreCommands
Fix clearing the DS.
2021-05-31 09:16:58 +02:00
Finn Stutzenstein acdb206632
Fix clearing the DS.
Introduced with #6055
2021-05-31 09:14:47 +02:00
Finn Stutzenstein d990b098c5
Merge pull request #6068 from FinnStutzenstein/fixDefaultProjectorRelation
Fix default projector relation
2021-05-20 13:22:15 +02:00
Finn Stutzenstein 56423737bc
Fix example data for default projectors 2021-05-20 13:18:33 +02:00
reiterl a956f2d996
Merge pull request #6069 from reiterl/models_jitsi_rm_ro
Remove read_only from meeting/jitsi_*
2021-05-20 13:13:24 +02:00
Ludwig Reiter 8a51e6ae85 Remove read_only from meeting/jitsi_* 2021-05-20 13:10:21 +02:00
Finn Stutzenstein 6d64c0c62b
Merge pull request #6065 from FinnStutzenstein/ownPassword
change model of can_change_own_password
2021-05-20 12:25:23 +02:00
Finn Stutzenstein fa67c4874b
change model of can_change_own_password 2021-05-20 12:23:43 +02:00
Norman Jäckel 3d44fc4730
Merge pull request #6055 from ostcar/tunnel
Update manage service
2021-05-17 00:18:52 +02:00
Oskar Hahn f473796ce6 Update manage service
It know has a tunnel command. See

manage help tunnel

for more information and examples.

There is not need to open the ports
2021-05-17 00:17:26 +02:00
Oskar Hahn 3b41fb468e
Merge pull request #6027 from normanjaeckel/ManageSetupCommand
Manage setup command
2021-05-16 23:59:41 +02:00
jsangmeister 12f465e0b8
Merge pull request #6062 from jsangmeister/fix-typo
Fix typos
2021-05-11 10:19:26 +02:00
Joshua Sangmeister ae8951ee82 Fix typos 2021-05-11 10:16:16 +02:00
jsangmeister 862bc8c182
Merge pull request #6052 from jsangmeister/fix-models
Fix models
2021-05-10 12:49:39 +02:00
Joshua Sangmeister 24e0771d05 Fix models.yml 2021-05-06 09:10:04 +02:00
Finn Stutzenstein 50fdaca46f
Merge pull request #6029 from FinnStutzenstein/remodelUsers
Remodel users
2021-05-03 14:01:19 +02:00
Norman Jäckel e99eb0bf0b Review 2021-05-01 11:15:03 +02:00
Norman Jäckel b4a034d900 Switched to GitHub Container Registry. 2021-04-30 13:54:05 +02:00
Norman Jäckel e9357b2c10 New production setup with Docker Compose
Updated openslides-manage-service and changed README.md

Added GitHub workflow.
2021-04-30 00:41:04 +02:00
Finn Stutzenstein be883f2a0d
Remodel users 2021-04-29 14:29:08 +02:00
Finn Stutzenstein 2fd4160aaa
Merge pull request #6041 from FinnStutzenstein/os4-pro-contra-note
Pro/contra/marked/note for OS4
2021-04-29 14:12:13 +02:00
Finn Stutzenstein 4c10007bab
example- and initial data 2021-04-29 14:09:21 +02:00
Finn Stutzenstein e2c7287812
Pro/contra/marked/note for OS4 2021-04-29 12:00:53 +02:00
Finn Stutzenstein 09ba505277
Merge pull request #6039 from FinnStutzenstein/revert-6032
Revert updating manageservice
2021-04-29 08:05:33 +02:00
Finn Stutzenstein eaef28029b
Revert updating manageservice
It breaks the deployment
2021-04-29 08:03:38 +02:00
GabrielInTheWorld 9efb47f2a5
Merge pull request #6032 from GabrielInTheWorld/update-subprojects
Update subprojects to their current master
2021-04-27 10:10:21 +02:00
GabrielMeyer dbe74308b7 Update subprojects to current master 2021-04-26 16:36:27 +02:00
Finn Stutzenstein 60cae02ec7
Merge pull request #6016 from FinnStutzenstein/pollBackend
poll backend
2021-04-26 07:20:48 +02:00
jsangmeister 25d8f88ea0
Merge pull request #6018 from jsangmeister/locked-fields-as-list
Change locked fields to a list
2021-04-22 15:31:44 +02:00
Joshua Sangmeister 595a3fea90 Make change non-breaking 2021-04-22 12:23:16 +02:00
Joshua Sangmeister 6ca37f8067 Lock CollectionField with array 2021-04-22 09:33:20 +02:00
Finn Stutzenstein 5fff49e336
poll backend 2021-04-19 09:22:55 +02:00
Finn Stutzenstein d216e3121f
Merge pull request #6013 from FinnStutzenstein/update
Update submodules
2021-04-15 16:24:40 +02:00
Finn Stutzenstein 6eccda1217
Update submodules 2021-04-15 16:19:11 +02:00
jsangmeister f703a77796
Merge pull request #6012 from jsangmeister/make-countdown-times-required
Make countdown times required
2021-04-15 11:27:27 +02:00
jsangmeister 1e141bda0c
Merge pull request #6011 from r-peschke/issue473_meeting_reference_projector_id_required
Issue473 meeting.reference projector id and user.username required
2021-04-15 11:27:20 +02:00
Joshua Sangmeister 178df37536 Make countdown times required 2021-04-15 10:39:04 +02:00
Ralf Peschke 29304f34f2 User.username also required 2021-04-14 15:29:28 +02:00
Ralf Peschke dea8e98e28 issue473_required_for_meeting.reference_projector_id 2021-04-14 13:45:51 +02:00
Finn Stutzenstein 097230b66e
Merge pull request #6000 from FinnStutzenstein/organisation_tags
Add organisation tags
2021-04-08 14:34:21 +02:00
Finn Stutzenstein 2b7124760d
Add organisation tags 2021-04-08 13:47:31 +02:00
Finn Stutzenstein 2c4c33dac1
Merge pull request #5999 from FinnStutzenstein/prod
OS4 productive setup changes
2021-04-08 12:54:48 +02:00
Finn Stutzenstein 79a14e15ad
OS4 productive setup changes
Now uses secrets and add the possibility to enable electronic voting
2021-04-08 12:52:59 +02:00
jsangmeister bb1ac2fc96
Merge pull request #5993 from jsangmeister/voting-changes
Adapt models.yml to new voting changes
2021-04-08 09:36:48 +02:00
Joshua Sangmeister 3eee3c1c37 Adapt example data 2021-04-06 11:20:47 +02:00
Joshua Sangmeister df7c25cc5d Adapt models.yml to new voting changes 2021-04-06 11:01:51 +02:00
Finn Stutzenstein 4088913d7d
Merge pull request #5988 from FinnStutzenstein/prod
OS4 Prod with swarm mode
2021-04-01 10:56:30 +02:00
Finn Stutzenstein ae406a3979
OS4: prod setup 2021-04-01 10:55:06 +02:00
Oskar Hahn 00924d45d0
Merge pull request #5983 from ostcar/fix_example_projection
Fix projection name in example data
2021-03-28 16:48:28 +02:00
Oskar Hahn 353c2cb50d Fix projection name in example data 2021-03-28 16:42:59 +02:00
Finn Stutzenstein 68c3e140e7
Merge pull request #5747 from GabrielInTheWorld/update-auth-service-interface
Update auth-service's interface
2021-03-22 13:57:52 +01:00
reiterl c703b29df0
Merge pull request #5973 from reiterl/model_poll_defaults
Update poll onehundred_percent_base and majority_method defaults.
2021-03-19 14:44:36 +01:00
Ludwig Reiter 787419911b Update poll onehundred_percent_base and majority_method defaults. 2021-03-19 14:42:31 +01:00
Finn Stutzenstein 471eec07fe
Merge pull request #5965 from reiterl/model_default_time
Remove default from projector_countdown/default_time.
2021-03-18 13:39:16 +01:00
Ludwig Reiter ccc77d8ea6 Remove default from projector_countdown/default_time. 2021-03-18 13:36:02 +01:00
Finn Stutzenstein 903764565c
Merge pull request #5958 from FinnStutzenstein/updateAndCaddy
Update submodules and use Caddy
2021-03-18 13:26:25 +01:00
Finn Stutzenstein 2b34a3ffc2
Update submodules and use Caddy 2021-03-18 13:25:12 +01:00
jsangmeister 89e8a5b565
Merge pull request #5963 from jsangmeister/css-class-required
Make css_class required
2021-03-18 11:53:28 +01:00
Joshua Sangmeister be08de3858 Make css_class required 2021-03-18 11:51:03 +01:00
Finn Stutzenstein a530fef898
Merge pull request #5962 from FinnStutzenstein/update
Update submodules
2021-03-18 08:49:14 +01:00
Finn Stutzenstein 471ea30171
Update submodules 2021-03-18 08:47:45 +01:00
Finn Stutzenstein 29beab391d
Merge pull request #5960 from reiterl/models_poll_globals
Change poll global default to false.
2021-03-18 07:31:04 +01:00
Ludwig Reiter f42dea91bf Change poll global default to false. 2021-03-17 11:46:43 +01:00
Oskar Hahn 737eeeca2f
Merge pull request #5956 from ostcar/manage-service
Add manage service
2021-03-15 10:46:11 +01:00
Oskar Hahn 5af507ea82 Fix docker-compose 2021-03-13 12:50:07 +01:00
Oskar Hahn 1a965b9034 Add manage service 2021-03-13 10:31:54 +01:00
Finn Stutzenstein 4a5c356c08
Merge pull request #5950 from jsangmeister/add-speaker-equal-fields
Add equal_fields for speaker
2021-03-11 16:10:21 +01:00
Joshua Sangmeister b62728c998 Add equal_fields for speaker 2021-03-11 15:28:19 +01:00
Finn Stutzenstein 33fda8788c
Merge pull request #5949 from FinnStutzenstein/losInitialClosed
List of speaker initially closed
2021-03-11 09:04:00 +01:00
Finn Stutzenstein c8e040348f
List of speaker initially closed 2021-03-11 08:59:30 +01:00
Finn Stutzenstein 41572f41cf
Merge pull request #5947 from r-peschke/issue474_N_as_new_100_percent_base
N as new 100% base
2021-03-11 07:47:15 +01:00
Ralf Peschke 82d6c43499 N as new 100% base 2021-03-09 11:45:49 +01:00
Finn Stutzenstein 1f780c0926
Merge pull request #5945 from FinnStutzenstein/updateModels
Add default_vote_weight default
2021-03-08 14:24:32 +01:00
Finn Stutzenstein 448fab6ead
Add default_vote_weight default 2021-03-08 14:22:16 +01:00
Finn Stutzenstein 9f036fe437
Merge pull request #5944 from FinnStutzenstein/updateModels
Add default countdowns
2021-03-08 14:09:14 +01:00
Finn Stutzenstein f833b61c9b
Add default countdowns 2021-03-08 14:08:15 +01:00
Finn Stutzenstein 91b9bc6461
Merge pull request #5917 from FinnStutzenstein/projectorContentObjects
Update projector_countdown
2021-03-08 12:17:07 +01:00
Finn Stutzenstein 0a3d511322
Merge pull request #5925 from FinnStutzenstein/models
Adjusted models
2021-03-08 12:00:44 +01:00
Finn Stutzenstein aa77b878c2
Merge pull request #5942 from FinnStutzenstein/updateModels
Add defaults for closed on agenda item and list of speakers
2021-03-08 11:35:07 +01:00
Finn Stutzenstein 0a4e580274
Add defaults for closed on agenda item and list of speakers 2021-03-08 11:33:21 +01:00
Finn Stutzenstein aa05abcb0e
Merge pull request #5934 from r-peschke/mediafile_without_2_required_fields
mediafile fields list_of_speakers_id and filename not required
2021-03-04 07:58:54 +01:00
Ralf Peschke fa80e7dfac mediafile fields list_of_speakers_id and filename not required anymore because of mediafile directory 2021-03-03 17:26:26 +01:00
Finn Stutzenstein f5529f5eb3
Adjusted models
- Added new permissions poll.can_manage
- Reorder permissions.yml alphabetically
- provide some more default values
2021-03-01 11:41:25 +01:00
Finn Stutzenstein d293832199
Merge pull request #5919 from jsangmeister/fix-action-interface2
Fix action interface2
2021-03-01 07:22:49 +01:00
Joshua Sangmeister 0583f05a4f Switch atomic meaning 2021-02-26 15:04:24 +01:00
jsangmeister 5aad7e87b6
Merge pull request #5907 from jsangmeister/fix-structured-fields
Add replacement to structured fields
2021-02-26 14:50:13 +01:00
jsangmeister cf349840fc
Merge pull request #5906 from jsangmeister/fix-action-interface
Fix action interface
2021-02-26 12:39:06 +01:00
Finn Stutzenstein 41af863484
Update projector_countdown 2021-02-25 11:03:36 +01:00
Finn Stutzenstein 36125dadc5
Merge pull request #5914 from r-peschke/openslides4-dev
Add 'minimum' for some fields in Projector
2021-02-23 15:56:29 +01:00
Ralf Peschke 56c8b1c15c
Add 'minimum' for some fields in Projector 2021-02-23 15:48:15 +01:00
Ralf Peschke d127541e24
Merge pull request #5904 from r-peschke/os4-permissions-in_initial-data.json
Permissions in initial-data.json and example-data.json concording to those in models.yaml
2021-02-22 11:47:21 +01:00
Ralf Peschke 9f6ad59d0b PR5904 Fix permissions initial_data.jsoin and example-data.json 2021-02-22 11:42:47 +01:00
Finn Stutzenstein f0a5e2716a
Merge pull request #5900 from FinnStutzenstein/projector
Remodel the projector
2021-02-22 08:03:43 +01:00
Finn Stutzenstein e30f4c85d8
Merge pull request #5912 from FinnStutzenstein/userTimestamp
Fix user last_email_send type
2021-02-22 07:58:20 +01:00
Finn Stutzenstein 1e194cf161
Fix user last_email_send type 2021-02-22 07:57:08 +01:00
Joshua Sangmeister 42b590c9f0 Add replacement to structured fields 2021-02-19 12:17:51 +01:00
Joshua Sangmeister a427ca69fe Fix action interface 2021-02-19 09:26:44 +01:00
Ralf Peschke f3086375cc Fix recommendations from code review 2021-02-18 16:49:21 +01:00
reiterl 21338d20c8
Merge pull request #5901 from reiterl/change_poll_global_defaults
Change poll global_* default to true.
2021-02-18 13:06:56 +01:00
Ralf Peschke d413f04585 Proposal for permissions in initial-data.json 2021-02-18 11:08:08 +01:00
Ludwig Reiter 0a9b6f2a62 Change poll global_* default to true. 2021-02-17 11:16:18 +01:00
Finn Stutzenstein 0eaad10f11
Remodel the projector 2021-02-16 10:37:20 +01:00
Finn Stutzenstein 6e0dcf71df
Merge pull request #5858 from normanjaeckel/FixModelsvalidator
Fixed modelsvalidator.
2021-02-12 07:24:02 +01:00
Finn Stutzenstein cf653fd151
Merge pull request #5880 from r-peschke/debug-port-for-backend
Map debug port for openslides-backend in docker-compose.dev
2021-02-10 14:38:07 +01:00
Finn Stutzenstein 4794f063f8
Merge pull request #5835 from reiterl/dev_check_json
Work on check_json.py
2021-02-10 13:32:32 +01:00
Finn Stutzenstein cabba247f3
Reworked checker
Credits for initial work to @reiterl
2021-02-10 12:51:41 +01:00
Ralf Peschke 762a279d1b Map debug port for openslides-backend in docker-compose.dev 2021-02-10 11:23:46 +01:00
Norman Jäckel 11213125fc Fixed modelsvalidator. 2021-02-05 17:03:56 +01:00
Norman Jäckel 4b90c1b2ba
Merge pull request #5855 from normanjaeckel/Permission
Added permission.yml.
2021-02-05 14:03:21 +01:00
Norman Jäckel d1d18c299a Added permission.yml. 2021-02-05 12:34:14 +01:00
Finn Stutzenstein 89498a12c4
Merge pull request #5831 from FinnStutzenstein/fixInitialData
Fix initial data
2021-02-04 16:07:48 +01:00
Finn Stutzenstein aa07af5329
Merge pull request #5849 from GabrielInTheWorld/update-submodules
Update submodules
2021-02-04 15:56:19 +01:00
GabrielMeyer fe6ce208e7 Update 2021-02-04 15:35:15 +01:00
Finn Stutzenstein f41349f038
Merge pull request #5848 from jsangmeister/adjust-ds-interface
Adjust datastore interface
2021-02-04 13:49:41 +01:00
Joshua Sangmeister 21876d3be6 Adjust datastore interface 2021-02-04 13:43:14 +01:00
Finn Stutzenstein 1bee13d7e9
Merge pull request #5844 from OpenSlides/revert-5843-fixActionInterface
Revert "Fix action interface"
2021-02-03 10:07:10 +01:00
Finn Stutzenstein f7ba41dd8f
Revert "Fix action interface" 2021-02-03 10:06:16 +01:00
Finn Stutzenstein 728cbdb719
Merge pull request #5843 from FinnStutzenstein/fixActionInterface
Fix action interface
2021-02-03 10:02:07 +01:00
Finn Stutzenstein 7f125165a3
Fix action interface 2021-02-03 10:00:53 +01:00
Finn Stutzenstein aa934ecc1f
more fixes 2021-02-02 08:54:28 +01:00
Finn Stutzenstein 4107bbac80
Merge pull request #5836 from normanjaeckel/ChangeModelsYml
Added permissions to models.yml
2021-02-02 08:06:37 +01:00
Norman Jäckel 41956313b5 Added permissions to models.yml 2021-01-30 13:34:15 +01:00
Finn Stutzenstein 5d82a05608
Fix initial data 2021-01-28 13:36:11 +01:00
Finn Stutzenstein 7502569211
Merge pull request #5827 from FinnStutzenstein/update
update submodules
2021-01-27 12:41:31 +01:00
Finn Stutzenstein 2360665a6f
update submodules 2021-01-27 12:22:30 +01:00
Norman Jäckel a949dc7006
Merge pull request #5802 from normanjaeckel/ChangedModelsForUsers
Added meeting specific fields for users.
2021-01-22 15:27:26 +01:00
Norman Jäckel c6b1a254a0 Added meeting specific fields for users and changed role system. 2021-01-22 14:58:44 +01:00
jsangmeister 9abf787d99
Merge pull request #5704 from jsangmeister/datastore-partial-list-updates
Update datastore specs
2021-01-14 15:05:33 +01:00
Finn Stutzenstein f0a4dc52d5
Merge pull request #5783 from reiterl/dev_model_config
Add config defaults to models.yml settings.
2021-01-14 08:54:57 +01:00
Ludwig Reiter 926e7482b1
Update defaults. 2021-01-14 08:53:24 +01:00
Ludwig Reiter 24b435bc46 Add config defaults to the settings in model.yml 2021-01-13 11:26:13 +01:00
Finn Stutzenstein b825fb2a35
Merge pull request #5768 from FinnStutzenstein/updateDSInterface
Update Datastore interface
2021-01-12 16:25:58 +01:00
Finn Stutzenstein 0d2ce2cf29
Merge pull request #5809 from FinnStutzenstein/resources
Resources
2021-01-12 16:18:26 +01:00
Finn Stutzenstein 7c3e334677
Add default test resource 2021-01-12 16:17:06 +01:00
Joshua Sangmeister 5844eabb95 more docs & rename max_position 2021-01-12 14:58:35 +01:00
Finn Stutzenstein 08691f3a1f Update Datastore interface
Add new locked field syntax
2021-01-12 14:58:32 +01:00
Finn Stutzenstein 118876dcc1
Merge pull request #5808 from FinnStutzenstein/update
update OS4 submodules
2021-01-12 09:58:08 +01:00
Finn Stutzenstein c9f14d8b78
update OS4 submodules 2021-01-12 09:56:57 +01:00
Finn Stutzenstein 62cc57c54b
Merge pull request #5723 from FinnStutzenstein/categoryPrefixOptional
Change the category prefix to optional
2021-01-12 08:40:51 +01:00
Finn Stutzenstein 7854487e4f
Merge pull request #5803 from tsiegleauq/adjust-initial-data
Update initial data
2021-01-12 08:37:54 +01:00
GabrielInTheWorld 29e79eefb4
Merge pull request #5806 from GabrielInTheWorld/fix-auth-environment
Updates environment for autoupdate
2021-01-11 15:54:44 +01:00
GabrielMeyer 4d2ba5447a Updates environment for autoupdate 2021-01-11 14:47:47 +01:00
Sean fecec21a0f Update initial data
update initial data to new naming
2021-01-08 15:11:24 +01:00
Oskar Hahn f2f9000dec
Merge pull request #5798 from ostcar/permission-interface
permission interface
2021-01-08 09:40:54 +01:00
Finn Stutzenstein 5098d71891
Merge pull request #5799 from FinnStutzenstein/update
Updating submodules
2021-01-07 17:31:51 +01:00
Finn Stutzenstein 3a3ac21e8a
Updating submodules 2021-01-07 17:30:39 +01:00
Oskar Hahn 91f2360550 permission interface 2021-01-07 17:28:16 +01:00
Oskar Hahn 14ae5736d2
Merge pull request #5792 from ostcar/example_data_permission_rename
Example data permission rename
2021-01-07 17:02:42 +01:00
Oskar Hahn ec9cdfc7a9 Fix permissions in example data
rename superadmin to admin

Rename user perm

enum values to strings

step

internal_item
2021-01-07 17:00:38 +01:00
Finn Stutzenstein 45289663c5
Merge pull request #5790 from ostcar/models-changes
models.yml: More clear enums
2021-01-07 16:52:19 +01:00
Norman Jäckel 2399414a4f
Merge pull request #5794 from normanjaeckel/Docs
Docs
2021-01-07 16:49:11 +01:00
Oskar Hahn a1702b0b8d Remove supporters autoremove 2021-01-07 16:46:21 +01:00
Finn Stutzenstein 6db4f68136
Merge pull request #5796 from FinnStutzenstein/gitignore
Add OS3 secrets to gitignore
2021-01-07 09:19:03 +01:00
Finn Stutzenstein 1ad58c503c
Add OS3 secrets to gitignore 2021-01-07 09:17:33 +01:00
Norman Jäckel b85a981dfe Added some descriptions. 2021-01-06 20:28:35 +01:00
Oskar Hahn 3c50e18cb3
Merge pull request #5793 from ostcar/modelsvalidate_external_lib
Use openslides-models-to-go
2021-01-06 11:39:21 +01:00
Oskar Hahn 98c2f5c332 Use openslides-models-to-go 2021-01-06 11:32:16 +01:00
Finn Stutzenstein c2e46afbd1
Merge pull request #5785 from reiterl/dev_model_supporter
Remove equal_fields meetings from supporter_ids.
2021-01-05 08:11:03 +01:00
Oskar Hahn 2504fbb307 Rename meeting superadmin to just admin 2021-01-04 15:46:22 +01:00
Oskar Hahn 1c5b4a5c9e More clear enums 2021-01-02 21:30:28 +01:00
Ludwig Reiter a8a5890d20 Remove equal_fields meetings from supporter_ids. 2020-12-18 11:36:50 +01:00
jsangmeister a3dce30e1d
Merge pull request #5776 from reiterl/dev_model_rm_option
Remove allow_multiple_votes_per_candidate
2020-12-17 15:22:01 +01:00
jsangmeister d224571373
Merge pull request #5782 from jsangmeister/fix-models
Fix models
2020-12-17 11:03:22 +01:00
Joshua Sangmeister e3af800597 Fix models 2020-12-17 11:00:22 +01:00
jsangmeister 3dbc5f29da
Merge pull request #5769 from jsangmeister/update-models
Removed redundant information from models.yml
2020-12-17 10:31:36 +01:00
Joshua Sangmeister 8a36731d80 Removed redundant information from models.yml and adjusted validator 2020-12-17 10:30:15 +01:00
Ludwig Reiter 7648c9c70f Remove allow_multiple_votes_per_candidate 2020-12-16 11:38:34 +01:00
Finn Stutzenstein 253126723f
Merge pull request #5767 from FinnStutzenstein/update
Update Submodules
2020-12-10 12:02:33 +01:00
Finn Stutzenstein a366c54afe
Update Submodules 2020-12-10 12:01:06 +01:00
Finn Stutzenstein bbb355cc05
Merge pull request #5759 from FinnStutzenstein/updateMediafileInterface
Update mediaservice interface
2020-12-08 10:06:13 +01:00
Finn Stutzenstein 67f3312090
Update mediaservice interface 2020-12-08 10:05:00 +01:00
Finn Stutzenstein b2909e0f1c
Merge pull request #5728 from reiterl/dev_model_number_value
Add number_value to motion model.
2020-12-08 08:39:17 +01:00
Finn Stutzenstein cbe1a133f4
Merge pull request #5758 from FinnStutzenstein/fixExampleData
Fix example data
2020-12-08 08:37:34 +01:00
Finn Stutzenstein 9504f2fb73
Fix example data 2020-12-08 08:36:09 +01:00
Ludwig Reiter 8c59d1090c Update models.py
Add description and read_only to motion/number_value.
2020-12-07 14:31:08 +01:00
Finn Stutzenstein 09d0f740c2
Merge pull request #5756 from FinnStutzenstein/changeDocs
Change modellierung.drawio
2020-12-04 16:19:47 +01:00
Finn Stutzenstein 7f9f12e750
Change modellierung.drawio 2020-12-04 16:17:37 +01:00
Finn Stutzenstein d983925930
Merge pull request #5753 from FinnStutzenstein/refinePolls
Refine poll modelling
2020-12-03 10:43:02 +01:00
Finn Stutzenstein a8f097ded4
Refine poll modelling 2020-12-03 10:40:47 +01:00
GabrielMeyer 50129c6fd0 Update auth-service's interface 2020-12-01 16:52:57 +01:00
Finn Stutzenstein 315bd7cdf3
Merge pull request #5696 from FinnStutzenstein/actionServiceInterface
Enhance the action interface
2020-12-01 14:37:43 +01:00
Finn Stutzenstein a87901aee0
Merge pull request #5741 from FinnStutzenstein/models
Propagate changes in OS3
2020-12-01 13:54:35 +01:00
Finn Stutzenstein 9826e763af
Propagate changes in OS3 2020-12-01 13:45:29 +01:00
Finn Stutzenstein 4c1f7b123a
Merge pull request #5698 from FinnStutzenstein/pollRestructure
Restructure polls
2020-12-01 11:51:14 +01:00
Finn Stutzenstein 4f02a236b4
small changes 2020-11-27 10:47:02 +01:00
Ludwig Reiter ed93d873a7 Add number_value to motion model. 2020-11-26 09:17:22 +01:00
Finn Stutzenstein 99b0bc6e3b
Restructure polls 2020-11-25 14:22:16 +01:00
Finn Stutzenstein 62f40d1447
move atomic parameter 2020-11-25 12:17:01 +01:00
Finn Stutzenstein 5019403a8e
Merge pull request #5722 from GabrielInTheWorld/new-compose
Deletes old docker-compose and adds a port to auth-service
2020-11-25 12:14:57 +01:00
GabrielMeyer c62cc7851d Deletes old docker-compose and adds a port to auth-service 2020-11-24 16:38:07 +01:00
Finn Stutzenstein a85a5458c6
Change the category prefix to optional 2020-11-24 15:25:48 +01:00
GabrielInTheWorld b2215131a4
Merge pull request #5712 from GabrielInTheWorld/fix-example-data
Fixes missing meeting_id in example-data
2020-11-19 15:05:35 +01:00
GabrielMeyer 371fb0c6ae Fixes meeting_id example-data 2020-11-19 15:01:53 +01:00
Finn Stutzenstein a0d0a4ac0b
Change name 2020-11-19 15:01:49 +01:00
Finn Stutzenstein cb7e91d8c5
Fixed ActionsResult 2020-11-19 13:54:53 +01:00
Finn Stutzenstein a73ae9961f
Include new transaction mode for bulk actions 2020-11-19 13:52:39 +01:00
jsangmeister c3bb1928b9
Merge pull request #5708 from r-peschke/feature_setCommittee_Meeting_protected
Set relation Committee -> Meeting protected
2020-11-19 10:56:20 +01:00
Ralf Peschke b39a2e397d Set relation Committee -> Meeting protected 2020-11-18 14:13:10 +01:00
Finn Stutzenstein c48b5277c4
Merge pull request #5646 from FinnStutzenstein/permissionService
Permission service
2020-11-17 07:51:20 +01:00
fistutzenste 945d1307ba
Permission Service 2020-11-17 07:49:14 +01:00
Joshua Sangmeister 8cd6e02772 Updated specs 2020-11-13 16:18:34 +01:00
Joshua Sangmeister c811926478 Update datastore specs 2020-11-13 13:05:26 +01:00
Finn Stutzenstein 989a5789ef
Merge pull request #5699 from FinnStutzenstein/update
Update Services
2020-11-12 07:34:09 +01:00
Finn Stutzenstein 95aa94e4ea
Update Services 2020-11-12 07:32:18 +01:00
jsangmeister 7a039469b0
Merge pull request #5697 from reiterl/dev_model_group
Add on delete Protect to group relations.
2020-11-11 13:50:42 +01:00
Ludwig Reiter 2304729545 Add on delete Protect to group relations. 2020-11-11 10:22:59 +01:00
Finn Stutzenstein 8cfa7d0a51
Result->Response, actions->action 2020-11-11 08:33:59 +01:00
Finn Stutzenstein 5b0047b093
Enhance the action interface 2020-11-10 17:37:53 +01:00
jsangmeister 1fb296038e
Merge pull request #5679 from jsangmeister/protect-first-state-of-workflow
Protect first_state_of_workflow_id & rename has_inherited_access_group_ids
2020-11-05 17:40:31 +01:00
Joshua Sangmeister ee41eb2df9 Protect first_state_of_workflow_id 2020-11-05 17:39:06 +01:00
jsangmeister 9c766de474
Merge pull request #5675 from reiterl/dev_model_lightblue
Add a default to motion_state css_class.
2020-11-04 16:03:39 +01:00
Ludwig Reiter 99011e6909 Add a default to motion_state css_class. 2020-11-04 14:53:57 +01:00
Finn Stutzenstein c104f235da
Merge pull request #5670 from FinnStutzenstein/fixMediafileExampleData
Fix eaxmple data: Add LOS for mediafiles
2020-11-03 15:23:58 +01:00
Finn Stutzenstein a183fa89cb
Fix eaxmple data: Add LOS for mediafiles 2020-11-03 15:22:24 +01:00
Finn Stutzenstein 0b6e855254
Merge pull request #5669 from FinnStutzenstein/locationToPlace
location -> place
2020-11-03 13:43:10 +01:00
Finn Stutzenstein ef78783b55
location -> place 2020-11-03 13:41:45 +01:00
Finn Stutzenstein ca069edb11
Merge pull request #5668 from FinnStutzenstein/structuredField
Structured fields, updated repos
2020-11-03 12:14:57 +01:00
Finn Stutzenstein 8bf3b3df6b
Structured fields, updated repos 2020-11-03 12:14:09 +01:00
jsangmeister 3e0ac15e49
Merge pull request #5662 from reiterl/dev_model_2
Update model assignment phase.
2020-10-30 10:33:59 +01:00
Ludwig Reiter e199e9dbe0 Update model assignment. Change enum and default of phase. 2020-10-30 10:03:40 +01:00
Finn Stutzenstein 4d8a53513a
Merge pull request #5659 from FinnStutzenstein/fixDockerComposeDev
Fix docker compose dev
2020-10-28 13:17:52 +01:00
Finn Stutzenstein c83d9cf806
Fix docker compose dev 2020-10-28 13:11:26 +01:00
Finn Stutzenstein 39d7353959
Merge pull request #5621 from FinnStutzenstein/prod
Productive setup
2020-10-28 10:42:42 +01:00
Finn Stutzenstein 9372386979
Prod setup 2020-10-28 08:46:03 +01:00
Finn Stutzenstein 399bf389d6
Merge pull request #5635 from FinnStutzenstein/dsHelperTools
Helper-tools for the DataStore
2020-10-23 08:32:03 +02:00
Finn Stutzenstein 4ff76444b2
Helper-tools for the DataStore 2020-10-23 08:31:20 +02:00
Finn Stutzenstein 1f049caf5d
Merge pull request #5650 from FinnStutzenstein/adoptExampleDataII
Adopt example data: Reenable the old version
2020-10-21 11:43:24 +02:00
Finn Stutzenstein e164e2b118
Adopt example data: Reenable the old version
This can be reverted, if every service can deal with the new syntax
2020-10-21 11:41:56 +02:00
Finn Stutzenstein ce5bb9dca5
Merge pull request #5649 from FinnStutzenstein/adoptExampleData
Adopt example data for new structured fields
2020-10-21 10:44:25 +02:00
Finn Stutzenstein a406d5ac88
Adopt example data for new structured fields 2020-10-21 10:39:44 +02:00
Finn Stutzenstein 81c00368f0
Merge pull request #5648 from FinnStutzenstein/enableMotionFeatures
Enable more features for motions
2020-10-21 09:22:58 +02:00
Finn Stutzenstein 5439e46866
Enable more features for motions 2020-10-21 09:21:27 +02:00
Finn Stutzenstein 44cfc2849f
Merge pull request #5642 from reiterl/dev_model
Update model.yml to switch enum of state.
2020-10-20 10:08:53 +02:00
Ludwig Reiter de65db33a7 Update model.yml to switch enum of state.
The motion_state css_class should include grey.
2020-10-20 09:35:29 +02:00
jsangmeister b6dd6086aa
Merge pull request #5632 from jsangmeister/change-weights
Change weights and add defaults
2020-10-15 09:55:36 +02:00
Finn Stutzenstein 77c03b5675
Merge pull request #5630 from GabrielInTheWorld/update-auth-service-interface
Update auth-service's interface and auth-service
2020-10-14 07:55:58 +02:00
Joshua Sangmeister 2664c39361 Change weights and add defaults 2020-10-13 17:16:35 +02:00
GabrielMeyer 049421bda9 Update auth-service's interface and auth-service 2020-10-13 15:06:18 +02:00
Finn Stutzenstein eded14f066
Merge pull request #5496 from GabrielInTheWorld/update-auth-service-interface
Update auth-service's interface
2020-10-13 08:26:15 +02:00
jsangmeister 27fdcc66d2
Merge pull request #5629 from jsangmeister/add-defaults
Add default type for motion_change_recommendation
2020-10-12 19:06:35 +02:00
Joshua Sangmeister 8530c87f77 Add default type for motion_change_recommendation 2020-10-12 19:02:26 +02:00
GabrielMeyer d123f0934a Updates auth-service's interface
- Also updates `example-data.json` corresponding to OpenSlides/openslides-auth-service#32
2020-10-12 17:17:30 +02:00
jsangmeister e9311083f2
Merge pull request #5620 from jsangmeister/add-on-delete
Add on_delete and meeting_id for all models
2020-10-12 16:20:07 +02:00
Joshua Sangmeister 064006474d Add on_delete, meeting_id and equal_fields 2020-10-12 15:13:01 +02:00
Finn Stutzenstein 9d52faaa6d
Merge pull request #5605 from FinnStutzenstein/models
OS4 Models: Add configuration and adopt schema changes in OS3
2020-10-12 14:46:20 +02:00
Finn Stutzenstein 2cc81c0168
OS4 Models: Add configuration and adopt schema changes in OS3 2020-10-12 14:39:12 +02:00
jsangmeister 3e655d3f12
Merge pull request #5626 from jsangmeister/add-default-agenda-item-type
Add default type to agenda item
2020-10-12 11:54:28 +02:00
Joshua Sangmeister f511b2f722 Add default type to agenda item 2020-10-12 11:48:23 +02:00
jsangmeister c83a82337b
Merge pull request #5612 from jsangmeister/fix-html-permissive
Fix typo
2020-10-08 09:31:14 +02:00
Joshua Sangmeister b311525b7d Fix typo 2020-10-08 09:27:04 +02:00
Finn Stutzenstein 31d6f93033
Merge pull request #5619 from FinnStutzenstein/update
Update services
2020-10-08 09:11:26 +02:00
Finn Stutzenstein 1891cc7e0b
Update services 2020-10-08 08:29:04 +02:00
Finn Stutzenstein 08b4f023cc
Merge pull request #5615 from GabrielInTheWorld/update-auth-service
Updates auth-service
2020-10-08 07:41:49 +02:00
GabrielMeyer 3971404764 Updates auth-service 2020-10-07 12:02:50 +02:00
jsangmeister 34dcb91744
Merge pull request #5593 from jsangmeister/adjust-models-yml
Adjust models.yml
2020-10-06 15:14:47 +02:00
Joshua Sangmeister ba03281c17 Adjust models.yml 2020-10-06 15:12:10 +02:00
Norman Jäckel a7248c2399
Merge pull request #5578 from FinnStutzenstein/updateModels
Update models
2020-10-02 09:04:41 +02:00
Finn Stutzenstein 248a0451df
Add topic to projected collections 2020-10-02 08:13:45 +02:00
Norman Jäckel 3b4a006754
Merge pull request #5589 from ostcar/modelsvalidate-version
Use a specific version of the modelsvalidater to make build reproducable
2020-10-01 21:10:21 +02:00
Oskar Hahn bd7e6b95cb Use a specific version of the modelsvalidater to make build reproducable 2020-09-30 20:15:07 +02:00
Norman Jäckel 2a479746cd
Merge pull request #5587 from normanjaeckel/FixBranch
Fix branch.
2020-09-30 20:11:39 +02:00
Norman Jäckel 5b6f6b50c1 Added through keyword for nested structured relations. 2020-09-29 23:24:12 +02:00
Norman Jäckel a4ed281c7e Fix branch. 2020-09-29 22:56:03 +02:00
Norman Jäckel e9fd1f108b
Merge pull request #5572 from normanjaeckel/modelsToYML
Models to yml
2020-09-29 22:49:03 +02:00
Norman Jäckel e80f7eb5e4 Added required flag and other properties to some models. 2020-09-29 22:43:39 +02:00
Finn Stutzenstein 49c77912ae
Merge pull request #5576 from jsangmeister/fix-example-data
Fix example data
2020-09-28 11:49:24 +02:00
Finn Stutzenstein b2eab8306e
Merge pull request #5558 from reiterl/dev1
Add calculated to motion_category/level field.
2020-09-28 10:45:24 +02:00
Joshua Sangmeister 9c6bb8ab7f Fix example data 2020-09-24 17:40:09 +02:00
GabrielInTheWorld 8ced3e0f38
Merge pull request #5573 from jsangmeister/fix-example-data
Fix example data & add direct db access script
2020-09-22 11:36:18 +02:00
Joshua Sangmeister 3b0df8de45 Fix example data & add direct db access script 2020-09-22 11:34:21 +02:00
Norman Jäckel a1925e87f3 Updated models.yml. Added GitHub action with validator. 2020-09-20 22:21:23 +02:00
Oskar Hahn c1b9de6e81 Added models.yml 2020-09-19 20:44:30 +02:00
jsangmeister 3dbc854d81
Merge pull request #5560 from jsangmeister/update-auth-backend
Update auth service and backend
2020-09-15 13:50:39 +02:00
Joshua Sangmeister 00eafb93b9 Update auth service and backend 2020-09-15 13:48:12 +02:00
Ludwig Reiter 4ea247a3f6 Add calculated to motion_category/level field. 2020-09-14 09:45:56 +02:00
Finn Stutzenstein 7e6ab82f8e
Merge pull request #5552 from FinnStutzenstein/updateModels
Update models.txt
2020-09-09 08:38:59 +02:00
Finn Stutzenstein de1cebae26
Update models.txt 2020-09-09 08:38:22 +02:00
Finn Stutzenstein 94219feb44
Merge pull request #5513 from FinnStutzenstein/media-interface
Mediaservice interface
2020-09-01 08:07:15 +02:00
Finn Stutzenstein e0df72bb06
Merge pull request #5527 from FinnStutzenstein/update
Update submodules
2020-08-25 16:36:10 +02:00
Finn Stutzenstein 3fe8b9b23c
Update submodules 2020-08-25 16:29:16 +02:00
Oskar Hahn 85bb8bbb5c
Update models.txt (#5523)
Update models.txt
2020-08-25 09:51:00 +02:00
Finn Stutzenstein 5846838a04
Merge pull request #5524 from FinnStutzenstein/update
Update models.txt
2020-08-24 15:57:13 +02:00
Finn Stutzenstein 0d2c91d8f9
Update models.txt 2020-08-24 15:56:14 +02:00
Finn Stutzenstein 829a44177a
Merge pull request #5518 from FinnStutzenstein/noteGenericRelations
Add reverse models for generic relations in models.txt (closes #5337)
2020-08-21 07:56:00 +02:00
Finn Stutzenstein 48a66d85bf
Add reverse models for generic relations in models.txt (closes #5337) 2020-08-21 07:55:01 +02:00
Finn Stutzenstein fc3b498511
Mediaservice interface 2020-08-18 10:39:20 +02:00
Finn Stutzenstein 3fb41bf800
Merge pull request #5512 from FinnStutzenstein/update
Fix HaProxy redirection and client
2020-08-17 13:43:02 +02:00
Finn Stutzenstein 0993c25e66
Fix HaProxy redirection and client 2020-08-17 13:36:42 +02:00
Finn Stutzenstein cb894c9d99
Merge pull request #5499 from FinnStutzenstein/moreCalculatedFields
Add calculated fields
2020-08-17 12:10:24 +02:00
Finn Stutzenstein 6ccf13bc6d
Merge pull request #5511 from FinnStutzenstein/update
Update Client and Auth service
2020-08-17 10:15:00 +02:00
Finn Stutzenstein b312dc9297
Update Client and Auth service 2020-08-17 10:14:14 +02:00
Finn Stutzenstein c86c3bdcbb
Merge pull request #5509 from tsiegleauq/slight-dev-docu-enhancement
Add https-info and enhance work-in-submodules doc
2020-08-14 11:16:00 +02:00
Finn Stutzenstein ae2b73a8e5
Merge pull request #5510 from FinnStutzenstein/haproxy-redirect
Added redirect from http to https
2020-08-14 11:14:51 +02:00
Finn Stutzenstein ff2569aba9
Added redirect from http to https 2020-08-14 11:13:56 +02:00
Sean Engelhardt 888e17369a Add https-info and enhance work-in-submodules doc 2020-08-14 11:09:49 +02:00
Finn Stutzenstein 5e0eda112d
Adding motion recommendation extension references as relations 2020-08-11 15:14:11 +02:00
Finn Stutzenstein 37d3591d69
Add calculated fields 2020-08-11 09:25:31 +02:00
Finn Stutzenstein 27725a7694
Merge pull request #5493 from OpenSlides/fixModels
Fix syntax of models.txt
2020-08-03 15:54:01 +02:00
Oskar Hahn cb0134a345 Fix syntax of models.txt 2020-08-03 15:19:03 +02:00
Finn Stutzenstein 8caf8e0c64
Merge pull request #5492 from FinnStutzenstein/fixExampleData
Fix example data II
2020-07-31 10:37:35 +02:00
fistutzenste 4fbf0a5438
Fix example data II 2020-07-31 10:36:20 +02:00
Finn Stutzenstein 51c27c4f12
Merge pull request #5491 from FinnStutzenstein/fixExampleData
Fix example data
2020-07-31 10:23:09 +02:00
fistutzenste 69ba33b117
Fix example data 2020-07-31 10:20:39 +02:00
Finn Stutzenstein 40fde015fc
Merge pull request #5490 from FinnStutzenstein/removeMkcert
Remove mkcert, update submodules
2020-07-31 09:23:19 +02:00
fistutzenste 3297e9c4e2
Remove mkcert, update submodules 2020-07-31 09:22:24 +02:00
Finn Stutzenstein 0671ca66c2
Merge pull request #5483 from FinnStutzenstein/fixDocs
Fix docs
2020-07-31 08:58:13 +02:00
Finn Stutzenstein 296a39929e
Merge pull request #5487 from FinnStutzenstein/smallerTimeouts
Smaller timeouts for HaProxy
2020-07-31 08:56:46 +02:00
FinnStutzenstein 584fe874ae
Fix docs and autoupdate interface 2020-07-30 09:09:09 +02:00
Finn Stutzenstein c9223329cc
Merge pull request #5489 from FinnStutzenstein/includeMediaService
WIP: Adding media service
2020-07-29 15:58:53 +02:00
FinnStutzenstein e518ef2784
WIP: Adding media service 2020-07-29 15:57:03 +02:00
Finn Stutzenstein 8c57d911a3
Merge pull request #5486 from GabrielInTheWorld/submodule-update
Submodule update backend
2020-07-29 08:35:40 +02:00
Finn Stutzenstein 6d2651650e
Merge pull request #5488 from GabrielInTheWorld/docker-setup
Fixes setup for auth-service
2020-07-28 14:25:29 +02:00
GabrielMeyer 6b6960c8fe Fixes setup for auth-service 2020-07-28 14:23:28 +02:00
FinnStutzenstein ded12bbea4
Smaller timeouts for HaProxy
This is needed to quickly detect the downage from a service. With these timeouts 12 seonds are needed for HaProxy to return an initial 503. All other 503 are instance since the service is not detected up again.
2020-07-28 10:49:09 +02:00
GabrielMeyer b81da7c979 Submodule update backend 2020-07-27 12:02:00 +02:00
Finn Stutzenstein a489742494
Merge pull request #5485 from swilde/openslides4-dev
If mkcert is not available, create certificates using openssl
2020-07-27 11:17:51 +02:00
Sascha Wilde 9bcffb08fb If mkcert is not available, create certificates using openssl 2020-07-24 17:32:28 +02:00
Finn Stutzenstein 5d7dc56684
Merge pull request #5476 from FinnStutzenstein/https
Https
2020-07-24 10:59:37 +02:00
FinnStutzenstein 79ddac9da8
Use HTTPS in development mode 2020-07-24 10:58:39 +02:00
FinnStutzenstein e47b5fff17
Merge branch 'update' into openslides4-dev 2020-07-23 12:16:59 +02:00
FinnStutzenstein cd007b0950
Update images 2020-07-23 12:16:35 +02:00
Finn Stutzenstein 5086df63b0
Merge pull request #5481 from FinnStutzenstein/update
Update submodules
2020-07-22 16:22:33 +02:00
FinnStutzenstein a17e88fa46
Update submodules 2020-07-22 16:21:46 +02:00
Finn Stutzenstein 708e176c2c
Merge pull request #5477 from FinnStutzenstein/schema
OS4 Schema: agenda items have tags
2020-07-22 13:29:28 +02:00
FinnStutzenstein 7d5cee923a
OS4 Schema: agenda items have tags 2020-07-17 08:38:55 +02:00
Finn Stutzenstein 846fb982f0
Merge pull request #5471 from tsiegleauq/ignore-more
Ignore venv
2020-07-17 07:04:54 +02:00
Sean ce3446bbe5 Ignore venv
.virtualenv should be ignored since it might still exist
from openslides 3.
2020-07-16 15:10:57 +02:00
Finn Stutzenstein 357e54ec93
Merge pull request #5474 from FinnStutzenstein/update
Updated auth service
2020-07-15 16:54:35 +02:00
FinnStutzenstein b6b041d0b6
Updated auth service 2020-07-15 16:54:01 +02:00
Finn Stutzenstein 06b520f3e6
Merge pull request #5466 from GabrielInTheWorld/add-auth-service
Adds submodule openslides-auth-service
2020-07-15 16:41:10 +02:00
GabrielMeyer 1f8e3d60e6 Adds submodule openslides-auth-service 2020-07-14 16:21:49 +02:00
Finn Stutzenstein 89f4323d11
Merge pull request #5460 from jsangmeister/update-models
Add new settings to meeting model
2020-07-09 12:53:00 +02:00
Joshua Sangmeister bedbb75c69 Add new settings to meeting model 2020-07-09 12:46:54 +02:00
Finn Stutzenstein 64628e4be9
Merge pull request #5458 from jsangmeister/update-datastore
Update datastore commit & config
2020-07-09 12:38:14 +02:00
Joshua Sangmeister 7cc6d1fda2 Update autoupdate, backend, client 2020-07-09 11:56:00 +02:00
Joshua Sangmeister 5dc22a7a60 Update datastore commit & config 2020-07-09 09:25:37 +02:00
Finn Stutzenstein 57b4dbd463
Merge pull request #5436 from FinnStutzenstein/clientStartup
Fixed client startup
2020-07-06 09:14:39 +02:00
FinnStutzenstein 8b537d32c0
Fixed client startup 2020-07-06 09:14:03 +02:00
Finn Stutzenstein c6fdb627f6
Merge pull request #5409 from FinnStutzenstein/integration
Integration of the backend and autoupdate service
2020-06-18 12:45:38 +02:00
FinnStutzenstein fe8a74ddf4
Integrate the autoupdate and backend service 2020-06-18 12:43:06 +02:00
jsangmeister b6a9d7dee8
Merge pull request #5400 from jsangmeister/fix-reserve-ids-specs
Fix reserveIds specification
2020-06-09 13:55:03 +02:00
Joshua Sangmeister 1f822d59dd Fix reserveIds specification 2020-06-09 13:55:40 +02:00
jsangmeister 38c67c6dd3
Merge pull request #5358 from jsangmeister/add-reader-to-dc
Add reader to docker compose files
2020-06-02 09:58:30 +02:00
jsangmeister 6c944eeaa8
Merge pull request #5379 from jsangmeister/change-return-types
Change return type of getAll and filter
2020-05-19 16:27:32 +02:00
Joshua Sangmeister ba69386f94 Change return type of getAll and filter 2020-05-19 16:04:48 +02:00
jsangmeister 209eff276e
Merge pull request #5357 from jsangmeister/datastore-rename-getids
Datastore: Rename getIds
2020-05-14 13:29:34 +02:00
Joshua Sangmeister 46ecb24f59 added reader to docker compose files 2020-05-13 16:29:46 +02:00
Joshua Sangmeister ff9acfe81d renamed getIds 2020-05-07 10:13:07 +02:00
jsangmeister 1196d1052b
Merge pull request #5350 from jsangmeister/updateDatastoreSpecs
Added routes to datastore spec
2020-05-05 14:24:24 +02:00
Joshua Sangmeister 66119dffda added routes to datastore spec 2020-05-05 14:24:40 +02:00
Finn Stutzenstein 8696beb6a9
Merge pull request #5327 from FinnStutzenstein/fixExampleData
Fixed example data II
2020-05-05 12:29:33 +02:00
jsangmeister ae6c214cd4
Merge pull request #5342 from jsangmeister/update-interface
Updated datastore interface
2020-05-05 10:05:52 +02:00
FinnStutzenstein 52d992d2ff
Fixed example data II 2020-04-30 09:11:11 +02:00
Joshua Sangmeister f66346405b updated datastore interface 2020-04-28 11:59:28 +02:00
Norman Jäckel bc19de9570
Merge pull request #5287 from FinnStutzenstein/fixExampleData
Small fixes for models and example data
2020-04-17 14:29:56 +02:00
FinnStutzenstein 4b1c9bc190 Small fixes for models and example data 2020-04-14 15:26:37 +02:00
jsangmeister d3b9404efd
Update datastore-service.txt 2020-04-08 11:20:55 +02:00
Norman Jäckel 952355ab94
Merge pull request #5292 from normanjaeckel/SmallFixes
Fixed typos in docs.
2020-04-03 14:08:51 +02:00
Norman Jäckel 252fe7dd51 Fixed typos in docs. 2020-04-03 13:24:15 +02:00
Norman Jäckel a45ac5d2e5
Merge pull request #5220 from normanjaeckel/RestrictionDev
Added first draft for restriction and presenter interfaces.
2020-04-03 13:14:29 +02:00
Finn Stutzenstein c4711cf714
Merge pull request #5261 from FinnStutzenstein/modelle
Refined models
2020-03-25 13:40:39 +01:00
jsangmeister 3ae373b8f1
Merge pull request #5263 from jsangmeister/minor-fixes
Adjustments for datastore spec
2020-03-25 13:04:15 +01:00
Joshua Sangmeister 1f80202218 adjustments to datastore specs 2020-03-25 13:04:20 +01:00
Norman Jäckel 642fae8bdc Fixed typos. 2020-03-24 21:14:43 +01:00
FinnStutzenstein 34ccd7abe8 Refined models 2020-03-24 15:49:02 +01:00
Finn Stutzenstein d77e1c4cd8
Merge pull request #5258 from GabrielInTheWorld/dev-auth
Adds interface for auth-service
2020-03-23 14:45:20 +01:00
Finn Stutzenstein a2da322a4d
Merge pull request #5268 from OpenSlides/autoupdate-interface
Fix autoupdate interface
2020-03-23 14:44:09 +01:00
Oskar Hahn e076fca655 Fix autoupdate interface 2020-03-23 14:43:19 +01:00
Finn Stutzenstein d7fd87d249
Merge pull request #5257 from FinnStutzenstein/serverClientStreaming
Client server communication
2020-03-23 14:36:18 +01:00
GabrielMeyer ce1df508cd Adds interface for auth-service 2020-03-23 13:30:26 +01:00
FinnStutzenstein e43e46fca7 Client server communication 2020-03-18 08:18:00 +01:00
FinnStutzenstein 73e6eddf89 Refine presenter service 2020-03-17 11:21:59 +01:00
Finn Stutzenstein 4f029d336c
Merge pull request #5256 from FinnStutzenstein/updatedClient
Updated Client
2020-03-17 09:02:50 +01:00
FinnStutzenstein 018556a542 Updated Client 2020-03-17 08:58:17 +01:00
Finn Stutzenstein c52821d864 Merge pull request #5241 from FinnStutzenstein/autoupdate-service
Autoupdate service interface
2020-03-16 16:05:14 +01:00
FinnStutzenstein 0a7557329c Interface and example changes 2020-03-16 16:01:26 +01:00
Finn Stutzenstein 8e3b25cd21
Merge pull request #5229 from FinnStutzenstein/os4-mediafiles-resources
[os4] no explicit resources for meetings
2020-03-13 09:18:01 +01:00
FinnStutzenstein 885b81cfe9 Autoupdate service interface 2020-03-09 14:52:20 +01:00
FinnStutzenstein 741a13eeb7 Production build uses commit hashes from submodules 2020-02-28 13:16:29 +01:00
Finn Stutzenstein 67e519a00f Merge pull request #5237 from FinnStutzenstein/os4-compose
Integrating the client and datastore into the main repo:
2020-02-26 15:11:29 +01:00
FinnStutzenstein 4484d1e4ef Integrating the client and datastore into the main repo:
- Added each service as a submodule for development
- Added conventions for naming environment variables
- Added required targets in makefiles of services
2020-02-26 14:47:13 +01:00
FinnStutzenstein f8c774abe7 [os4] no explicit resources for meetings 2020-02-20 10:59:08 +01:00
Norman Jäckel f5548770dd Added first draft for restriction and presenter interfaces. 2020-02-07 00:19:11 +01:00
Finn Stutzenstein f7a18cef65
Merge pull request #5181 from normanjaeckel/ActionDev
Updated action spec.
2020-02-05 06:52:52 +01:00
Norman Jäckel 3751593841 Review. 2020-02-03 23:32:24 +01:00
Finn Stutzenstein a15a35398c
Merge pull request #5182 from FinnStutzenstein/datastore-interface
More complete datastore interface
2020-02-03 06:51:17 +01:00
FinnStutzenstein f7f70098b0 More complete datastore interface 2020-02-03 06:50:11 +01:00
Norman Jäckel 6054eb76c5 Updated action spec. 2020-01-21 18:05:47 +01:00
FinnStutzenstein c187700af2 changes 2020-01-20 12:36:40 +01:00
Finn Stutzenstein 66e716bde1
Merge pull request #5178 from FinnStutzenstein/openslides4-dev
interface specs
2020-01-20 12:15:11 +01:00
FinnStutzenstein f889985326 interface specs 2020-01-20 12:14:36 +01:00
Emanuel Schütze a876eab9f3
Merge pull request #5170 from emanuelschuetze/readme
Added concept link to readme.
2020-01-05 15:15:10 +01:00
Emanuel Schütze 3eefc32ada Added concept link to readme. 2020-01-05 15:14:14 +01:00
Emanuel Schütze 9fe850fa0c
Merge pull request #5169 from emanuelschuetze/openslides4-dev
Prepare main repository for OpenSlides 4
2020-01-05 14:18:28 +01:00
Emanuel Schütze c3f1451966 Added OS4 system architecture image. 2020-01-05 14:16:52 +01:00
Emanuel Schütze a7302f0662 Prepared repository for OpenSlides 4. Removed OpenSlides 3 code. 2020-01-05 14:16:23 +01:00
Sean 7a26a87cf8
Merge pull request #5166 from tsiegleauq/service-worker-regression
Re-enable Service Worker
2019-12-17 11:01:31 +01:00
Sean Engelhardt ff271748d7 Reenable Service Worker
Fixes a regression that was preventing the service worker from loading
2019-12-17 10:00:57 +01:00
Emanuel Schütze f7e4be929c
Merge pull request #5165 from emanuelschuetze/release3.1
Release 3.1
2019-12-13 10:07:25 +01:00
Emanuel Schütze ac4174c391 Update version to 3.1.1-dev 2019-12-13 09:39:42 +01:00
Emanuel Schütze 32dfba0d5c Release 3.1 2019-12-13 09:39:11 +01:00
Emanuel Schütze e45d3aa360
Merge pull request #5164 from emanuelschuetze/translation-20191213
Updated CS translations
2019-12-13 09:33:56 +01:00
Emanuel Schütze cc4d867e06
Merge pull request #5163 from tsiegleauq/no-order-in-comments
Fix order of comments in motion detail
2019-12-13 09:22:47 +01:00
Emanuel Schütze 3bf588c013 Updated CS translations 2019-12-13 09:17:58 +01:00
Sean 8ba3037864
Merge pull request #5161 from emanuelschuetze/python38
Updated requirements for python 3.8 support
2019-12-12 15:24:22 +01:00
Sean Engelhardt f64a855b50 Fix order of comments in motion detail
Fixes an error where the order of comment section in
the motion comment section component was wrong
2019-12-12 12:10:56 +01:00
Sean Engelhardt 48c25d1e5b Use file-based database during testing 2019-12-11 16:13:59 +01:00
Emanuel Schütze 172aa14b13 Updated requirements for python 3.8 support
updated:
channels to 2.3.1
channels-redis to 2.4.1
daphne to 2.4.0

Added python 3.8 test for travis
2019-12-11 16:13:50 +01:00
Emanuel Schütze bb41125bd1
Merge pull request #5162 from tsiegleauq/search-value-selector-for-states
Fix untranslated searchable values
2019-12-10 17:00:29 +01:00
Sean Engelhardt 1e45153c0a Fix untranslated searchable values
Fixes a bug where the search value selector was not always filtering
for translated values.
Uses getTitle() in SearchValue selector rather than toString,
to allow enhance compatibility with custom values
2019-12-10 16:46:59 +01:00
Emanuel Schütze cc58f59fa1
Merge pull request #5160 from tsiegleauq/states-with-no-label
Fix null values in recommencation label
2019-12-10 14:05:02 +01:00
Sean Engelhardt af9a62abbb Fix null values in recommencation label
Fixes an issue that was showing empty values when setting
a recommendation
2019-12-10 10:56:21 +01:00
Emanuel Schütze 77bf24fe3a
Merge pull request #5159 from emanuelschuetze/translations-201912
Updated translations (DE, CS, RU)
2019-12-09 18:13:45 +01:00
Emanuel Schütze 1bababd8c1 Updated translations (DE, CS, RU) 2019-12-09 17:30:48 +01:00
Emanuel Schütze a85858f6b5
Merge pull request #5158 from emanuelschuetze/change-metabox-config
Rename config option to show meta box below title on projector.
2019-12-09 16:45:59 +01:00
Emanuel Schütze 9e81e6145f Rename config option to show meta box below title on projector. 2019-12-09 16:32:46 +01:00
Emanuel Schütze 431dc2b758
Merge pull request #5107 from tsiegleauq/changelog-for-3.1
Add changelog for 3.1
2019-12-09 16:12:53 +01:00
Emanuel Schütze 53ebbabc9b
Merge pull request #5157 from tsiegleauq/no-amendment
Add more motion filter options
2019-12-09 15:44:07 +01:00
Emanuel Schütze 72bd971f0b
Merge pull request #5154 from tsiegleauq/cleanup-small-things
Add leftover changes for 3.1
2019-12-09 15:41:04 +01:00
Sean Engelhardt c9cf99d0e4 Add leftover changes for 3.1
Adds various changes for a more complete 3.1 release

- cleaner "current slide" description in projector detail (grid with ellipsis)
- show the previously projected slides as ordered lists under the accordion
- fix a bug where everyone could access the projection manage view (although it was unfunctional without the correct permissions)
- assignment list now uses the correct ellipsis
- fixes a bug where the lable "list of speakers" was not translated on the projector slide
- Show a lock on the "list of speaker"-slide if it has been closed
- enable dialog tests that have previously been disabled
2019-12-09 15:00:32 +01:00
Sean Engelhardt ffb67638f6 Added changelog for 3.1 2019-12-09 14:35:43 +01:00
Sean Engelhardt d17ad04b6c Add more motion filter options
Adds a motion filter option for motions which have no
amendments and are no amendments
2019-12-09 14:24:05 +01:00
Emanuel Schütze 50ce5e7d61
Merge pull request #5156 from tsiegleauq/dymanic-ngrid-index-jumping
Scroll to previous offset rather than index
2019-12-09 11:07:23 +01:00
Emanuel Schütze e2630faead
Merge pull request #5149 from FinnStutzenstein/deleteUsersWithWSConnection
Fixed late autoupdates with deleted users
2019-12-09 10:41:59 +01:00
Sean 01b626d3e7 Scroll to previous offset rather than index
Changes some auto scrolling behavior in our virtual scrolling tables.
Save the scroll offset before any navigation attempt, rather than
saving the index on click.
Should work for every possible navigation action.
2019-12-06 13:50:14 +01:00
Sean 0bb2175f79
Merge pull request #5155 from tsiegleauq/duplicated-pdf-title
Add event description to PDF
2019-12-04 15:52:39 +01:00
Sean Engelhardt ae62fd69f5 Add event description to PDF
Fixes a bug where the event name was printed twice in the PDF header
2019-12-04 15:37:38 +01:00
Finn Stutzenstein 60e3282286
Merge pull request #5077 from FinnStutzenstein/readOnlyRedis
Adding a second optional redis for read only accesses
2019-12-04 11:01:21 +01:00
FinnStutzenstein cc4ca61964 Adding a second optional redis for read only accesses 2019-12-03 12:30:31 +01:00
Finn Stutzenstein 7c61076837
Merge pull request #5152 from FinnStutzenstein/lockingService
Locking service and locks the history build process (closes #4039)
2019-12-03 12:28:40 +01:00
FinnStutzenstein f7cdfb7c02 Locking service and locks the history build process (fixes #4039) 2019-12-03 12:14:49 +01:00
Sean 93d9e6b169
Merge pull request #5151 from tsiegleauq/offline-spinner-issue
Consider offline during update checks
2019-12-02 17:06:26 +01:00
Emanuel Schütze b506735cfe
Merge pull request #5148 from tsiegleauq/manual-cd-workflow-detail
Add manual cd for workflow detail
2019-12-02 17:05:49 +01:00
Sean Engelhardt a6891ef8e1 Consider offline during update checks
Hides the spinner if the update checks fail cause the server is
unreachable

use new cleansup the code a little
2019-12-02 16:55:46 +01:00
Sean Engelhardt dd272c823f Add manual cd for workflow detail 2019-12-02 16:35:51 +01:00
Emanuel Schütze 2c120dd67c
Merge pull request #5150 from tsiegleauq/no-export-inline-numbers
Remove option for inline line number PDF
2019-12-02 15:44:42 +01:00
Emanuel Schütze ed8d666fce
Merge pull request #5120 from tsiegleauq/nav-from-motion-blocks
Add navigation flag to return to custom oriring
2019-12-02 15:35:01 +01:00
Sean Engelhardt d962e55fee Remove option for inline line number PDF
- removes the option to export PDF as inline, since it's not working atm
- motions that would be exported with inline line number would be exported with outside line numbers
2019-12-02 12:54:27 +01:00
FinnStutzenstein 0d38b784bc Fixed late autoupdates with deleted users 2019-11-29 13:15:20 +01:00
Sean 876dd1f7d6
Merge pull request #5146 from FinnStutzenstein/fixBaserepoTooEarlyUpdates
Fixed too early single-model updates in the BaseRepository
2019-11-27 15:43:52 +01:00
FinnStutzenstein f392b479ba Fixed too early single-model updates in the BaseRepository 2019-11-27 15:28:12 +01:00
Sean Engelhardt ce2f711a7c Add navigation flag to return to custom oriring
Adds the state "back: 'true'" to certain router navigations to set
a custom return point for using the OpenSlides back arrow.
Allows to return to category detail, motion block detail and
amendment detail from a motion detail view.
You will keep the navigation state for as long as you don't change
the view
2019-11-27 11:16:39 +01:00
Emanuel Schütze b86054c4b9
Merge pull request #5144 from tsiegleauq/hide-long-amendment-preview-slide
Hide long amendment preview on motion slide
2019-11-26 15:34:00 +01:00
Emanuel Schütze 7d52f12770
Merge pull request #5138 from tsiegleauq/more-nested-pdf-lists
Add nested PDF lists with line numbering
2019-11-26 15:24:48 +01:00
Sean Engelhardt 4599091d57 Add nested PDF lists with line numbering
Adds support for nested PDF lists in motions with line numbering
Numbers and lines can be slightly of in extrem cases.

Lists are supposed to be relatively short lists and are not(!) a replacement
for paragraphs.
Chaning that would require me to create our own implementation of
PDFMake-Lists
2019-11-26 14:47:13 +01:00
Finn Stutzenstein 8f9e3a2b03
Merge pull request #5145 from jsangmeister/unique-error-fix
Error handling for race-based integrity errors
2019-11-26 14:07:34 +01:00
Sean 475885d0a2
Merge pull request #5143 from tsiegleauq/more-permitted-mobile-list-dots
Hide mobile list-menus by permission
2019-11-26 14:05:57 +01:00
Sean Engelhardt 50a9a89910 Hide mobile list-menus by permission
Hides some mobile list menus if the permissions
are not sufficient.
Change the layout of the assignment mobile list
2019-11-26 13:19:37 +01:00
Sean Engelhardt bb3a154ccc Hide preview on motion slide
Hides the grey amendment context
2019-11-26 13:07:34 +01:00
jsangmeister f2dd8ebdd9 try-catch for race-based integrity errors 2019-11-26 11:49:06 +01:00
Emanuel Schütze 1b40cd74e0
Merge pull request #5141 from tsiegleauq/custom-projector-resolution
Custom aspect ratio for projector
2019-11-26 11:42:35 +01:00
Emanuel Schütze 7454540b67
Merge pull request #5123 from FinnStutzenstein/fixMediafiles
Fixed mediafiles
2019-11-26 09:31:52 +01:00
FinnStutzenstein e416117b11 Fixed mediafiles 2019-11-26 09:11:18 +01:00
Finn Stutzenstein 13e9f3453f
Merge pull request #5142 from FinnStutzenstein/fixLogging
Fixed little logging mistake
2019-11-25 07:41:16 +01:00
FinnStutzenstein 7a18396a78 Fixed little logging mistake 2019-11-25 06:38:42 +01:00
Sean Engelhardt ff90f9490c Add custom aspect ratio for the projector
Change the client to accept aspect ratios like:
4:3, 16:9, 16:10 or custom over a textfield

Change server to accept aspect ratios and dropped height
2019-11-22 16:41:28 +01:00
Emanuel Schütze acab54738b
Merge pull request #5139 from tsiegleauq/mod-final-version-export-fix
Export Modified Final Version over exporter
2019-11-20 21:06:05 +01:00
Sean Engelhardt e97292afdd Export Modified Final Version over exporter
- Adjusts the motion exporter to prefer modified final versions
over "just" final versions
- enhance the change detection of motion detail a little
(editor and viewport changes)
2019-11-20 11:39:10 +01:00
Emanuel Schütze 4451fe979e
Merge pull request #5129 from tsiegleauq/assignment-order
Remove sorting poll option by weight
2019-11-13 14:48:03 +01:00
Emanuel Schütze 55cdc364f1
Merge pull request #5121 from FinnStutzenstein/htmlValidation
Added html validation for users and personal notes
2019-11-13 14:45:26 +01:00
Emanuel Schütze da3af834af
Merge pull request #5135 from FinnStutzenstein/fixAgendaItemNumber
Fix agenda item number
2019-11-13 14:36:19 +01:00
Finn Stutzenstein 5b0b320bfa
Merge pull request #5128 from FinnStutzenstein/setPasswordAuthenticationCheck
Fixed wrong permission/auth check for set password
2019-11-13 14:01:48 +01:00
FinnStutzenstein a3c97a2ccd Fix agenda item number 2019-11-13 14:00:53 +01:00
Sean e3e50c1730
Merge pull request #5106 from emanuelschuetze/mobile-views
Improved mobile views (Agenda list, motion block list)
2019-11-11 14:06:02 +01:00
Emanuel Schütze 7aaad26b68 Improved mobile views (Agenda list, motion block list/detail) 2019-11-11 13:51:22 +01:00
Sean Engelhardt 3530b625d9 Remove sorting poll option weight
Fixes a bug where entered votes did not match to the order of poll options
fixes #5125
2019-11-11 12:36:54 +01:00
FinnStutzenstein 427b17a3e9 Fixed wrong permission/auth check for set password 2019-11-11 07:07:19 +01:00
FinnStutzenstein c54e2621f2 Added html validation for users and personal notes 2019-11-08 15:39:18 +01:00
Finn Stutzenstein d248f5fbc1
Merge pull request #5122 from tsiegleauq/fix-regression-in-assignments
Fix regression in assignments
2019-11-08 11:45:42 +01:00
Sean Engelhardt b0695a25c1 Fix regression in assignments
Fixes a bug where assignment polls could not be saved
Cleaned up some code
2019-11-08 09:42:42 +01:00
Emanuel Schütze d286378524
Merge pull request #5104 from jsangmeister/csv-import-fix
Fixed CSV import
2019-11-06 11:03:08 +01:00
jsangmeister 0922f0de3f fixed csv import 2019-11-06 10:43:56 +01:00
Emanuel Schütze 69a904c058
Merge pull request #5118 from tsiegleauq/download-does-not-work
Fixes a bug where files are not known as files
2019-11-06 10:22:52 +01:00
Sean Engelhardt d482f205cd Fixes a bug where files are not known as files
This is a regression from model change.
The is_file method is missing. Replaces is_file with !is_directory
2019-11-06 10:12:15 +01:00
Sean be2e8d9584
Merge pull request #5117 from FinnStutzenstein/fixGroupsMatrix
Fixed duplicate permissions in the group matrix (fixed #5112)
2019-11-05 14:55:12 +01:00
Sean e15619806d
Merge pull request #5057 from GabrielInTheWorld/savingSearch
Shows all related items of one collection
2019-11-05 12:29:21 +01:00
FinnStutzenstein fed9f3c19b Fixed duplicate permissions in the group matrix (fixed #5112) 2019-11-05 11:39:52 +01:00
Finn Stutzenstein 1dcb496147
Merge pull request #5111 from jsangmeister/default-to-reference-projector
Change wording from 'default' to 'reference' projector
2019-11-05 10:04:11 +01:00
jsangmeister fa95859b61 change 'default' to 'reference' projector 2019-11-05 09:47:05 +01:00
Emanuel Schütze 66390fe92c
Merge pull request #5108 from emanuelschuetze/translations20191104
Updated translations
2019-11-04 16:39:42 +01:00
Emanuel Schütze 9e43d0f63e Updated German translations 2019-11-04 15:46:09 +01:00
Emanuel Schütze 8b3d0afb9e
Merge pull request #5110 from tsiegleauq/tiles-dont-do-anything
Fix motion tiles filter
2019-11-04 15:45:02 +01:00
Sean Engelhardt 24359450c7 Fix motion tiles filter
Fixes an error where motion tile filter could not be applied due
to changing category filter definition
2019-11-04 15:23:49 +01:00
Emanuel Schütze b867b02e28
Merge pull request #5058 from tsiegleauq/rework-choice-service
Rework choice service and dialog
2019-11-04 13:48:44 +01:00
Emanuel Schütze 9d7d4b8620
Merge pull request #5043 from tsiegleauq/new-projector-list
Enhance projector list
2019-11-04 13:44:53 +01:00
Sean Engelhardt 233961b466 Enhance projector list
- The projector list now scales to give a better overview
- selecting the projector for the CLOS reference is more intuitive
- editing and creating projectors now works over a dialog
- editing projectors is now possible from the detail page
- projector tiles look overall cleaner
- Editing the projector offers a preview
- no changes "on the fly"
- Dialog has apply button to allow saving without closing
- The slider has an input fild on the right side to allow the usage
  of specific values
2019-11-04 13:30:25 +01:00
Finn Stutzenstein f62b506dee
Merge pull request #5103 from jsangmeister/reference-projector-view
Added a view to change the reference projector in one api call
2019-11-01 12:19:41 +01:00
jsangmeister 96ac370f61 added a view to change the reference projector in one api call 2019-11-01 10:56:59 +01:00
Finn Stutzenstein 0ab46ed955
Merge pull request #5099 from jsangmeister/email-error-fix
Fixed error output of http service to correctly display email validation error
2019-10-30 15:22:19 +01:00
jsangmeister 85a11c8b39 fixed error output to correctly display email validation error 2019-10-30 14:01:12 +01:00
Sean 113bdc76f3
Merge pull request #5088 from emanuelschuetze/motion-slide-box
Use horizontal meta box ('pdf style table') for motion slide
2019-10-30 13:34:41 +01:00
Emanuel Schütze 5305b52dba Use horizontal meta box ('pdf style table') for motion slide 2019-10-30 13:18:40 +01:00
Sean 6081df202c
Merge pull request #5089 from emanuelschuetze/layout-fixes
Minor layout fixes (chyron, list of speakers)
2019-10-30 12:33:44 +01:00
Emanuel Schütze 68dad5561e Minor layout fixes (chyron, list of speakers)
- use bold font for names on chyron
- Fix box height for list of speakers view (for normal users in Firefox)
2019-10-30 12:14:27 +01:00
Sean 9ae4472b0d
Merge pull request #5086 from GabrielInTheWorld/editStart
Adds the 'edit-mode' to start, legal-notice and privacy-policy
2019-10-30 12:04:51 +01:00
Sean 19f3fb579b
Merge pull request #5083 from GabrielInTheWorld/hintsForTheWin
Replaces the question-marks in config with hints
2019-10-30 11:57:55 +01:00
Sean 424c59d027
Merge pull request #5094 from GabrielInTheWorld/agendaSecondLine
Sets the subtitle as a second line in agenda
2019-10-30 11:38:50 +01:00
Sean d12bf299cc
Merge pull request #5096 from jsangmeister/settings-safety-check
Added safety check before reset in config
2019-10-30 11:23:44 +01:00
Sean 985e54dcd5
Merge pull request #5087 from tsiegleauq/proxy-filter-issues
Repair motion filter for proxies
2019-10-30 11:22:32 +01:00
Sean cc2dc1eeff
Merge pull request #5092 from GabrielInTheWorld/fixDecoding
Fixes decoding caused by exceeding stack size
2019-10-30 11:21:11 +01:00
jsangmeister 66f397f189 added safety check before reset in config 2019-10-30 09:56:43 +01:00
GabrielMeyer 0c4bcd4bd8 Sets the subtitle as a second line in agenda 2019-10-29 16:22:56 +01:00
Finn Stutzenstein 98a7d4dcdf
Merge pull request #5093 from GabrielInTheWorld/fixPythonTest
Fixes python3.7 tests
2019-10-29 15:24:16 +01:00
GabrielMeyer b806b8406b Fixes python3.7 tests 2019-10-29 15:05:52 +01:00
GabrielMeyer efa8f37528 Fixes decoding caused by exceeding stack size 2019-10-29 14:02:14 +01:00
Finn Stutzenstein 8335662e9b
Merge pull request #5084 from GabrielInTheWorld/filterAgenda
Adds filtering by collection as a new filter for the agenda
2019-10-24 10:23:14 +02:00
Sean c7734a3b9e
Merge pull request #5085 from tsiegleauq/txt-encode-dep
Replace encode and decode
2019-10-24 10:19:36 +02:00
GabrielMeyer 663d230561 Adds the 'edit-mode' to start, legal-notice and privacy-policy 2019-10-24 09:15:01 +02:00
GabrielMeyer 19347f89d0 Replaces the question-marks in config with hints 2019-10-24 09:02:15 +02:00
Sean Engelhardt 342b881af4 Repair motion filter for proxies
The View Model Proxies are currently breaking all filter operations.
This reparis the motion filters
2019-10-23 15:25:56 +02:00
Sean Engelhardt 62eba77925 Rework choice service and dialog
- cleans up the choice service and the choice dialogs to make them
simpler and more usable.
- adjusts search-value-selector to also accept lists
- the search value selector allows for better filtering of models in the choice dialog
- fixes an issue where deleting all tags required a selection
2019-10-23 10:41:58 +02:00
GabrielMeyer b48c8ad1da Shows all related items of one collection 2019-10-22 17:18:04 +02:00
GabrielMeyer df1b03698c Adds filtering by collection as a new filter for the agenda 2019-10-22 15:54:46 +02:00
Sean d3efba9dd5 Replace encode and decode
Replaces encode and decode with manual functions
2019-10-21 17:25:16 +02:00
Finn Stutzenstein 62e5774c8d
Merge pull request #4878 from FinnStutzenstein/moveConfigData
Reworked config
2019-10-21 14:13:02 +02:00
Finn Stutzenstein caf05a3e87
Merge pull request #5000 from FinnStutzenstein/saml
[WIP] saml integration
2019-10-21 14:09:49 +02:00
FinnStutzenstein cf7a5ce714 Reworked config
- Move config meta data into REST
- seperate views for config groups
2019-10-21 13:45:06 +02:00
FinnStutzenstein 4a77bf1a61 saml 2019-10-21 13:34:01 +02:00
Sean 9f25f2bc34
Merge pull request #5075 from jsangmeister/personal-comment-export
Added motion export option for personal note and fixed export error
2019-10-21 11:54:17 +02:00
Sean 33e2bb3498
Merge pull request #5079 from jsangmeister/long-state-fix
Removed max-width on mat-menu-panel to display full state name
2019-10-21 11:53:31 +02:00
jsangmeister 243949de43 added motion export option for personal note and fixed export error 2019-10-21 10:01:44 +02:00
jsangmeister a328580a07 removed max-width on mat-menu-panel 2019-10-18 15:42:18 +02:00
Finn Stutzenstein bcba878e18
Merge pull request #5078 from FinnStutzenstein/fixMaster
Fixed typing from parse_qs
2019-10-18 15:15:23 +02:00
FinnStutzenstein 3f41890541 Fixed typing from parse_qs 2019-10-18 14:41:55 +02:00
GabrielInTheWorld d49f6124d3
Merge pull request #5071 from GabrielInTheWorld/prepareRecoState
Editing state and recommendation in motion-list
2019-10-16 16:16:59 +02:00
GabrielMeyer 1354fc74ef Editing state and recommendation in motion-list
- In the info-dialog opening in the motion-list the user can update the current state and the recommendation for one motion.
2019-10-16 15:58:47 +02:00
Finn Stutzenstein 2f01e46415
Merge pull request #5073 from FinnStutzenstein/ws404
Closing websocket connections to unknown urls
2019-10-16 12:04:59 +03:00
Sean 0df87fd522
Merge pull request #5076 from FinnStutzenstein/readdLastSpeakerFix
Fixed readding last speaker
2019-10-16 09:57:07 +02:00
FinnStutzenstein d1048a0d9d Fixed readding last speaker
It is not given, that null values are sorted last in the `order_by("-end_time")`
statement. This did not happens in the tests, but in a productive environment.
See https://docs.djangoproject.com/en/2.2/ref/models/querysets/#order-by for a
`.asc()`/`.desc()` option `nulls_last`. I choose another approach to just
exclude these values.
2019-10-16 09:41:30 +02:00
Sean 595f9cd201
Merge pull request #5030 from tsiegleauq/date-pipe
Add custom date pipe
2019-10-16 09:23:01 +02:00
Sean 611c0bce45
Merge pull request #5062 from FinnStutzenstein/perf
Use Proxies for ViewModels
2019-10-16 09:22:00 +02:00
FinnStutzenstein 7af74fb07a Use Proxies for ViewModels
Also reworked creation of assignments, motions and users.
2019-10-16 09:11:02 +02:00
Finn Stutzenstein 7282c541dd
Merge pull request #5069 from jsangmeister/los-edit-mode
Edit mode for List of Speakers
2019-10-15 16:08:10 +03:00
jsangmeister 943e8f22d3 Adds sort mode, delete confirmation and re-add speaker button to list of
speakers
2019-10-15 14:58:04 +02:00
Finn Stutzenstein 4466e15343
Merge pull request #5074 from tsiegleauq/motion-detail-manual-cd
use manual cd in motion detail
2019-10-15 15:17:27 +03:00
Sean Engelhardt 4ba701663b use manual cd in motion detail
Uses manual CD in motion detail
2019-10-15 13:48:56 +02:00
Sean Engelhardt 04656950cb Add custom date pipe
Adds a custom date pipe and use it on the projector
The date pipe accepts unix time, can automatically adjust date to the current language and supports custom formatting using "moment.js" formatting options

Also fixes a minor translate-tag error
2019-10-15 12:20:22 +02:00
FinnStutzenstein e4c4bc0aa0 Closing websocket connections to unknown urls 2019-10-15 10:54:31 +02:00
Sean f9cea53659
Merge pull request #5041 from GabrielInTheWorld/reworkMotionCommands
Separates the menu for multi-select of motions
2019-10-14 12:48:41 +02:00
Sean a5a40e9e11
Merge pull request #5048 from tsiegleauq/new-travis-flags
Adjust ng test to be more serverfriendly
2019-10-14 11:54:15 +02:00
Emanuel Schütze b397122694
Merge pull request #5070 from tsiegleauq/strange-pdf-line-number-issue
Fix format motions hidden change discrepancy
2019-10-11 14:35:01 +02:00
Sean Engelhardt 58541aedd3 Adjust ng test to be more serverfriendly
Uses Chrome Headless without sandboxing for running Angular karma tests
add new "test-silently" command run tests in a more discrete way,
Should enhance testspeed on servers and CI
2019-10-11 14:29:38 +02:00
Sean Engelhardt 6b1c72d526 Fix format motions hidden change discrepancy
Fixes an issue where the "formatMotion" function was working on the wrong
array.
This resulted in unexpected results of both PDF and CSV export

Fixes as issue in the diff services that deleted replaced lines rather than overwriting them
2019-10-11 14:11:45 +02:00
Emanuel Schütze c2b89c0bb2
Merge pull request #5072 from tsiegleauq/vscroll-performance
Fix flickering in tables
2019-10-11 09:51:37 +02:00
Sean 0dbec6404e
Merge pull request #5049 from GabrielInTheWorld/travisImprovement
Improves travis a little bit
2019-10-09 16:11:35 +02:00
GabrielMeyer a56d850f51 Separates the menu for multi-select of motions
- Adds a new component for the list.
- Adds the component to amendment-list and motion-list.
2019-10-09 16:10:44 +02:00
Sean Engelhardt 2d14fc2057 Fix flickering in tables
reduces the flickering during scroll events in list view tables
Adjusts some ellipsis
2019-10-09 14:59:43 +02:00
Emanuel Schütze 4a8362deaf
Merge pull request #5067 from emanuelschuetze/styles
Set h4 font-size. Added tooltips for projector controls.
2019-10-05 10:42:39 +02:00
Emanuel Schütze ef7bb01043 Set h4 font-size. Added tooltips for projector controls. 2019-10-05 10:11:03 +02:00
Emanuel Schütze 41627da5de
Merge pull request #5066 from FinnStutzenstein/notifyLogging
Logs notify messages on server
2019-10-05 08:14:55 +02:00
FinnStutzenstein 9ae66fb33b Logs notify messages on server 2019-10-04 11:58:07 +02:00
Emanuel Schütze 50bd31a9a6
Merge pull request #5064 from GabrielInTheWorld/doubleHitProjector
Enhances the autoupdate of projector by change-id
2019-10-02 17:00:25 +02:00
Emanuel Schütze c2c1186da9
Merge pull request #5063 from GabrielInTheWorld/addsTitleToAgenda
Extends the title of the agenda-items
2019-10-02 16:57:11 +02:00
GabrielMeyer c8d02788dc Enhances the autoupdate of projector by change-id 2019-10-02 16:30:30 +02:00
GabrielMeyer 6c98fbcb83 Extends the title of the agenda-items 2019-10-02 15:48:43 +02:00
Emanuel Schütze aab7a41efd
Merge pull request #5065 from tsiegleauq/apply-search-filter-bug
Refresh DataSource filter and sort
2019-10-02 14:21:46 +02:00
Sean Engelhardt d4090122ef Refresh DataSource filter and sort
Cleanup some List View Table code
Fixes a bug where the search-filter was not applied after navigation
Fixes a bug where the search-filter and the property-filter and property-sort could not be used together
2019-10-02 13:35:18 +02:00
GabrielInTheWorld 1dc96b0f2f
Merge pull request #5002 from GabrielInTheWorld/coolestAgenda
Build agenda with optional subtitle
2019-09-30 10:51:55 +02:00
Emanuel Schütze af995a1de5
Merge pull request #5061 from emanuelschuetze/noindex
Added meta noindex tag.
2019-09-28 13:58:26 +02:00
Emanuel Schütze 4a595a8abc Added meta noindex tag. 2019-09-27 18:19:47 +02:00
Emanuel Schütze a9f03b61f4
Merge pull request #5060 from FinnStutzenstein/ws
Improved WS connection failure handling
2019-09-27 09:59:07 +02:00
FinnStutzenstein 97cda14a04 Improved WS connection failure handling 2019-09-27 07:41:36 +02:00
Emanuel Schütze 29d151450c
Merge pull request #5059 from emanuelschuetze/translation-20190926
Updated translations.
2019-09-26 14:42:26 +02:00
Emanuel Schütze 3f76a19bfc Updated translations. 2019-09-26 14:17:28 +02:00
Emanuel Schütze f0dd88ddb8
Merge pull request #5056 from tsiegleauq/amendment-filter-for-motion-list
Adds amendment filter types to motion list
2019-09-25 17:01:18 +02:00
Sean Engelhardt 82fe7eea4b Adds amendment filter types to motion list
Adds the possibility to filter if a motion has amendments or is an amendment
2019-09-25 15:51:15 +02:00
Emanuel Schütze 7f49ead439
Merge pull request #5055 from tsiegleauq/fix-projector
Fix flickering projector button in lists
2019-09-24 22:04:30 +02:00
Sean Engelhardt dc60d1254b Fix flickering projector button in lists
...
2019-09-24 21:31:51 +02:00
Sean c848472642
Merge pull request #5053 from GabrielInTheWorld/savingCountdown
Saves the settings for countdown-controls
2019-09-24 20:30:56 +02:00
Emanuel Schütze 205bfa05ef
Merge pull request #5054 from emanuelschuetze/fixTranslation
Fix translation in assignment poll.
2019-09-24 20:22:55 +02:00
Emanuel Schütze 683f87b3ff Fix translation in assignment poll. 2019-09-24 19:06:44 +02:00
GabrielMeyer 7462918e43 Saves the settings for countdown-controls 2019-09-24 18:55:30 +02:00
Emanuel Schütze a82789d201
Merge pull request #5052 from tsiegleauq/show-motion-context
Fix showing content of amendments
2019-09-24 18:02:40 +02:00
Emanuel Schütze 23a7f26437
Merge pull request #5051 from tsiegleauq/amendment-pdf-overview-list-issue
Render lists in amendment overview PDF
2019-09-24 16:51:34 +02:00
Sean Engelhardt 48321fa2b7 Fix showing content of amendments
Fixes an error where the "Show entire motion text" was not giving expected results
2019-09-24 16:33:48 +02:00
Sean Engelhardt a4dd0acd53 Render lists in amendment overview PDF
Fixes an issue that lists where not sown in the amendment overview PDF
2019-09-24 16:10:21 +02:00
Emanuel Schütze b33c01f1aa
Merge pull request #5050 from emanuelschuetze/additional-html-tags
Allow <del> and <ins> html tags.
2019-09-24 13:23:36 +02:00
Emanuel Schütze 1ff616fe4f Allow <del> and <ins> html tags. 2019-09-24 12:53:15 +02:00
GabrielMeyer 71fdc28413 Build agenda with optional subtitle
- Updates the `virtual-scroll`-package.
- Updates the `list-view-table.component` for variable row-height.
- Adds config to have optional a subtitle in the `agenda-list`.
2019-09-24 11:15:28 +02:00
GabrielMeyer 49bec70042 Improves travis a little bit 2019-09-24 11:09:56 +02:00
GabrielInTheWorld 534f2d1835
Merge pull request #5037 from GabrielInTheWorld/alwaysTheSameTitle
Sets always the title 'Current LOS' if current LOS
2019-09-23 18:18:47 +02:00
Sean e3270d4302
Merge pull request #5047 from GabrielInTheWorld/configureJasmine
Updates karma to prevent cancelling tests because of timeout
2019-09-23 18:16:52 +02:00
GabrielMeyer 9e407006f6 Sets always the title 'Current LOS' if current LOS 2019-09-23 17:31:45 +02:00
Emanuel Schütze b9fe0c39cf
Merge pull request #5044 from FinnStutzenstein/isSubmitterForAnonymous
Fixed submitter check for anonymous users
2019-09-23 17:27:25 +02:00
Emanuel Schütze 398cdf02a1
Merge pull request #5045 from FinnStutzenstein/autoupdateForProjectiondefaults
Added autoupdate for changed projectiondefaults
2019-09-23 17:25:09 +02:00
GabrielMeyer 07481feba5 Updates karma to prevent cancelling tests because of timeout 2019-09-23 16:55:53 +02:00
FinnStutzenstein 1ed613629e Added autoupdate for changed projectiondefaults 2019-09-23 16:51:20 +02:00
GabrielInTheWorld a688bd0ffe
Merge pull request #5035 from GabrielInTheWorld/sortingReferMotions
Quick sorting the reference of motions by their identifier
2019-09-23 10:25:43 +02:00
FinnStutzenstein e8dec048ef Fixed submitter check for anonymous users 2019-09-23 10:12:15 +02:00
Sean 59089ebef0
Merge pull request #5042 from emanuelschuetze/event-date-format
Changed input type of event date config from datetime back to string.
2019-09-20 10:13:32 +02:00
GabrielInTheWorld 8e8fb4f3b9
Merge pull request #5036 from GabrielInTheWorld/paddingAgenda
Adds some more space for the 'speaker-button'
2019-09-20 08:45:04 +02:00
Emanuel Schütze 9e0817d2e8
Merge pull request #5038 from tsiegleauq/dynamic-scale-tiles
Scale motion tiles by viewport size
2019-09-19 19:43:40 +02:00
Sean Engelhardt faa1d9c658 Scale motion tiles by viewport size
Also puts the desktop, tablet and phone declarations into an
own scss file that can be used via mixin
2019-09-19 15:23:34 +02:00
GabrielMeyer 0cac6b1e8d Quick sorting the reference of motions by their identifier 2019-09-19 15:06:03 +02:00
Emanuel Schütze ee50191da6
Merge pull request #5026 from tsiegleauq/remove-duplicate-trust-implementation
Add trust pipe and remove duplicated functions
2019-09-19 14:56:12 +02:00
Emanuel Schütze 130e60f456 Changed input type of event date config from datetime back to string. 2019-09-19 14:48:06 +02:00
GabrielMeyer 4deabb0648 Adds some more space for the 'speaker-button' 2019-09-19 12:02:05 +02:00
Emanuel Schütze d8296f3e62
Merge pull request #5034 from GabrielInTheWorld/permsOfAgenda
Fixes seeing list of speakers in topic-detail
2019-09-17 19:10:59 +02:00
GabrielMeyer 9d181d9b14 Fixes seeing list of speakers in topic-detail 2019-09-17 18:46:39 +02:00
Emanuel Schütze 27bd053d90
Merge pull request #5033 from GabrielInTheWorld/fixProjector
Sets default display-type on 'projector-button'
2019-09-17 17:47:03 +02:00
Emanuel Schütze 2df154995a
Merge pull request #5029 from GabrielInTheWorld/ugglyMotionCard
Fixes uggly opening of motion-card
2019-09-17 17:13:27 +02:00
Emanuel Schütze 09aa5070b9
Merge pull request #5031 from tsiegleauq/projector-path-madness
Fixes a path issue in the projector
2019-09-17 17:11:12 +02:00
GabrielMeyer d27532fa3a Sets default display-type on 'projector-button' 2019-09-17 17:09:51 +02:00
Sean Engelhardt e4e239ea29 Fixes a path issue in the projector
Removes an unnecessary / in the mediafile-slide that prevented
files from being resolved correctly in some configurations
2019-09-17 16:17:17 +02:00
GabrielMeyer c3e112e7c2 Fixes uggly opening of motion-card
- Moves the `display: grid` to `.os-card`, since it causes the behavior.
2019-09-17 09:49:45 +02:00
Emanuel Schütze 43c7797226
Merge pull request #5025 from tsiegleauq/set-dont-set-identifier
Adjust workflow state naming
2019-09-16 17:36:47 +02:00
Sean Engelhardt 4e0f1409db Add trust pipe and remove duplicated functions
Adds a new shared pipe to set trusted HTML directly
from HTML components.
Removes all duplicates of "bypassSecurityTrustHtml"
2019-09-16 16:24:40 +02:00
Sean Engelhardt ca97d4472d Adjust workflow state naming
Changes "set identifier" to "do not set idnetifier"
requires an update of the translations
2019-09-16 14:33:42 +02:00
Sean 4a83aa736e
Merge pull request #5022 from GabrielInTheWorld/projectorCPU
Fixes high cpu usage on 'projector-detail'
2019-09-16 13:17:13 +02:00
Sean c538179904
Merge pull request #5023 from tsiegleauq/catch-broken-line-numbers
Catch and show line numbering errors
2019-09-16 12:23:17 +02:00
Sean Engelhardt 1cf332b15c Catch and show line numbering errors
Makes line number and motion detail more robust
2019-09-16 11:46:29 +02:00
GabrielMeyer fe55faa884 Fixes high cpu usage on 'projector-detail'
- Also improving showing the spinner to have a slightly better UX.
2019-09-16 09:14:58 +02:00
Emanuel Schütze ae55cce605
Merge pull request #5021 from emanuelschuetze/release3.0
Release 3.0
2019-09-13 15:13:19 +02:00
Emanuel Schütze a926e770ef Update version to 3.0.1-dev 2019-09-13 13:58:12 +02:00
Emanuel Schütze 97f2b723aa Release 3.0 2019-09-13 13:58:11 +02:00
Emanuel Schütze 03ab36096f Use openslides.com 2019-09-13 13:58:09 +02:00
Emanuel Schütze 902855a6e7
Merge pull request #4982 from tsiegleauq/better-mobile-tables
More mobile friendly lists
2019-09-13 13:57:36 +02:00
Emanuel Schütze b13d8a5bff
Merge pull request #5020 from emanuelschuetze/newlogo
Updated improved OpenSlides logo.
2019-09-13 13:48:42 +02:00
Sean Engelhardt bd83a74830 More mobile friendly lists
More mobile friendly lists using menus
2019-09-13 13:37:59 +02:00
Emanuel Schütze c00ce2a877 Updated improved OpenSlides logo. 2019-09-13 13:25:41 +02:00
Emanuel Schütze 483de8800a
Merge pull request #5019 from GabrielInTheWorld/calcPolls
Changes the calculation of majority-methods
2019-09-13 11:24:42 +02:00
Emanuel Schütze 5e3a9e0943
Merge pull request #5018 from emanuelschuetze/update-requirements
Updated requirements
2019-09-13 11:08:24 +02:00
Emanuel Schütze 8eb1e8f242
Merge pull request #5013 from emanuelschuetze/translation-20190912
Updated translations
2019-09-13 11:01:23 +02:00
GabrielMeyer 2a66a3233d Changes the calculation of majority-methods
- Only one method for calculation.
- Only in case of 'simple majority' a '1' will be added to the rounded result.
2019-09-13 10:55:52 +02:00
Emanuel Schütze e16ca335de Updated requirements
- Added websockets to production.txt
- Import channels_redis in redis.py only for big mode (if use_redis=true)
2019-09-13 10:29:19 +02:00
Emanuel Schütze 5af32999ab
Merge pull request #5017 from GabrielInTheWorld/fixElection
Fixes the elections and prepares for future changes
2019-09-13 10:25:05 +02:00
Emanuel Schütze 4876c44305 Updated translations 2019-09-13 10:22:00 +02:00
GabrielMeyer ba2bfdbf04 Fixes the elections and prepares for future changes 2019-09-13 10:04:39 +02:00
Emanuel Schütze 1da7ba51fd
Merge pull request #4993 from GabrielInTheWorld/trafficLights
Implements 'traffic lights' to the countdown-time
2019-09-13 09:11:28 +02:00
Emanuel Schütze 62a973234f
Merge pull request #5016 from GabrielInTheWorld/breakLabel
Ensures breaking the label of 'election-state'
2019-09-13 09:10:52 +02:00
GabrielMeyer d99a9c92c1 Implements 'traffic lights' to the countdown-time 2019-09-13 08:41:39 +02:00
GabrielMeyer 8996bd952f Ensures breaking the label of 'election-state' 2019-09-13 08:35:04 +02:00
Emanuel Schütze 7d307e5ffe
Merge pull request #4990 from emanuelschuetze/changelog3.0
Updated Changelog
2019-09-12 23:44:58 +02:00
Emanuel Schütze 8ef7dceb8b Prepared 3.0 release
Updated CHANGELOG, README, DEVELOPMENT, LICENSE and MANIFEST.
2019-09-12 23:29:55 +02:00
Emanuel Schütze d5cfdd24e6
Merge pull request #5014 from normanjaeckel/Development-File
Changed DEVELOPMENT.rst.
2019-09-12 22:02:43 +02:00
Norman Jäckel 8ef2cf5995 Changed DEVELOPMENT.rst. 2019-09-12 21:40:42 +02:00
Emanuel Schütze 11521c4ff2
Merge pull request #5012 from GabrielInTheWorld/paragraphDeleted
Fixes saving amendments with deleted paragraphs
2019-09-12 17:36:18 +02:00
Emanuel Schütze 1f3617f9ef
Merge pull request #5009 from GabrielInTheWorld/createAmendmentPerm
Fixes can create amendments if having permissions
2019-09-12 17:35:55 +02:00
GabrielMeyer ad10a2b0d7 Fixes can create amendments if having permissions 2019-09-12 17:07:11 +02:00
GabrielMeyer 7ad8a40764 Fixes saving amendments with deleted paragraphs 2019-09-12 17:06:49 +02:00
Emanuel Schütze 15b90579ae
Merge pull request #5011 from tsiegleauq/NoCdOnDestroy
Fix change detecting dead views
2019-09-12 16:27:08 +02:00
Emanuel Schütze db7f68ab6d
Merge pull request #5010 from FinnStutzenstein/fixWrongRoutingState
Fix wrong routing state on initial page load
2019-09-12 16:26:48 +02:00
FinnStutzenstein 875fc3aae0 Fix wrong routing state on initial page load 2019-09-12 15:42:38 +02:00
Sean Engelhardt 80db56c2eb Fix change detecting dead views 2019-09-12 15:11:00 +02:00
Emanuel Schütze 02c745ed75
Merge pull request #5005 from GabrielInTheWorld/freshSpinner
Hotfix: Fresh login does not get the real user.
2019-09-12 14:18:31 +02:00
GabrielMeyer 97d0f92430 Fixes loading of data and hiding spinner 2019-09-12 13:52:45 +02:00
Emanuel Schütze 0ef02c6e87
Merge pull request #5008 from GabrielInTheWorld/fixUserNoAnonymous
Fixes showing guest, if user is not yet loaded
2019-09-12 13:11:36 +02:00
GabrielMeyer 07d84759c3 Fixes showing guest, if user is not yet loaded 2019-09-12 12:45:08 +02:00
Emanuel Schütze 30502a95c6
Merge pull request #5004 from GabrielInTheWorld/buildForVerdi
Adds amount of waiting speakers for xlsx-export
2019-09-12 11:39:27 +02:00
Emanuel Schütze 5651862813
Merge pull request #5007 from CatoTH/styling-bugfix-motion-annotations
Fix location of change recommendation annotations
2019-09-12 11:36:44 +02:00
Sean 38cb75487b
Merge pull request #5006 from CatoTH/dont-include-amendments-in-changed-view
Don't include amendments into changed view
2019-09-12 11:07:37 +02:00
Tobias Hößl 3d23eb26d3
Fix location of change recommendation annotations 2019-09-12 10:47:57 +02:00
GabrielMeyer cc3047a284 Adds amount of waiting speakers for xlsx-export 2019-09-12 10:45:24 +02:00
Tobias Hößl 6be23c8d9d
Don't include amendments into changed view 2019-09-12 10:36:54 +02:00
Emanuel Schütze b0460931bb
Merge pull request #5003 from tsiegleauq/projector-performance
Add cyclic change detection for the projector list
2019-09-11 17:37:41 +02:00
Emanuel Schütze 27e9390d41
Merge pull request #5001 from GabrielInTheWorld/clearTransition
Removes transition of 'meta-text-block'
2019-09-11 17:07:40 +02:00
Sean Engelhardt 16f18c6b4a Add cyclic change detection for the projector list
The projector list went nuts if the projectors are too large,
since they were all triggering the CD too much
This saves a lot of processing power
2019-09-11 13:57:31 +02:00
Sean 11922c2a12
Merge pull request #4979 from GabrielInTheWorld/sortingCallList
Implements the possibility to sort trees by a given property
2019-09-11 11:29:09 +02:00
GabrielMeyer 95ebdd3808 Removes transition of 'meta-text-block' 2019-09-11 10:28:47 +02:00
Emanuel Schütze f4a383b81b
Merge pull request #4998 from emanuelschuetze/translation-20190910
Updated translations
2019-09-10 20:18:11 +02:00
Emanuel Schütze b4f1c7d0f4 Updated translations 2019-09-10 17:42:19 +02:00
Emanuel Schütze cb9152ca2e
Merge pull request #4995 from FinnStutzenstein/test
Hotfix for RuntimeError: Do not use asyncio semaphores
2019-09-10 17:31:26 +02:00
Emanuel Schütze b949761404
Merge pull request #4997 from GabrielInTheWorld/funWithState
Changes the order of states in filter
2019-09-10 17:31:13 +02:00
Emanuel Schütze 35bcfe39a5
Merge pull request #4996 from GabrielInTheWorld/preventLeavingChildsHere
Disables the animations
2019-09-10 17:31:03 +02:00
Emanuel Schütze 39b0168714
Merge pull request #4994 from tsiegleauq/amendment-list-pdf-overview
Add amendment overview list as PDF
2019-09-10 17:19:50 +02:00
GabrielMeyer 028ce16bb9 Changes the order of states in filter
- 'Done' and 'undone' are moved up to top.
2019-09-10 17:08:34 +02:00
GabrielMeyer 8dc359dffb Disables the animations
- No animations prevent leaving some html-elements on the site, until the routing-event has finished.
2019-09-10 15:15:33 +02:00
Sean Engelhardt c33fbc2198 Add amendment overview list as pdf
Adds an option to export the/a table of amendments as pdf
2019-09-10 15:08:55 +02:00
FinnStutzenstein 0319deba23 no semaphore 2019-09-10 15:00:55 +02:00
Emanuel Schütze 6c7db17641
Merge pull request #4992 from FinnStutzenstein/reworkPersonalNotes
Single create and update request for personal notes
2019-09-10 13:40:46 +02:00
Emanuel Schütze 44f16b6125
Merge pull request #4989 from tsiegleauq/amendment-list-title
Add the title too the amendments page
2019-09-10 13:26:49 +02:00
FinnStutzenstein 76ff4602a2 Single create and update request for personal notes 2019-09-10 12:34:26 +02:00
Sean Engelhardt 96f88b54d5 Add the title too the amendments page
Adds an observable view model of the parent motion to the amendment list page to show the title
2019-09-10 12:28:37 +02:00
Emanuel Schütze cdfaf1f313
Merge pull request #4991 from GabrielInTheWorld/noMotionText
Adds a variable to hide the motion-text on projector
2019-09-10 09:04:22 +02:00
GabrielMeyer c0ded6f32e Adds a variable to hide the motion-text on projector 2019-09-10 08:34:28 +02:00
GabrielMeyer 1ec5dfbb88 Implements the possibility to sort trees by a given property
- Separates the base sorting function to a lower service, called `base-sort.service`.
- Adds the `tree-sort.service`.
2019-09-09 15:44:08 +02:00
Emanuel Schütze 2c58d0f0fe
Merge pull request #4988 from emanuelschuetze/translations-20190909
Updated translations
2019-09-09 11:34:38 +02:00
Emanuel Schütze 89375ae133 Updated translations 2019-09-09 11:01:35 +02:00
Emanuel Schütze 3b64ca0954
Merge pull request #4987 from emanuelschuetze/nogoogletranslate
Disable Google translate on entire page.
2019-09-06 12:27:45 +02:00
Emanuel Schütze 84bb091e0f
Merge pull request #4985 from tsiegleauq/more-mediafile-permission
Add more permission checks to file manager
2019-09-06 12:16:37 +02:00
Emanuel Schütze 889786d82b Disable Google translate on entire page. 2019-09-06 12:06:40 +02:00
Sean Engelhardt f7da089332 Add more permission checks to file manager
Adds permission checks for "can manage logos and fonts" to file manger
Fixes a bug where the change detection ignored changes in menus
2019-09-06 10:44:43 +02:00
Emanuel Schütze 975f8dc169
Merge pull request #4971 from FinnStutzenstein/anonymousImprovements
Improves the sidebar for anonymous users and routing
2019-09-05 15:40:19 +02:00
Emanuel Schütze 4665c5be32
Merge pull request #4984 from tsiegleauq/motion-list-menu-order
Reorder motion list menu
2019-09-05 15:33:10 +02:00
Emanuel Schütze be77723b55
Merge pull request #4983 from tsiegleauq/mobile-edit-button
Adds the correct icon to the mobile action button
2019-09-05 15:12:39 +02:00
Sean Engelhardt ff2b520013 Reorder motion list menu
Changes the order of the motion list menu
2019-09-05 14:59:22 +02:00
Emanuel Schütze 081984d637
Merge pull request #4981 from emanuelschuetze/fixAmendmentUpdate
Fixed updating of amendments as normal user
2019-09-05 14:54:24 +02:00
Sean Engelhardt 466c72bee8 Adds the correct icon to the mobile action button
Fixes an error where the name of an icon was shown instead of the icons
Adds the projector to agenda detail
2019-09-05 14:48:04 +02:00
Emanuel Schütze a86b835c0b Fixed updating of amendments as normal user
for paragraph based amendments
2019-09-05 14:37:12 +02:00
Emanuel Schütze 20f1f982ae
Merge pull request #4976 from GabrielInTheWorld/improvingSuperSearch
Improves the global search to find IDs
2019-09-05 14:17:27 +02:00
Emanuel Schütze 5c83eb824a
Merge pull request #4974 from tsiegleauq/amendment-sort-by-line
Add sort service for amendments
2019-09-05 14:14:11 +02:00
Emanuel Schütze dd22d98c25
Merge pull request #4978 from GabrielInTheWorld/permissionsMotionBlock
Fixes permissions for motion-blocks
2019-09-05 14:11:06 +02:00
Sean Engelhardt 91329a8338 Add sort service for amendments
Adds the posibility to sort amendments by the parents identifier
and line number.

Patches the amendment model by their diff lines in runtime
2019-09-05 13:49:27 +02:00
FinnStutzenstein b3ba3dac95 Improves the sidebar for anonymous users and routing 2019-09-05 09:52:31 +02:00
Finn Stutzenstein 8ff03044de
Merge pull request #4980 from FinnStutzenstein/fixLostConfigEditorValues
Fixed lost cofig values from editor fields
2019-09-05 09:02:54 +02:00
FinnStutzenstein b9674baa6c Fixed lost cofig values from editor fields 2019-09-05 08:49:40 +02:00
GabrielMeyer bd9d93061d Fixes permissions for motion-blocks
- Only users with permission `motions.can_manage` can remove motions from motion-block.
2019-09-04 12:04:33 +02:00
GabrielMeyer 1d5b1b4fed Improves the global search to find IDs
- Considers the 'id' of objects for search.
2019-09-04 11:31:03 +02:00
Sean fffbf95a63
Merge pull request #4977 from GabrielInTheWorld/fixExpansionPanel
Fixes the expansion panel layout
2019-09-04 11:26:16 +02:00
GabrielMeyer 9b9f256cfd Fixes the expansion panel layout 2019-09-04 10:53:23 +02:00
Emanuel Schütze beaf629f1c
Merge pull request #4975 from emanuelschuetze/new-translations
Added new Russian language. Updated Czech translations.
2019-09-04 10:00:30 +02:00
Emanuel Schütze 82d9f280ed Added new Russian language. Updated Czech translations. 2019-09-04 09:34:55 +02:00
Emanuel Schütze 367c06bb02
Merge pull request #4949 from GabrielInTheWorld/lostDeep
Cleans up the stylesheets a little bit
2019-09-03 22:04:02 +02:00
Emanuel Schütze 43aeb79a76
Merge pull request #4969 from FinnStutzenstein/resetPasswordVerboseErrors
Added config for more verbose errors on reset password
2019-09-03 16:06:21 +02:00
FinnStutzenstein 9323bdef20 Added config for more verbose errors on reset password
- Added settings.py docs
- Fixed left-overs from #4920
- Reworked all server messages to a new argument formet, so that the
client can translate server messages
2019-09-03 14:47:45 +02:00
Emanuel Schütze a193cc1e3f
Merge pull request #4973 from GabrielInTheWorld/fixSpinner
Improves the spinner
2019-09-03 13:33:44 +02:00
GabrielMeyer d354461784 Cleans up the stylesheets a little bit
- Removes all `::ng-deep`
- Merges some re-used styles to one stylesheet
- The icon to open the global search will always be seen in the headbar
2019-09-02 17:33:42 +02:00
GabrielMeyer 32bfd4599a Improves the spinner
- The spinner shouldn't appear, if the user is logged in.
2019-09-02 17:01:01 +02:00
Emanuel Schütze 5ed8032c6b
Merge pull request #4972 from GabrielInTheWorld/agendaPDFExport
Removes the item-number from items in PDF
2019-09-02 16:11:13 +02:00
GabrielMeyer cc456fdb5a Removes the item-number from items in PDF
- ...for exporting the agenda-list.
- Fixes #4965
2019-09-02 15:57:43 +02:00
Emanuel Schütze 0eba52e10e
Merge pull request #4970 from FinnStutzenstein/noAutoupdateForForeignPersonalNotes
Skip autoupdates on foreign personal notes
2019-09-02 15:36:40 +02:00
Emanuel Schütze 9685d04248
Merge pull request #4959 from GabrielInTheWorld/projectorMaxTeller
Adds config to see a max number of next speakers
2019-09-02 15:29:42 +02:00
FinnStutzenstein 9518d1dab6 Small changes 2019-09-02 15:02:31 +02:00
GabrielMeyer 79e879cb6e Adds config to see a max number of next speakers
- Also updates the 'list of speakers' on the `overlay-slide`.
2019-09-02 14:03:34 +02:00
FinnStutzenstein 5baae14156 Skip autoupdates on foreign personal notes 2019-09-02 13:57:12 +02:00
Finn Stutzenstein ee0b82b93b
Merge pull request #4967 from FinnStutzenstein/removeDeepcopy
Remove deepcopy (closes #3893)
2019-09-02 12:11:12 +02:00
Finn Stutzenstein 8f0030560a
Merge pull request #4968 from emanuelschuetze/fix-submitter-check
Fixed motion submitter check.
2019-09-02 11:48:52 +02:00
FinnStutzenstein 03ad7b8abc Remove deepcopy (closes #3893)
It's about 23% faster now (testet deepcopy vs. json with random data)
2019-09-02 11:31:55 +02:00
Emanuel Schütze 216c279d48 Fixed motion submitter check. 2019-09-02 11:23:10 +02:00
Emanuel Schütze ecd107bf73
Merge pull request #4960 from GabrielInTheWorld/someUI
Improves some user-interfaces for motion-detail
2019-09-02 10:20:21 +02:00
Emanuel Schütze a450646008
Merge pull request #4963 from tsiegleauq/angular-8.2
Update to angular 8.2
2019-09-02 10:13:34 +02:00
Finn Stutzenstein d1c63f74fd
Merge pull request #4966 from FinnStutzenstein/fixAutoupdates
Fixed bug sending always all data to users, who get restricted data
2019-09-02 09:21:27 +02:00
FinnStutzenstein 366777ebfd Fixed bug sending always all data to users, who get restricted data
Due to changes in an iterator, a RuntimeError was thrown but interpred al a too low change id. Fixed the bug and make a custom exception for this.
2019-09-02 09:05:29 +02:00
Emanuel Schütze ff6302a59c
Merge pull request #4964 from emanuelschuetze/translations-20190830
Updated translations
2019-09-02 08:45:09 +02:00
Finn Stutzenstein 93fae8ef3b
Merge pull request #4961 from FinnStutzenstein/loggingRedis
Logging prefix and handling redis connection errors
2019-09-02 08:28:12 +02:00
FinnStutzenstein 2aa0275dca Logging prefix and handling redis connection errors 2019-09-02 08:09:28 +02:00
Finn Stutzenstein 4d135ff3b8
Merge pull request #4962 from FinnStutzenstein/lessUpdatesOnSort
Just autoupdate changed models on sorting
2019-09-02 07:42:16 +02:00
Emanuel Schütze d7105d91c9 Updated translations 2019-08-30 11:26:29 +02:00
GabrielMeyer ef8508d2d2 Improves some user-interfaces for motion-detail 2019-08-30 11:16:14 +02:00
Sean Engelhardt 62825f41b0 Update to angular 8.2
Increase the version of angular and our components
2019-08-30 10:57:28 +02:00
FinnStutzenstein c73b04c005 Just autoupdate changed models on sorting 2019-08-29 15:11:18 +02:00
Sean 53dbcca85a
Merge pull request #4950 from GabrielInTheWorld/config-datetimepicker
Adds a picker for date and time in config
2019-08-29 11:43:50 +02:00
Emanuel Schütze 9b7a863515
Merge pull request #4958 from tsiegleauq/mediafiles-navbar-spam
Add scrollable folderbar to mediafile
2019-08-28 15:35:36 +02:00
Emanuel Schütze 5b11b672a2
Merge pull request #4951 from tsiegleauq/better-amendments-list
Enhance amendment list and routing logic
2019-08-28 14:57:48 +02:00
Sean Engelhardt 3af30bf7a1 Add scrollable folderbar to mediafile
- Cleansup the horrizontal scroller code
- make the folder bar scrollable
- Cleanup the way folder permissions are shown
2019-08-28 14:53:05 +02:00
Sean Engelhardt 985aeb095b Enhance amendment list and routing logic
Enhances routing logic and amendment list
2019-08-28 14:30:41 +02:00
Emanuel Schütze 4400d805f5
Merge pull request #4956 from GabrielInTheWorld/projectorUI
Improves the layout of the projector
2019-08-28 12:18:36 +02:00
Emanuel Schütze 210cf4bf32
Merge pull request #4957 from GabrielInTheWorld/hotfixPreview
Hotfix for preview on firefox
2019-08-28 12:18:27 +02:00
GabrielMeyer 453e639d2f Improves the layout of the projector
- Adds a grid-layout to have a flexible view for different devices
2019-08-28 11:59:56 +02:00
GabrielMeyer c38142dc40 Hotfix for preview on firefox 2019-08-28 11:53:23 +02:00
Emanuel Schütze 899eedf403
Merge pull request #4955 from GabrielInTheWorld/hotfixSuperSearch
Hotfix for global search
2019-08-28 09:23:07 +02:00
GabrielMeyer cf2b933a70 Hotfix for global search 2019-08-27 16:50:06 +02:00
Emanuel Schütze 815f37fdc2
Merge pull request #4952 from emanuelschuetze/translations-20190827
Updated translations
2019-08-27 15:58:35 +02:00
Emanuel Schütze d336f0fea0 Updated translations 2019-08-27 15:29:11 +02:00
Joshua Sangmeister 90dd843d43 added a datetimepicker to the config, including localisation.
also changed from NativeDateAdapter to MomentDateAdapter.
2019-08-27 14:36:04 +02:00
Sean a9720b2211
Merge pull request #4944 from GabrielInTheWorld/fixMetaTextBlock
Checks, if content is too large and hide it in 'meta-text-block'
2019-08-27 10:35:28 +02:00
Sean a36cf7b0c5
Merge pull request #4947 from tsiegleauq/terminate-web-worker
Add termination to pdf webworker
2019-08-27 10:16:14 +02:00
Sean 249c975a46
Merge pull request #4946 from GabrielInTheWorld/fixDragHandler
Adds a handler for 'sorting-tree's
2019-08-27 10:00:20 +02:00
GabrielMeyer c49ea53ab1 Checks, if content is too large and hide it in 'meta-text-block'
- Also updates the library 'css-element-queries'.
- Builds a directive to check, if the scroll-height of an element
has changed.
2019-08-27 10:00:04 +02:00
Sean Engelhardt 64c6327720 Add termination to pdf webworker
Allows to cancel the PDF generation by clicking a cancel-button
2019-08-27 09:58:30 +02:00
GabrielMeyer 9a6efc0403 Adds a handler for 'sorting-tree's
- Also fixes drag-handling for mobile-devices.
2019-08-27 09:36:48 +02:00
Emanuel Schütze a05a81b1b2
Merge pull request #4948 from GabrielInTheWorld/replaceSpinner
Replaces the new spinner with the old one
2019-08-27 09:12:59 +02:00
Emanuel Schütze 0d93c5ecfc
Merge pull request #4943 from tsiegleauq/prevent-destructive-bulk
Prevent wrong bulk-change-state operations
2019-08-27 09:00:33 +02:00
GabrielMeyer 421feb8e72 Replaces the new spinner with the old one
- The spinner from Angular/Material in `global-spinner.component` is replaced by the old, custom one.
2019-08-26 18:07:18 +02:00
Sean 13e18c82e3 Prevent wrong bulk-change-state operations
Prevents to change the state of multiple motions, if given motions are
in different workflows
2019-08-26 17:11:40 +02:00
Sean e3a7cbf935
Merge pull request #4890 from GabrielInTheWorld/freshSearch
Implements the 'global search' and moves the 'global spinner' to 'site.component'
2019-08-26 16:53:38 +02:00
Emanuel Schütze 900ba55a06
Merge pull request #4942 from tsiegleauq/tinymce-mobile-save
Add usage hints to tinymce mobile
2019-08-26 15:28:04 +02:00
Emanuel Schütze dbce3d541a
Merge pull request #4945 from tsiegleauq/icon-overwork
Enhance amendment wizard
2019-08-26 14:40:10 +02:00
Sean Engelhardt af8b49450b Enhance amendment wizard
- close button instead of back-button
- "are you sure" prompt if chances to the wizard were made
- edit and save events, like every other view
- enhanced next, previous, create logic that follows validation

also:
- fixed a bug with custom cancel events in the head-bar
- mobile button has the correct icon again
2019-08-26 13:51:25 +02:00
GabrielMeyer 5f29732e26 Implements the global 'super-search.component'
- Moves the 'spinner.component' to 'site.component'
- Replaces also the 'spinner.service' with an 'overlay.service', that handles all request to
show an element on an overlay.
2019-08-26 11:30:20 +02:00
Emanuel Schütze b1c02133ee
Merge pull request #4941 from tsiegleauq/firefox-amendment-list
Add manual change detection in amendment list
2019-08-23 08:37:16 +02:00
Emanuel Schütze afb804b7a2
Merge pull request #4939 from tsiegleauq/filter-has-speaker
Add speakers-filter to motion list
2019-08-23 08:35:47 +02:00
Sean Engelhardt 49ea32f495 Add usage hints to tinymce mobile
shows "dont forget to save" and "touch the book to edit" messages if the tinymce
mobile editor was called from motion comments and personal notes
2019-08-22 17:47:31 +02:00
Sean Engelhardt 04c51949be Add manual change detection in amendment list
Again a firefox issue.
Cycleing change detection crashed the browser
2019-08-22 16:07:54 +02:00
Sean Engelhardt dee41593c4 Add speakers-filter to motion list
The motion list (and the amendment list) now have an option to filter if speakers are present on the corresponding LOS-object to the displayed motions
2019-08-22 15:39:18 +02:00
Emanuel Schütze 74c2d58e70
Merge pull request #4938 from tsiegleauq/projector-cd
Add change signals for the listview
2019-08-22 15:12:14 +02:00
Emanuel Schütze 216f34c51b
Merge pull request #4937 from tsiegleauq/pdf-empty-page
Fix empty PDF TOC page
2019-08-22 15:09:54 +02:00
Emanuel Schütze 1900ecb1ea
Merge pull request #4928 from GabrielInTheWorld/fixIE
Adds compiling to ES5 for IE11
2019-08-22 15:00:15 +02:00
Emanuel Schütze a597764917
Merge pull request #4940 from emanuelschuetze/serviceWorkerURL
Exclude urls /rest and /apps from service worker caching.
2019-08-22 14:59:16 +02:00
Emanuel Schütze 4c2f7828bc Exclude urls /rest and /apps from service worker caching. 2019-08-22 14:23:12 +02:00
Sean Engelhardt 0f606b5a7e Add change signals for the listview
The projector-button now emits a signal if changed
List-of-speaker-button is now able to detect it's own updates
2019-08-22 14:01:17 +02:00
Sean Engelhardt 0939df17c9 Fix empty PDF TOC page
Fixed a bug that occured, when the pdf TOC had no motions without a category.
In this case, an empty page, that was reserved for motions without category
was printed
2019-08-22 10:47:37 +02:00
GabrielMeyer c42a9b4a13 Adds compiling to ES5 for IE11 2019-08-21 17:34:05 +02:00
Emanuel Schütze b80ac3ac68
Merge pull request #4936 from emanuelschuetze/translation-20190821
Updated translations
2019-08-21 15:26:01 +02:00
Emanuel Schütze 8f8c359874
Merge pull request #4935 from tsiegleauq/storage-key
Readd filter store keys
2019-08-21 15:23:29 +02:00
Emanuel Schütze c0aaa2d53c Updated translations 2019-08-21 15:11:57 +02:00
Sean Engelhardt 5a7b32e3cd Readd filter store keys
Adds custom storage keys to the filter list again
prevents a problem that appears on minified code
2019-08-21 14:53:07 +02:00
Emanuel Schütze ae110b9db1
Merge pull request #4934 from tsiegleauq/firefox-exporter-comment-bug
Fix firefox comment export
2019-08-21 14:43:30 +02:00
Emanuel Schütze 7447052a1d
Merge pull request #4932 from emanuelschuetze/motionSlideRework
New config to hide referring motions in slide and detail view
2019-08-21 14:41:11 +02:00
Sean Engelhardt 323a0604a1 Fix firefox comment export
Fixes an issue where motion comments where breaking the
motion export dialog in firefox
2019-08-21 14:15:49 +02:00
Emanuel Schütze ffa16b2190
Merge pull request #4929 from tsiegleauq/earlier-pdf-progress-spinner
Earlier PDF progress bar
2019-08-21 14:04:23 +02:00
Emanuel Schütze 862d8cdee9 New config to hide referring motions in slide and detail view
Rework motion slide:
- move referring motions to h2 subtitle
- move identifier to h1 main title
- reduce subtitle line
2019-08-21 14:00:17 +02:00
Emanuel Schütze d3c56efdc5
Merge pull request #4920 from emanuelschuetze/configDefaults
Rework config defaults.
2019-08-21 13:48:55 +02:00
Sean Engelhardt 1d566feab6 Earlier PDF progress bar
Shows an indeterminate spinner before the actual PDF creation
2019-08-21 13:35:17 +02:00
Emanuel Schütze f981106524 Rework config defaults.
- move motion setttings from settings.py to config that user can change
  it while runtime
- show help text for config fields as tooltip
2019-08-21 13:19:44 +02:00
Emanuel Schütze af0c00c89a
Merge pull request #4931 from GabrielInTheWorld/offlineForTheWin
Replaces the snackbar for offline-mode with a banner.
2019-08-21 13:15:09 +02:00
Sean 180aad853b
Merge pull request #4933 from GabrielInTheWorld/fixAttachments
Fixes directories as attachments
2019-08-21 11:34:09 +02:00
GabrielMeyer 4dd79296e8 Fixes directories as attachments
- Directories are not available anymore.
2019-08-21 10:57:22 +02:00
GabrielMeyer c5f90b0972 Replaces the snackbar for offline-mode with a banner. 2019-08-20 16:56:53 +02:00
Sean df429a7d8a
Merge pull request #4930 from GabrielInTheWorld/showNumberOrLetIt
Sets the default value for sequential numbers in export dialog
2019-08-20 14:48:33 +02:00
Sean 1d1ddbd6e4
Merge pull request #4927 from tsiegleauq/better-motion-detail-ui
Overwork motion detail UI
2019-08-20 13:52:44 +02:00
Sean Engelhardt d739b982bb Overwork motion detail UI
set Default action to "create amendment" (if permitted)
put edit in the menu
put next and prev motion in the menu (mobile)
resort motion menu
move "show enitre motion text" under the motion-preview
change "show entire motion text" from button to checkbox
create a custom tooltip for the main action in os-head-bar
create a custom "cancel edit" function in os-head-bar
overwork location.back logic
2019-08-20 12:42:50 +02:00
GabrielMeyer 3b9491224f Sets the default value for sequential numbers in export dialog 2019-08-20 12:37:42 +02:00
Emanuel Schütze 14d7269959
Merge pull request #4926 from tsiegleauq/hide-amendments-from-motion-list
Add option to hide amendments
2019-08-20 12:00:25 +02:00
Sean Engelhardt e7357a5b64 Add option to hide amendments
Enables to hide amendments from the motion list
Allows to search through amendment paragraphs in the list view of amendments
2019-08-19 16:25:35 +02:00
Sean bbe294a1ad
Merge pull request #4925 from FinnStutzenstein/errorhandling
Added missing error handling
2019-08-19 14:31:50 +02:00
Finn Stutzenstein 7e2c84c2eb
Merge pull request #4921 from FinnStutzenstein/ensureChangeId
Ensures change id across multiple workers
2019-08-19 13:14:07 +02:00
FinnStutzenstein 78d2766a2c Added missing error handling 2019-08-19 12:12:22 +02:00
FinnStutzenstein d4dc13706f Ensures change id across multiple workers 2019-08-19 09:42:51 +02:00
Sean eaf4d8180d
Merge pull request #4924 from tsiegleauq/amendment-lists
Add amendment list
2019-08-16 09:41:37 +02:00
Sean Engelhardt 13e1c01bb6 Add amendment list
Adds a new ListView to show all amendments.
The list view can be acessed from both the motion list and the motion detail list
2019-08-16 09:27:41 +02:00
Emanuel Schütze bfccf4cd2b
Merge pull request #4923 from tsiegleauq/motion-block-detail-layout
Unify motion block detail
2019-08-15 14:57:45 +02:00
Sean Engelhardt 1fc0ec02a9 Unify motion block detail
Changes motion block list to look and feel like all the other lists
2019-08-15 14:40:10 +02:00
Finn Stutzenstein c641a5ba3e
Merge pull request #4917 from FinnStutzenstein/relationFix
Fixed two little issues with relations and reverse mapping
2019-08-15 13:29:02 +02:00
FinnStutzenstein 1d718dcb74 Fixed two little issues with relations and reverse mapping
- Reverse setup for normal autoupdates (no initial loading)
- reverse "set null" to be reflected to the mapping

Also fixed a bug with redis
2019-08-15 12:51:59 +02:00
Sean 7fa94ab942
Merge pull request #4919 from emanuelschuetze/fixes
Enhance meta-text-block layout and wording
2019-08-15 12:50:10 +02:00
Finn Stutzenstein a1b7b1c69d
Merge pull request #4922 from tsiegleauq/update-ngrid-to-alpha-27
Update NGrid and fix build errors
2019-08-15 12:18:33 +02:00
Sean Engelhardt 1ecd5d663b Update NGrid and fix build errors
Set NGrid fix to alpha 26, since travis has issues with 27
Uses high memory to build, since a JavaScript heap out of memory exception will now be thrown
2019-08-15 12:01:09 +02:00
Emanuel Schütze 8e38fbbccf Fixes
- fix filter and wording for new personal notes tile
- break long words in comment and personal note boxes
- remove h4 headings for comment and personal note boxes
2019-08-14 20:24:35 +02:00
Finn Stutzenstein ba5782a655
Merge pull request #4912 from FinnStutzenstein/ResetCacheException
Added missing ResetCache-handling
2019-08-14 12:00:05 +02:00
Sean 1c7b910a4a
Merge pull request #4909 from GabrielInTheWorld/layoutMotionBlock
Improves the layout of motion-block-list
2019-08-14 11:51:47 +02:00
GabrielMeyer 5106b9dc71 Improves the layout of motion-block-list
- Full size
- Adds the `sort-filter-bar.component`.
- `sort-filter-bar.component` displays the current and total count of filtered items by default, now.
2019-08-14 11:36:30 +02:00
Emanuel Schütze 4988b758ba
Merge pull request #4916 from GabrielInTheWorld/fixUserIcons
Changes the icon of 'is gremium' and 'is active'
2019-08-13 16:32:22 +02:00
GabrielMeyer dfa4cffe8c Changes the icon of 'is gremium' and 'is active' 2019-08-13 16:16:32 +02:00
Sean bcf495e49f
Merge pull request #4889 from jsangmeister/categories-vscroll
Implemented Virtual Scrolling for Categories
2019-08-13 16:05:23 +02:00
jsangmeister d65751c5da Add virtual scrolling for categories
StorageService is now required in BaseListView.
Adds a dialog to create categories
2019-08-13 15:43:54 +02:00
Emanuel Schütze 8555516a53
Merge pull request #4913 from tsiegleauq/smarter-motion-tiles
Add Smarter motion tiles and filters
2019-08-13 15:03:07 +02:00
Emanuel Schütze 385e5bc7ab
Merge pull request #4910 from emanuelschuetze/translation-typo
Fixed German translation typo.
2019-08-13 14:02:27 +02:00
Sean Engelhardt a39d9b5843 Add Smarter motion tiles and filters
Removes motion tiles for subcategories
Sort motion-special tiles always behind category tiles
Add new logic to build tiles
Filter subcateories with their parent
2019-08-13 13:54:29 +02:00
Sean 7f600d4369
Merge pull request #4908 from GabrielInTheWorld/topicSearch
Adds the option to filter a list by function-values
2019-08-13 12:03:51 +02:00
Sean 3ccf5e9bea
Merge pull request #4901 from FinnStutzenstein/reverse
Reverse relations
2019-08-13 10:01:41 +02:00
FinnStutzenstein daabbaff28 Added missing ResetCache-handling 2019-08-12 15:01:57 +02:00
GabrielMeyer 6e059cf82e Adds the option to filter a list by function-values
- In `agenda-list.component` the user can search through the name of the topic.
2019-08-12 14:43:01 +02:00
FinnStutzenstein 0e4090c901 Reverse relations 2019-08-12 14:12:55 +02:00
Emanuel Schütze ce3d320201 Fixed German translation typo. 2019-08-12 14:05:00 +02:00
Finn Stutzenstein ed99fc8c91
Merge pull request #4898 from FinnStutzenstein/cascadeCategories
Cascade categories on delete
2019-08-12 07:49:13 +02:00
Sean c593d852ef
Merge pull request #4903 from tsiegleauq/multiselect-media-files
Multiselect in mediafiles
2019-08-09 10:32:27 +02:00
Sean Engelhardt a97ca18c36 Multiselect in mediafiles
Allows multiselect on mediafiles using the new folder structure
Add bulk delete on server
Add movement logic and path view
2019-08-09 10:08:45 +02:00
Emanuel Schütze b206a5b5d4
Merge pull request #4877 from tsiegleauq/translations-2019-07
Updated translations
2019-08-08 16:49:55 +02:00
Emanuel Schütze 90eb8e04f0
Merge pull request #4907 from tsiegleauq/subcategory-for-delegates
Show subcategory in detail for every permission
2019-08-08 16:39:59 +02:00
Sean Engelhardt 490672472a Updated translations 2019-08-08 16:34:59 +02:00
Sean Engelhardt 291a3b35e8 Show subcategory in detail for every permission
Shows subcat. withoug manage rights
Hide empty recommendation field if the user cannot manage it
2019-08-08 16:22:33 +02:00
Finn Stutzenstein 91238e83bb
Merge pull request #4896 from FinnStutzenstein/cache
Major cache rewrite
2019-08-08 13:21:49 +02:00
Finn Stutzenstein 3797e71a8d
Merge pull request #4906 from FinnStutzenstein/fixExampleDataGenerator
Fixed the example data generator
2019-08-08 13:16:58 +02:00
FinnStutzenstein a8946cfe99 Fixed the example data generator 2019-08-08 12:47:47 +02:00
Finn Stutzenstein 6f715e407a
Merge pull request #4905 from FinnStutzenstein/changedEmail
changed email
2019-08-08 09:42:23 +02:00
FinnStutzenstein 5aef823807 Major cache rewrite:
- Removed the restricted data cache (it wasn't used since OS 3.0)
- unify functions for restricted and full data: Just one function, which
  accteps an optional user_id: If it is None, full data is returned, and
  with a user id given, the restricted data
- More atomic access to redis, especially for:
- Check for data-existance in redis and do an auto-ensure-cache.
- Speedup through hashing of scripts and redis' script cache.
- Save schema version into the redis cache and rebuild, if the version
  changed

Client changes:
- Simplified the ConstantsService
- Fixed bug, when receiving an autoupdate with all_data=True from the
  Server
2019-08-08 08:35:02 +02:00
FinnStutzenstein 4a19dd8d77 changed email 2019-08-08 08:07:29 +02:00
Sean f25a8aefb2
Merge pull request #4888 from jsangmeister/dialogs-everywhere
Replaced multiple inline forms with dialogs
2019-08-06 15:53:35 +02:00
Finn Stutzenstein a804f26162
Merge pull request #4755 from FinnStutzenstein/clientErrorHandling
Client error handling
2019-08-06 15:22:16 +02:00
Sean 24422a1709
Merge pull request #4900 from tsiegleauq/new-issue-templates
Update issue templates
2019-08-06 12:40:31 +02:00
Joshua Sangmeister ad432dddc0 w 2019-08-06 11:57:23 +02:00
Sean Engelhardt 314f3ae27e Update issue templates
New templates for issues
2019-08-06 11:22:13 +02:00
Joshua Sangmeister ce50ce2eb9 w 2019-08-06 10:56:37 +02:00
Joshua Sangmeister b7c9b3f2ae w 2019-08-06 09:56:38 +02:00
Joshua Sangmeister 30c93f3990 w 2019-08-06 09:26:11 +02:00
jsangmeister 1bd93f0e98 added dialogs for creating and editing tags, statute paragraphs, motion comments and motion blocks 2019-08-06 08:03:59 +02:00
FinnStutzenstein d182c2c36f Cascade categories on delete 2019-08-05 13:12:10 +02:00
Finn Stutzenstein 32bec58333
Merge pull request #4897 from FinnStutzenstein/fixLOSUsers
Fix user loading in ViewSpeaker
2019-08-05 12:37:23 +02:00
FinnStutzenstein bdb206624b Fix user loading in ViewSpeaker 2019-08-05 12:08:43 +02:00
Sean 6bd8da29db
Merge pull request #4895 from tsiegleauq/fix-compodoc
Adjust compodoc to the new location of tsconfig
2019-08-05 10:23:08 +02:00
Sean Engelhardt 357b55ae43 Adjust compodoc to the new location of tsconfig 2019-08-02 12:23:17 +02:00
Sean 1f57bcfa91
Merge pull request #4894 from tsiegleauq/deeply-unsatisfactory-meme-resolved
Change the size of search-filter-bar
2019-08-02 10:43:24 +02:00
Sean Engelhardt 9adf3f7647 Change the size of search-filter-bar
Looks less random and more homogeneous now
2019-08-02 10:02:30 +02:00
Sean 420a355ec5
Merge pull request #4893 from tsiegleauq/close-list-of-speakers
Visualize closed lists of speakers
2019-08-02 10:00:16 +02:00
Sean Engelhardt 0ce5ab1eec Visualize closed lists of speakers
Hints if a list of speakers is closed or not
2019-08-01 15:49:59 +02:00
Sean bc99750869
Merge pull request #4891 from FinnStutzenstein/fixProjectorScroll
Correct projector scroll reset
2019-08-01 14:03:45 +02:00
Sean 70b0e7c478
Merge pull request #4883 from tsiegleauq/pdf-progress-callback
Add pdf webworker and progress bar
2019-08-01 13:39:49 +02:00
Sean Engelhardt 6123216afc Add pdf webworker and progress bar
Generate PDF in the background using webworker
Shows a progress bar to estimate the PDF generation progress
2019-08-01 13:23:56 +02:00
Finn Stutzenstein 2f7937a27d
Merge pull request #4892 from FinnStutzenstein/includeConfigsInHistory
Include current configs in old history snapshots
2019-08-01 12:58:58 +02:00
FinnStutzenstein 4d4b9ac997 Include current configs in old history snapshots 2019-08-01 12:45:09 +02:00
Finn Stutzenstein 0383f824d7
Merge pull request #4874 from FinnStutzenstein/history
Improve history
2019-08-01 11:19:57 +02:00
FinnStutzenstein 35e88b8386 Correct projector scroll reset
Fixes the "everytime reset" with #4887
2019-08-01 08:03:34 +02:00
Sean 62c55094bb
Merge pull request #4887 from GabrielInTheWorld/saveTheProjector
Updates the projector
2019-07-31 15:26:46 +02:00
Sean 36833c6206
Merge pull request #4886 from GabrielInTheWorld/saveTheMemberWithStars
Adds icons to display status 'inactive', 'is present' and 'is committee'
2019-07-31 15:08:14 +02:00
Sean 2be3fa1f08
Merge pull request #4885 from GabrielInTheWorld/saveTheMember
Exports the settings for the dialogs to a separate file.
2019-07-31 13:21:05 +02:00
GabrielMeyer bd03300ee0 Exports the settings for the dialogs to a separate file.
- Includes a constant for small, medium and large dialogs.
2019-07-30 15:59:15 +02:00
GabrielMeyer 6fdd2de3c0 Updates the projector
- The height is resetting by changing the slide.
- The user does not see a 'moving'-cursor by hovering over the projector-icon in the queue.
2019-07-30 14:24:50 +02:00
GabrielMeyer e487b8fec8 Adds icons to display status 'inactive', 'is present' and 'is committee'
- In `user-list.component` and in `user-detail.component`
- Also removes the method `getUserTooltip()` from `base-list-view.ts`
2019-07-30 13:44:15 +02:00
Finn Stutzenstein 1ed9aab380
Merge pull request #4872 from FinnStutzenstein/postgresIdSequence
Restarting the id sequence for postgresql
2019-07-30 13:27:43 +02:00
Finn Stutzenstein 29e06bf7ea
Merge pull request #4884 from FinnStutzenstein/superadminDirective
Added IsSuperAdmin directive
2019-07-30 13:27:05 +02:00
Sean 56db9b0723
Merge pull request #4882 from GabrielInTheWorld/savingSearchInBar
Saves the value of the local search in 'list-view-table'
2019-07-30 11:27:54 +02:00
GabrielMeyer 2a1a44ee5a Saves the value of the local search in 'list-view-table'
- Builds a new component 'rounded-input' to have a input-field with rounded borders.
- Saves the input on every change in the local storage.
- In the `OnInit`-function this value is restored.
2019-07-30 10:57:55 +02:00
FinnStutzenstein 408ef6d3f2 Restarting the id sequence for postgresql 2019-07-30 10:42:11 +02:00
FinnStutzenstein a0501ccf74 Improve history 2019-07-30 10:40:36 +02:00
FinnStutzenstein f876d1c1fa Added IsSuperAdmin directive 2019-07-30 10:12:21 +02:00
Finn Stutzenstein 60098af22d
Merge pull request #4880 from FinnStutzenstein/tslint
New linting rules and ordering of imports
2019-07-30 10:07:05 +02:00
FinnStutzenstein 51a3fbdf3e New linting rules and ordering of imports 2019-07-30 09:53:14 +02:00
Finn Stutzenstein 1b26c03ef9
Merge pull request #4866 from FinnStutzenstein/RepoUpdate
Generic relations for the repos
2019-07-30 09:25:50 +02:00
FinnStutzenstein dd66244d84 Generic relations for the repos 2019-07-30 09:07:51 +02:00
Sean 13e8bbb168
Merge pull request #4873 from GabrielInTheWorld/uiFixes
Fixes some UI issues
2019-07-26 12:04:56 +02:00
Sean 4cf61ba6ce
Merge pull request #4879 from tsiegleauq/mediafile-manual-change-detection
Add better change detection to MediaFiles
2019-07-26 11:53:25 +02:00
GabrielMeyer b5b3e60e81 Fixes some UI issues corresponding to the theme
- Fixes white page at 'legalnotice' and 'privacypolicy'
- Fixes the button to collapse the sidenav
- Fixes a too long text in the headbar
- Reworked the login data service:
    * make order of operations clear
    * prevent setting invalid data into the storage
2019-07-26 11:47:04 +02:00
Sean Engelhardt db30831d3e Add better change detection to MediaFiles
There was a chance that the file browser did not update after creating or renaming a folder.
2019-07-26 10:41:46 +02:00
Sean ec853e5aba
Merge pull request #4868 from FinnStutzenstein/userBulkViews
Group add/remove bulk view
2019-07-25 11:27:28 +02:00
Sean 85fa114fa0
Merge pull request #4860 from GabrielInTheWorld/fixSorting
Implements a custom sorting for categories
2019-07-25 10:28:57 +02:00
Sean ff7978b8ae
Merge pull request #4843 from GabrielInTheWorld/uiImprovements
Fixes dynamic growing cells in workflows
2019-07-25 10:26:20 +02:00
Sean 1d89bc6b30
Merge pull request #4875 from tsiegleauq/table-no-data
Add various UI refinement
2019-07-25 09:52:31 +02:00
Sean d330a4ca97
Merge pull request #4876 from tsiegleauq/refactor-PDF-TOC
Fix PDF TOC header
2019-07-25 09:42:42 +02:00
Sean Engelhardt 31ab7d387c Fix PDF TOC header
Fixes an error where the PDF TOC header could not be repeated.
PDFmake seems to ignore soft references to objects. It will print them exactly once and then ignore them.

Also Adds the name of a parent category in a TOC-Table
2019-07-24 16:56:22 +02:00
Sean Engelhardt 0c9732ec7d Add various UI refinement
- "no data" in VScroll tables
- "no data" in File manager
- VScroll to angular theme (dark mode, etc)
- Prettier history table
2019-07-23 15:59:24 +02:00
Finn Stutzenstein 20cbe37d74
Merge pull request #4869 from FinnStutzenstein/emailConnectionRefusedError
Added error message for connection refused errors sending emails
2019-07-23 15:40:34 +02:00
GabrielMeyer ac9bcf8539 Implements a custom sorting for categories
- If the motion-list is sorted by categories, the category is internal sorted by the `category_weight` of the motion
- Adds a slot to pass a custom sorting function to the `sort-filter-bar.component`
2019-07-23 15:27:21 +02:00
GabrielMeyer bb55110245 Fixes dynamic growing cells in workflows
- The cells in the table of a workflow are dynamically growing
- The colors of the states get new labels
- If multiple selection in motion-list is active, the button to change the view won't be seen
2019-07-23 15:01:35 +02:00
Sean 93e37720dc
Merge pull request #4871 from FinnStutzenstein/cleanupPermissions
Cleanup unused permissions
2019-07-23 14:37:07 +02:00
FinnStutzenstein a60719bcc4 Added error message for connection refused errors sending emails 2019-07-23 14:12:05 +02:00
Sean 54c5410bb8
Merge pull request #4870 from tsiegleauq/firefox-mediafiles
Hotfix mediafiles for firefox
2019-07-23 13:57:41 +02:00
Sean Engelhardt 2d908c9ee6 Hotfix mediafiles fore firefox
firefox requires special treatment. Again.
2019-07-23 13:08:29 +02:00
FinnStutzenstein c2a73c5146 Cleanup unused permissions 2019-07-23 12:52:28 +02:00
FinnStutzenstein bbb8a84f5c Group add/remove bulk view 2019-07-23 12:06:26 +02:00
Sean e28f0f6685
Merge pull request #4867 from tsiegleauq/file-manager-permissions
Add permissions to media files
2019-07-23 11:19:48 +02:00
Sean Engelhardt 2071cbe4c4 Add permissions to media files
Adds a set of permissions to the new file manager
2019-07-23 10:42:06 +02:00
Finn Stutzenstein 20dc306106
Merge pull request #4861 from FinnStutzenstein/userBulkViews
Bulk views for users: state, password and delete
2019-07-23 10:25:15 +02:00
FinnStutzenstein 1e177917d0 Bulk views for users: state, password and delete 2019-07-23 08:41:39 +02:00
Finn Stutzenstein 61002a6bad
Merge pull request #4865 from FinnStutzenstein/MotionCommentSectionSorting
sorting of motion comment sections
2019-07-22 16:03:13 +02:00
Sean Engelhardt ce57f88adb Add motion comment section sort view 2019-07-22 15:46:26 +02:00
Sean 5c660a373f
Merge pull request #4863 from tsiegleauq/ngrid-real-search-filter
Implement NGrids filter function
2019-07-22 12:19:04 +02:00
Sean d5746f95cb
Merge pull request #4864 from FinnStutzenstein/LogoFontMigration
Added logo and font migrations
2019-07-22 11:44:45 +02:00
Sean e3f3108f8c
Merge pull request #4841 from GabrielInTheWorld/globalSearch
Refactores the 'global search'
2019-07-19 15:24:54 +02:00
Sean bccdb43d58
Merge pull request #4837 from FinnStutzenstein/projectorImprovements
Projector improvements
2019-07-19 15:00:23 +02:00
FinnStutzenstein 74647dc75d sorting of motion comment sections 2019-07-19 14:37:59 +02:00
Sean Engelhardt 2372408e4c Implement NGrids filter function
- Implements NGrids new "filteredData" function, to restore old filter behavior.
Export a quick-filtered list is now possible.

- More controll about List-View-Table UI

- Use NGrid target-events for better mutli-select behavior

- Changes the behavior of hidden headers to ignore paddings-changes

- filters are more resistant to errors and storage loss
2019-07-19 14:35:24 +02:00
FinnStutzenstein e9ef293cf7 Added logo and font migrations 2019-07-19 13:45:39 +02:00
FinnStutzenstein 23c704b5da Projector improvements
- Moved projector configs to group "General"
- Removed unused projector config related to CLOS
- debounce projector data requests for many projectors
- add (foreground) color
- custom, modifiable CSS classes per projector to cascade dynamic styles into slides
2019-07-19 12:43:45 +02:00
Finn Stutzenstein 8cb9892426
Merge pull request #4862 from FinnStutzenstein/splitClientBuilds
Split client production builds in travis (closes #4849)
2019-07-19 12:42:49 +02:00
Sean ee559500fb
Merge pull request #4792 from GabrielInTheWorld/formValidationForTheWin
Form validation
2019-07-19 12:32:31 +02:00
FinnStutzenstein 2f5688a653 Split client production builds in travis (closes #4849) 2019-07-17 16:16:38 +02:00
GabrielMeyer 5e922f66d2 Refactores the 'global search' 2019-07-17 15:11:36 +02:00
GabrielMeyer 4e0e641002 Form validations
The system validates the input of the users.
In most cases, if a form is invalid, the user has no chance to save his changes.
2019-07-17 15:09:38 +02:00
Sean 450819c035
Merge pull request #4858 from FinnStutzenstein/littleFixes
Little fixes
2019-07-17 13:54:54 +02:00
Sean ee9909308f
Merge pull request #4856 from GabrielInTheWorld/util-fixes
Fixes some autocompleted inputs
2019-07-17 13:38:48 +02:00
FinnStutzenstein 88162dd1e9 Little fixes
- Fixed bug for deleted candidates
- Prevent deleting group 1 and 2
- Creation of topics
2019-07-17 13:16:36 +02:00
GabrielMeyer f23b901622 Fixes some autocompleted inputs 2019-07-17 08:32:46 +02:00
Sean 51130da791
Merge pull request #4844 from MaximilianKrambach/sortList
fixing multiselect sort in sorting lists
2019-07-16 11:38:03 +02:00
Sean bb7b702e05
Merge pull request #4846 from tsiegleauq/subcat-filter-and-ui
Enhance subcategories
2019-07-16 11:29:33 +02:00
Sean 4de1c526e9
Merge pull request #4842 from GabrielInTheWorld/headbar
Removes the second row for the headbar
2019-07-16 11:26:46 +02:00
Sean b9cf1ef93a
Merge pull request #4850 from GabrielInTheWorld/csvCommentsExportTwo
Exporting comments in CSV
2019-07-16 11:06:21 +02:00
GabrielMeyer 457fc570a0 Removes the second row for the headbar
- Instead of the second row there is a toggle-button at the bottom of the side-nav
2019-07-16 10:52:21 +02:00
Sean Engelhardt 530dcf490a Enhance subcategories
- show parents over children in motion list, motion detail and PDF
- indent children of categories in the filter list
2019-07-16 10:48:48 +02:00
GabrielMeyer 8337f8928c Exporting comments in CSV 2019-07-16 10:39:53 +02:00
Sean bb33496f71
Merge pull request #4855 from tsiegleauq/firefox-file-manager
Add file manager patches for firefox
2019-07-16 10:16:20 +02:00
Sean Engelhardt d036fe6046 Add file manager patches for firefox
Lowers the change detection attempts to fix the file manager
for firefox
2019-07-15 17:49:30 +02:00
Emanuel Schütze 1c3d60fe39
Merge pull request #4853 from emanuelschuetze/comments-fix
Fixed XLSX export for empty comments.
2019-07-14 21:15:03 +02:00
Emanuel Schütze a365cb9edb
Merge pull request #4854 from CatoTH/OS3-bugfix-missing-text-in-pdf-diff-view
Bugfix: missing text in PDF-exported diff view
2019-07-14 20:59:50 +02:00
Emanuel Schütze 1347c1fb64 Fixed XLSX export for empty comments. 2019-07-14 20:54:38 +02:00
Tobias Hößl e5a27205d3
Bugfix: missing text in PDF-exported diff view 2019-07-14 08:43:19 +02:00
Emanuel Schütze 2bdba5ac8e
Merge pull request #4852 from emanuelschuetze/translations-20190713
Updated translations
2019-07-13 22:55:26 +02:00
Emanuel Schütze 6e8e962d5c
Merge pull request #4848 from FinnStutzenstein/fixMediafiles
Fix mediafiles for non superadmins
2019-07-13 22:54:40 +02:00
FinnStutzenstein b4e9b28397 Fix mediafiles for non superadmins 2019-07-13 19:37:49 +02:00
Emanuel Schütze cf3879957b Updated translations 2019-07-13 14:55:55 +02:00
Emanuel Schütze 19f47e1bef
Merge pull request #4847 from GabrielInTheWorld/csvCommentsExport
Exporting comments for XLSX
2019-07-13 13:28:12 +02:00
Emanuel Schütze d1ffea4fd7
Merge pull request #4845 from emanuelschuetze/pdf-toc
Motion PDF improvements
2019-07-13 13:08:53 +02:00
GabrielMeyer 07fb4e2167 Exporting comments for XLSX 2019-07-12 16:50:59 +02:00
Emanuel Schütze 4e6eddef98 Motion PDF improvements
- show motion export dialog for all users
- print recommendation in table of content lines in italic
- only print categories of filtered motions in table of content
- add page break after each (sub)category
- reduce font size for footer date
2019-07-12 14:30:24 +02:00
Emanuel Schütze 3fd519e0d4
Merge pull request #4821 from FinnStutzenstein/directories
Directories and access permissions for mediafiles
2019-07-12 13:34:46 +02:00
Emanuel Schütze 437d10f693
Merge pull request #4838 from FinnStutzenstein/configMigrationVersion
Recover-strategy to detect an updated server without a reload
2019-07-12 13:30:14 +02:00
Emanuel Schütze b67ccf0c29
Merge pull request #4836 from FinnStutzenstein/agendaPermissions
Requires agenda.can_manage for settings agenda item information
2019-07-12 13:17:19 +02:00
Sean Engelhardt e2adc8911f Add NGrid UI for MediaFiles 2019-07-12 13:09:07 +02:00
FinnStutzenstein 56c1da352e Directories and access permissions for mediafiles 2019-07-12 13:08:07 +02:00
Maximilian Krambach e199926451 fixing multiselect sort in sorting lists 2019-07-12 12:51:54 +02:00
FinnStutzenstein 77dee0d977 Recover-strategy to detect an updated server without a reload 2019-07-11 19:23:25 +02:00
FinnStutzenstein 0d5e795f50 Requires agenda.can_manage for settings ageda item information on content object creation 2019-07-11 19:10:55 +02:00
Sean af538436e3
Merge pull request #4832 from emanuelschuetze/supporters-in-pdf
Show supporters in motion pdf
2019-07-11 11:45:02 +02:00
Emanuel Schütze 3fe18bad7b
Merge pull request #4839 from tsiegleauq/motion-detail-jumping-prevention
Prevent motion-detail jumps
2019-07-10 23:10:11 +02:00
Emanuel Schütze 2f795593f3
Merge pull request #4840 from tsiegleauq/xlsx-does-not-build
Downgrade exceljs to 1.10.0
2019-07-10 22:56:32 +02:00
Emanuel Schütze 9a08ba59b0 Show supporters in motion pdf 2019-07-10 21:58:43 +02:00
Sean Engelhardt f2e9c558e1 Downgrade exceljs to 1.10.0
Upstream bugs exceljs prevent the writebuffer from working
2019-07-10 20:44:29 +02:00
Sean Engelhardt e5621ad1ab Prevent motion-detail jumps
- Fixes an error where the extension label could open automatically due to state changes by others.
- Changes the quick-navigation div to a host-listener
- Changes the quick-navigation keys to meta+alt+arrow to shift+alt+arrow, since Firefox does not recognize meta
- Removed the ID from all os-sort-lists and moves it into the extra controls of category-motion-sort-list
2019-07-10 19:25:06 +02:00
Emanuel Schütze 6e8aa75162
Merge pull request #4833 from tsiegleauq/add-extension-to-label
Enhance motion extension field
2019-07-10 11:03:57 +02:00
Emanuel Schütze 49049562eb
Merge pull request #4834 from FinnStutzenstein/sortGlobalSearchResults
Sort global search results
2019-07-10 09:09:59 +02:00
Emanuel Schütze 6295240cfc
Merge pull request #4835 from tsiegleauq/even-smarter-back-button
Prevent double mobile back buttons
2019-07-10 09:08:04 +02:00
Sean Engelhardt 719f1f8031 Enhance motion extension field
Enhances the motion extension field to make it even more easily
accessible.

Also allows to quickly jump between motions using:
Meta + Alt(left) + ArrowKeyLeft/Right
2019-07-10 09:07:35 +02:00
FinnStutzenstein fa22d651dd Sort global search results 2019-07-10 07:51:23 +02:00
Sean Engelhardt 78f6e06dd8 Prevent double mobile back buttons
Fixes an error where a close and a back button
could be shown in mobile mode
2019-07-09 23:22:58 +02:00
Emanuel Schütze 3f6fe28f35
Merge pull request #4831 from emanuelschuetze/translationfix
Translation typo
2019-07-08 21:40:57 +02:00
Emanuel Schütze 3d6b355468
Merge pull request #4830 from emanuelschuetze/without-aot
Run production build (ng build --prod) without --aot
2019-07-08 20:27:08 +02:00
Emanuel Schütze 58033422c1 Translation typo 2019-07-08 20:16:30 +02:00
Emanuel Schütze a8ae878cd2 Run production build (ng build --prod) without --aot
aot is already set in angular.json.
2019-07-08 19:57:06 +02:00
Emanuel Schütze 2f2e415b78
Merge pull request #4829 from tsiegleauq/id-in-sort
Use ID in search value and sort view
2019-07-08 19:52:47 +02:00
Sean Engelhardt f9cab8162d Use ID in search value and sort view
Allows the search value selector to search IDs as well.
Show the ID in the Os-Sort-Tree
2019-07-08 18:14:52 +02:00
Sean 596b9516e6
Merge pull request #4725 from GabrielInTheWorld/form-control
Separates the attachment field to a custom component
2019-07-08 13:50:02 +02:00
Emanuel Schütze 68ab7e9a1b
Merge pull request #4828 from tsiegleauq/larger-build-size
Increase build budget to prevent warning
2019-07-08 13:19:18 +02:00
Sean Engelhardt 6c4ff4fb52 Increase build budget to prevent warning 2019-07-08 12:56:04 +02:00
Emanuel Schütze f301e9c5af
Merge pull request #4827 from tsiegleauq/extension-hotfix
Hotfix clearing of extensions on navigation
2019-07-08 12:13:42 +02:00
Sean Engelhardt 5817c45e01 Hotfix clearing of extensions on navigation 2019-07-08 11:34:14 +02:00
Emanuel Schütze b5b03f34ec
Merge pull request #4826 from emanuelschuetze/translations-20190708
Updated translations
2019-07-08 10:49:36 +02:00
GabrielMeyer dfa80e9cd0 Separates the attachment field to a custom component
- Refactores also the 'search-value-selector.component'
2019-07-08 10:45:11 +02:00
Emanuel Schütze 1cdfea666b Updated translations 2019-07-08 10:22:19 +02:00
Emanuel Schütze 1a31fc9068
Merge pull request #4825 from GabrielInTheWorld/fixPermissions
Corrects the permission-handling
2019-07-08 09:52:33 +02:00
Sean 46f39f96e8
Merge pull request #4823 from GabrielInTheWorld/fixAutoUpdate
Separates the field of state and recommendation
2019-07-08 09:41:14 +02:00
GabrielMeyer 7e9190ea84 Corrects the permission-handling
- Projector-controls aren't seen, if no permission 'can_manage'
- The 'more options'-menu is removed
- New config option: Hide amount of speakers in list of speakers slide subtitle.
2019-07-08 09:27:45 +02:00
GabrielMeyer 0d52aaaa45 Separates the field of state and recommendation
- New component for similar situations
- Prevents overwriting and discarding of changes, if an 'autoupdate' is triggered
2019-07-08 09:10:05 +02:00
Emanuel Schütze 3cd9c5497c
Merge pull request #4822 from tsiegleauq/motion-export-dialog-addons
Add more option to motion export
2019-07-05 12:22:42 +02:00
Sean Engelhardt f79aa763c2 Add more option to motion export
Add optional TOC, date and page numbers to the motion export dialog.
Save and restore the last selected entries in the dialog
2019-07-05 11:57:05 +02:00
Emanuel Schütze e416231ef4
Merge pull request #4818 from CatoTH/OS3-title-change-recommendation
Change recommendations for titles
2019-07-05 11:53:23 +02:00
Tobias Hößl 2592862384 Change recommendations for titles
- Title changes in PDF, Diff-view and slides
2019-07-05 11:17:42 +02:00
Sean b06f879602
Merge pull request #4819 from tsiegleauq/angular-8.0.6
Update to Angular 8.0.6
2019-07-04 14:51:51 +02:00
Sean Engelhardt bc0fea3310 Update to Angular 8.0.6
Updates to angular 8 and updates all used components

- removed wrapper class for ngx/pwa LocalStorrace
- removed database lock service due to bugs
- tried to work around a cycle of dependancies
- changed some structure to be more close to default angular
- removed legacy angular packages
- removed date-picker since it was not currently used and
  is not compatible anymore
- upgrade tinyMCE
2019-07-04 14:20:57 +02:00
Emanuel Schütze 7943d15dae
Merge pull request #4811 from FinnStutzenstein/recommendationReferencingMotions
Show from recommendation referencing motions
2019-07-04 12:42:04 +02:00
FinnStutzenstein 2ae7776392 Show from recommendation referencing motions 2019-07-04 07:12:31 +02:00
Emanuel Schütze ea425996f9
Merge pull request #4817 from CatoTH/OS3-bugfix-repeated-motion-texts
Bugfix: Amendment with multiple changed paragraphs shows motion text …
2019-07-03 13:08:08 +02:00
Tobias Hößl 6b70e8a4ab Bugfix: Amendment with multiple changed paragraphs shows motion text multiple times when context is shown 2019-07-03 12:20:44 +02:00
Emanuel Schütze 47f1ca9691
Merge pull request #4816 from tsiegleauq/motion-pdf-sub-categories
Add motion PDF TOC subcategories
2019-07-03 12:08:41 +02:00
Sean Engelhardt cfc09d8cad Add motion PDF TOC subcategories
Adjust the motion catalog PDF TOC to indicate Subcategories
2019-07-03 10:38:20 +02:00
Finn Stutzenstein 8a8684b27a
Merge pull request #4820 from FinnStutzenstein/compatibilityToPytest5
Compatibility to pytest 5
2019-07-03 08:00:16 +02:00
FinnStutzenstein 78dcc3f902 Compatibility to pytest 5 2019-07-03 07:46:23 +02:00
Emanuel Schütze bf4f93c502
Merge pull request #4815 from tsiegleauq/multiselect-stack-calls
Enhance Choice service.
2019-07-02 13:08:53 +02:00
Sean ec9760216a
Merge pull request #4790 from FinnStutzenstein/cleanup
Cleanup
2019-06-28 12:02:07 +02:00
Sean Engelhardt 1e7a5b33d7 Enhance Choice service.
- Enhance the behavior on small screens and resolutions
- Only scroll content
- fixes an issue where choices could not be made if no content option where available
2019-06-28 11:44:16 +02:00
Finn Stutzenstein b71e73fe7f
Merge pull request #4785 from FinnStutzenstein/historyQuicklink
Quicklink to history (closes #4777)
2019-06-28 08:50:54 +02:00
FinnStutzenstein e604da3240 Quicklink to history (closes #4777) 2019-06-28 08:32:21 +02:00
FinnStutzenstein b8d3fa2614 Cleanup 2019-06-28 07:58:36 +02:00
Emanuel Schütze 45f6916036
Merge pull request #4814 from emanuelschuetze/translation-20190627
Updated translations
2019-06-27 23:36:44 +02:00
Emanuel Schütze 5d3bb1fd4a Updated translations 2019-06-27 23:20:49 +02:00
Emanuel Schütze 964712c77d
Merge pull request #4774 from GabrielInTheWorld/pdf-checkbox
Implements checkboxes
2019-06-27 22:44:49 +02:00
Emanuel Schütze a63891e98c
Merge pull request #4813 from tsiegleauq/remove-restriction-for-filter
Remove restrictions for filters
2019-06-27 22:38:28 +02:00
Emanuel Schütze cc0e8f0829
Merge pull request #4807 from emanuelschuetze/text-encode
Use npm package text-encoding to fix IE11/Edge login.
2019-06-27 22:24:27 +02:00
GabrielMeyer e5b25d7695 Implements checkboxes
In every motion the user has the option to follow the recommendation or not.
2019-06-27 22:20:43 +02:00
Emanuel Schütze bd4365eb30
Merge pull request #4812 from tsiegleauq/show-active-filter
Add detailed filter information
2019-06-27 20:51:57 +02:00
Sean Engelhardt b4cbf5646f Add detailed filter information
Adds detailed filter information into the table custom head bar.
Filters are scroll-able horizontally
2019-06-27 16:38:21 +02:00
Sean Engelhardt db672f1405 Remove restrictions for filters
Removes the restictions for filters
2019-06-27 16:20:31 +02:00
Emanuel Schütze b7d35d1fa1
Merge pull request #4789 from tsiegleauq/user-list-sort
Fix sorting with empty strings
2019-06-27 15:21:38 +02:00
Sean Engelhardt 1aa41945c5 Fix sorting with empty strings
Empty strings can now be sorted using the base filter service
2019-06-27 14:32:14 +02:00
Emanuel Schütze f2c6213901
Merge pull request #4810 from emanuelschuetze/pwa-color
Redefine colors for PWA.
2019-06-26 16:31:38 +02:00
Emanuel Schütze a8af0595a6
Merge pull request #4808 from emanuelschuetze/email
New email sender name and reply-to config options.
2019-06-26 16:30:17 +02:00
Emanuel Schütze 2657401a65 Redefine colors for PWA. Fetch fonts for offline usage. 2019-06-26 09:55:05 +02:00
Emanuel Schütze 585b569bbf
Merge pull request #4809 from FinnStutzenstein/fixRestrictionWithoutRestrictedDataCache
Fix restriction without restricted data cache
2019-06-25 20:56:31 +02:00
Emanuel Schütze 29dd81ba39 New email sender name and reply-to config options. 2019-06-25 17:26:38 +02:00
FinnStutzenstein b7e98a565a Fix restriction without restricted data cache 2019-06-25 16:57:29 +02:00
Emanuel Schütze 611d0f4610 Use npm package text-encoding to fix IE11/Edge login.
IE11/Edge does not support TextDecoder/TextEncoder.
Solved by using the npm package 'text-encoding'.
2019-06-25 14:59:04 +02:00
Emanuel Schütze ae618fce20
Merge pull request #4806 from tsiegleauq/smarter--back-button
Smarter back button
2019-06-25 11:56:24 +02:00
Sean Engelhardt 9d37989ec7 Makes navigation from Legal notice and pp always possible.
Tracks the last history and evaluates if the last visited URL is safe to navigate to

also increases the version of djangorestframework.

fixes #4705
2019-06-25 10:45:24 +02:00
Sean 19a389cae6
Merge pull request #4805 from tsiegleauq/more-listview-patches
Adds custom filter predicates for native object data
2019-06-24 17:04:57 +02:00
Sean Engelhardt 2758441552 Adds custom filter predicates for native object data
Supports properties like motion submitter and more.

Does at the moment "not" support tunneled properties, i.e filters
that need to go over a repository
(i.w workflow-state-label)

Fixes some small issues
2019-06-24 16:30:27 +02:00
Sean 582be687eb
Merge pull request #4803 from tsiegleauq/sorted-next-motion
Enhance surrounding motion detection
2019-06-24 16:29:00 +02:00
Sean Engelhardt a5620624e2 Enhance surrounding motion detection
Uses the new sort and filter list in the motion
detail page to offer the same sorting of surrounding
motions from the list view
2019-06-24 15:54:52 +02:00
Sean 7d03fddfcf
Merge pull request #4801 from FinnStutzenstein/numberingPrefetchingFix
Fixed prefetching and ordering of motions during numbering
2019-06-24 13:08:53 +02:00
Emanuel Schütze 3d573441ca
Merge pull request #4759 from FinnStutzenstein/optionalAgendaItem
Optional agenda items
2019-06-24 12:37:29 +02:00
Sean dcfedb9864
Merge pull request #4804 from tsiegleauq/remove-fs-package
Remove unnecessary fs package
2019-06-24 12:13:13 +02:00
Sean Engelhardt 582db8bf2c Remove unnecessary fs package
Remove a dev package and update the readme accordingly.
2019-06-24 11:45:35 +02:00
FinnStutzenstein ac303d9f3d Fixed prefetching and ordering of motions during numbering 2019-06-20 14:03:57 +02:00
Sean 7aaa971c0a
Merge pull request #4800 from tsiegleauq/personal-note-render-html
Fix HTML rendering in personal note
2019-06-19 17:57:25 +02:00
Sean Engelhardt f5fdc37e8e Fixes not rendered in personal note
Use sanitize HTML in personal note component
2019-06-19 16:49:14 +02:00
Emanuel Schütze db3bf4de66
Merge pull request #4798 from FinnStutzenstein/fixClos
Fixed clos
2019-06-19 12:04:09 +02:00
Emanuel Schütze d5db8429b0
Merge pull request #4799 from tsiegleauq/ngrid-filter-predicates
Add Filter predicate for ID
2019-06-19 11:59:20 +02:00
Sean Engelhardt afda3e03ec Add Filter predicate for ID
All List View Tables can get custom filter predicates.
Per default, they now filter their primitive content
as well as their ID
2019-06-19 11:38:14 +02:00
Finn Stutzenstein f8fabbabd1
Merge pull request #4797 from FinnStutzenstein/fixSelfReferencingRelationshipUpdates
Fixed updates for self references in BaseRepository (closes #4796)
2019-06-19 09:15:24 +02:00
FinnStutzenstein 4ac5d1dbc2 Fixed clos 2019-06-19 09:15:07 +02:00
FinnStutzenstein c2f14397f2 Fixed updates for self references in BaseRepository (closes #4796) 2019-06-19 09:05:09 +02:00
Emanuel Schütze c7088a4b73
Merge pull request #4786 from GabrielInTheWorld/FinnStutzenstein/categoryNameWithParents
Labelling of subcategories
2019-06-19 08:15:47 +02:00
Emanuel Schütze c67ad7f41d
Merge pull request #4795 from tsiegleauq/vlist-refinements
Refine Virtual Scrolling Tables
2019-06-19 08:10:56 +02:00
Sean Engelhardt 6cc8c8b531 Refine Virtual Scrolling Tables
- Enabled Word Wrapping
- Fixed an error where the projection dialog did not apear in the agenda
- Better promise handling to decide between motion table and tiles
- Fixed a projector permission bug
- disabled mat-row stagger animation
- Exchanged ngrid-grey theme with OpenSlides mat-card background. Looks cleaner
2019-06-18 23:46:10 +02:00
Emanuel Schütze a39971c194
Merge pull request #4787 from GabrielInTheWorld/prepair-theming
Ensures theming of components
2019-06-18 19:47:27 +02:00
Emanuel Schütze 7dd59cc477
Merge pull request #4782 from GabrielInTheWorld/tab-title-more
Sets more tab title
2019-06-18 19:44:22 +02:00
Emanuel Schütze ae76a1991d
Merge pull request #4788 from GabrielInTheWorld/aNameForThisBranch
Fixes correct displaying for 'Active filters'
2019-06-18 19:38:45 +02:00
Emanuel Schütze 7cf604918f
Merge pull request #4784 from tsiegleauq/user-list-toggle
Add more user list options
2019-06-17 17:26:29 +02:00
Emanuel Schütze 578efe3345
Merge pull request #4791 from GabrielInTheWorld/tile-enhances
Sorts categories in tile-view by prefix
2019-06-17 17:17:38 +02:00
GabrielMeyer c136a1b691 Sorts categories in tile-view by prefix 2019-06-17 17:03:43 +02:00
GabrielMeyer 086571d7fe Fixes correct displaying for 'Active filters' 2019-06-17 14:57:26 +02:00
GabrielMeyer 4fc7731f1a Ensures theming of components
- If there is no theme applied, the default theme is loaded and applied.
2019-06-17 14:48:34 +02:00
GabrielMeyer f63838ff83 Adds extended label to pdf-export 2019-06-17 13:55:42 +02:00
GabrielMeyer 31161398c0 Sets more tab title
Sets the titles for the tab on more pages.
Fixes #4773.
2019-06-17 13:15:06 +02:00
FinnStutzenstein 295c69e3fb Changed category label for motion views 2019-06-17 13:06:06 +02:00
Sean Engelhardt bb443fd4af Add more user list options
- Adds an icon with tooltip if a user is inactive to the user list
- always show the 'present'-column, even though the user is not active
- add a info icon if the user has a "comment". The content of the content
  is displayed in the tooltip
2019-06-17 12:50:54 +02:00
FinnStutzenstein 8ff0f73477 Optional agenda items 2019-06-17 12:38:17 +02:00
Emanuel Schütze cab8dba016
Merge pull request #4781 from tsiegleauq/faster-animations
Speed up animations.
2019-06-17 12:25:59 +02:00
Sean Engelhardt 161873b68c Speeds up the animations.
Removed the on-transition-fade class
The current way to trigger animation seemed not reliable enough.
2019-06-14 15:19:52 +02:00
Emanuel Schütze a5e1646f3c
Merge pull request #4780 from emanuelschuetze/translations-20190614
Updated translations
2019-06-14 14:44:05 +02:00
Emanuel Schütze 5247ced71f Updated translations 2019-06-14 14:27:14 +02:00
Emanuel Schütze ded7bac4f7
Merge pull request #4779 from MaximilianKrambach/sequentialNumber
config to show/hide motion sequential numbers
2019-06-14 14:21:27 +02:00
Emanuel Schütze e2e5fe07d0
Merge pull request #4766 from GabrielInTheWorld/pdf-make-enhancement
Implementation of exporting submitters and recommendation
2019-06-14 14:17:13 +02:00
Maximilian Krambach ac1703242e config to show/hide motion sequential numbers 2019-06-14 14:10:34 +02:00
GabrielMeyer 26cc6556a0 Implementation of exporting submitters and recommendation
The user can choose the option to export the informtion about submitters and the recommendation including the extension of motions to the 'table of contents'.
2019-06-14 13:59:19 +02:00
Emanuel Schütze 184bb17596
Merge pull request #4737 from tsiegleauq/virtual-scroll-components
Add virtual scrolling to tables
2019-06-14 11:31:09 +02:00
Sean Engelhardt 15e9ea898b Add virtual scrolling to tables
Replaces most mat-tables with tables using the NGrid library, supporting
extremly performant virtual scrolling.

The ListViewBaseComponent have been extremly simplified.
All list-view code is now mich shorter and way less repitative

The group list and the workflow list have not been altered.

**Works:**
- Fast virtual Scrolling without pagination
- Click Filter
- Search Filter
- Sorting
- Export filtered values (using click filters)
- Export sorted values in correct order
- Right-Click-new-tab
- Hiding/showing columns by permission and screen size
- Multi select
- Auto Updates in MultiSelectMode keep the correct items selected
- OsHeadBar shows the correct amount of data
- Restore scroll position after navigation
- Shared-Table Component
- Clean-Up base-list-view
- Motion List
- Motion Block List
- Motion Block Detail
- User List
- Agnnda List
- Assignment List
- MediaFile List
- Tag List

**TODO:**
- Formulate filter predicates
- LOS Badge autoupdate (change detection)
- Better ellipses in lists
- Horrizontal Scrolling, if the screen get's too small.
- Issues in the change detection
- Some Layouting

**BUG:**
- Using the seach filter prevents the sorting from working.
- NGrid currently has no way to get the filtered list
  using search filter. Thus, search-filtered list cannot
  be exported.
2019-06-14 11:18:54 +02:00
Emanuel Schütze 6fa458cc89
Merge pull request #4778 from emanuelschuetze/translations-20190613
Updated translations
2019-06-13 13:38:16 +02:00
Emanuel Schütze f66b0d1e98 Updated translations 2019-06-13 13:11:05 +02:00
Emanuel Schütze 3aa6b8048b
Merge pull request #4762 from GabrielInTheWorld/startpage
Fixes correct rendering of images and styles at startpage
2019-06-13 12:08:51 +02:00
Emanuel Schütze face97a2a2
Merge pull request #4767 from normanjaeckel/HistoryRebuild
Refactored OpenSlides history (HistoryInformation is not a root rest …
2019-06-13 11:50:14 +02:00
GabrielMeyer 165a920c8c Fixes correct rendering of images and styles at startpage 2019-06-13 11:45:41 +02:00
Emanuel Schütze cabaffab94
Merge pull request #4760 from GabrielInTheWorld/new-components
Adds a new component for icons
2019-06-13 11:44:00 +02:00
FinnStutzenstein ff98ee1b96 Refactured client 2019-06-13 10:09:08 +02:00
Norman Jäckel 5a5bc77e62 Refactored OpenSlides history (HistoryInformation is not a root rest element anymore.). 2019-06-13 09:14:58 +02:00
GabrielMeyer 5e3f710e4d Adds a new component for icons
- An icon followed by text (or something else) can replaced by this new component, to verify a unified size and layout.
- Replaces also existing components with this new one.
2019-06-13 08:23:44 +02:00
Emanuel Schütze 35c8dc97f5
Merge pull request #4756 from FinnStutzenstein/subcategories
Subcategories
2019-06-12 15:08:46 +02:00
FinnStutzenstein bf9973a4a7 Subcategories 2019-06-12 14:37:19 +02:00
Emanuel Schütze a570cf16b0
Merge pull request #4753 from FinnStutzenstein/compression
Compression
2019-06-12 14:36:31 +02:00
FinnStutzenstein 6d027f0f75 Compression: Sending compressed messages 2019-06-12 08:25:25 +02:00
FinnStutzenstein d9c88c02b3 Compression: Recieving compressed messages 2019-06-12 08:21:16 +02:00
Finn Stutzenstein 8f2160d44e
Merge pull request #4775 from FinnStutzenstein/prettierUpdate
Update prettier
2019-06-12 08:20:28 +02:00
FinnStutzenstein 213fc30800 Update prettier 2019-06-12 08:01:33 +02:00
Emanuel Schütze 5a5264046e
Merge pull request #4772 from FinnStutzenstein/itemNumberFix
Temporary fix for the agenda item number during updates.
2019-06-07 15:25:57 +02:00
FinnStutzenstein 4151797f60 Temporary fix for the agenda item number during updates.
The changes in the agenda reposiroty can be reverted with #4738
2019-06-06 10:03:34 +02:00
Emanuel Schütze 1e8560c9a4
Merge pull request #4768 from normanjaeckel/Review
Added detail to set permission response.
2019-06-05 20:01:42 +02:00
Emanuel Schütze 16f2ee57fc
Merge pull request #4771 from emanuelschuetze/translation-20190605
Updated Translations
2019-06-05 19:56:20 +02:00
Emanuel Schütze 7fac04afa7 Updated Translations 2019-06-05 17:56:18 +02:00
Emanuel Schütze 6895b5db67
Merge pull request #4651 from MaximilianKrambach/assignmentBallots
Assignment ballots (and refactoring motion ballots)
2019-06-05 17:24:42 +02:00
Emanuel Schütze b5287a4e57
Merge pull request #4656 from MaximilianKrambach/callListBulk
fixing bulk sort trees from list view
2019-06-05 16:35:41 +02:00
Emanuel Schütze 59e83736b6
Merge pull request #4761 from GabrielInTheWorld/utilities
Fixes the break of very long messages in 'mat-chip'
2019-06-05 16:34:18 +02:00
Emanuel Schütze eb1f1c3b53
Merge pull request #4757 from GabrielInTheWorld/tile-layout
Enhances the tile view
2019-06-05 16:33:57 +02:00
Maximilian Krambach 79ef8e99c4 assignment poll ballot pdfs
- refactoring poll-pdf service
- adding ballots for AssignmentPolls
2019-06-05 16:30:54 +02:00
GabrielMeyer 9e4b90461d Enhances the tile view
- Adds subscriptions to the subscriptions-array from parent to clear them, after destroying the view
- Removes filter and sort service, if the selected view is the tile-view
Adds a second variable to hold the current selected view by user
- Increases the size of the badge
2019-06-05 15:45:18 +02:00
Emanuel Schütze 3338039627
Merge pull request #4765 from GabrielInTheWorld/hotfixAgendaList
Fixes error of 'listOfSpeakersUrl'
2019-06-05 15:02:37 +02:00
Emanuel Schütze 9651a058c3
Merge pull request #4763 from GabrielInTheWorld/tab-title
Sets the TabTitle
2019-06-05 14:49:02 +02:00
GabrielMeyer 403d82f781 Fixes the break of very long messages in 'mat-chip' 2019-06-05 14:46:42 +02:00
Norman Jäckel fc7f82c625
Merge pull request #4769 from normanjaeckel/Hotfix
Hotfix
2019-06-05 13:58:35 +02:00
Norman Jäckel 5d38099695 Hotfix 2019-06-05 13:42:01 +02:00
Emanuel Schütze 9dcc11f909
Merge pull request #4752 from GabrielInTheWorld/quick-dialog
Adds dialogs to create/edit
2019-06-05 12:53:21 +02:00
GabrielMeyer 23fe9f1a94 Sets the TabTitle
Motions, users and elections reset the title of a tab in their detail-view.
2019-06-05 12:19:18 +02:00
Norman Jäckel b17a0f154f Added detail to set permission response. 2019-06-05 11:57:29 +02:00
Maximilian Krambach d9c5ff68b2
Merge pull request #4718 from MaximilianKrambach/sortTreeFilter
more sorting tree view filters
2019-06-04 17:51:52 +02:00
Maximilian Krambach 5f424aa7c1 tree sorting: fix sorting multiple items 2019-06-04 17:22:50 +02:00
Maximilian Krambach 37f0baf165 sorting tree view filters
- callList
 - refactored agendaSort
2019-06-04 17:21:38 +02:00
Emanuel Schütze 5e33c500c3
Merge pull request #4758 from GabrielInTheWorld/util-fixes
Hotfix for pagination in motion-list
2019-06-04 17:13:35 +02:00
Emanuel Schütze 3ea864c3f4
Merge pull request #4750 from MaximilianKrambach/multiMoveInCategory
Multi move motions in category
2019-06-04 17:10:52 +02:00
GabrielMeyer b2a70f271b Fixes error of 'listOfSpeakersUrl' 2019-06-04 15:32:34 +02:00
Emanuel Schütze eded9acc60
Merge pull request #4746 from GabrielInTheWorld/fix-hammer
Add amendments to Motion-PDF-Summary-Box
2019-06-04 15:14:31 +02:00
GabrielMeyer 514252a6ef Hotfix for pagination in motion-list 2019-06-03 16:22:53 +02:00
Finn Stutzenstein ea1c3437b6
Merge pull request #4754 from FinnStutzenstein/littleLayoutFix
Little motion toolbar layout fix
2019-06-03 11:33:12 +02:00
FinnStutzenstein 0dbba32d0e Client error handling 2019-06-03 11:12:09 +02:00
FinnStutzenstein 820bc214aa Little motion toolbar layout fix 2019-06-03 10:25:07 +02:00
Maximilian Krambach 6eeab5fc1e Multi move motions in category
- if there is a multiselection, a 'move to' button will be active
- TODO: better position/layout  for that button and dialogue
2019-06-03 09:29:29 +02:00
Emanuel Schütze ce701333a2
Merge pull request #4747 from emanuelschuetze/translation-20190528
Updated translations
2019-05-31 11:37:56 +02:00
Emanuel Schütze 708de917e1 Updated translations 2019-05-31 11:09:31 +02:00
GabrielMeyer 744b92f5f3 Adds dialogs to create/edit
- user-groups
- mediafile-list
2019-05-29 17:53:26 +02:00
Sean Engelhardt bbe966efa9 Add amendments to Motion-PDF-Summary-Box
Adds amendments to motion pdf summary box - only if the state of them accepts the merge into the parent motion.
Adds a new flatMap function to array.prototype (should be safe to use until
Array.flatMap made it into official JS. I expect it in ES 2019.

Refactors some PDF and ChangeReco / Amendment related code
2019-05-29 14:36:19 +02:00
Finn Stutzenstein 32af73cfb7
Merge pull request #4748 from MaximilianKrambach/travisAngular
Pin angular/cli version in travis-ci
2019-05-29 14:25:59 +02:00
Maximilian Krambach da282a501e Pin down angular/cli version in travis-ci 2019-05-29 13:54:07 +02:00
Emanuel Schütze 9d678092ee
Merge pull request #4745 from GabrielInTheWorld/motionBlockInternal
Internal flag for motion blocks
2019-05-28 15:52:07 +02:00
FinnStutzenstein 658b1a360d Internal flag for motion blocks
- ServerSide
- Adds the 'internal'-flag to the edit view of motion blocks
2019-05-28 15:24:22 +02:00
Emanuel Schütze a3b5f083d5
Merge pull request #4743 from GabrielInTheWorld/theming
Improves the SpinnerComponent
2019-05-28 12:52:01 +02:00
GabrielMeyer 6aa2508e39 Improves the SpinnerComponent
- The AppComponent listens to `stable`-state and `user` to determine whether the spinner should be hidden.
- Show the spinner only if the login data are correct.
- If the user is anonymous, the spinner will be hidden when the app is stable.
2019-05-28 12:05:57 +02:00
Emanuel Schütze a6f2147c93
Merge pull request #4744 from GabrielInTheWorld/assignment-list
Refactores sorting of assignment-list
2019-05-28 11:21:24 +02:00
GabrielMeyer 0c0a3f302b Refactores sorting of assignment-list
- In case of the name the list is sorted by `title` instead of `assignment`
- For the case of 'creation date' the list will be sorted by `id`
2019-05-28 09:56:53 +02:00
Emanuel Schütze 8bf1dad10e
Merge pull request #4708 from GabrielInTheWorld/tile-layout
Adds a new view with tiles to the motion-list
2019-05-27 22:47:24 +02:00
Emanuel Schütze 484d9b23e0
Merge pull request #4742 from FinnStutzenstein/autonomicSlides
Partially scale and scroll the motion slide
2019-05-27 22:43:40 +02:00
Emanuel Schütze 39d77dac29
Merge pull request #4391 from boehlke/mediafiles-projector
Show PDF, PNG and JPEG files in projector
2019-05-27 22:38:16 +02:00
FinnStutzenstein 1f7ace6b4b Partially scale and scroll the motion slide 2019-05-27 22:28:18 +02:00
Emanuel Schütze 2cfff9e1b9 Template rework and fullscreen mode 2019-05-27 22:15:16 +02:00
Maximilian Krambach b2c2d78c79
Merge pull request #4717 from MaximilianKrambach/sortTreeMulti
Drag/Drop multiselect
2019-05-27 17:26:03 +02:00
Maximilian Krambach bd27951648 drag/Drop multiselect 2019-05-27 17:07:12 +02:00
GabrielMeyer 39d891f851 Adds a new view with tiles to the motion-list
- New components 'Tile' and 'GridLayout'
- Adds a grid-layout to the view
- The grid-layout can have an optional title section
2019-05-27 16:17:23 +02:00
FinnStutzenstein 469084a1b6 Work on the presentation controls 2019-05-27 16:08:14 +02:00
Maximilian Krambach efbce9b645 fixes 2019-05-27 16:08:13 +02:00
FinnStutzenstein 78d107e37c some controls, integrate the pdfviewer 2019-05-27 16:08:11 +02:00
André Böhlke b3ff250d38 WIP: show PDF, PNG and JPEG files in projector 2019-05-27 16:08:10 +02:00
Emanuel Schütze 7e2045aa76
Merge pull request #4709 from GabrielInTheWorld/utilities
Implements the export of assignment-list as pdf
2019-05-27 14:42:58 +02:00
Emanuel Schütze 6f36094cde
Merge pull request #4730 from FinnStutzenstein/motionBlockSlideLayout
Improved motion block slide layout
2019-05-27 14:39:10 +02:00
Emanuel Schütze 441e10ed59
Merge pull request #4339 from MaximilianKrambach/finalVersion
editor for final modified version of a motion
2019-05-27 14:38:02 +02:00
FinnStutzenstein 7106e06ca1 Improved motion block slide layout 2019-05-27 14:25:30 +02:00
Finn Stutzenstein 318533cf68
Merge pull request #4659 from MaximilianKrambach/presentSpeakers
Filter present speaker search-value selector
2019-05-27 13:02:16 +02:00
Maximilian Krambach ea0a605018 modified final version edit 2019-05-27 12:59:44 +02:00
GabrielMeyer 8a1588dd33 Implements the export of assignment-list as pdf
- Exporting the whole list of assignments
- Exporting a selected list of assignments
2019-05-27 12:32:05 +02:00
Maximilian Krambach 16477a4e92 filter potential speakers
- filter by those already on list
- filter by present, if configured
2019-05-27 11:40:15 +02:00
Finn Stutzenstein 1599e91fa5
Merge pull request #4741 from FinnStutzenstein/noErrorPageOnLogout
Prevent error page flickering on logout
2019-05-27 09:30:52 +02:00
Finn Stutzenstein b027bbfac8
Merge pull request #4740 from FinnStutzenstein/permissionSetViewFix
Fixed updating user data after changing permissions with the new view
2019-05-27 08:50:23 +02:00
FinnStutzenstein 69903192a2 Prevent error page flickering on logout 2019-05-27 08:48:04 +02:00
FinnStutzenstein d57c5bd132 Fixed updating user data after changing permissions with the new view 2019-05-24 18:22:39 +02:00
Emanuel Schütze 309b8118f6
Merge pull request #4739 from FinnStutzenstein/fixChangeOwnPasswortViewPermissions
Fix permissions for the change-own-password-view
2019-05-24 15:31:17 +02:00
FinnStutzenstein 0aedc77fd4 Fix permissions for change-own-password-view and user-profile-view 2019-05-24 15:09:44 +02:00
Finn Stutzenstein f77f876996
Merge pull request #4639 from FinnStutzenstein/splitAgendaAndLOS
Split AgendaItem and ListOfSpeakers
2019-05-24 11:38:48 +02:00
FinnStutzenstein 9f12763f8b Split AgendaItem and ListOfSpeakers
Server:
- ListOfSpeakers (LOS) is now a speprate model, containing of an id,
speakers, closed and a content_object.
- Moved all speaker related views from ItemViewSet to the new
ListOfSpeakersViewSet.
- Make Mixins for content objects of items and lists of speakers.
- Migrations: Move the lists of speakers from items to the LOS model.

Client:
- Removed the speaker repo and moved functionality to the new
ListOfSpeakersRepositoryService.
- Splitted base classes for agenda item content objects to items and
LOS.
- CurrentAgendaItemService -> CurrentListOfSpeakersSerivce
- Cleaned up the list of speakers component.
2019-05-24 08:21:59 +02:00
Emanuel Schütze 61057a6e09
Merge pull request #4735 from tsiegleauq/allow-stored-filter-with-empty-options
Allow stored filter without options
2019-05-23 11:12:27 +02:00
Sean Engelhardt 10684cf1cf Allow stored filter without options
Fixes an issue where stored filters where considered to be wrong if
their set of options was empty
2019-05-23 10:13:53 +02:00
Emanuel Schütze a403715736
Merge pull request #4734 from emanuelschuetze/motionMobileView
Fixed motion mobile view on iOS.
2019-05-22 23:17:01 +02:00
Emanuel Schütze df6dd6a1dc
Merge pull request #4733 from tsiegleauq/default-sorting
Fixes an issue where sorting was tried with undefined valued
2019-05-22 22:59:28 +02:00
Emanuel Schütze 63daac7b65 Fixed motion mobile view on iOS. 2019-05-22 22:52:35 +02:00
Sean Engelhardt c3c98f06e3 Fixes an issue where sorting was tried with undefined valued
Hot-Fixes agenda sorting
2019-05-22 18:35:58 +02:00
Sean f52ca7d941
Merge pull request #4732 from tsiegleauq/load-valid-filters-only
Check if the loaded filter definition has the valid format
2019-05-22 12:49:24 +02:00
Sean Engelhardt bd4da53255 Check if the loaded filter definition has the valid format
Fixes an issue where malformated or old filter-definition where considered
to be valid filters which could cause some issues
2019-05-22 12:33:05 +02:00
Emanuel Schütze d2b81e2a28
Merge pull request #4731 from FinnStutzenstein/fixAgendaSorting
Readded default sorting for agenda
2019-05-21 17:50:43 +02:00
FinnStutzenstein 5c4d7af917 Readded default sorting for agenda
The default sorting was removed here: https://github.com/OpenSlides/OpenSlides/pull/4671/files#diff-c72ce8d0c2c339385819bf10c685c276L128
Readded it in the repository (instead of the filter-/sortingservices), so the agenda is always well sorted.
2019-05-21 17:27:29 +02:00
Emanuel Schütze 294d324419
Merge pull request #4727 from GabrielInTheWorld/csv-import
Adds import of tags to csv import
2019-05-21 15:17:47 +02:00
GabrielMeyer cd4e73b6d3 Adds import of tags to csv import 2019-05-21 14:58:46 +02:00
Emanuel Schütze e907599cef
Merge pull request #4726 from GabrielInTheWorld/pdf-make
Adds config-variable for pdf-export
2019-05-21 12:23:38 +02:00
GabrielMeyer eb7b203b33 Adds config-variable for pdf-export
- Adds the page-size 'A5' for pdf-export
2019-05-21 11:58:59 +02:00
Emanuel Schütze 31274873f1
Merge pull request #4719 from FinnStutzenstein/chyronColor
Added custom color for the projector chyron and reset buttons for colors
2019-05-20 22:12:32 +02:00
FinnStutzenstein e267279f60 Added custom color for the projector chyron and reset buttons for colors 2019-05-20 21:50:03 +02:00
Emanuel Schütze 0a99c2b0f5
Merge pull request #4722 from FinnStutzenstein/motionTextNotRequiredForParagraphAmendments
Do not require the motion text for paragraph based amendments
2019-05-20 21:46:15 +02:00
FinnStutzenstein 11fd8c5762 Do not require the motion text for paragraph based amendments 2019-05-20 20:47:28 +02:00
Emanuel Schütze bcd7a3d74f
Merge pull request #4723 from FinnStutzenstein/preventDeletionOfLastWorkflow
prevent deletion of last workflow and update configs on deletion
2019-05-20 20:43:38 +02:00
Finn Stutzenstein e4dfd75ab9
Merge pull request #4721 from FinnStutzenstein/fixPermissionSorting
Fix sorting of permissions if plugins are available
2019-05-20 17:20:38 +02:00
FinnStutzenstein 6f798357fa prevent deletion of last workflow and update configs on deletion 2019-05-20 12:54:20 +02:00
Maximilian Krambach a09269cf2a
Merge pull request #4640 from MaximilianKrambach/pollCalculations
Poll calculations
2019-05-20 11:59:31 +02:00
Maximilian Krambach 014701442c refactor poll calculations 2019-05-20 11:31:27 +02:00
FinnStutzenstein ba73d50886 Fix sorting of permissions if plugins are available 2019-05-20 10:32:40 +02:00
Sean 7ab040823d
Merge pull request #4671 from tsiegleauq/rework-sort-filter
Rework sort and filter
2019-05-20 10:02:12 +02:00
Sean Engelhardt 850fcbe243 Rework sort and filter
More observable based, more scaleable filtering
based on an old branch of @FinnStutzenstein.

cleans some functions and provides some differend features.
2019-05-17 13:03:48 +02:00
Emanuel Schütze 0f03eb1446
Merge pull request #4679 from tsiegleauq/assignment-ui
Rework Assignment UI
2019-05-16 22:17:20 +02:00
Sean Engelhardt 654c54e9ab Rework Assignment UI
Reworks the Assignment UI to fit to the current MockUps
2019-05-16 21:56:09 +02:00
Emanuel Schütze fef386ddf8
Merge pull request #4713 from FinnStutzenstein/tooHighChangeIdHandling
Handles 'change id too high' and generic websocket error message format
2019-05-16 20:25:13 +02:00
Emanuel Schütze 65dbf37106
Merge pull request #4704 from FinnStutzenstein/setPermissionRequest
Request for settings a permission in a group (closes #4698)
2019-05-16 14:14:33 +02:00
Emanuel Schütze 93ef573e09
Merge pull request #4707 from FinnStutzenstein/fixTreeSorting
fix tree sorting
2019-05-16 14:10:14 +02:00
Finn Stutzenstein 0ed00ff603
Merge pull request #4703 from normanjaeckel/ChangeDefaultWorkflows
Changed default workflows.
2019-05-15 15:54:31 +02:00
Finn Stutzenstein abe281e475
Merge pull request #4682 from FinnStutzenstein/motionSlideFixed
Fixed getting states of amendments (closes #4677)
2019-05-15 15:54:11 +02:00
FinnStutzenstein 284e90961a Fixed getting states of amendments (closes #4677) 2019-05-15 15:21:11 +02:00
Norman Jäckel 349fe49e1c Changed default workflows. 2019-05-15 15:18:43 +02:00
Emanuel Schütze 183f671fee
Merge pull request #4693 from tsiegleauq/no-notification-on-projector
Enhance update service
2019-05-15 14:58:59 +02:00
Finn Stutzenstein 8dda317b18
Merge pull request #4702 from normanjaeckel/BulkViewsMotions
Bulk views motions
2019-05-15 14:52:48 +02:00
FinnStutzenstein 5ad94cb2f4 Handles 'change id too high' and generic websocket error message format 2019-05-15 14:25:54 +02:00
Norman Jäckel cf29f97613 Added view for bulk category set and bulk motion block set.
Due to rebasing this PR, this are the appropriate authorships:
Server: @normanjaeckel and @FinnStutzenstein
Client: @MaximilianKrambach
2019-05-15 14:18:36 +02:00
Finn Stutzenstein 8983f6aef3
Merge pull request #4542 from FinnStutzenstein/removeChatMessage
Remove ChatMessage
2019-05-15 14:15:16 +02:00
FinnStutzenstein 10c329da8d fix tree sorting
Assigns the weight in the preorder traversal of the tree. Now one without every
object (e.g. missing motions/items) still have the correct sorting. Intorduces
the level attribute of items giving the amount of parents in the agenda. This
allows to reduce complexits in the client.
2019-05-15 14:14:32 +02:00
FinnStutzenstein 665426e954 Remove ChatMessage 2019-05-15 13:44:45 +02:00
Finn Stutzenstein b3c2b5f899
Merge pull request #4645 from FinnStutzenstein/renameManageRestriction
Rename the manage restriction field
2019-05-15 13:40:16 +02:00
Emanuel Schütze 7f5ec6a840
Merge pull request #4715 from CatoTH/OS3-final-version-in-csv
Support other text versions in CSV
2019-05-14 22:03:42 +02:00
Tobias Hößl f8a56ed136
Support other text versions in CSV 2019-05-14 20:58:21 +02:00
Emanuel Schütze 0b22688a3f
Merge pull request #4716 from emanuelschuetze/userExport
Improved users PDF and CSV export
2019-05-14 20:37:08 +02:00
Emanuel Schütze 2b163af5d7 Improved users PDF and CSV export
- PDF: use full_name (with structure_level and number) instead of short_name.
- CSV: add gender column
2019-05-14 20:20:21 +02:00
FinnStutzenstein f9bac798aa Rename the manage restriction field
Renamed 'managers_only' to 'motions.can_maange' to adapt the (new) behavior of #4638. Closes #4643.
2019-05-14 16:02:59 +02:00
Maximilian Krambach 6b25e62cec
Merge pull request #4712 from MaximilianKrambach/fix4711
fix sorting tree condition #4711
2019-05-14 15:57:39 +02:00
Maximilian Krambach 71e2ef65fc fix sorting tree condition 2019-05-14 15:11:25 +02:00
Finn Stutzenstein 8403b4622d
Merge pull request #4710 from GabrielInTheWorld/util-fixes
Hotfix: MediaUpload went wrong...
2019-05-14 14:24:24 +02:00
GabrielMeyer 5ad70bd02d Hotfix: MediaUpload went wrong... 2019-05-14 14:10:58 +02:00
Finn Stutzenstein ae107dc0d1
Merge pull request #4706 from FinnStutzenstein/hotfixAgendaList
Fixed false visible items in the agenda
2019-05-13 16:03:19 +02:00
Finn Stutzenstein af717fe018
Merge pull request #4680 from FinnStutzenstein/unifyUrlsPrefixes
Added beginning slash to all request urls
2019-05-13 14:49:51 +02:00
Finn Stutzenstein 6f014279d4
Merge pull request #4687 from FinnStutzenstein/catchDoubleCreationOfPersonalNotes
Fix doulbe create requests for personal notes.
2019-05-13 14:49:42 +02:00
FinnStutzenstein c860f45041 Fixed false visible items in the agenda
The fix has to be reworked with #4671 and can be eliminated with #4639
2019-05-13 13:42:03 +02:00
FinnStutzenstein 5e13299ae3 Request for settings a permission in a group (closes #4698) 2019-05-13 10:17:24 +02:00
Emanuel Schütze c2abe8a0a0
Merge pull request #4700 from emanuelschuetze/fixProjectorLogo
Fixed projector logo
2019-05-11 10:02:32 +02:00
Emanuel Schütze 7792c47656 Fixed projector logo 2019-05-11 09:40:14 +02:00
Emanuel Schütze 4495985d4c
Merge pull request #4695 from FinnStutzenstein/logging
Logging the cache buildup process
2019-05-10 16:39:29 +02:00
Emanuel Schütze 7e6b793e2a
Merge pull request #4699 from emanuelschuetze/fixUsersRoutingPerms
Fixed permission for reset password in routing module.
2019-05-10 16:38:49 +02:00
Emanuel Schütze ca70944d0c Fixed permission for reset password in routing module. 2019-05-10 16:09:35 +02:00
FinnStutzenstein 171f05e7b8 Logging the cache buildup process 2019-05-10 14:20:01 +02:00
FinnStutzenstein 7c80aebe75 Added beginning slash to all request urls 2019-05-10 14:05:28 +02:00
Sean Engelhardt 1a02b845b8 Enhance update service
Updates will be observed from site component
(Makes pure projectors ignore updates, unless the user navigates manually)

Updates can now be delayed using the "noInterruption" route data.
If the "noInterruption" route data was set, updates notifications
will not be shown in this view.
The update notification will appear, after the user navigates
to a view without "noInterruption" flag.
2019-05-10 13:11:42 +02:00
Norman Jäckel ba9fcef5a1
Merge pull request #4692 from FinnStutzenstein/reloadOnPrioritizedProjectorclients
Refresh projector data after *every* (re)connect (closes #4691)
2019-05-10 12:41:24 +02:00
FinnStutzenstein c4402f733e Refresh projector data after *every* (re)connect (closes #4691) 2019-05-10 12:24:41 +02:00
Emanuel Schütze 643bab111c
Merge pull request #4688 from MaximilianKrambach/multiFilter
fix number array filter options
2019-05-10 11:32:28 +02:00
Maximilian Krambach 6648f3a17d fix number array filter options 2019-05-10 10:47:35 +02:00
Emanuel Schütze 3b7cb23e1f
Merge pull request #4686 from FinnStutzenstein/fixWebSocketAndEncodingErrors
Fixed websocket and encoding errors
2019-05-10 08:42:49 +02:00
Emanuel Schütze 6f7f25727c
Merge pull request #4684 from emanuelschuetze/fixUserList
Fix access for user meta info dialog in user list view.
2019-05-10 08:39:11 +02:00
FinnStutzenstein 635fd3fad5 Fix doulbe create requests for personal notes.
When this is done, the clients needs handle this error @tsiegleauq
2019-05-10 08:18:28 +02:00
FinnStutzenstein 5728b65824 Fixed websocket and encoding errors 2019-05-10 07:35:19 +02:00
Emanuel Schütze 91cb6c132c Fix access for user meta info dialog in user list view. 2019-05-10 07:17:09 +02:00
Emanuel Schütze c868a04571
Merge pull request #4681 from FinnStutzenstein/fixClos
Fix self-referencing projectors with new dependency management
2019-05-10 07:08:31 +02:00
FinnStutzenstein b445946f54 Fix self-referencing projectors with new dependency management 2019-05-10 06:45:49 +02:00
Emanuel Schütze cef2e45b34
Merge pull request #4675 from tsiegleauq/personal-note-bug
Update personal note in motion
2019-05-08 20:55:37 +02:00
Emanuel Schütze 2c92ae9304
Merge pull request #4674 from emanuelschuetze/translation-20190507
Updated translations
2019-05-08 20:53:41 +02:00
Sean Engelhardt 7d49187123 Update personal note in motion
Fixes an issue where personal notes were not update
during a view motions update process
2019-05-08 20:07:04 +02:00
Emanuel Schütze bbe0b16701 Updated translations 2019-05-08 19:56:31 +02:00
Norman Jäckel dd66e7505d
Merge pull request #4644 from FinnStutzenstein/noProjectiondefaultChanges
prohibit changes in projectiondefaults
2019-05-08 09:28:08 +02:00
Emanuel Schütze 30232f3f08
Merge pull request #4673 from emanuelschuetze/new-logo
Added redesigned OpenSlides logo (svg only)
2019-05-07 23:09:39 +02:00
Emanuel Schütze 1faf088eca Added redesigned OpenSlides logo (svg only) 2019-05-07 22:01:16 +02:00
Emanuel Schütze f22596a98b
Merge pull request #4672 from tsiegleauq/motion-block-new-tab
Add anchor tag to motion block
2019-05-07 21:16:30 +02:00
Emanuel Schütze 51b4b6aba6
Merge pull request #4578 from GabrielInTheWorld/theming
Implements a mechanism for a fallback theme
2019-05-07 21:13:55 +02:00
Emanuel Schütze b3de965a66
Merge pull request #4660 from FinnStutzenstein/logging
Logging
2019-05-07 17:42:37 +02:00
Emanuel Schütze 294ccf7301
Merge pull request #4667 from FinnStutzenstein/motionNumberingFIx
Fix numbering with amendments
2019-05-07 17:38:20 +02:00
Sean Engelhardt f0ffaef1e5 Add anchor tag to motion block
Adds `<a ...>` tags to motion block list and motion block detail
Allowing opening details in a new tab
2019-05-07 17:35:28 +02:00
GabrielMeyer 376f4e2a31 Implements a mechanism for a fallback theme
- If the previously selected theme is not available the default OpenSlides theme will be displayed.
- Before the current selected theme was loaded, no theme is displayed.
2019-05-07 17:32:28 +02:00
Emanuel Schütze 8bc7f8cb70
Merge pull request #4630 from MaximilianKrambach/assignment_globalno
include global abstain/no option
2019-05-07 17:30:43 +02:00
Emanuel Schütze 5d64ea1519
Merge pull request #4668 from GabrielInTheWorld/fixes-checkbox
Fixes state of the checkboxes in amendments
2019-05-07 17:25:09 +02:00
Emanuel Schütze 67b99c1baa
Merge pull request #4665 from GabrielInTheWorld/utilities
Fixes scrollbar in old firefox versions
2019-05-07 17:18:51 +02:00
Emanuel Schütze 38d572b34f
Merge pull request #4670 from FinnStutzenstein/fixMotionBlockSlide
Fix motion block slide
2019-05-07 17:14:01 +02:00
Finn Stutzenstein 82a2189b04
Merge pull request #4666 from FinnStutzenstein/operatorService
Proper updating of the viewUser in the OperatorService
2019-05-07 16:39:52 +02:00
FinnStutzenstein 02d82e20c1 websocket logging 2019-05-07 16:37:38 +02:00
Emanuel Schütze 95161d5dea
Merge pull request #4654 from GabrielInTheWorld/util-fixes
Some fields are only available if they are available
2019-05-07 16:25:39 +02:00
FinnStutzenstein 72a7a6fde0 Fix motion block slide 2019-05-07 16:18:13 +02:00
FinnStutzenstein f53d3c2069 Fix numbering with amendments 2019-05-07 16:12:47 +02:00
GabrielMeyer 41e2fb2f93 Fixes scrollbar in old firefox versions 2019-05-07 16:04:18 +02:00
GabrielMeyer e6c4e1d27b Fixes state of the checkboxes in amendments 2019-05-07 15:58:36 +02:00
FinnStutzenstein afb28f0f72 Proper updating of the viewUser in the OperatorService 2019-05-07 15:54:14 +02:00
GabrielMeyer 3d5f79a76c Fields are only available if they are available
- The user can change information about motions
- The user can send an invitation email
2019-05-07 15:03:57 +02:00
Finn Stutzenstein c560f511b5
Merge pull request #4607 from FinnStutzenstein/prioritizeClients
Prioritize clients and WS ping-pong-mechanism
2019-05-07 14:04:09 +02:00
Emanuel Schütze 17dbcca757
Merge pull request #4664 from emanuelschuetze/motionBlockPermission
Fixed motion block permission
2019-05-07 13:54:36 +02:00
FinnStutzenstein febbe9bba2 Prioritize clients with the right operator and added ping-pong mechanism 2019-05-07 13:43:52 +02:00
Emanuel Schütze 41c30eb730 Fixed motion block permission 2019-05-07 13:27:42 +02:00
Emanuel Schütze d218a86f69
Merge pull request #4662 from FinnStutzenstein/repoSpeed
Speedup DS and repo updates, DSUpdateSlots, lazyloading history objects
2019-05-07 13:26:21 +02:00
Emanuel Schütze a3bf5481ed
Merge pull request #4663 from GabrielInTheWorld/sorting
Fixes the listing of motions in a category
2019-05-07 12:47:20 +02:00
GabrielMeyer 11c565282f Fixes the listing of motions in a category
- Sorting by motion.category_weight
2019-05-07 12:26:25 +02:00
Emanuel Schütze 179ef39aca
Merge pull request #4661 from tsiegleauq/pdf-comment-paragraph
Fix Parsing for personal comments in bulk export
2019-05-06 16:59:49 +02:00
FinnStutzenstein fe81ea6ff9 Speedup DS and repo updates, DSUpdateSlots, lazyloading history objects 2019-05-06 16:33:36 +02:00
Emanuel Schütze 801010a936
Merge pull request #4655 from MaximilianKrambach/weight
fix sorting in category-sort
2019-05-06 16:25:36 +02:00
Sean Engelhardt 0f7733a25d Fix Parsing for personal comments in bulk export
Fixes an error where HTML in motion comments was parsed
wrong during PDF bulk export
2019-05-06 16:22:35 +02:00
Sean e1b8e74e8d
Merge pull request #4657 from tsiegleauq/service-worker-addons
Service Worker Updates
2019-05-06 13:59:07 +02:00
Sean Engelhardt e4d3e119d3 Service Worker Updates
Introdcues a new update service.
Listens to service-worker updates and shows a snack-bar to inform about updates.
Provides a function to manually check for updates.

The service worker tries to be consistent in it's own version and
updates in the background.
Some manuall trigger will be required to update, which is either a
reload or the execution of the provded check function

with help from
@FinnStutzenstein
2019-05-06 13:13:09 +02:00
Finn Stutzenstein 8fb12a6882
Merge pull request #4658 from FinnStutzenstein/fixUserSlide
Fixed user slide
2019-05-04 12:13:57 +02:00
FinnStutzenstein cc931bc8bf Fixed user slide 2019-05-04 08:35:54 +02:00
Maximilian Krambach 52c6e05aba fix sorting in category-sort 2019-05-02 11:45:49 +02:00
Maximilian Krambach f00303d753 include global abstain/no option
election polls with 'one vote per candidate' should have a
 global no/abstain option
2019-05-02 10:51:00 +02:00
Emanuel Schütze d7c6583b7e
Merge pull request #4647 from GabrielInTheWorld/extend-user-dialog
Adds the structure-level and participant-number to the user-list
2019-04-30 16:39:49 +02:00
Emanuel Schütze 9f5226c1d9
Merge pull request #4648 from FinnStutzenstein/motionBlockSlideTwoColumns
Dynamic a two column layout in motion block slides
2019-04-30 16:38:58 +02:00
Sean addc0cc3cc
Merge pull request #4653 from GabrielInTheWorld/sorting
Save motion category weight, handle auto update in categories
2019-04-30 16:18:48 +02:00
GabrielMeyer 33044a6eaa Handles 'auto-update'
- New motions in a category are appended to the end of the list.
- Removed motions are extracted from the list of motions.
2019-04-30 15:48:22 +02:00
Sean 524ff4a981
Merge pull request #4652 from FinnStutzenstein/sortMotionInCategories
Sort motions in categories
2019-04-30 14:28:09 +02:00
FinnStutzenstein 76880100f5 Sort motions in categories 2019-04-30 14:14:41 +02:00
Sean 83044acde5
Merge pull request #4650 from tsiegleauq/xlsx-addons
Add various extensions to the xlsx exporter
2019-04-30 10:55:46 +02:00
Sean Engelhardt d05a30bccb Add various extensions to the xlsx exporter 2019-04-30 10:34:01 +02:00
Emanuel Schütze 4507840788
Merge pull request #4646 from FinnStutzenstein/resetClientCache
Added button to reset the clients cache
2019-04-30 10:24:19 +02:00
Emanuel Schütze bccd9db076
Merge pull request #4649 from tsiegleauq/pdf-font-size-parsing
use ParseInt in PDF generation
2019-04-29 19:54:18 +02:00
Sean Engelhardt 945b2ce72a use ParseInt in PDF generation
Replace "+"(string) with parseInt(val, 10), since apparently some editors
copy `style="xy.zpt"` into a style tag
2019-04-29 12:43:22 +02:00
Sean 3dd659ae36
Merge pull request #4636 from FinnStutzenstein/assignmentAttachments
Add attachments to assignments
2019-04-29 11:35:39 +02:00
FinnStutzenstein ec7a7aadae Added button to reset the clients cache 2019-04-29 11:27:35 +02:00
FinnStutzenstein c234cfe698 Dynamic a two column layout in motion block slides 2019-04-29 11:20:12 +02:00
GabrielMeyer 8b489fcdc0 Adds the `structure-level` to the `user-list`
- The dialog shows the structure level of one user
- In the list-view the structure level and the participant number are displayed.
2019-04-29 10:35:24 +02:00
FinnStutzenstein 44b683e361 Add attachments to assignments 2019-04-29 10:31:28 +02:00
Emanuel Schütze 29aa6acdc5
Merge pull request #4574 from ostcar/new_django_version
Update django and other dependencys
2019-04-29 08:58:39 +02:00
FinnStutzenstein 1b15f6ea14 prohibit changes in projectiondefaults
resolves question in #4541
2019-04-29 08:25:49 +02:00
Oskar Hahn 65161cbbf8 Update django and other dependencys 2019-04-28 14:03:11 +02:00
Emanuel Schütze 3584dd5646
Merge pull request #4627 from tsiegleauq/virtual-scroll-statute
Add virtual scrolling to statute list
2019-04-28 13:57:30 +02:00
Emanuel Schütze 483d759c88
Merge pull request #4641 from normanjaeckel/FixMotionStateCreation
Server should not require restriction field for motion state. Fixed #…
2019-04-28 13:46:21 +02:00
Emanuel Schütze e20ff16755
Merge pull request #4642 from CatoTH/diff-bugfix-ins-beyond-paragraphs
Diff-Bugfix: Insertions/Deletions beyond paragraph boundaries
2019-04-28 13:44:43 +02:00
Tobias Hößl bc8739f017
Diff-Bugfix: Insertions/Deletions beyond paragraph boundaries 2019-04-28 11:27:28 +02:00
Emanuel Schütze 652968add3
Merge pull request #4634 from MaximilianKrambach/lastEmailSent
last_email_sent display and resend email
2019-04-27 21:32:16 +02:00
Maximilian Krambach d1eed23158 last_email_sent display and resend email 2019-04-27 21:16:28 +02:00
Norman Jäckel 3d6e87e1ef Server should not require restriction field for motion state. Fixed #4622. 2019-04-27 16:23:31 +02:00
Emanuel Schütze 0675bdcf46
Merge pull request #4635 from MaximilianKrambach/commentExport
make comment exportable if readable
2019-04-26 21:49:01 +02:00
Emanuel Schütze 23103362a5
Merge pull request #4617 from tsiegleauq/assignment-pdf
Create assignment PDF service
2019-04-26 21:46:04 +02:00
Emanuel Schütze ea93c65c3f
Merge pull request #4637 from tsiegleauq/catch-pdf-creation-bugs
Show errors during PDF generation
2019-04-26 21:41:46 +02:00
Emanuel Schütze 78c77efd7c
Merge pull request #4638 from FinnStutzenstein/fixRestrictionCheck
Fix restriction check for motions
2019-04-26 21:35:09 +02:00
Sean Engelhardt e520dd99e0 Create assignment PDF service
Exports the assignment detail as PDF
2019-04-26 16:23:48 +02:00
Emanuel Schütze 2a10dd4675
Merge pull request #4615 from FinnStutzenstein/silenceWsSendErrosAfterTermination
Silence errors after sending to a closed connection
2019-04-26 16:10:16 +02:00
Emanuel Schütze 729b7f151b
Merge pull request #4621 from tsiegleauq/workflow-state-creation
Temp Fix creation of Workflow States
2019-04-26 16:07:27 +02:00
FinnStutzenstein 7cfe22436e Fixed motion state and restriction
- Fixed restriction check for motions
- Send users via autoupdate on statechanges
2019-04-26 15:57:21 +02:00
Sean Engelhardt 680b6e04e4 Show errors during PDF generation
A lot of PDF-Erros are resolveable by the users themselves.
This helpes users to show them, which of their motions have
malformated HTML
2019-04-26 15:34:27 +02:00
FinnStutzenstein 6de9616c47 Silence errors after sending to a closed connection 2019-04-26 14:07:13 +02:00
Maximilian Krambach 395dfaf63f
Merge pull request #4628 from MaximilianKrambach/assignmentLayout
small assignment layout updates/fixes
2019-04-26 13:06:31 +02:00
Maximilian Krambach f16884388e make comment exportable if readable
conditions for the export button:
- comment is present and  readable for user
- comment is not in 'edit' mode
2019-04-26 12:45:57 +02:00
Sean Engelhardt afc6bb629e Fix layout of search value selector 2019-04-26 12:41:55 +02:00
Emanuel Schütze 7ed59a57b0
Merge pull request #4629 from tsiegleauq/export-order-adjustment
Adjust the export order and dialog order
2019-04-26 12:15:33 +02:00
Sean Engelhardt fdc169f1e9 Adjust the export order and dialog order
The order of the motion export dialog now fits to the motionImportExportHeaderOrder.
It will update dynamically
2019-04-26 11:54:08 +02:00
Sean 7c503024cc
Merge pull request #4633 from FinnStutzenstein/fixRequestingAllChanges
Fixed requesting all data after a connection lost
2019-04-26 11:13:00 +02:00
Maximilian Krambach ab6a53c2de small assignment layout updates/fixes 2019-04-26 10:11:30 +02:00
FinnStutzenstein 2a73c194dd Fixed requesting all data after a connection lost 2019-04-26 09:51:44 +02:00
Emanuel Schütze 11322a7231
Merge pull request #4632 from emanuelschuetze/translation20190425
Updated translations
2019-04-25 23:49:43 +02:00
Emanuel Schütze 8985d5c5e1 Updated translations 2019-04-25 23:35:57 +02:00
Emanuel Schütze 1e62501f05
Merge pull request #4608 from FinnStutzenstein/autoupdateOnPermissionChangeViaStateRestrictions
send autoupdate on state update for motions
2019-04-25 22:34:52 +02:00
Emanuel Schütze b7ae5fd8a8
Merge pull request #4631 from CatoTH/Bugfix-replacing-text-at-end-of-paragraph
Bugfix: inline diff for replaced text at end of paragraph
2019-04-25 22:26:38 +02:00
Emanuel Schütze ddd4588a1c
Merge pull request #4625 from MaximilianKrambach/assignmentSlide
Assignment/Assignment poll slide
2019-04-25 22:18:31 +02:00
Tobias Hößl e533fbad6d
Bugfix: inline diff for replaced text at end of paragraph 2019-04-25 22:08:21 +02:00
Emanuel Schütze a61a655715 More slide style improvements 2019-04-25 22:02:36 +02:00
Maximilian Krambach 1b1499a660 Assignment slides 2019-04-25 17:12:21 +02:00
Emanuel Schütze 6800f99ef0
Merge pull request #4624 from tsiegleauq/angular-7.2.14
Migrate to Angular version 7.2.14
2019-04-25 16:44:53 +02:00
Sean Engelhardt 03d935d633 Migrate to Angular version 7.2.14
New version of TS-Lint
New version of ngx-file-drop with breaking changes
npm audits
Removed Terser, should work out of the box again
2019-04-25 13:15:24 +02:00
Sean Engelhardt 98dec23b2f Add virtual scroling to statute list
"experimental" Virtual scrolling on the list of statutes.
It should load and behave way faster on huge amounts of data.
2019-04-25 12:57:11 +02:00
Emanuel Schütze 45609fadc0
Merge pull request #4610 from MaximilianKrambach/assignmentMobile
Assignment mobile
2019-04-25 10:42:25 +02:00
Emanuel Schütze e4f8346e49
Merge pull request #4626 from CatoTH/improve-inserted-lines
Bugfix: better detection for inserted paragraphs
2019-04-25 10:38:08 +02:00
Finn Stutzenstein 0c4076fbd7
Merge pull request #4616 from FinnStutzenstein/basicAssignmentSlide
Basic assignment slide
2019-04-25 10:11:23 +02:00
Maximilian Krambach 4b6e314e45 basic display for mobile view 2019-04-25 09:01:49 +02:00
Emanuel Schütze 5a8db608e6
Merge pull request #4623 from gsiv/dev/examplecom
Don't use yourdomain.com as an example domain
2019-04-25 08:22:59 +02:00
Tobias Hößl cbcc01d8e1
Bugfix: better detection for inserted paragraphs 2019-04-24 22:43:57 +02:00
Maximilian Krambach 259a408287
Merge pull request #4613 from MaximilianKrambach/assignmentFix
fix assignment calculations
2019-04-24 17:09:14 +02:00
Maximilian Krambach 847173cda3 fix assignment calculations 2019-04-24 16:49:54 +02:00
Emanuel Schütze 677caa4524
Merge pull request #4620 from MaximilianKrambach/tags_in_amendment
copy parent's tags to a new amendment
2019-04-24 16:19:16 +02:00
Gernot Schulz 5427cfe183 Don't use yourdomain.com as an example domain 2019-04-24 16:02:20 +02:00
Maximilian Krambach e77fdc6707 copy parent's tags to a new amendment 2019-04-24 16:00:17 +02:00
Emanuel Schütze c04c59b666
Merge pull request #4614 from FinnStutzenstein/verboseErrorOnMissingConfigs
verbose error message on missing configs
2019-04-24 15:23:53 +02:00
Sean Engelhardt 8bd57321a9 Temp Fix creation of Workflow States
Offers an empty error during the creation of new workflow states
2019-04-24 15:20:53 +02:00
Sean d4ac7441fa
Merge pull request #4606 from GabrielInTheWorld/motion-quick-dialog
Implements a dialog to edit meta information of one motion
2019-04-24 13:55:18 +02:00
GabrielMeyer 69b6aec288 Implements a dialog to edit meta information of one motion 2019-04-24 13:36:17 +02:00
Finn Stutzenstein 7a00f26537
Merge pull request #4618 from GabrielInTheWorld/tree-sort-agenda
Fixes showing the arrow to expand.
2019-04-24 10:38:51 +02:00
FinnStutzenstein 55dd2d1d6f Basic assignment and poll slide 2019-04-24 10:34:44 +02:00
Maximilian Krambach dc9fb73aba
Merge pull request #4619 from MaximilianKrambach/recoLabel
remove distracting empty mat-chip
2019-04-24 10:28:49 +02:00
Maximilian Krambach 18a3ea28b9 remove distracting empty mat-chip 2019-04-23 18:22:35 +02:00
GabrielMeyer c87c41ac56 Fixes showing the arrow to expand. 2019-04-23 16:35:41 +02:00
FinnStutzenstein 624a56d546 verbose error message on missing configs 2019-04-23 14:23:49 +02:00
Finn Stutzenstein d0c6fd1dd1
Merge pull request #4611 from tsiegleauq/error-page-redirect
Fix AuthGuard race conditions and false redirects
2019-04-23 13:44:59 +02:00
Sean Engelhardt 6a04d3ed0b Fix AuthGuard race conditions and false redirects
Fixes an error where the auth guard had race conditions
with the OpenSlides bootup routine (kinda hacky tbh)
Fixes false redirects in the Auth.Service

Also adjustes the file uploader to be a little more
usable.
2019-04-23 13:23:19 +02:00
Maximilian Krambach f4fb79d51c
Merge pull request #4595 from MaximilianKrambach/tagDisplay
add tag display in several views
2019-04-18 13:01:57 +02:00
Maximilian Krambach 9cdeaf9245 add tag display in several views
- call list sorting
- category sorting
- motion list
2019-04-18 12:46:07 +02:00
Sean 2b9f1a21a9
Merge pull request #4612 from MaximilianKrambach/personalNotebutton
personal note pdf only if personal note is present
2019-04-18 12:26:00 +02:00
Maximilian Krambach 4472ba9690 personal note pdf only if personal note is present 2019-04-18 11:37:49 +02:00
Sean 16ea66e9ed
Merge pull request #4609 from MaximilianKrambach/exportImportOrder
sort import/export columns for motions
2019-04-18 11:01:01 +02:00
Maximilian Krambach dc41c1ed78 sort import/export columns for motions
definitions are in motion-import-export-order.ts
2019-04-18 10:44:21 +02:00
Sean bf525cf852
Merge pull request #4575 from GabrielInTheWorld/tree-sort-agenda
Implements filtering the `sorting-tree.component`
2019-04-17 13:14:57 +02:00
GabrielMeyer cdc849de6d Implements filtering the `sorting-tree.component`
- Added filtering by visibility, like internal, public or hidden items
- Added option to collapse or expand all nodes
- Added also style for the dark theme
2019-04-17 12:41:16 +02:00
Sean 637c0fb78e
Merge pull request #4601 from MaximilianKrambach/callListPDF
call list improvements
2019-04-17 10:38:22 +02:00
FinnStutzenstein 3eb5273b8e send autoupdate on state update for motions 2019-04-16 15:45:59 +02:00
Sean d2260b02a7
Merge pull request #4598 from GabrielInTheWorld/package-crawler
Implements a crawler to find all directly used packages
2019-04-16 14:50:24 +02:00
Sean b581c350c6
Merge pull request #4584 from GabrielInTheWorld/form-validation-new
Validates creating a new user
2019-04-16 14:49:51 +02:00
GabrielMeyer 6de79fc96a Implements a crawler to find all directly used packages
- Holds a 'default' `README.md` with the default content.
- Writes down all found packages with links to their repositories.
2019-04-16 14:20:59 +02:00
Sean ebbb369124
Merge pull request #4605 from tsiegleauq/excel-frozen-rows
Enhance excel exporting
2019-04-16 13:25:29 +02:00
Maximilian Krambach aec7280002
Merge pull request #4351 from MaximilianKrambach/cleanup
cleanup of TODOS
2019-04-16 13:24:38 +02:00
Sean Engelhardt 9b9bf244c1 Enhance excel exporting 2019-04-16 13:04:10 +02:00
Maximilian Krambach 217186f435 cleanup of outdated TODOS and stubs 2019-04-16 12:47:48 +02:00
Maximilian Krambach 5f35fe8460 call list improvements (WIP)
- add extended recommendation label
- remove motion blocks, use the column for 'notes'
- don't break up tables
2019-04-16 12:00:45 +02:00
Sean f622d9b546
Merge pull request #4577 from MaximilianKrambach/assignmentLayout
Assignments layout and fixes
2019-04-16 11:31:33 +02:00
Maximilian Krambach 9dfac94099 assignment improvements
- layouting
- fix one-vote polls
- filter candidate list
- candidate sorting
- fix adding/removing of candidates
- avoid ui jumping
- fix quorum calculations
2019-04-16 09:42:07 +02:00
Finn Stutzenstein 0f1df91915
Merge pull request #4602 from FinnStutzenstein/clearClientCacheOnMigrations
Refresh clients cache when the database was migrated
2019-04-15 16:30:33 +02:00
FinnStutzenstein a715c0e432 Refresh clients cache when the database was migrated 2019-04-15 16:13:52 +02:00
Maximilian Krambach 72c3f27dba
Merge pull request #4600 from MaximilianKrambach/importfix
fix motion import oddity
2019-04-15 16:10:40 +02:00
Sean 7db327020f
Merge pull request #4604 from tsiegleauq/fix-select-export-motions
Hotfix exporting of selected motions
2019-04-15 15:55:47 +02:00
Sean Engelhardt 8a40ee3cbc Fix exporting of selected motions
Fixes an issue where the export button has been put in the
wrong view
2019-04-15 15:28:03 +02:00
GabrielMeyer b7799c2337 Validates creating a new user
- If a new user is created and neither the username, first name nor last name is set, a hint is displayed and the user is still in the creating mode.
- Also prevents that the client queries a user that does not exist.
2019-04-15 15:07:23 +02:00
Maximilian Krambach a831ccd2b2
Merge pull request #4593 from MaximilianKrambach/multiSelectMotionExport
Multi select motion export
2019-04-15 13:33:05 +02:00
Finn Stutzenstein e9a60a54fd
Merge pull request #4597 from GabrielInTheWorld/migrations
Adds a migration for projector changes
2019-04-15 13:27:36 +02:00
Maximilian Krambach 7d9ea4e55a multiselect motion export 2019-04-15 13:24:43 +02:00
Maximilian Krambach 48593acc25 disable multiselect options if nothing selected 2019-04-15 13:24:42 +02:00
Maximilian Krambach a670d85267 fix motion import ooddity
- lag due to undefined submitters
- additional text separator
2019-04-15 12:43:16 +02:00
Sean 2bd9172006
Merge pull request #4591 from MaximilianKrambach/tagFilter
Adds a 'tag' filter to motion lists
2019-04-15 12:30:07 +02:00
Sean 1bd9f09dd6
Merge pull request #4592 from MaximilianKrambach/manyStars
bulk set/unset favorite status
2019-04-15 12:24:46 +02:00
Finn Stutzenstein de7394d1cc
Merge pull request #4599 from FinnStutzenstein/fixCommentSectionUpdates
Updates the cache on comment section updates. Implements missing client
2019-04-15 11:11:18 +02:00
GabrielMeyer 79cd8e9917 Adds a migration for projector changes 2019-04-15 11:02:39 +02:00
FinnStutzenstein ce216204f1 Updates the cache on comment section updates. Implements missing client
code.
2019-04-15 10:54:34 +02:00
Maximilian Krambach 81c50f5b2f bulk set/unset favorite status 2019-04-15 10:52:18 +02:00
Finn Stutzenstein 259afa7f88
Merge pull request #4594 from FinnStutzenstein/modelStructureForAssignments
Background structure for assignments
2019-04-15 10:43:54 +02:00
FinnStutzenstein 9cfc0bbd42 Background structure for assignments
- moved some components
- added consistend namin scheme: (View)Assignment, (View)AssignmentPoll
(View)AssignmentPollOption and (View)AssignmentRelatedUser.
- Added precisionPipe, which needs to be added everywhere.
- Cleaned up converting deciml fields (as strings in the REST API) to
floats
- The repository creates the View* structure and enabled user updates.
2019-04-15 10:29:26 +02:00
Finn Stutzenstein e7624c0d1e
Merge pull request #4585 from FinnStutzenstein/projectorListCleanup
Put projector cards in own components in the listview
2019-04-15 08:10:01 +02:00
Maximilian Krambach b5a6669359 Adds a 'tag' filter to motion lists 2019-04-12 11:50:32 +02:00
FinnStutzenstein f44590b519 Put projector cards in own components in the listview 2019-04-12 07:15:22 +02:00
Finn Stutzenstein b05cd3af5a
Merge pull request #4580 from GabrielInTheWorld/form-validation
Fixes error from `mediafile-list.component` when logging out
2019-04-12 07:12:58 +02:00
Emanuel Schütze 2f9328c2d2
Merge pull request #4590 from emanuelschuetze/translations-201904
Updated translations
2019-04-11 23:23:10 +02:00
Emanuel Schütze 8072c26983
Merge pull request #4586 from FinnStutzenstein/unsetFontOnDelete
Unset font if the mediafile is deleted
2019-04-11 23:14:51 +02:00
Emanuel Schütze 9059191e91 Updated translations 2019-04-11 23:09:13 +02:00
Emanuel Schütze 58b5ec3f5e
Merge pull request #4573 from CatoTH/OS3-multi-paragraph-amendments
Creating multi-paragraph amendments
2019-04-11 21:18:16 +02:00
Tobias Hößl 5978868c37 Creating multi-paragraph amendments
- new config option to enable/disable multiple paragraphs
2019-04-11 17:00:25 +02:00
Emanuel Schütze cf7d3487d4
Merge pull request #4589 from MaximilianKrambach/updateFormPatch
don't autoupdate detail forms during editing
2019-04-11 16:43:54 +02:00
Maximilian Krambach a2b75194a1 don't autoupdate detail forms during editing 2019-04-11 16:06:05 +02:00
Emanuel Schütze e959ef9c52
Merge pull request #4587 from normanjaeckel/FixProjector
Fixed countdown on projector.
2019-04-10 16:45:38 +02:00
Norman Jäckel 8927982554 Fixed countdown on projector. 2019-04-10 08:48:57 +02:00
Emanuel Schütze c0564e0f5e
Merge pull request #4583 from FinnStutzenstein/fixProjectorSerializer
Protect element fields from the projector model. Fixes creation of
2019-04-09 21:19:26 +02:00
FinnStutzenstein 648aabc310 Unset font if the mediafile is deleted 2019-04-09 19:38:01 +02:00
FinnStutzenstein 5a1f638f8d Protect element fields from the projector model. Fixes creation of
projectors.
2019-04-09 17:15:16 +02:00
Emanuel Schütze f54360290f
Merge pull request #4582 from FinnStutzenstein/fixUnregisteredCollections
Fixed handling of unregistered resources
2019-04-09 16:38:30 +02:00
FinnStutzenstein dfaf8b552a Fixed handling of unregistered resources 2019-04-09 16:15:23 +02:00
GabrielMeyer 4994cc6ce8 Fixes error from `mediafile-list.component` when logging out
- If the user is seeing the mediafiles and wants to log out, an error occurred causing by querying an attribute from undefined object.
2019-04-09 15:30:49 +02:00
Finn Stutzenstein fc5f6f4e54
Merge pull request #4521 from normanjaeckel/RefactorStateAccessLevel
Refactored state access level by renaming state field to restriction.
2019-04-08 15:28:21 +02:00
FinnStutzenstein 23264849c9 client and small changes in the serializer 2019-04-08 14:56:32 +02:00
Norman Jäckel 6f24b7c169 Refactored state access level by renaming state field to restriction. 2019-04-08 14:56:14 +02:00
Maximilian Krambach 6f62e5c7e4
Merge pull request #4537 from MaximilianKrambach/assignments
assignment detail and list views
2019-04-08 10:25:56 +02:00
Emanuel Schütze 54ec8bbe55
Merge pull request #4576 from gsiv/bug/redis-config-typo
Fix typo in SESSION_REDIS configuration
2019-04-08 10:22:57 +02:00
Sean Engelhardt 054f76a5d4 Cleanups and enhancements
Cleans up and reviews some methods
2019-04-08 10:16:48 +02:00
Maximilian Krambach 464fb89b53 include per-poll values, some travis fix 2019-04-08 10:16:47 +02:00
Norman Jäckel e6daf32924 Added check for double serializer class registering.
Removed AssignmentShortPollSerializer.
2019-04-08 10:16:47 +02:00
Maximilian Krambach 52193e9fb2 Assignments 2019-04-08 10:16:46 +02:00
Gernot Schulz 58a0da7945 Fix typo in SESSION_REDIS configuration 2019-04-08 09:52:04 +02:00
Emanuel Schütze 3fd5d19daa
Merge pull request #4531 from ostcar/fix_config_key_to_id
Fixes problems with config.key_to_id
2019-04-08 09:02:52 +02:00
Sean 2f330933a0
Merge pull request #4461 from tsiegleauq/permission-list-view
Add permissions to ListViews
2019-04-06 21:33:44 +02:00
Sean Engelhardt bd33c59ddf Add permissions to ListViews
Adds the AuthGuard to certain routes
Adds an error-component
Also hides certain other elements where
permissions should apply
2019-04-06 21:13:17 +02:00
Oskar Hahn 41aed15426 Make the projector-system explicit async.
Also lock config.build_key_to_id
2019-04-06 06:40:15 +02:00
Maximilian Krambach 028c358a7f
Merge pull request #4567 from MaximilianKrambach/csvExportLabeledRecommend
export recommendations with extra labels
2019-04-05 13:17:42 +02:00
Emanuel Schütze 4ca8fccbea
Merge pull request #4571 from tsiegleauq/motion-list-show-id
Show sequential number in motion list
2019-04-05 13:11:06 +02:00
Maximilian Krambach e3c673b55e export recommendations with extra labels 2019-04-05 13:08:45 +02:00
Norman Jäckel aa9af9db8c
Merge pull request #4557 from FinnStutzenstein/removeUnnecessaryView
Remove unnecessary view (fixed #4549)
2019-04-05 12:44:36 +02:00
Sean Engelhardt 1dd8562dfc Show sequential number in motion list
Shows the sequential number (ID) in motion list
2019-04-05 11:48:48 +02:00
Emanuel Schütze 3c959df374
Merge pull request #4568 from MaximilianKrambach/motionNextPrev
set surrounding motions according to sorting in list view (fixes #4566)
2019-04-04 23:23:17 +02:00
Emanuel Schütze df915aad6d
Merge pull request #4561 from GabrielInTheWorld/administration
Checks the permissions
2019-04-04 23:02:22 +02:00
Emanuel Schütze bb98e9b120
Merge pull request #4569 from tsiegleauq/list-view-page-size
Enlarge page size
2019-04-04 22:47:38 +02:00
Emanuel Schütze 74713d78b7
Merge pull request #4570 from tsiegleauq/amendments-in-main-motion
Motion Amendments into PDF
2019-04-04 22:40:44 +02:00
Sean Engelhardt 995fa7af32 Motion Amendments into PDF
Support Amendments of initial motions in PDF
2019-04-04 13:22:12 +02:00
Sean Engelhardt 8236d1bf5b Enlarge page size
Enlarges the page size of all list views.
Also move the declaration of the page size into the base list view component
2019-04-04 12:10:45 +02:00
GabrielMeyer 4cdd4b3c34 Checks the permissions
- If the user has not the permissions to edit mediafiles, than he cannot edit or delete any files.
2019-04-04 11:08:54 +02:00
Emanuel Schütze 6364a04d22
Merge pull request #4562 from FinnStutzenstein/redisSessionTimeout
Set a longer socket timeout for redis session
2019-04-03 22:13:52 +02:00
Emanuel Schütze ab0e83ff0b
Merge pull request #4563 from FinnStutzenstein/catchEmailExceptions
Catch more email exceptiopns
2019-04-03 21:22:21 +02:00
Emanuel Schütze 58e0e4155e
Merge pull request #4556 from FinnStutzenstein/postgresAuthGroupSequence
Restart the AuthGroup id sequence on postgres
2019-04-03 21:16:42 +02:00
Emanuel Schütze a4319390ae
Merge pull request #4532 from ostcar/update_requirements
Update python requirements
2019-04-03 21:09:31 +02:00
Maximilian Krambach 9e2faefc79 set surrounding according to sorting in list view 2019-04-03 12:05:43 +02:00
Emanuel Schütze 492372d81c
Merge pull request #4554 from tsiegleauq/simple-excel-export
Export motions as excel document (.xlsx)
2019-04-03 09:18:45 +02:00
Emanuel Schütze 8dfeaa5b09
Merge pull request #4547 from tsiegleauq/projector-messages-rework
Add better projector messages
2019-04-03 09:05:11 +02:00
FinnStutzenstein b058bda4f6 Catch more email exceptiopns 2019-04-02 16:08:52 +02:00
FinnStutzenstein 231cb60f5a Set a longer socket timeout for redis session
Related to #4555
2019-04-02 14:24:39 +02:00
Sean Engelhardt a973ad1719 Export motions as excel document (.xlsx)
Adds exceljs library.
Extends the "motion export dialog" to support xlsx export with a specific set of rules similar
to CSV
2019-04-02 14:23:01 +02:00
Finn Stutzenstein fc3098b08f
Merge pull request #4560 from FinnStutzenstein/removeChatMessageClient
Remove the ChatMessage from the client
2019-04-02 13:24:55 +02:00
Finn Stutzenstein 864ab50306
Merge pull request #4552 from FinnStutzenstein/lostSessionMessageFix
Fix endless reconnections after a late WhoAmI
2019-04-02 12:36:34 +02:00
Sean Engelhardt 80dbe60749 Add better projector messages
Adds messages like in the mock ups
2019-04-02 12:31:21 +02:00
Finn Stutzenstein 29762ad89e
Merge pull request #4541 from FinnStutzenstein/projectionDefaults2
Projectiondefaults, width slider direct save
2019-04-02 12:30:20 +02:00
FinnStutzenstein 2c73b9b781 Remove the ChatMessage from the client 2019-04-02 12:28:19 +02:00
Finn Stutzenstein 2f10fad375
Merge pull request #4553 from FinnStutzenstein/removeMotionLogs
Remove motion logs
2019-04-02 12:12:31 +02:00
FinnStutzenstein d3e98ac158 Remove unnecessary view (fixed #4549) 2019-04-02 12:11:26 +02:00
Emanuel Schütze 2cd51728fe
Merge pull request #4559 from emanuelschuetze/offlineIndicator
Redesign offline indicator on projector
2019-04-02 11:51:59 +02:00
Emanuel Schütze 8c26f5286b Redesign offline indicator on projector 2019-04-02 11:32:34 +02:00
Emanuel Schütze ff41aa8061
Merge pull request #4551 from normanjaeckel/MotionReasonRequired
Fixed bug that motion reason is required if respective config value i…
2019-04-02 11:08:44 +02:00
Emanuel Schütze 7acfb7f080
Merge pull request #4548 from ostcar/fix_mass_decoding
decode only the needed data when calculating the required users
2019-04-02 11:03:39 +02:00
FinnStutzenstein 018df697fa Restart the AuthGroup id sequence on postgres 2019-04-02 07:51:13 +02:00
FinnStutzenstein 4308de3164 Remove motion logs 2019-04-01 09:04:22 +02:00
Finn Stutzenstein 55c162809c
Merge pull request #4540 from FinnStutzenstein/trackFirefoxIssues
Track storage fallbacks via count users
2019-04-01 08:49:55 +02:00
FinnStutzenstein cee6d55b82 Projectiondefaults, width slider direct save 2019-04-01 08:48:52 +02:00
FinnStutzenstein 042fe29ffc Fix endless reconnections after a late WhoAmI 2019-04-01 08:20:57 +02:00
Norman Jäckel 861dc1c02e Fixed bug that motion reason is required if respective config value is set. 2019-03-30 15:00:54 +01:00
Oskar Hahn 206eb9bcba decode only the needed data when calculating the required users 2019-03-29 22:38:12 +01:00
Norman Jäckel 8f393a1877
Merge pull request #4546 from tsiegleauq/websocket-debugging
Add websocket debug output
2019-03-29 11:53:27 +01:00
Norman Jäckel 193514ec9a
Merge pull request #4545 from tsiegleauq/projector-offline-indicator
Add offline indicator to projector
2019-03-29 11:49:40 +01:00
Sean Engelhardt 615e33f396 Add websocket debug output
Adds socket.warn functions to have a higher change to find errors
2019-03-29 11:37:47 +01:00
Sean Engelhardt 488690dc8d Add offline indicator
Also adds a function to the offline service to "actually" determinate if we are offline or not
2019-03-29 11:09:52 +01:00
Finn Stutzenstein b130a28a4c
Merge pull request #4544 from FinnStutzenstein/delayedOfflineMessage
delay the offline message
2019-03-29 09:11:04 +01:00
Emanuel Schütze 13364c7475
Merge pull request #4543 from ostcar/redis_connection_pool
Use redis connection pool
2019-03-29 08:40:28 +01:00
FinnStutzenstein ccf37758d4 delay the offline message 2019-03-29 08:36:18 +01:00
Oskar Hahn 77a1975369 Use redis connection pool 2019-03-27 22:51:33 +01:00
FinnStutzenstein f8699450fb Track storage fallbacks via count users 2019-03-26 12:29:08 +01:00
Maximilian Krambach 5d51c798fe
Merge pull request #4166 from MaximilianKrambach/adminResetWarning
prevent accidental self- lockout in multiSelect
2019-03-26 11:42:47 +01:00
Maximilian Krambach 85491b6c8f prevent accidental self-lockout in multiSelect 2019-03-26 09:49:55 +01:00
Emanuel Schütze b38ff3fb96
Merge pull request #4539 from FinnStutzenstein/localStorageFirefox
Uses storage fallback on incorrect IndexedDB initialization
2019-03-25 17:30:41 +01:00
Emanuel Schütze 9df28ae9bc
Merge pull request #4535 from MaximilianKrambach/sortings
add default sorting of tags and motion blocks
2019-03-25 17:16:06 +01:00
Emanuel Schütze 3a520705f1
Merge pull request #4538 from tsiegleauq/history-storrage
Fix history mode store access
2019-03-25 17:13:57 +01:00
Finn Stutzenstein da553b129a
Merge pull request #4534 from GabrielInTheWorld/util-fixes
Adjusts pagination's listener to default code style.
2019-03-25 16:18:00 +01:00
FinnStutzenstein b267722901 Uses storage fallback on incorrect IndexedDB initialization 2019-03-25 16:12:42 +01:00
Sean de3681454f
Merge pull request #4533 from tsiegleauq/speaker-item-sorting
Add manual sorting to Speaker list
2019-03-25 15:28:50 +01:00
Sean 527c31f9aa
Merge pull request #4536 from GabrielInTheWorld/fix-hammer
Includes `hammerjs`.
2019-03-25 15:28:14 +01:00
Sean Engelhardt 4e975af915 Fix history mode store access
prevents local storage access from certain services
when in history mode
2019-03-25 15:03:26 +01:00
GabrielMeyer cd2907381b Includes `hammerjs`. 2019-03-25 14:41:47 +01:00
Maximilian Krambach 4efede0396 add default sorting of tags and motion blocks 2019-03-25 13:44:41 +01:00
Sean Engelhardt c0a2072cc2 Add manual sorting to Speaker list
Also create CSS Theme file to prevent side effects from theming
2019-03-25 13:34:10 +01:00
GabrielMeyer 15ca6cfec7 Adjusts pagination to default code style. 2019-03-25 13:04:42 +01:00
Sean 279b8b1d25
Merge pull request #4524 from GabrielInTheWorld/util-fixes
Adds listener to the pagination
2019-03-25 10:09:01 +01:00
Sean dbe26df610
Merge pull request #4511 from tsiegleauq/clean-the-repocleanup
Cleanup the repo-cleanup
2019-03-25 10:05:24 +01:00
Sean Engelhardt 3cd58aa6c5 Cleanup the repo-cleanup
Adds a "patch" function to allow more modles to send patches with minimal data
rather than just the whole model.

Re-Adds the throwing of some errors to prevent developers from calling
methods that should not be called
2019-03-25 09:45:12 +01:00
Oskar Hahn 5dde08b4b5 Update python requirements 2019-03-23 21:31:53 +01:00
Emanuel Schütze 0532a23219
Merge pull request #4530 from emanuelschuetze/translation-20190322
Updated translations
2019-03-22 17:05:56 +01:00
Emanuel Schütze fdfb3b9088 Updated translations 2019-03-22 16:13:33 +01:00
Emanuel Schütze 16159fb60d
Merge pull request #4529 from emanuelschuetze/fixCSS
Fixed CSS styling error
2019-03-22 16:06:32 +01:00
Emanuel Schütze 0cc59c6596 Fixed CSS styling error 2019-03-22 15:47:22 +01:00
Emanuel Schütze faa0a6077e
Merge pull request #4527 from tsiegleauq/list-of-speakers-template
Add prettier list of speakers
2019-03-22 15:30:22 +01:00
Sean Engelhardt ab19d66022 Add prettier list of speakers
Also cleans up some CSS and unifies some Drag-N-Drop Component
styles.
2019-03-22 13:25:03 +01:00
GabrielMeyer 6e628ea4cd Adds listener to the pagination
- Subscription to change events from pagination are used to set the made settings initial.
2019-03-22 13:05:03 +01:00
Emanuel Schütze 5c0be51c7e
Merge pull request #4525 from GabrielInTheWorld/correct-rendering-text
Sanitizing the inner html text.
2019-03-22 11:52:26 +01:00
GabrielMeyer fca92ef9e2 Sanitizing the inner html text. 2019-03-21 17:39:57 +01:00
Emanuel Schütze 0527b814bc
Merge pull request #4522 from emanuelschuetze/improvements
Minor layout improvements
2019-03-21 15:38:50 +01:00
Emanuel Schütze b9a3308b60
Merge pull request #4523 from tsiegleauq/motion-amendment-fixes
Add motion to motion change observation
2019-03-21 15:38:31 +01:00
Sean Engelhardt b472a3851b Add motion to motion change observation
Also fixes an some navigation for motion and amendments
2019-03-21 11:31:02 +01:00
Emanuel Schütze e54d0cf087 Minor layout improvements
- Improved motion block slide layout
- Increase width of statute paragraph title form field
- hide identifier in motion form for unprivileged users/submitters
2019-03-20 22:00:35 +01:00
Emanuel Schütze 63a2c6b05b
Merge pull request #4520 from tsiegleauq/websocket-fixes
Fix websocket connection for port 80
2019-03-20 15:08:01 +01:00
Sean Engelhardt 56289af867 Fix websocket connection for port 80
port 80 was interpretet as <IP>:/ws before.
Certain browser did not like the colon...
2019-03-20 14:44:35 +01:00
Emanuel Schütze fbbd5fa135
Merge pull request #4516 from normanjaeckel/FixCommands
Fixed commands.
2019-03-20 13:19:09 +01:00
Emanuel Schütze 68175b8cb7
Merge pull request #4519 from tsiegleauq/list-z-levels
Fix some z-level related issues
2019-03-20 13:13:15 +01:00
Emanuel Schütze a3ed1ae00c
Merge pull request #4518 from normanjaeckel/NewPermInternalMotions
Added new permission to see motions in internal state (so called auth…
2019-03-20 13:03:48 +01:00
Sean 460c99e683
Merge pull request #4515 from emanuelschuetze/fixStatuteAmendment
Fixed statute amendment detection in motion form
2019-03-20 12:56:12 +01:00
Norman Jäckel 16cde2cd96 Added new permission to see motions in internal state (so called authorized users). 2019-03-20 12:47:26 +01:00
Sean Engelhardt ca18d59ac3 Fix some z-level related issues
Fixes some z-layer effects
2019-03-20 12:45:34 +01:00
Norman Jäckel 35198f6e64 Fixed commands. 2019-03-20 08:50:57 +01:00
Norman Jäckel 94080df663
Merge pull request #4517 from emanuelschuetze/fixComments
Fixed permission check for manage comments
2019-03-20 08:47:11 +01:00
Emanuel Schütze a20803401f Fixed permission check for manage comments 2019-03-19 21:26:28 +01:00
Emanuel Schütze d62f1538ab
Merge pull request #4489 from GabrielInTheWorld/tree-sort-agenda
Replaces the DragDrop-Tree
2019-03-19 19:46:03 +01:00
Sean 5fbf682754
Merge pull request #4472 from tsiegleauq/countdown-control-component
Add Countdowns in projector detail
2019-03-19 17:52:08 +01:00
Sean Engelhardt 183d2738e0 Add Countdowns in projector detail
Adds Pretty countdown controls, detetion and edit in
Projector template.

Countdown list was removed
2019-03-19 17:20:38 +01:00
Emanuel Schütze dfab9730dc Fixed statute amendment detection in motion form 2019-03-19 16:49:45 +01:00
GabrielMeyer 76d760bd41 Replaces the old `angular2tree` with a custom drag&drop tree
Calculates the direction of the moving.

Finishes the moving of nodes in same level

Adds some style

Sets the padding dynamically

Adds placeholder depends on the horizontal movement

Set the placeholder at the correct place, so the user can see, where he will drop the moved node

Finishes moving of nodes

- Old parents change their option to expand.
- New parents change their option to expand.
- If the user moves a node between nodes with a higher level, the node will be moved to the next index with same or lower level.

Fixes the visibility of moved node

- If the new parent is not visible, the moved node will not be seen.

If the user moves an expanded node, the new parent should expanded, too, if it's not already.

Sending successfully data to the server

- Sorting the items

Handles moving nodes between parent and children

- If the user moves a node between a parent and its children, the children will be relinked to the moved node as their new parent.

Replaces the old `sorting-tree` to a new one

- The new `sorted-tree` replaces the old `sorting-tree`.
- The old package `angular-tree-component` was removed.
- The user will only see the buttons to save or cancel his changes, if he made changes.
- The buttons, that do not work currently, were removed.

Adds a guard to check if the user made changes.

- If the user made changes but he has not saved them, then there is a dialog that will prompt to ask for confirmation.

Before cancelling the changes the user has to confirm this.
2019-03-19 13:19:35 +01:00
Emanuel Schütze 5d045a894a
Merge pull request #4514 from CatoTH/amendmentsInViewMotion
Add amendments as dependencies in ViewMotion [2]
2019-03-17 22:04:22 +01:00
Tobias Hößl 5d9128403a
Bugfix: Diff 2019-03-17 20:31:25 +01:00
FinnStutzenstein 6cb4b9a691 Add amendments as dependencies in ViewMotion 2019-03-17 18:01:10 +01:00
Emanuel Schütze 1c02d5f496
Merge pull request #4513 from CatoTH/OS3-Bugfix-Amendment-Diff-Extraction
Bugfix in motion's diff-view: correct amendment diff
2019-03-16 20:43:54 +01:00
Emanuel Schütze 5482157536
Merge pull request #4510 from CatoTH/OS3-Line-Highlighting-Bugfixes
Bugfixes: Highlighting wo CRs, better scrolling
2019-03-16 20:39:39 +01:00
Tobias Hößl 1764447704
Bugfix in motion's diff-view: correct amendment diff 2019-03-16 14:07:05 +01:00
Tobias Hößl e62648c719
Bugfixes: Highlighting wo CRs, better scrolling 2019-03-16 13:34:55 +01:00
Emanuel Schütze e03ec00567
Merge pull request #4512 from FinnStutzenstein/fixOpenSlidesServiceOnLogin
Fixed errors on login
2019-03-16 12:11:44 +01:00
FinnStutzenstein cd7b700aea Fixed errors on login 2019-03-15 15:29:02 +01:00
Sean 398ffc30ea
Merge pull request #4411 from MaximilianKrambach/sort_alternative
fix sort performance issues for dropdowns
2019-03-15 09:58:32 +01:00
Maximilian Krambach 9c67b1c773 sorting from inside base repositories
Authors: FinnStutzenstein, MaximilianKrambach, tsiegleauq
2019-03-15 08:12:50 +01:00
Emanuel Schütze ccc81df434
Merge pull request #4509 from tsiegleauq/more-user-permission-fixes
Fix certain permission checks
2019-03-14 18:22:29 +01:00
Sean Engelhardt 5d35a0fa5f Fix certain permission checks
Fixed permissions in topic detail, agenda list and user detail.
Fixes Z-Level of head bar and mat-spinner.
2019-03-14 17:50:33 +01:00
Sean 09ddc83d30
Merge pull request #4508 from tsiegleauq/cleanup-motion-detail-ds-repos
Cleanup Repos
2019-03-14 11:40:56 +01:00
Emanuel Schütze 4950ca084f
Merge pull request #4507 from normanjaeckel/ManyToManyMigrationsFix
Hotfix for #4501: Skipped many to many related objects autoupdate sig…
2019-03-14 11:34:48 +01:00
Emanuel Schütze 52be65a315
Merge pull request #4506 from normanjaeckel/Hotfix4491
Hotfix for #4491: Autoupdate for motion when change recommendation ch…
2019-03-14 11:34:34 +01:00
Sean Engelhardt d4e10702cc Cleanup Repos
Add an getViewModelListBehaviorSubject that simplifies
how to get most model lists in the view

unified update, delete and create methods and removed redundant code from the repos
(where it was possible)

cleaned up the motion detail to not directly use the DataStore

Add information about the "main model" to all ViewModels, to call the
correct constructor in the BaseRepo
2019-03-14 10:46:33 +01:00
Sean 74bcc4bcea
Merge pull request #4500 from tsiegleauq/workflow-order
workflow table state sort
2019-03-13 16:09:44 +01:00
Sean ae3ce54f57 workflow table state sort
Sorts the Workflow table to be more predictable

Adds new shared SCSS table rules.
Adds a default with as 100% (there have never been half tables)
Overwrites the rules for sticky tables
2019-03-13 15:54:35 +01:00
Sean 7734a502d8
Merge pull request #4502 from FinnStutzenstein/fixRedirectionOnDelayedWhoAmI
Fixed redirection on login subpages (fixed #4474)
2019-03-13 15:31:21 +01:00
Norman Jäckel baacda2b8e Hotfix for #4501: Skipped many to many related objects autoupdate signal during migrations. 2019-03-13 10:58:01 +01:00
Norman Jäckel 8f50caf481 Hotfix for #4491: Autoupdate for motion when change recommendation changes. 2019-03-13 09:40:04 +01:00
Finn Stutzenstein 6d66ec5b5d
Merge pull request #4493 from FinnStutzenstein/baseComponent
Cleanup optional parameter from BaseComponent
2019-03-12 12:41:09 +01:00
FinnStutzenstein e6ec164fe9 Fixed redirection on login subpages (fixed #4474) 2019-03-12 12:01:05 +01:00
Emanuel Schütze b30340b72f
Merge pull request #4497 from tsiegleauq/motionslides-linenumber-height
Fix motion slide line number alignment
2019-03-11 14:25:01 +01:00
Finn Stutzenstein 3ac7788fe8
Merge pull request #4471 from FinnStutzenstein/permissionsInWhoAmI
rework login system (again)
2019-03-11 14:03:46 +01:00
Sean 35b27b967f Fix motion line number alignment 2019-03-11 13:56:25 +01:00
FinnStutzenstein eb4537c1bf rework login system (again) 2019-03-11 13:45:17 +01:00
Emanuel Schütze e13a849c19
Merge pull request #4498 from tsiegleauq/fix-path-matching
Fix path matching
2019-03-11 13:23:03 +01:00
Emanuel Schütze 0ac9125d66
Merge pull request #4496 from emanuelschuetze/translation-20190311
Updated translations
2019-03-11 12:58:22 +01:00
Sean 245f3a5a27 Fix path matching
Fixed an error where navigation to not-lazy-loaded was prevented by full
path-matching.
Was preventing the sites for Search, Legal Notice and PP to show up
2019-03-11 12:33:55 +01:00
Emanuel Schütze 5139fe8365 Updated tranlstions 2019-03-11 12:28:34 +01:00
Emanuel Schütze d251bd15e6
Merge pull request #4492 from tsiegleauq/history-filter
Fix history history filter for null
2019-03-11 12:25:37 +01:00
Emanuel Schütze 8ce8286ea2
Merge pull request #4494 from tsiegleauq/agenda-filter-opendone
Fix agenda status filter
2019-03-11 12:23:24 +01:00
Emanuel Schütze 3684701ab6
Merge pull request #4495 from FinnStutzenstein/viewItemTitle
ViewItem title (fixes #4464)
2019-03-11 12:21:21 +01:00
FinnStutzenstein aa81bf38c3 ViewItem title (fixes #4464) 2019-03-11 11:21:34 +01:00
Sean 8ca1a4256c Fix agenda status filter
Fixes an issue where the status filter in the agenda list did not do
nothing
2019-03-11 11:04:29 +01:00
FinnStutzenstein 64eab79d3b Cleanup optionalparameter from BaseComponent 2019-03-11 10:49:57 +01:00
Sean 4e62e9253e Fix history history filter for null
Fixes an issue where the history filter was throwing an error
if there were deleted objectsy
2019-03-11 10:29:12 +01:00
Finn Stutzenstein d10dfb0915
Merge pull request #4469 from MaximilianKrambach/speakertime
clarifying duration service usage
2019-03-11 08:07:41 +01:00
Emanuel Schütze 0419ea629f
Merge pull request #4487 from CatoTH/OS3-Bugfix-Amendment-Status-Handling
Bugfix: Amendment statuses
2019-03-09 23:14:29 +01:00
Tobias Hößl 6b685924d9 Bugfix: Amendment statuses 2019-03-09 22:48:21 +01:00
Emanuel Schütze 1ecc7f4baa
Merge pull request #4485 from tsiegleauq/user-detail-template-fixes
User detail template fixes
2019-03-09 22:06:15 +01:00
Emanuel Schütze f4b798d6a2
Merge pull request #4479 from FinnStutzenstein/losSpeakerCount
(current) list of speakers: show amount of waiting speakers
2019-03-09 21:54:59 +01:00
Emanuel Schütze cee7c39c7d
Merge pull request #4481 from tsiegleauq/speaker-list-perms
Prevent drag and final versions without perms
2019-03-09 21:49:08 +01:00
Emanuel Schütze a26c44ca73
Merge pull request #4483 from tsiegleauq/motion-block-perms
Motion block permission fixes
2019-03-09 21:41:12 +01:00
Emanuel Schütze 2e2bf9bf54
Merge pull request #4482 from FinnStutzenstein/sortAgendaOnProjector
Fallback to id when sorting the agenda
2019-03-09 21:40:51 +01:00
Emanuel Schütze 023eb54773
Merge pull request #4488 from ostcar/fix_config_key_to_id
Fix a race condition when creating config.key_to_id
2019-03-09 21:27:24 +01:00
Sean Engelhardt 6acecccc6e Motion block permission fixes
Adds fixes to motion block permission checks.
Users with "Can See motion"
Can see motion blocks in list view

The menu-column in motion blocks list will be completely hidden
without "Motion Can Manage" permissions

In motion block list view, the motion will be displayed with
identifier rather than just the title
2019-03-09 21:22:56 +01:00
Oskar Hahn 8409378e00 Fix a race condition when creating config.key_to_id 2019-03-09 18:55:58 +01:00
Emanuel Schütze fc7a3a7f51
Merge pull request #4486 from tsiegleauq/amendment-wizzard-fixes
Fix amendment creation
2019-03-08 20:56:43 +01:00
Emanuel Schütze 5e7c604c4b
Merge pull request #4480 from FinnStutzenstein/sortMotionBlocksOnSlide
Sort motions on the motion block slide
2019-03-08 20:49:18 +01:00
Sean Engelhardt 07d3ea4c25 Fix amendment creation
Categories and blocks not appear after (paragraph based) amendment
creation.
Reason for amendments is now required if the config was set
accordingly
2019-03-08 16:45:45 +01:00
Emanuel Schütze 07c723a7dc
Merge pull request #4475 from FinnStutzenstein/addTextDecorationToHtmlWhitelist
Add text-decoration to bleach whitelist
2019-03-08 16:19:32 +01:00
FinnStutzenstein d90e88fa53 Sort motions on the motion block slide 2019-03-08 16:16:05 +01:00
FinnStutzenstein 66ebdc4f8a Add text-decoration to bleach whitelist, fix tinymce toolbar 2019-03-08 15:11:55 +01:00
Sean Engelhardt 62e3256c54 User detail template fixes
Adds a new template to user detail, to show user information in multiple
lines

Also adds a new feature to the headbar. Long titles (over title slot) will
break using ellipsis
2019-03-08 14:51:48 +01:00
Emanuel Schütze 3490ff3ca4
Merge pull request #4477 from FinnStutzenstein/projectorScroll
projector scroll and contdown offset
2019-03-08 14:32:42 +01:00
FinnStutzenstein 5fff7d24ec projector scroll and contdown offset 2019-03-08 13:17:43 +01:00
Emanuel Schütze 0290449b8b
Merge pull request #4452 from FinnStutzenstein/reworkPersonalNotes
rework personal notes
2019-03-08 12:45:54 +01:00
FinnStutzenstein f198a21543 rework personal notes 2019-03-08 12:09:53 +01:00
Emanuel Schütze 40e5ea0a1d
Merge pull request #4473 from FinnStutzenstein/themeInLoginData
Added theme to login data
2019-03-08 12:01:32 +01:00
FinnStutzenstein 887c1a3516 Fallback to id when sorting the agenda 2019-03-08 11:59:07 +01:00
Sean Engelhardt 985fe9cc8b Prevent drag and final versions without perms
Fixes an issue where users without manage rights
were able to use the drag and drop feature of the
list of speakers.
Also hides "modified final version" prints without
sufficient permissions.

Alters OSPerms to support "and" operators,
so "perm" and "other condition" is now possible
2019-03-08 11:53:25 +01:00
Emanuel Schütze 16b6c814cf
Merge pull request #4478 from FinnStutzenstein/AmendmentNumbering
Fix blanks for amendments
2019-03-08 11:27:42 +01:00
FinnStutzenstein f60e66c1a8 (current) list of speakers: show amount of waiting speakers 2019-03-08 11:15:53 +01:00
FinnStutzenstein 138a52d278 Fix blanks for amendments 2019-03-08 11:05:42 +01:00
Sean 83ff758977
Merge pull request #4456 from tsiegleauq/motion-modules
Add more motion modules
2019-03-08 11:01:19 +01:00
Sean Engelhardt 6a421f8f6b Add more motion modules
Seperates the previously large motion module in various smaller
and very small feature modules.
Motion Detail, and all direct dependancies to Motion Detail
is now an own module.
This significantly increases the response time of openslides 3
2019-03-08 10:43:54 +01:00
FinnStutzenstein a1018e62e2 Added theme to login data 2019-03-08 09:19:05 +01:00
Emanuel Schütze 70191ce455
Merge pull request #4470 from FinnStutzenstein/motionSLideRecommendationFix
Replace recommendation on client and server for motion slide
2019-03-07 16:55:53 +01:00
Emanuel Schütze 6b7aaeac6f
Merge pull request #4442 from MaximilianKrambach/zindex
fix legalnotice and privacy z-index issue
2019-03-07 15:40:32 +01:00
Maximilian Krambach 9cdc909d25 fix legalnotice and privacy z-index issue 2019-03-07 15:06:41 +01:00
FinnStutzenstein ed4b1c80f1 Replace recommendation on client and server for motion slide 2019-03-07 08:52:33 +01:00
Maximilian Krambach e05874cf6f clarifying duration service usage 2019-03-06 16:54:00 +01:00
Finn Stutzenstein cc21c77667
Merge pull request #4466 from MaximilianKrambach/ripple
disable some unnecessary ripples in motion detail view
2019-03-06 15:49:02 +01:00
Maximilian Krambach 21893f00b8 disable some unnecessary ripples in motion detail view 2019-03-06 15:35:27 +01:00
Finn Stutzenstein 4fedae63a8
Merge pull request #4468 from FinnStutzenstein/fixIsort
Resort python import for isort 4.3.11 (fixes #4467)
2019-03-06 15:14:12 +01:00
Jochen Saalfeld dcccfb41b5
Merge pull request #4462 from FinnStutzenstein/fixIsStable
Fixed SW registration issues due to pending mikrotasks
2019-03-06 15:09:43 +01:00
FinnStutzenstein ecdfdf4b87 Resort python import for isort 4.3.11 (fixes #4467)
One dot imports are again behind two dot imports since this new isort
release.
2019-03-06 14:54:03 +01:00
Maximilian Krambach b978029fff
Merge pull request #4432 from MaximilianKrambach/csvExport
csv example export refactor
2019-03-06 11:29:55 +01:00
Maximilian Krambach 0ddded4a86 csv example export refactor
- make csv example data respect config separators
- refactor at a more central place
2019-03-06 11:03:51 +01:00
Norman Jäckel d9369ab9c1
Merge pull request #4201 from normanjaeckel/ManyToManyFix
Fixed autoupdate for m2m relation.
2019-03-06 09:31:18 +01:00
Emanuel Schütze ad653de915
Merge pull request #4450 from FinnStutzenstein/offlineOperator
offline operator
2019-03-06 09:24:52 +01:00
Norman Jäckel 01a61ab292 Fixed autoupdate for m2m relation. Fixed #4055. 2019-03-06 08:58:52 +01:00
Emanuel Schütze 6588cd9cd4
Merge pull request #4463 from FinnStutzenstein/fixInSomeGroups
Fix inSomeGroups for the superadmin
2019-03-06 08:57:36 +01:00
FinnStutzenstein b0d4851651 Fix inSomeGroups for the superadmin, delete empty comments 2019-03-06 08:35:00 +01:00
FinnStutzenstein e1fcda7890 Fixed SW registration issues due to pending mikrotasks 2019-03-06 08:15:19 +01:00
FinnStutzenstein 0c6a7b9c4b offline operator 2019-03-06 07:50:54 +01:00
Emanuel Schütze 118b853a91
Merge pull request #4458 from tsiegleauq/foce-service-worker
Add Service Work(e|a)r(round)
2019-03-05 15:03:40 +01:00
Emanuel Schütze 1fecf941c8
Merge pull request #4459 from FinnStutzenstein/fixUpdatingMotions
set allow_null for integerfields, when they are not required
2019-03-05 15:02:26 +01:00
Emanuel Schütze 171433c050
Merge pull request #4457 from GabrielInTheWorld/opening-tab-motion-list
Fixes clicking on the group-cell to change settings
2019-03-05 14:35:26 +01:00
FinnStutzenstein 20e2639323 set allow_null for integerfields, when they are not required 2019-03-05 14:23:01 +01:00
Sean Engelhardt 3e4dffd7a4 Add Service Work(e|a)r(round)
uses the promise in returned by .bootstrapModule
to register the serviceworker if required.
Seems to work reliable, even in unstable environments.
Requires production mode to comprehend.
(at least ng build --prod)
2019-03-05 14:06:36 +01:00
GabrielMeyer 85f9897f42 Fixes clicking on the group-cell to change settings
Now, the user can click on the whole group-cell to change some settings like groups, gender and member-number.
2019-03-05 12:43:53 +01:00
Emanuel Schütze 4349f2eb11
Merge pull request #4449 from MaximilianKrambach/tinyMCE_blur
change config update behavior for editors
2019-03-04 22:16:27 +01:00
Emanuel Schütze d081b90ff1
Merge pull request #4451 from FinnStutzenstein/moreSearch
Search in related objects
2019-03-04 21:56:37 +01:00
Emanuel Schütze b1991fbc65
Merge pull request #4455 from ostcar/disable_restricted_data_future_lock
Disable the future-lock when updating the restircted data cache
2019-03-04 21:51:10 +01:00
Emanuel Schütze d071bb1d47
Merge pull request #4454 from emanuelschuetze/motion-detail-layout-fix
Reduce height of controls to fix linenumbering layout.
2019-03-04 21:38:56 +01:00
Oskar Hahn dd4754d045 Disable the future-lock when updating the restircted data cache
Before this commit, there where two different locks when updating the restricted
data cache. A future lock, what is faster but only works in the same thread. The
other lock is in redis, it is not so fast, but also works in many threads.

The future lock was buggy, because on a second call of update_restricted_data
the same future was reused. So on the second run, the future was already done.

I don't see any way to delete. The last client would have to delete it, but there
is no way to find out which client the last one is.
2019-03-04 21:37:00 +01:00
Emanuel Schütze 176fb9943d Reduce height of controls to fix linenumbering layout.
in motion detail view with outside numbering
2019-03-04 15:27:19 +01:00
Emanuel Schütze 37f9d5c94a
Merge pull request #4453 from emanuelschuetze/fixPdf
Fixed linenumbering error on building motion pdf (checks if element i…
2019-03-04 15:26:49 +01:00
Emanuel Schütze 22783f876b Fixed linenumbering error on building motion pdf (checks if element is null). 2019-03-04 15:02:06 +01:00
FinnStutzenstein 9198058bd7 Search in related objects 2019-03-04 13:36:34 +01:00
Maximilian Krambach cc5e38faad change config update behavior for editors
tinyMCE editors will not update after a timeout, but when focus changes
or the editor is destroyed
2019-03-04 11:50:07 +01:00
Emanuel Schütze 4174f70d2b
Merge pull request #4448 from normanjaeckel/SetStateView
Set state view
2019-03-04 11:17:33 +01:00
Emanuel Schütze 13eb764668
Merge pull request #4447 from normanjaeckel/FixOnDelete
Fixed on_delete field attr. Fixed #4405
2019-03-04 11:12:01 +01:00
Norman Jäckel e22274653d Added identifier to saved fields on multiple state management. 2019-03-01 21:11:27 +01:00
Norman Jäckel c21d8be108 Revert "fix identifier setting on mass setstate"
This reverts commit e870ed495a.
2019-03-01 21:09:01 +01:00
Norman Jäckel 9eec2404dd Fixed on_delete field attr. Fixed #4405 2019-03-01 20:53:01 +01:00
Emanuel Schütze 4366f753f4
Merge pull request #4446 from emanuelschuetze/projector-h1
Minor projector css changes
2019-03-01 15:13:21 +01:00
Emanuel Schütze ff410a4954 Minor projector css/wording changes 2019-03-01 14:52:29 +01:00
Emanuel Schütze 40de87c5b4
Merge pull request #4444 from FinnStutzenstein/stableElementsCleanup
clean up stable projectorelements, if they have an error
2019-03-01 14:03:19 +01:00
Emanuel Schütze c8c55ce597
Merge pull request #4441 from FinnStutzenstein/closReference
One global clos reference. More projector buttons for the clos view
2019-03-01 13:37:28 +01:00
Emanuel Schütze 6e4a110116 List of speakers template 2019-03-01 13:17:30 +01:00
FinnStutzenstein d0e6681aad One global clos reference. More projector buttons for the clos view 2019-03-01 13:17:26 +01:00
FinnStutzenstein 43f084438d clean up stable projectorelements, if they have an error 2019-03-01 13:03:55 +01:00
Emanuel Schütze c140399fa7
Merge pull request #4440 from FinnStutzenstein/clockFontColor
set the clock color to the header color of the projector
2019-03-01 12:35:41 +01:00
Finn Stutzenstein 94cd032f79
Merge pull request #4443 from FinnStutzenstein/countdownMigrationFix
Fixed countdown model
2019-03-01 12:32:43 +01:00
FinnStutzenstein ab0955d890 Fixed countdown model 2019-03-01 12:10:49 +01:00
FinnStutzenstein d3773bc8e8 set the clock color to the header color of the projector 2019-03-01 12:06:46 +01:00
Finn Stutzenstein 69fe4632f4
Merge pull request #4419 from MaximilianKrambach/countdown
countdown: new title field, description made optional
2019-03-01 12:02:50 +01:00
Emanuel Schütze b576d2c396
Merge pull request #4439 from MaximilianKrambach/cssState
consolidate state css colors
2019-03-01 11:24:50 +01:00
Maximilian Krambach 44d16eb244 countdown: new title field, description optional 2019-03-01 11:22:09 +01:00
Maximilian Krambach b704a3b09f consolidate state css colors 2019-03-01 11:11:13 +01:00
Emanuel Schütze 08e076f4a4
Merge pull request #4438 from FinnStutzenstein/addItemNumberToTopicTitle
Add item number to topic title
2019-03-01 10:50:53 +01:00
FinnStutzenstein 3f77cc7b24 Add item number to topic title, hide clos slide for one projector 2019-03-01 10:26:52 +01:00
Emanuel Schütze 573cdd88a2
Merge pull request #4427 from FinnStutzenstein/motionProjectionMode
motion projection mode is optional and sensitive for the config
2019-03-01 10:23:55 +01:00
FinnStutzenstein 384597afb9 motion projection mode is optional and sensitive for the config 2019-03-01 10:08:57 +01:00
Emanuel Schütze a9de755047
Merge pull request #4437 from emanuelschuetze/translations20190228
Updated translations
2019-02-28 23:00:11 +01:00
Emanuel Schütze 4de14f4100 Updated translations 2019-02-28 22:46:38 +01:00
Emanuel Schütze f8e0718a22
Merge pull request #4436 from tsiegleauq/projector-detail-ui
Clean projector detail interface
2019-02-28 22:29:29 +01:00
Emanuel Schütze 2257991aba Projector detail template improvements 2019-02-28 22:15:07 +01:00
Sean Engelhardt 587a0fe443 Clean projector detail interface
Alters the projector detail interface to provide better usability.
Alters the dragging slightly to have a nice preview and smoother
transitions.
2019-02-28 22:14:33 +01:00
Emanuel Schütze d77abf5934
Merge pull request #4435 from MaximilianKrambach/motion_deleteCategory
fix unsetting some values
2019-02-28 19:24:40 +01:00
Maximilian Krambach 4e3948a24d fix unsetting some values
- Category prefix
- category in motion multiSelect
2019-02-28 19:06:32 +01:00
Emanuel Schütze 0c1abe561b
Merge pull request #4433 from tsiegleauq/speaker-repo
Speaker repo
2019-02-28 16:21:14 +01:00
Emanuel Schütze 8c68e93596
Merge pull request #4434 from MaximilianKrambach/stopProopagation
fix click events in user + mediafile views
2019-02-28 16:18:10 +01:00
Maximilian Krambach feca9e4a18 fix click events in user + mediafile views
stopped propagation on soome buttons and menus
2019-02-28 16:05:28 +01:00
Emanuel Schütze 51026286cb
Merge pull request #4429 from FinnStutzenstein/clearRepositories
clear repositories and extra DS clear on logout
2019-02-28 15:59:12 +01:00
Emanuel Schütze 24008da0df
Merge pull request #4430 from FinnStutzenstein/fixSlideMargin
Fix slide container margin
2019-02-28 15:36:11 +01:00
FinnStutzenstein 7dee5acc7e Fix slide container margin 2019-02-28 15:23:43 +01:00
Emanuel Schütze 3f7f12e3ad
Merge pull request #4431 from MaximilianKrambach/resetPassword
permission for admins to reset passwords
2019-02-28 14:33:04 +01:00
Sean Engelhardt 03c590c66d Speaker repo
Add an own repository service to manage speakers
2019-02-28 14:26:31 +01:00
Maximilian Krambach 036ce4f02c permission for admins to reset passwords 2019-02-28 11:29:58 +01:00
FinnStutzenstein 3432c66d4d clear repositories and extra DS clear on logout 2019-02-28 11:04:19 +01:00
Emanuel Schütze 9e2d42f9f4
Merge pull request #4426 from FinnStutzenstein/addElementtoPreview
Add elements to preview button
2019-02-28 10:45:18 +01:00
Finn Stutzenstein 77e192719d
Merge pull request #4424 from FinnStutzenstein/reviveGlobalSearch
Revive the global search.
2019-02-28 09:54:01 +01:00
FinnStutzenstein 80e236e5b0 Add elements to preview button 2019-02-28 09:37:30 +01:00
Emanuel Schütze 770de5b7d1
Merge pull request #4425 from FinnStutzenstein/agendaProjectionHotfix
Hotfix for #4408
2019-02-28 09:34:14 +01:00
FinnStutzenstein 85903dbb44 Hotfix for #4408 2019-02-28 09:09:32 +01:00
FinnStutzenstein 2e0353618d Revive the global search.
Fixed leftovers from the viewModel restructure. Repositories always have a verboseName now. Does not implement new logic to follow related models (e.g. motions->submitters).
2019-02-28 08:56:03 +01:00
Emanuel Schütze f532a60b36
Merge pull request #4423 from emanuelschuetze/translations-20190227
Updated translations
2019-02-27 23:26:42 +01:00
Emanuel Schütze 11b6a2c831 Updated translations 2019-02-27 23:06:29 +01:00
Emanuel Schütze e59327efd5
Merge pull request #4421 from MaximilianKrambach/setMultiStateFix
fix identifier setting on mass setstate
2019-02-27 22:31:18 +01:00
Emanuel Schütze 9bb0efe57f
Merge pull request #4418 from tsiegleauq/projector-font-color
Add custom h1 color to slides
2019-02-27 22:28:00 +01:00
Emanuel Schütze 367df3b095
Merge pull request #4409 from FinnStutzenstein/motionBlockSlide
Add referenced motions by the server (fixes #4383)
2019-02-27 22:22:11 +01:00
Emanuel Schütze 1968a83123
Merge pull request #4417 from MaximilianKrambach/agendaDetail
fix agenda editing button
2019-02-27 22:18:44 +01:00
Emanuel Schütze c7129edb02
Merge pull request #4420 from MaximilianKrambach/fixMoveToItem
fix assign url in motion- moveToItem
2019-02-27 22:17:31 +01:00
Emanuel Schütze 5c840893ac
Merge pull request #4422 from normanjaeckel/FixCascadeAndAutoupdate
Fixed deletion of motions with change recommendations. Fixed #4415.
2019-02-27 21:14:59 +01:00
Norman Jäckel 197ff7264c Fixed deletion of motions with change recommendations. Fixed #4415. 2019-02-27 20:16:51 +01:00
Maximilian Krambach e870ed495a fix identifier setting on mass setstate 2019-02-27 18:14:25 +01:00
Maximilian Krambach aa33bf37a8 fix assign url in motion- moveToItem 2019-02-27 17:10:27 +01:00
Sean Engelhardt 90c131a6aa Add custom h1 color to slides
Uses css-variabled and dom manipulation to change
the projectors h1 color on the fly.
Will have issues with multiple projectors nested in the same view
2019-02-27 15:57:18 +01:00
Maximilian Krambach 4cf754946c fix agenda editing button 2019-02-27 14:56:00 +01:00
Emanuel Schütze 1ce6804a43
Merge pull request #4416 from MaximilianKrambach/categoryHotFix
category sort view hotfix
2019-02-27 14:30:36 +01:00
Maximilian Krambach 8677667a10 hotfix 2019-02-27 13:47:38 +01:00
Emanuel Schütze f9ea181a93
Merge pull request #4414 from MaximilianKrambach/smallFixes
marking and repairing translations
2019-02-27 12:04:01 +01:00
Maximilian Krambach 308b593763 check for invalid motions on import 2019-02-27 11:24:04 +01:00
Maximilian Krambach e4c79fd371 marking and repairing translations 2019-02-27 10:31:45 +01:00
Emanuel Schütze 422789e2b8
Merge pull request #4412 from emanuelschuetze/translations20190226
Updated translations
2019-02-27 08:56:08 +01:00
FinnStutzenstein 4cde0431ab Add referenced motions by the server (fixes #4383) 2019-02-27 07:35:52 +01:00
Emanuel Schütze edf7a06f72 Updated translations 2019-02-26 23:01:17 +01:00
Emanuel Schütze 23c1857fa6
Merge pull request #4389 from FinnStutzenstein/chyron
current speaker chyron
2019-02-26 22:36:10 +01:00
Emanuel Schütze 2a35a6010a
Merge pull request #4399 from MaximilianKrambach/bulkUser
bulk import of users
2019-02-26 22:24:53 +01:00
Emanuel Schütze c3b3b35cf0 Chyron template design 2019-02-26 22:21:20 +01:00
Maximilian Krambach be83d9b0aa bulk import of users 2019-02-26 22:05:38 +01:00
FinnStutzenstein f039293c09 current speaker chyron 2019-02-26 21:56:59 +01:00
Emanuel Schütze fc10ee168c
Merge pull request #4400 from MaximilianKrambach/previews
refactor import  preview strings
2019-02-26 21:47:08 +01:00
Emanuel Schütze 4186d21deb
Merge pull request #4406 from FinnStutzenstein/closSlide
clos slide content
2019-02-26 17:34:18 +01:00
Emanuel Schütze d94ed59670
Merge pull request #4403 from tsiegleauq/change-font
Add custom fonts for projector
2019-02-26 17:20:02 +01:00
Emanuel Schütze 0dd2dcc352
Merge pull request #4410 from tsiegleauq/more-swipe-gestures
Add swipe gestures into motion detail
2019-02-26 17:13:23 +01:00
Emanuel Schütze 17bd6d71bd Template work for slide components. 2019-02-26 17:10:39 +01:00
FinnStutzenstein 7be436594e clos slide content 2019-02-26 17:10:33 +01:00
Sean Engelhardt 0ceddd2662 Add swipe gestures into motion detail
Adds swipe gestures into motion detail, to nacigate them easily on mobile devices
Animations are left out for now, since they are complex to develop.

Alters the navigation gesture slightly to only work from the edge of a given screen
2019-02-26 15:30:16 +01:00
Emanuel Schütze 56779e0d8f
Merge pull request #4404 from MaximilianKrambach/multiSelectLine
normalize multiSelect actions
2019-02-26 14:48:50 +01:00
Emanuel Schütze 393b5f095f
Merge pull request #4407 from FinnStutzenstein/noOfflineMessageOnProjector
Hide the offline message on the projector
2019-02-26 14:45:28 +01:00
FinnStutzenstein 64139992b4 Hide the offline message on the projector 2019-02-26 14:06:10 +01:00
Maximilian Krambach 570bc10766 fix projector on users 2019-02-26 13:20:40 +01:00
Maximilian Krambach 93260aaf29 refactor import preview strings 2019-02-26 13:12:40 +01:00
Sean Engelhardt 0053bb56a2 Add custom fonts (WIP)
Pretty much angular magic
2019-02-26 11:38:30 +01:00
Maximilian Krambach 5cedf6eb58 normalize multiSelect actions 2019-02-26 11:06:42 +01:00
Emanuel Schütze 798af8c5ab
Merge pull request #4402 from emanuelschuetze/fixes-20190225
Fixes
2019-02-25 18:40:44 +01:00
Emanuel Schütze 4d62d99099 Fixes
- use always color black on projector, also in dark mode
- show border for projector preview
- Fix projector logo margin by using img instead of os-logo
- Use also 'username' in invitation email subject
2019-02-25 18:26:27 +01:00
Emanuel Schütze 5ad99e034b
Merge pull request #4401 from MaximilianKrambach/bodyText
show save feedback on more config fields
2019-02-25 17:52:00 +01:00
Maximilian Krambach 22d46f4774 show save feedback on more config fields 2019-02-25 17:32:58 +01:00
Emanuel Schütze eb78c694fc
Merge pull request #4396 from emanuelschuetze/isProjectable
Fixed error message that viewmodel is not projectable.
2019-02-25 15:47:06 +01:00
Emanuel Schütze f863670540
Merge pull request #4397 from tsiegleauq/refinement-fixes
Add small fixes
2019-02-25 15:40:18 +01:00
Emanuel Schütze ff82fceaa9 Fixed error message that viewmodel is not projectable. 2019-02-25 15:34:12 +01:00
Sean Engelhardt b9923201e4 Add small fixes
Fixes an error where the back arrow in the motion block detail was missing
Adds a prompt before deletion of Change Recommendation in motion details
Adds timestamp localisation for history mode
2019-02-25 14:19:57 +01:00
Emanuel Schütze 889aad48ed
Merge pull request #4395 from FinnStutzenstein/fixAgendaItemDeletion
Fixed deletion of agenda items.
2019-02-25 11:54:21 +01:00
FinnStutzenstein 70d7f49afe Fixed deletion of agenda items.
Introduced by #4352
2019-02-25 11:29:01 +01:00
Jochen Saalfeld 0f24ba1951
Merge pull request #4394 from jsaalfeld/fix_serverside_upload_limit
increasing default upload size
2019-02-25 09:43:11 +01:00
Jochen Saalfeld f546cd9e27
increasing default upload size 2019-02-25 09:28:32 +01:00
Emanuel Schütze eb2c866e5c
Merge pull request #4393 from emanuelschuetze/translations-20190224
Updated translations
2019-02-24 22:24:12 +01:00
Emanuel Schütze 9fb25c8d60 Updated translations 2019-02-24 22:08:28 +01:00
Emanuel Schütze 3073844039
Merge pull request #4392 from emanuelschuetze/ui-improvments
UI improvments
2019-02-24 21:40:56 +01:00
Emanuel Schütze a077ca85f5 UI improvments
- Use lanaguage files for tinymce.
- Fixed user import error.
- Improve colors for default/dark theme.
- Fixed missing translation.
2019-02-24 20:07:19 +01:00
Emanuel Schütze 15012f4a8b
Merge pull request #4390 from tsiegleauq/hotfix-sort-performance
Disable various expensive sorting functions
2019-02-23 14:24:44 +01:00
Sean Engelhardt 3785545a35 Disable various expensive sorting functions
Prevents the usage of: "sortViewUsersByConfig" of the userRepository
since it's an incredibe heavy operation for ~500 (real) users.

I would advice to sort the datastore rather than the lists
in the view to prevent unnecessary sorting overhead
2019-02-22 17:17:29 +01:00
Emanuel Schütze 3e2b201ee2
Merge pull request #4387 from GabrielInTheWorld/change-dark-theme
Changes the primary palette for dark theme
2019-02-22 17:02:02 +01:00
GabrielMeyer f989be36ad Changes the primary palette for dark theme
- Added a custom palette (`#c31c23`)
- Set the new primary palette for dark theme

Changes some styles depending on theme

- Removed hard-coded colors
- Set color depending on theme

Prettified
2019-02-22 16:27:42 +01:00
Emanuel Schütze ecf16d1400
Merge pull request #4388 from GabrielInTheWorld/correct-rendering-text
Adds sanitizer to render text correctly
2019-02-22 14:08:22 +01:00
GabrielMeyer efe8f3e862 Adds sanitizer to render text correctly
Sanitized the text, which is displayed, to show formatting like
centering, bold etc.

Sanitized the text for projectors
2019-02-22 12:12:08 +01:00
Emanuel Schütze 6d28374c9f
Merge pull request #4385 from GabrielInTheWorld/opening-tab-motion-list
Added anchor column
2019-02-22 12:10:48 +01:00
Finn Stutzenstein fc2963f00a
Merge pull request #4381 from FinnStutzenstein/closSlide
Current list of speaker slide
2019-02-22 11:33:45 +01:00
FinnStutzenstein 63f1802d7a (Current) list of speaker slide 2019-02-22 10:40:28 +01:00
Sean 497a3ec71d
Merge pull request #4386 from tsiegleauq/preload-modules
Preloads modules on site component
2019-02-22 10:19:56 +01:00
Sean Engelhardt 3329932d27 Preloads modules on site component
Adds module preloading on site modules.
2019-02-22 10:04:50 +01:00
GabrielMeyer 1694daaa9c Added anchor column
Added an anchor column, so the user can open a separate tab.

prettified

Changed name of variable

Resolves answer from pull-request

- Moved the style for the anchor columns to `styles.scss`
- Set the anchor column to the last place in the array
2019-02-22 09:29:10 +01:00
Emanuel Schütze 46e9c83423
Merge pull request #4257 from GabrielInTheWorld/4217
Adds notifications if multiple users want to edit the same motion
2019-02-21 23:09:24 +01:00
GabrielMeyer 80cb8051f6 Adds notifications if multiple users want to edit the same motion.
Fixes #4217 Adds notifications

- Created a class to define notification-objects, which should notify other persons editing the same motion.
- Added functions to send notifications, listen to them and unsubscribing them.
- Added a warning-function to the `base-view.ts`, which raises the snack bar with the given message and has no duration.

Fixes #4217

- Removed unnecessary lines of code.
- Fixed merge.

Prettified

- Added a random number to identify different user.
- Now the user can sign in as the same user, but still receive a message if multiple people edit the same motion.

Fix the detail of motions

- If the user does not click to edit, then the `editNotificationSubscription` was not set.
2019-02-21 22:37:49 +01:00
Emanuel Schütze 4c4a2c600b
Merge pull request #4384 from tsiegleauq/mediafiles-on-fly
Add mediafiles upload from motion form
2019-02-21 22:16:43 +01:00
Emanuel Schütze deb80ddf37
Merge pull request #4382 from FinnStutzenstein/agendaSlide
Agenda item list slide
2019-02-21 22:11:40 +01:00
FinnStutzenstein 3f58538afb Agenda item list slide 2019-02-21 21:56:40 +01:00
Sean Engelhardt 46a229bb67 Add mediafiles upload from motion form
Refactors the media file upload component into
a shared component to be used in both normal pages
and dialogs.
A dialog was addes into the media file "edit" view
to upload and set attachments on the fly.
2019-02-21 16:48:19 +01:00
Emanuel Schütze c0cd3bc252
Merge pull request #4380 from FinnStutzenstein/motionBlockSlide
Motion block slide
2019-02-21 15:23:42 +01:00
Emanuel Schütze 80a061db38 Motion block slide template 2019-02-21 15:06:14 +01:00
FinnStutzenstein 2abe71313c Motion block slide 2019-02-21 14:01:02 +01:00
Emanuel Schütze 650054dfc9
Merge pull request #4373 from normanjaeckel/HistoryPermission
Added new permission to see the history.
2019-02-21 13:07:07 +01:00
Emanuel Schütze e97c308747
Merge pull request #4352 from FinnStutzenstein/losSlide
List of speakers slide
2019-02-21 13:00:02 +01:00
Emanuel Schütze c799c3bb6b List of speakers template 2019-02-21 12:34:45 +01:00
FinnStutzenstein 7ef36e93c6 List of speakers slide 2019-02-21 12:34:41 +01:00
Sean Engelhardt a86af342eb Add history permission into client
Requires the permission "core.can_see_history" to see the history in the navigation.
Disables navigating in the timeline and clearing the history for everyone than than the super admin
2019-02-21 11:48:03 +01:00
Norman Jäckel d06a4a5c6d Added new permission to see the history. 2019-02-21 11:45:40 +01:00
Emanuel Schütze f4f8b8422f
Merge pull request #4376 from tsiegleauq/pdf-list-fixes
Adds extra cases for PDF CR lists
2019-02-21 09:54:29 +01:00
Emanuel Schütze 5a5b82316a
Merge pull request #4378 from tsiegleauq/pdf-footer-fix
Fix PDF-Footer logos
2019-02-21 09:18:59 +01:00
Emanuel Schütze 3bcb3de249
Merge pull request #4375 from tsiegleauq/pdf-motion-tag
Add tags to motion pdf
2019-02-21 09:12:29 +01:00
Emanuel Schütze 68667f904f
Merge pull request #4379 from tsiegleauq/translate-user-number
Add "No." as translateable
2019-02-21 08:56:41 +01:00
Sean Engelhardt 53ea73ccde Add "No." as translateable
To display user numbers, No. is now translateable
2019-02-20 16:17:05 +01:00
Jochen Saalfeld 0975de7432
Merge pull request #4377 from tsiegleauq/angular725
Update to angular 7.2.5
2019-02-20 15:25:46 +01:00
Sean Engelhardt da3e8dc355 Fix PDF-Footer logos
Adds a routine to extract the pdf footer images
before the footer was generated
2019-02-20 15:02:30 +01:00
Sean Engelhardt 8f83fc1bd5 Update to angular 7.2.5
Adds new update to angular 7.2.5 including fresh npm packages.
vulnerabilities currently concern PDF and dev-packages only
2019-02-20 13:13:34 +01:00
Sean Engelhardt 7f86f3af64 Adds extra cases for PDF CR lists
Adds a new function to detect "Fake lists", in PDF documents
and treats them accordingly.
Enhances the Layout of PDFs with CR-Mode UL/OL lists.
2019-02-20 11:43:22 +01:00
Sean Engelhardt f2a4be702a Add tags to motion pdf
Adds tags to motion pdf. Adjusts the export dialog to also support selecting and deselecting
tags. Increases the target with of the export dialog to 1100px so the tags also fit there.
Not too pretty, yet effective
2019-02-20 10:11:26 +01:00
Emanuel Schütze 6eea064862
Merge pull request #4374 from normanjaeckel/DeleteLogoFile
Reset logo configs when logo is deleted.
2019-02-19 22:01:45 +01:00
Emanuel Schütze 659b91326c
Merge pull request #4372 from emanuelschuetze/translations-20190219
Updated translations
2019-02-19 21:46:30 +01:00
Norman Jäckel 4b6ce77d36 Reset logo configs if logo is deleted. 2019-02-19 21:45:41 +01:00
Emanuel Schütze 29ba4a61e6 Updated translations 2019-02-19 21:32:24 +01:00
Emanuel Schütze c1a818a368
Merge pull request #4370 from normanjaeckel/FixAgendaHidden
Fixed permission check for hidden and internal items.
2019-02-19 19:55:33 +01:00
Emanuel Schütze 26b1c6b74d
Merge pull request #4371 from tsiegleauq/os3-pdf-h-padding
Add margin to H-tags in PDF
2019-02-19 17:40:04 +01:00
Emanuel Schütze 8ab66418ac
Merge pull request #4369 from normanjaeckel/HistoryForMotionChangeRecommendations
Added history information for motion change recommendations.
2019-02-19 17:26:31 +01:00
Sean Engelhardt ee3fb7d7ef Add margin to H-tags in PDF
Margins to H tags and some motion HTML-PDF refinement
2019-02-19 17:02:40 +01:00
Norman Jäckel 6585c072ae Fixed permission check for hidden and internal items. 2019-02-19 14:04:49 +01:00
Norman Jäckel 085d2f58cb Added history information for motion change recommendations. 2019-02-19 13:41:31 +01:00
Emanuel Schütze 667fe61e94
Merge pull request #4368 from MaximilianKrambach/minorStuff
minor improvements
2019-02-19 13:22:48 +01:00
Maximilian Krambach 4c8da7b04d minor improvements
- add a 'lock' symbol to hidden files
- default disable (and rename) hidden filter status
- limit display of workflow states for restricted users
- remove supporter sorting
- mark other strings for translation
- fix new workflow id for statute amendments
- remove csv file type check (on Windows file type is always empty)
2019-02-19 13:05:51 +01:00
Emanuel Schütze f09a39a3c3
Merge pull request #4366 from emanuelschuetze/fixes
several fixes and improvements
2019-02-18 17:25:54 +01:00
Emanuel Schütze c9c4566c08 several fixes and improvements
- Add projector logo/headerimage
- Fixed opening multiselect action menu for users.
- Used defined toolbar color for multiselect mode.
- (server) Added check for 'request.data._mutable = True' to edit user
  profile as normal user.
2019-02-18 16:40:46 +01:00
Emanuel Schütze 6c8fbcfc07
Merge pull request #4365 from MaximilianKrambach/hideUserList
user detail page display permission update
2019-02-18 15:58:40 +01:00
Emanuel Schütze 399a941ebf
Merge pull request #4364 from tsiegleauq/listview-ontrack
Force DataSource to refresh
2019-02-18 15:47:06 +01:00
Maximilian Krambach 567a53db03 user detail page display permission update 2019-02-18 15:38:29 +01:00
Sean Engelhardt 57be0a5bea Force DataSource to refresh
Fixed a bug where data in MatTableDataStore was not updating.
Also:
Cleaned redundant list view sorting and filtering functions
2019-02-18 14:23:33 +01:00
Jochen Saalfeld 6c65fa0665
Merge pull request #4362 from jsaalfeld/fix_dockerfile
switch to proper npm run build for client
2019-02-18 11:10:06 +01:00
Jochen Saalfeld 374704e9d6
switch to proper npm run build for client 2019-02-18 10:37:12 +01:00
Emanuel Schütze cc45525678
Merge pull request #4355 from MaximilianKrambach/amendmentbuttons
placement of paragraph amendment buttons (fixes #4345)
2019-02-18 09:45:48 +01:00
Emanuel Schütze 1920eb18c7
Merge pull request #4361 from CatoTH/OS3-Diff-Bugfix-With-Newlines
Diff-Bugfix: Newlines and split paragraphs
2019-02-18 09:40:04 +01:00
Emanuel Schütze 69539cacbc
Merge pull request #4246 from CatoTH/OS3-Slides-LineNumbering-Diff
Initial support for line numbering and CR in Projector
2019-02-18 09:19:16 +01:00
Maximilian Krambach 24139048c6 placement of paragraph amendment buttons (fixes #4345) 2019-02-18 09:07:40 +01:00
Tobias Hößl 0e6bdf9fbc
Diff-Bugfix: Newlines and split paragraphs 2019-02-17 20:28:19 +01:00
Emanuel Schütze 29b8a8b2ac
Merge pull request #4273 from MaximilianKrambach/ie11
IE 11 / Edge compatibility
2019-02-15 23:14:32 +01:00
Maximilian Krambach 2ba9aca7ac Activate polyfills for supporting IE11 and Edge 2019-02-15 22:26:54 +01:00
Tobias Hößl 7b2e116f51 Change reco default value, Slide test cases 2019-02-15 15:15:58 +01:00
FinnStutzenstein 35cd49e4fe read crmode from the projector element 2019-02-15 14:56:41 +01:00
Tobias Hößl 453fedbc3e Initial support for line numbering and change recommendations in Projector
Read projector settings from the config
Preamble, styling fixes
Styling fixes
Show amendments inside of the motion view
Amendment view
Projector and statute paragraphs
Bugfix: Imports
2019-02-15 14:56:40 +01:00
Emanuel Schütze a3f9d46a6d
Merge pull request #4349 from FinnStutzenstein/mediafileSlide
Basic mediafile slide
2019-02-15 14:55:55 +01:00
Emanuel Schütze 43c11168ac
Merge pull request #4354 from CatoTH/OS3-LineNumbering-Range-Bugfix
Bugfix: wrong line numbers in change recommendation dialog
2019-02-15 14:46:30 +01:00
FinnStutzenstein d1508161d2 Basic mediafile slide 2019-02-15 14:41:56 +01:00
Emanuel Schütze 2b471bac2b
Merge pull request #4350 from MaximilianKrambach/minorTodos
fix baseFilter for comments
2019-02-15 14:15:18 +01:00
Emanuel Schütze bdcaff2cce
Merge pull request #4353 from tsiegleauq/pdf-amendments
Add PDF for paragraph based amendments
2019-02-15 14:12:50 +01:00
Tobias Hößl e9e8abeb0e
Bugfix: wrong line numbers in change recommendation dialog 2019-02-15 14:02:48 +01:00
Sean Engelhardt d22ec6f34d Add PDF for paragraph based amendments
Also add some more pdf fixes
2019-02-15 13:42:01 +01:00
Maximilian Krambach af0e85a956 fix baseFilter for comments 2019-02-15 13:06:09 +01:00
Maximilian Krambach edd22eeef6
Merge pull request #4348 from MaximilianKrambach/fixStatute
fix statute paragraph creation for delegates
2019-02-15 12:38:47 +01:00
Finn Stutzenstein 9e794c4669
Merge pull request #4344 from FinnStutzenstein/countdowns
Countdown slide and controls
2019-02-15 12:37:23 +01:00
FinnStutzenstein 2801e28704 Countdown slide and controls 2019-02-15 12:21:23 +01:00
Maximilian Krambach 3262dd0da8 fix statute paragraph creation for delegates 2019-02-15 12:11:54 +01:00
Emanuel Schütze a5eee7c99c
Merge pull request #4347 from emanuelschuetze/translations-20190214
Update translations
2019-02-14 22:35:31 +01:00
Emanuel Schütze ff407468f0 Update translations 2019-02-14 22:17:52 +01:00
Emanuel Schütze 4025e27e4a
Merge pull request #4346 from emanuelschuetze/ui-improvements
UI improvements for motion detail/list view
2019-02-14 21:57:06 +01:00
Emanuel Schütze 2499ee9058 UI improvements for motion detail/list view 2019-02-14 21:41:15 +01:00
Emanuel Schütze 4c6f907b8c
Merge pull request #4304 from MaximilianKrambach/pdfExportComments
export motion comments (pdf) and sequential numbers (pdf, csv)
2019-02-14 20:13:55 +01:00
Emanuel Schütze 2e385228b6
Merge pull request #4333 from MaximilianKrambach/amendmentFix2
Create amendment fix
2019-02-14 20:03:12 +01:00
Maximilian Krambach 6b58541079 pdf export options
- export comments as own pdf
- export comments as  part of an advanced motion pdf export,
- change sequential number export options for pdf and csv
2019-02-14 18:22:25 +01:00
Maximilian Krambach 3e598aec7e create motion amendment with fulltext or metainfo only 2019-02-14 17:10:50 +01:00
Emanuel Schütze 500b080b1c
Merge pull request #4331 from tsiegleauq/pdf-ul-ol
PDF UL OL with line numbers
2019-02-14 16:14:39 +01:00
Emanuel Schütze 9459e9d6e9
Merge pull request #4342 from MaximilianKrambach/quickfilters
agenda and motion list filters
2019-02-14 15:53:39 +01:00
Sean Engelhardt 5069371f5e PDF UL OL with line numbers
Add UL LI PDF line numbers
2019-02-14 15:29:00 +01:00
Emanuel Schütze 2df284c82e
Merge pull request #4343 from FinnStutzenstein/fixSubmitterIds
Fixed submitter ids name clash
2019-02-14 15:27:23 +01:00
Maximilian Krambach ca2a6b33b2 angenda and motion list filters 2019-02-14 15:15:52 +01:00
Emanuel Schütze aaa9157873
Merge pull request #4316 from tsiegleauq/remove-ngsubmit
Remove redundant submits
2019-02-14 15:06:28 +01:00
Sean Engelhardt 6a78d65dc3 Remove redundant Submits
Remove concurrent ngSubmit
Some cleanup and code alignment
2019-02-14 14:17:17 +01:00
Emanuel Schütze f09b6f73d6
Merge pull request #4341 from FinnStutzenstein/cleanup2
Fixed error when leaving the settings too early
2019-02-14 14:13:08 +01:00
FinnStutzenstein f0e6afb533 Fixed submitter ids name clash 2019-02-14 13:45:52 +01:00
Emanuel Schütze 34feac553b
Merge pull request #4338 from FinnStutzenstein/projector-message-slide
ProjectorMessageSlide and some renaming
2019-02-14 13:41:02 +01:00
Sean 530d522cec
Merge pull request #4325 from GabrielInTheWorld/feature-user-info-dialog
Feature for quick editing a user
2019-02-14 13:36:58 +01:00
FinnStutzenstein 8904472d23 Fixed error when leaving the settings too early 2019-02-14 13:30:21 +01:00
Emanuel Schütze 67fd5ee2c2
Merge pull request #4340 from FinnStutzenstein/fixMotionCommentSectionList
Fix comment section list
2019-02-14 13:29:05 +01:00
Emanuel Schütze 24d239acd9
Merge pull request #4337 from MaximilianKrambach/autofocusproject
autofocus 'OK' on 'project' dialogs
2019-02-14 13:19:26 +01:00
FinnStutzenstein 4c2adb6da3 ProjectorMessageSlide and some renaming 2019-02-14 13:19:05 +01:00
GabrielMeyer dfc41fc3a2 Feature for quick editing a user
Like in the `agenda-list.component`, if the user clicks on the middle cell, where the groups are written, a dialog opens.
In this dialog the user can update the following values for another user: groups, gender and participant-number.
2019-02-14 13:13:57 +01:00
FinnStutzenstein 05d9f6a3bb Fix comment section list 2019-02-14 13:07:04 +01:00
Maximilian Krambach 69d5d244cb autofocus 'OK' on project dialogs 2019-02-14 11:55:40 +01:00
Emanuel Schütze 98dc105f46
Merge pull request #4335 from MaximilianKrambach/speakerDropDownSort
user sorting by config
2019-02-14 11:12:48 +01:00
Maximilian Krambach 59ed906a36 user sorting by config 2019-02-14 10:53:13 +01:00
Emanuel Schütze 3172f0a532
Merge pull request #4336 from FinnStutzenstein/cleanup
Fixes submitters
2019-02-14 10:49:42 +01:00
FinnStutzenstein d932d6e907 Fixes submitters 2019-02-14 10:24:39 +01:00
Finn Stutzenstein 9785f67562
Merge pull request #4334 from emanuelschuetze/slides
Topic slide
2019-02-14 10:10:53 +01:00
Emanuel Schütze c77075f807 Topic slide 2019-02-14 08:14:50 +01:00
Emanuel Schütze c5912f8515
Merge pull request #4322 from MaximilianKrambach/motionDelegates
direct pdf export and hidden menus for unprivileged users
2019-02-13 15:37:07 +01:00
Maximilian Krambach c3c915e118 direct pdf export and hidden unusable options for delegates
also, several permission check fixes and minor layout improvements
2019-02-13 13:43:45 +01:00
Emanuel Schütze 34585fc4cb
Merge pull request #4324 from MaximilianKrambach/callListLandscape
call list subheaders
2019-02-13 13:39:19 +01:00
Emanuel Schütze adc4cc0ee9
Merge pull request #4330 from emanuelschuetze/fixUpdateUser
fix submitter updating (2)
2019-02-13 13:23:07 +01:00
Maximilian Krambach 55f967a14b call list subheaders 2019-02-13 13:18:57 +01:00
Emanuel Schütze fda5e08f9a fix submitter updating (2) 2019-02-13 12:59:25 +01:00
Emanuel Schütze 7952a9165d
Merge pull request #4329 from MaximilianKrambach/fixSubmitters
fix submitter updating
2019-02-13 12:37:06 +01:00
Maximilian Krambach 3a7e6da442 fix submitter updating 2019-02-13 11:49:37 +01:00
Emanuel Schütze 4f75639780
Merge pull request #4263 from MaximilianKrambach/categoryView
rework category list and sorting
2019-02-12 21:57:09 +01:00
Emanuel Schütze a410930245
Merge pull request #4301 from MaximilianKrambach/moveStar
move favorite star to identifier
2019-02-12 21:27:26 +01:00
Emanuel Schütze 397ec0d579
Merge pull request #4323 from MaximilianKrambach/fixUpdates
fix wrong array handling
2019-02-12 21:26:17 +01:00
Maximilian Krambach 7725005770 move favorite star in front of title 2019-02-12 21:06:10 +01:00
Emanuel Schütze 2364e5a17a
Merge pull request #4318 from GabrielInTheWorld/3921
Adds a new IconFont-set
2019-02-12 19:40:30 +01:00
Maximilian Krambach 924ec7580e fix wrong array handling in viewMotion updates 2019-02-12 18:17:08 +01:00
GabrielMeyer 63989b2b29 Adds a new IconFont-set
Fixes #3921
Added a new set of icons and removed the old one. The new one can used just like the old one.

Changed old improper icons to new ones

- The 'save_alt'-icons are replaced by 'cloud_upload'
- The icon in the navigation for assignments is replaced by 'how_to_vote'
- The drag&drop icon 'unfold_more' is replaced by 'drag_indicator'
2019-02-12 17:39:06 +01:00
Emanuel Schütze 39c7a51218
Merge pull request #4321 from tsiegleauq/font-mimetype-hotfix
Adds "application" to font mime types
2019-02-12 17:33:15 +01:00
Emanuel Schütze 89a1b722e0
Merge pull request #4320 from MaximilianKrambach/mediafileFilter
full text search for media file, some permission checks
2019-02-12 17:32:39 +01:00
Emanuel Schütze 724ba74fee
Merge pull request #4319 from MaximilianKrambach/callListLandscape
print callLists on landscape paper
2019-02-12 17:27:05 +01:00
Sean Engelhardt 3909054f14 Adds "application" to font mime types
Adds 'application/font-woff', 'application/font-sfnt' to font detection.
Hotfix to support different server behavior.
2019-02-12 16:04:03 +01:00
Maximilian Krambach 9160346ccc full text search for media file, some permission checks 2019-02-12 15:32:59 +01:00
Maximilian Krambach 8c0b055d98 print callLists on landscape paper 2019-02-12 13:52:44 +01:00
Sean f3452d8904
Merge pull request #4317 from MaximilianKrambach/fixcat
fix category filter
2019-02-12 13:28:11 +01:00
Maximilian Krambach e61c200b74 fix category filter 2019-02-12 13:05:06 +01:00
Emanuel Schütze 96a63ecd77
Merge pull request #4314 from FinnStutzenstein/implementMissingUpdateInViewUser
Implement missing update behaviour for users
2019-02-12 11:58:07 +01:00
FinnStutzenstein 99d751dbaf Implement missing update behaviour for users 2019-02-12 11:46:52 +01:00
Emanuel Schütze 2e80cc34a0
Merge pull request #4306 from tsiegleauq/show-state-extension-of-null
Fix some production mode issues
2019-02-12 11:16:38 +01:00
Emanuel Schütze f7966df3ea
Merge pull request #4313 from FinnStutzenstein/fixCalllist
Fixed calllist by removing the attached data from the tree (fixes #4296)
2019-02-12 11:15:35 +01:00
Sean Engelhardt 7897d823db Fix some production mode issues
Fixes some issues that occure in production mode only.
Also fixes a typo that prevented permission checks from
working
2019-02-12 11:04:32 +01:00
Jochen Saalfeld a80aa82326
Merge pull request #4310 from FinnStutzenstein/splitMotionStateMigration
Separate motion state access level migration
2019-02-12 10:40:14 +01:00
FinnStutzenstein 17ce91f309 Fixed calllist by removing the attached data from the tree (fixes #4296) 2019-02-12 10:39:29 +01:00
Emanuel Schütze de19ae9a9d
Merge pull request #4308 from FinnStutzenstein/fixProductionBuild
Fix issues with minification
2019-02-12 10:35:12 +01:00
Maximilian Krambach 66f9c81564 rework category list and sorting 2019-02-12 10:15:22 +01:00
FinnStutzenstein 06147affe5 Separate motion state access level migration 2019-02-12 10:10:40 +01:00
FinnStutzenstein cc4d5a5739 Fix issues with minification 2019-02-12 09:28:54 +01:00
Emanuel Schütze 841d80a35b
Merge pull request #4297 from emanuelschuetze/translations
Updated translations
2019-02-11 21:59:41 +01:00
Emanuel Schütze 279d1323fa Updated translations 2019-02-11 21:39:14 +01:00
Emanuel Schütze 9c68155d9c
Merge pull request #4302 from tsiegleauq/delete-items-from-agenda
Delete agenda items over list
2019-02-11 18:24:10 +01:00
Emanuel Schütze 610ece2bb5
Merge pull request #4305 from FinnStutzenstein/fixUserDetailView
fix user detail view (fixes #4303)
2019-02-11 18:10:51 +01:00
FinnStutzenstein d866b86df1 fix user detail view (fixes #4303) 2019-02-11 17:44:28 +01:00
Emanuel Schütze 12ca09e97e
Merge pull request #4300 from tsiegleauq/pdf-line-number-fixes
Add line-numbering fix
2019-02-11 17:42:44 +01:00
Sean Engelhardt 5e5fc4a499 Delete agenda items over list
Implements the deletion logic for agenda items from the agenda list view
2019-02-11 16:52:41 +01:00
Sean 4d9adc291c
Merge pull request #4295 from MaximilianKrambach/userSearchFix
search users in list search by full name
2019-02-11 16:18:15 +01:00
Sean Engelhardt 4ce8f2b38f Add line-numbering fix
Also enabled li-elements to be rendered in LineNumbering Mode
2019-02-11 15:45:23 +01:00
Maximilian Krambach 7dd086eacf
Merge pull request #4253 from MaximilianKrambach/sortMotionCallList
bulk move motions in call list
2019-02-11 13:51:44 +01:00
Maximilian Krambach e1916534e0 bulk move motions in call list 2019-02-11 13:42:08 +01:00
Sean cda5e066de
Merge pull request #4291 from CatoTH/pdf-split-inline-elements-at-line-break
Provide a method to split inline elements at line breaks
2019-02-11 13:05:09 +01:00
Sean fbcc80a3a0
Merge pull request #4286 from FinnStutzenstein/cleanup
Removed OpenSlidesComponent
2019-02-11 12:10:21 +01:00
Sean 8a6407068c
Merge pull request #4285 from FinnStutzenstein/translateModelsA
translate models
2019-02-11 12:08:21 +01:00
Maximilian Krambach 49aea04b9b search users in list search by full name 2019-02-11 11:13:50 +01:00
Emanuel Schütze 79aaa949ae
Merge pull request #4290 from CatoTH/diff-bugfix-rsquo
Bugfix: Don't detect &rsquo;-characters as changes
2019-02-11 07:46:45 +01:00
Emanuel Schütze 050573b53c
Merge pull request #4294 from FinnStutzenstein/fixOperatorService
fixed the operatorservice
2019-02-10 21:10:30 +01:00
FinnStutzenstein 89995e01db fixed the operatorservice
Do not use the injector, because only in the operator needed members from the user repository were tree-shaked away by the --aot production build. Import it right away (not nice, but prevents tree shaking)
2019-02-10 20:18:36 +01:00
Emanuel Schütze b5294cc5fd
Merge pull request #4289 from FinnStutzenstein/resetPassword
Rework the reset password component (fixes #4079)
2019-02-10 11:54:52 +01:00
Emanuel Schütze 3e7d23a283
Merge pull request #4287 from CatoTH/Openslides3-Bugfix-LineNumbering-Switching
Bugfix: pass line numbering mode to motion-detail-diff
2019-02-10 11:49:21 +01:00
Emanuel Schütze 3d2993e864
Merge pull request #4292 from ostcar/fix_projector_error_representation
Fix projector error message
2019-02-10 11:40:40 +01:00
FinnStutzenstein 6a33b68a41 Rework the reset password component (fixes #4079) 2019-02-10 11:36:01 +01:00
Oskar Hahn 7e25a858d4 Fix projector error message 2019-02-10 10:50:18 +01:00
Tobias Hößl ed62c172fb
Provide a method to split inline elements at line breaks 2019-02-09 19:33:12 +01:00
Tobias Hößl 4cbb6e44f7
Bugfix: Don't detect &rsquo;-characters as changes 2019-02-09 18:24:52 +01:00
FinnStutzenstein 090bf49d97 Removed OpenSlidesComponent 2019-02-08 18:31:46 +01:00
Tobias Hößl 3a0f02c929
Bugfix: pass line numbering mode to motion-detail-diff 2019-02-08 17:46:36 +01:00
FinnStutzenstein 424e7945be translate models 2019-02-08 17:28:23 +01:00
Sean 76210e807f
Merge pull request #4275 from MaximilianKrambach/sortLists
sort categories (+ motions) in dropdowns etc.
2019-02-08 15:24:02 +01:00
Emanuel Schütze 61d603f66a
Merge pull request #4283 from tsiegleauq/select-motions-from-extension
Add search selector for state extensions
2019-02-08 14:53:11 +01:00
Sean 86ee11f9c7
Merge pull request #4284 from MaximilianKrambach/noEnd
fix display of end time
2019-02-08 14:51:44 +01:00
Maximilian Krambach c487d688f6 sort categories in dropdowns 2019-02-08 14:37:58 +01:00
Sean 524d6d82a6
Merge pull request #4276 from MaximilianKrambach/csvExportImport
fixing csv export/import, add option for iso 8895-15
2019-02-08 14:37:23 +01:00
Sean Engelhardt ce96c6d359 Add search selector for state extensions 2019-02-08 14:36:24 +01:00
Maximilian Krambach 382cf4ef96 fix display of end time 2019-02-08 14:33:55 +01:00
Maximilian Krambach ab557486cb
Merge pull request #4274 from MaximilianKrambach/smallchanges
various small fixes
2019-02-08 13:17:53 +01:00
Maximilian Krambach 799d11cd17 small fixes
- motion detail comments not always visible
- fix tag/recommendation multiselect
- fix display of prefixed categories in filter/dialogs
- confirm dialog on email invitation
- attempt at fixing history filter
2019-02-08 12:54:11 +01:00
Maximilian Krambach ee88dff41f Fixing csv export/import, add new config option for csv export encoding (utf-8 || iso-8895-15) 2019-02-08 12:37:02 +01:00
Sean 268403cc92
Merge pull request #4279 from FinnStutzenstein/previousState
Allow motions to go a state back
2019-02-08 12:23:08 +01:00
FinnStutzenstein 3ba8636acf Allow motions to go a state back 2019-02-08 11:58:11 +01:00
Sean c2bde1197e
Merge pull request #4281 from tsiegleauq/motion-csv-with-state-info
Enable CSV export for state and reason
2019-02-08 11:57:53 +01:00
Sean 392cb7fdaf
Merge pull request #4240 from FinnStutzenstein/viewModelStore
first work on moving some logic to view models
2019-02-08 11:52:39 +01:00
Sean Engelhardt 70af5e2054 Enable CSV export for state and reason
Adds and reorders what CSV is exporting using the
Export dialog
2019-02-08 11:31:11 +01:00
FinnStutzenstein d0991936d6 ViewModelStore, register repositories, improve view model relations 2019-02-08 11:02:56 +01:00
Emanuel Schütze 1188a94e85
Merge pull request #4277 from tsiegleauq/pdf-for-motion-statutes
Export statute amendments with diff
2019-02-08 11:01:19 +01:00
Emanuel Schütze fa8cc366e8
Merge pull request #4280 from tsiegleauq/prompt-in-workflow-detail
Add prompt before deleting workflow states
2019-02-08 10:39:25 +01:00
Sean Engelhardt 4023ac82df Export statute amendments with diff
Exports motion statutes amendments with changes to PDF documents.
Fixes a small issue where navigating to statues amendments was throwing
errors
2019-02-08 10:39:06 +01:00
Sean Engelhardt 2220c22b24 Add prompt before deleting workflow states
Worked with promise.then, cause callbacks of
subscribe are sync
Also removes a console.log
2019-02-08 10:26:05 +01:00
Finn Stutzenstein c14b56b73e
Merge pull request #4278 from FinnStutzenstein/fixMobileEditing
removed old and not working code
2019-02-08 08:09:40 +01:00
FinnStutzenstein 2c7338a2bf removed old and not working code 2019-02-08 07:57:00 +01:00
Finn Stutzenstein 812168b00c
Merge pull request #4270 from GabrielInTheWorld/4116
Prevent dialogs to close easily
2019-02-08 07:19:28 +01:00
GabrielMeyer 2ef35d0b50 Prevent dialogs to close easily (Fixes #4116)
dialogs (created by MatDialog) should only close if the user explicit clicks 'x' or 'cancel' now
2019-02-07 16:58:43 +01:00
Sean 9664e52237
Merge pull request #4260 from tsiegleauq/workflow-creator
Add motion workflow creator
2019-02-07 16:52:48 +01:00
Sean Engelhardt b82c2e78b0 Add motion workflow creator (WIP) 2019-02-07 16:36:33 +01:00
Maximilian Krambach 186a0b5da3
Merge pull request #4267 from MaximilianKrambach/motionPollResultsPDF
export poll results in motion pdfs
2019-02-07 15:52:12 +01:00
Maximilian Krambach 498de862c1 export poll results in motion pdfs 2019-02-07 15:27:12 +01:00
Maximilian Krambach 5932a8982e
Merge pull request #4269 from MaximilianKrambach/notesExport
export personal note pdf
2019-02-07 15:10:09 +01:00
Maximilian Krambach dc27a20842 export personal note pdf 2019-02-07 14:49:19 +01:00
Sean 5ace768427
Merge pull request #4268 from GabrielInTheWorld/4262
Fixes the initial loading of motions and their states
2019-02-07 13:57:02 +01:00
Emanuel Schütze 7956d9f7a2
Merge pull request #4271 from MaximilianKrambach/4065
fix #4065
2019-02-07 13:08:33 +01:00
Jochen Saalfeld 70af698528
Merge pull request #4272 from FinnStutzenstein/motionVersionMigration
seperate motion version migration operations
2019-02-07 11:19:34 +01:00
FinnStutzenstein 35056f5ccc seperate motion version migration operations 2019-02-07 09:28:12 +01:00
Emanuel Schütze c84f8196fc
Merge pull request #4252 from MaximilianKrambach/speakertime
improve start time and duration display for finished speakers
2019-02-06 17:52:19 +01:00
Maximilian Krambach 056a20964c improve start time and duration display for finished speakers 2019-02-06 17:01:15 +01:00
Maximilian Krambach 2fbd11dc00 fix #4065 2019-02-06 16:53:26 +01:00
GabrielMeyer da94a4f947 Fixes the initial loading of motions and their states
Fixes #4262
- If the workflow is changed, then the state of the motion will be updated, too
2019-02-06 12:12:32 +01:00
Sean eab6e9bfd0
Merge pull request #4259 from GabrielInTheWorld/4258
Prevent mistakenly closing the window
2019-02-06 10:39:42 +01:00
Emanuel Schütze 83d9dbed9e
Merge pull request #4265 from emanuelschuetze/login
Fixed login problem for non admin users.
2019-02-05 21:26:21 +01:00
Emanuel Schütze 722a40779d Fixed login problem for non admin users. 2019-02-05 21:03:13 +01:00
Emanuel Schütze 7e95899353
Merge pull request #4261 from tsiegleauq/fix-empty-pdf-style
Fix PDF style interpretation
2019-02-05 16:11:03 +01:00
Sean Engelhardt b200169de9 Fix pdf style interpretation
fix false style information during recursife pdf generateion
fix an error where styling items in a list resultid in unexpected
list definitions
2019-02-05 15:15:12 +01:00
Emanuel Schütze 4395b86b9c
Merge pull request #4216 from MaximilianKrambach/duration
Estimated duration, and datetimepicker in config
2019-02-05 14:49:58 +01:00
Emanuel Schütze 2ef3b6929f
Merge pull request #4255 from MaximilianKrambach/motionNavigation
sort 'previous/next motion' by identifier in detail view
2019-02-05 14:48:17 +01:00
GabrielMeyer 21f9715623 Fixes #4258
- Added a listener to the `onBeforeUnload`-event.
- This prevent reloading or closing the window including `F5, Shift+F5, Ctrl+R, Ctrl+Shift+R, Crtl+W, closing the tab by 'x'`

Added comment to the event-function.
2019-02-05 14:41:48 +01:00
Maximilian Krambach 66a1ac1532 estimated duration, and datetimepicker in config 2019-02-05 13:49:48 +01:00
Maximilian Krambach 0a06d05bdd sort 'previous/next motion' by identifier in detail view 2019-02-05 13:48:27 +01:00
Sean a52db89288
Merge pull request #4256 from emanuelschuetze/workflowid
Fixed bug in getting workflow_id from config service.
2019-02-05 13:17:36 +01:00
Emanuel Schütze 3884accffe Fixed bug in getting workflow_id from config service. 2019-02-05 12:07:34 +01:00
Jochen Saalfeld 90e6af9ef0
Merge pull request #4250 from jsaalfeld/pin_typescript_version
pinning typescript to <3.3 - fixes #4249
2019-02-05 08:37:35 +01:00
Jochen Saalfeld 114c8bfa3c
Merge pull request #4184 from ostcar/fix_gunicorn
Opens the websocket connection before closing it
2019-02-05 08:34:52 +01:00
Jochen Saalfeld a64d436884
Merge pull request #4254 from ostcar/fix_partial_cache
Make sure the cache is ensured before manipulating it
2019-02-05 08:08:19 +01:00
Oskar Hahn fae270a1d6 Make sure the cache is ensured before manipulating it 2019-02-04 17:41:18 +01:00
Emanuel Schütze a6043ba8d5
Merge pull request #4251 from tsiegleauq/login-redirect-issues
Allow reload on login children
2019-02-04 15:30:52 +01:00
Sean Engelhardt 06bfa314cb Allow reload on login children
Fixes a bug where the user was always redirected to
/login/ as unknown user, when they tried to
load children from login page from an external references.
2019-02-04 15:17:03 +01:00
Sean 48b79ae24d
Merge pull request #4159 from CatoTH/Openslides3-Line-Highlighting
Line highlighting
2019-02-04 14:37:41 +01:00
Tobias Hößl 1bc17f2c6c Line highlighting 2019-02-04 13:17:24 +01:00
Jochen Saalfeld f5ac1822bf
pinning typescript to <3.3 - fixes #4249 2019-02-04 11:55:58 +01:00
Emanuel Schütze 27ecb6f411
Merge pull request #4247 from emanuelschuetze/translation
Updated translations
2019-02-03 22:42:09 +01:00
Emanuel Schütze a4fcc43121 Hotfix: Downgrade terser to 3.14.1
see https://github.com/webpack-contrib/terser-webpack-plugin/issues/66
2019-02-03 22:26:47 +01:00
Emanuel Schütze ac96ba8d3a Updated translations 2019-02-03 22:12:26 +01:00
Finn Stutzenstein fa63110889
Merge pull request #4150 from FinnStutzenstein/count-users
count users via notify
2019-02-02 10:45:52 +01:00
FinnStutzenstein 7ce1eb592f Count active users via notify (for admins only), absolute imports 2019-02-02 08:17:36 +01:00
Emanuel Schütze 768b97816f
Merge pull request #4211 from tsiegleauq/current-list-of-speakers
Add current list of speakers to agenda-list
2019-02-01 18:30:45 +01:00
Sean Engelhardt 0a7f905c21 Add current list of speakers to agenda-list
Adds a current-list-of-speakers button to the agenda list view
The user may select a projector which will return an agenda item
which will be used to determine the CLOS
2019-02-01 18:11:10 +01:00
Emanuel Schütze f26f7f9c08
Merge pull request #4244 from MaximilianKrambach/callListPdf
call list pdf export
2019-02-01 18:04:48 +01:00
Emanuel Schütze 07a37cc243
Merge pull request #4236 from normanjaeckel/SetStateAllowSubmitterEdit
Allow set state for submitters in some states.
2019-02-01 17:56:31 +01:00
Maximilian Krambach 181d00ea94 call list pdf export 2019-02-01 17:48:29 +01:00
Emanuel Schütze d4cc3c3720 Allow to set state as submitter in client. 2019-02-01 16:30:50 +01:00
Norman Jäckel 286c81e007 Allow set state for submitters in some states. 2019-02-01 16:10:51 +01:00
Emanuel Schütze 448ea6df28
Merge pull request #4235 from normanjaeckel/SubmitterPermissions
Added new flag for states to hide motions from submitters.
2019-02-01 16:08:51 +01:00
Norman Jäckel c355326466 Added new flag to motion state to control access for different users. 2019-02-01 15:42:02 +01:00
Sean e281b310a7
Merge pull request #4238 from MaximilianKrambach/historyNavigate
navigate to detail view after setting the history mode
2019-02-01 15:17:16 +01:00
Emanuel Schütze 7b840ca796
Merge pull request #4242 from tsiegleauq/motion-detail-ammendments
Add amendment info in motion details
2019-02-01 15:09:01 +01:00
Sean Engelhardt 01786f685c Add amendment info in motion details
Alters motion detail to show amendments and to a given motion
and original motions to a given amendment.
Changes the motion PDF to show amendments.

Fixes a bug with the projection indicator
2019-02-01 14:52:31 +01:00
Maximilian Krambach ba6d3da8f0 navigate to detail view after setting the history mode
(if a detailView is existant)
2019-02-01 14:42:19 +01:00
Emanuel Schütze dc1e48329f
Merge pull request #4241 from MaximilianKrambach/csvExport
explicitly set mimetype for csv export
2019-02-01 14:41:09 +01:00
Emanuel Schütze 3d7b833eeb Fix travis by downgrading pytest to <4.2.0 2019-02-01 14:28:34 +01:00
Maximilian Krambach da722dd518 explicitly set mimetype for csv export 2019-02-01 14:20:00 +01:00
Sean 1b2258a4e5
Merge pull request #4239 from tsiegleauq/motion-detail-tags
Add Tags into motion details
2019-02-01 13:18:42 +01:00
Sean Engelhardt f992b77d99 Add Tags into motion details
Adds tags to motion repository,
view-motion and selectable for the motion detail view
2019-02-01 12:34:42 +01:00
Finn Stutzenstein f3c3d8ab8c
Merge pull request #4219 from FinnStutzenstein/cleanup
A little bit of cleanup
2019-02-01 11:16:35 +01:00
FinnStutzenstein 84974d7687 A little bit of cleanup 2019-02-01 11:02:24 +01:00
Finn Stutzenstein 6a60280172
Merge pull request #4229 from FinnStutzenstein/repositories
Restructure the client, register Repositories and map to collection
2019-02-01 10:42:51 +01:00
FinnStutzenstein 97f60c1e6c Restructure the client, register Repositories and map to collection
strings.
2019-02-01 10:19:17 +01:00
Emanuel Schütze dbe452f976
Merge pull request #4232 from emanuelschuetze/reason
New config to set reason field required.
2019-02-01 10:15:02 +01:00
Emanuel Schütze fa8e0687bf
Merge pull request #4237 from ostcar/fix_restricted_data_cache
fix restricted_data_cache for elements that exists, but a user is not allowed to see them
2019-02-01 10:13:53 +01:00
Finn Stutzenstein 44bc03b300
Merge pull request #4231 from tsiegleauq/enter-custom-translations
Add custom translation settings
2019-02-01 10:11:00 +01:00
Finn Stutzenstein 44851af172
Merge pull request #4227 from FinnStutzenstein/clos
Projector reference for CLOS
2019-02-01 10:10:47 +01:00
Emanuel Schütze 617eccb85f New config to set reason field required. 2019-02-01 09:53:38 +01:00
Sean Engelhardt 8016827242 Add custom translation settings 2019-02-01 09:51:18 +01:00
FinnStutzenstein 582d4d7c4a Projector reference for CLOS 2019-02-01 09:47:59 +01:00
Oskar Hahn 1111a8074e fix restricted_data_cache for elements that exists, but a user is not allowed to see them 2019-02-01 08:26:34 +01:00
Norman Jäckel 7b4ea753c1
Merge pull request #4234 from emanuelschuetze/https
Set use_https to true
2019-01-31 23:43:20 +01:00
Emanuel Schütze b480266dad Set use_https to true
used for password reset urls in emails by django
2019-01-31 22:41:08 +01:00
Sean c00b1a8325
Merge pull request #4221 from FinnStutzenstein/client-projector
projector cleanup
2019-01-31 19:03:13 +01:00
Emanuel Schütze 13b6acf72e
Merge pull request #4230 from MaximilianKrambach/translateSort
wrong translation string
2019-01-31 18:32:08 +01:00
Maximilian Krambach 15ce789617 wrong translation string 2019-01-31 17:16:30 +01:00
Emanuel Schütze 6e09a8819d
Merge pull request #4224 from MaximilianKrambach/statuteImportExport
import/export for statutes
2019-01-31 14:18:36 +01:00
Emanuel Schütze a3d8a8aee6
Merge pull request #4228 from emanuelschuetze/ui
UI improvements for motions
2019-01-31 14:18:20 +01:00
Maximilian Krambach 04cbfe383d import/export for statutes 2019-01-31 14:10:39 +01:00
Emanuel Schütze effd82eb75 UI improvements for motions 2019-01-31 12:49:00 +01:00
FinnStutzenstein b921b771d6 projector cleanup 2019-01-31 12:41:04 +01:00
Emanuel Schütze 9c6a21469b
Merge pull request #4215 from GabrielInTheWorld/theming
OpenSlides Theming
2019-01-31 12:30:11 +01:00
Emanuel Schütze df7fbfee67
Merge pull request #4225 from tsiegleauq/sort-group-matrix
Sort groups by power
2019-01-31 12:27:49 +01:00
Sean 9136b53d48
Merge pull request #4226 from MaximilianKrambach/workflowfilter
only show motion workflow filter for config-enabled workflows
2019-01-31 12:19:31 +01:00
Sean 8f4dddf495
Merge pull request #4223 from FinnStutzenstein/default-group-nav
Fixed operator respecting the default group
2019-01-31 12:07:56 +01:00
Maximilian Krambach 271d8cbfa4 only show motion workflow filter for config-enabled workflows 2019-01-31 12:05:50 +01:00
GabrielMeyer 30535dd21f OpenSlides theming (Fixes #4205)
using 3 built-in themes (default, dark, green)
2019-01-31 12:04:35 +01:00
Sean Engelhardt 9e477250b0 Sort groups by power 2019-01-31 12:03:59 +01:00
Emanuel Schütze 8cbcd6a5b5
Merge pull request #4220 from tsiegleauq/rec-giver-in-pdf
Add motion reco giver to motion PDF
2019-01-31 11:53:26 +01:00
Emanuel Schütze b8fb95e878
Merge pull request #4000 from FinnStutzenstein/translations
use own translation service wrapper
2019-01-31 11:30:18 +01:00
Emanuel Schütze c2107b77ab
Merge pull request #4222 from tsiegleauq/remove-login-snackbar
Add login notice as div
2019-01-31 11:26:42 +01:00
FinnStutzenstein a53e0f27e6 Fixed operator respecting the default group 2019-01-31 11:15:21 +01:00
FinnStutzenstein d20f8d6f44 Use own translation service wrapper for using custom translations 2019-01-31 10:42:44 +01:00
Sean Engelhardt 92fab5102a Add loginNotice as div
Remove the snackbar, restructure the template code for login mask
and adds a div with the login notice
2019-01-31 10:33:37 +01:00
Sean Engelhardt f22b81d7ad Add motion reco giver to motion PDF
Adds the text from "motion recommendet by"
into the motion PDF for both normal
motions and "StatuteAmendments"
2019-01-31 10:15:45 +01:00
Sean eb21ae0136
Merge pull request #4214 from tsiegleauq/angular722
Update to angular 7.2.2
2019-01-31 09:54:24 +01:00
Emanuel Schütze d6ce448672
Merge pull request #4218 from emanuelschuetze/translations
Updated translations
2019-01-31 09:35:11 +01:00
Emanuel Schütze 9629c6d1fd Updated translations 2019-01-31 09:20:20 +01:00
Sean d705b2a137
Merge pull request #4210 from MaximilianKrambach/agendalistpdf
agenda pdf export
2019-01-30 16:25:54 +01:00
Maximilian Krambach 167ef72bb6 agenda pdf export 2019-01-30 16:13:56 +01:00
Sean Engelhardt b5ea837e0a Update to angular 7.2.2
- updates the dependancien in package.json
- Angular is now compatible with current typescript
- Jasmine/Karma supports LazyLoading again
2019-01-30 12:54:25 +01:00
Sean ec8fa3eb91
Merge pull request #4212 from MaximilianKrambach/travisfixes
Fix travis errors
2019-01-30 12:29:22 +01:00
Maximilian Krambach 10d1209da8 Fix 'errors'
- two python comparisons error not passing flake8 anymore
- typescript not being able to recognize an object, sending it prechewed
2019-01-30 12:18:59 +01:00
Emanuel Schütze 625de1aeb4
Merge pull request #4207 from MaximilianKrambach/stringFilter
acknowledge string filter
2019-01-29 19:49:59 +01:00
Emanuel Schütze e0177893aa
Merge pull request #4195 from MaximilianKrambach/userPdf
user pdf exports: participant lists, access data
2019-01-29 19:49:07 +01:00
Maximilian Krambach 6b0f129067 user pdf exports: participant lists, access data 2019-01-29 18:52:40 +01:00
Maximilian Krambach 6a969883ad acknowledge string filter
- display correct number of show entries
- all bulk actions should only apply to filtered data
- fix user group filter
2019-01-29 18:49:13 +01:00
Sean 00b15228f7
Merge pull request #4062 from FinnStutzenstein/modified-final-version
Modified final version
2019-01-29 18:31:38 +01:00
FinnStutzenstein d6fcef79c0 modified final version 2019-01-29 18:15:48 +01:00
Emanuel Schütze a1dc92bf0a
Merge pull request #4187 from FinnStutzenstein/client-projector
more work on projector, countdowns, clos
2019-01-29 16:43:24 +01:00
Sean aa58572709
Merge pull request #4209 from GabrielInTheWorld/fix-4116
Fixes #4116
2019-01-29 16:26:15 +01:00
Emanuel Schütze 42f8b74d8e Projector templates
- Projector base template
- Projection button
- projection dialog
- motion slide (template and motions/projector.py)
- user slide (template and users/projector.py)
- motion and user list view with projector column permission check.
2019-01-29 16:12:19 +01:00
FinnStutzenstein 965d23be50 more work on projector, countdowns, clos
- splitted clos-slide and clos-overlay.
- Synchronize to server, more little changes
2019-01-29 16:10:21 +01:00
Emanuel Schütze c52b82e77d
Merge pull request #4188 from MaximilianKrambach/hierarchicAgenda
agenda hierarchies
2019-01-29 16:08:03 +01:00
GabrielMeyer a1bc0290ed Fixes #4116
- Added config to prevent closing the dialog (except by clicking the
'cancel'-button of course)
- Changed property 'width' of the motion-detail-card, so the size will be
adjusted automatically.
2019-01-29 15:25:01 +01:00
Sean 1bee3aa509
Merge pull request #4197 from MaximilianKrambach/optionalCategoryPrefix
category prefix is currently optional
2019-01-29 15:01:40 +01:00
Maximilian Krambach 064a3f7d3c agenda hierarchy tree 2019-01-29 15:00:18 +01:00
Maximilian Krambach 8796d728d9 category prefix is currently optional 2019-01-29 13:50:27 +01:00
Sean c6bddd06f7
Merge pull request #4202 from emanuelschuetze/ui
UI improvements
2019-01-29 12:15:48 +01:00
Sean c423f3a0a4
Merge pull request #4178 from GabrielInTheWorld/fix-autofocus-search
Fixes #4174
2019-01-29 12:14:28 +01:00
GabrielMeyer b6295952ba Fixes #4174
Fixed the non-autofocus search-input-element on the search-page.
Added directive 'osAutofocus' to the input-element, so it will be autofocussed when the user enters the search-component.

Resolved answers of pull-request

- Added `osAutofocus` to the `os-sort-filter-bar`
2019-01-29 11:12:58 +01:00
Sean 2d0eab9b20
Merge pull request #4176 from GabrielInTheWorld/fix-close-sidenav
Fixes #4173
2019-01-29 11:04:01 +01:00
Sean 214b74e091
Merge pull request #4200 from emanuelschuetze/config-textarea-field
Use missing textarea field for config inputtype 'text'.
2019-01-29 10:57:40 +01:00
Sean a64e0c91ed
Merge pull request #4196 from MaximilianKrambach/tempfixTranslation
po2json-tempfix
2019-01-29 10:45:57 +01:00
GabrielMeyer d043133de1 Fixes #4173
Added the function to autoclose the sidenavigation when working on a mobile-device.
Removed unnecessary functions.

Resolved answers of pull-request

- Added myself to the AUTHORS-file
- Used square brackets for 'routerLink'
2019-01-29 10:37:21 +01:00
Emanuel Schütze cf5a5b4c0e
Merge pull request #4194 from ostcar/projector_v
Projector V
2019-01-29 08:35:06 +01:00
Oskar Hahn 1a709a59a9 Projector V
* Changed wording: element is one element on the projector. A slide is a functoin to render one element
* Use AllData as first argument all the time
* Render username on server
* Add exceptions for erros on projector
* Fix motion recommendation
* Only show state extension, if it is allowed by the state
* Add motion_change_recommendations to motion full_data
2019-01-28 23:18:27 +01:00
Emanuel Schütze f3b96d4386 Use missing textarea field for config inputtype 'text'. 2019-01-28 21:55:42 +01:00
Emanuel Schütze 311b8abbea UI improvements
Max width for config view and content card in motion detail view.
Improved motion edit view in mobile mode.
2019-01-28 21:52:37 +01:00
Emanuel Schütze 0d8cbbaab9
Merge pull request #4199 from normanjaeckel/FixResetPassword
Fix reset password
2019-01-28 21:26:46 +01:00
Norman Jäckel 39244a0ec9 Reenable black. 2019-01-28 20:54:42 +01:00
Norman Jäckel 746dbf744b Fixed reset password views. 2019-01-28 20:51:06 +01:00
Maximilian Krambach 52d622b624 po2json-tempfix
run through sed after autotranslating po2json
2019-01-28 16:14:51 +01:00
Sean 793066935e
Merge pull request #4186 from MaximilianKrambach/pdflogos
add pdf header and footer images
2019-01-28 13:24:44 +01:00
Maximilian Krambach 93a9a8aef3 adding configured header and footer images to pdf exports 2019-01-28 12:49:42 +01:00
Sean c406362da5
Merge pull request #4183 from MaximilianKrambach/presenceCheck
Set/unset presence
2019-01-28 10:57:41 +01:00
Maximilian Krambach 8e086df440 view for changing the user presence by oarticipant number 2019-01-28 10:40:41 +01:00
Emanuel Schütze 56ff765708
Merge pull request #4189 from tsiegleauq/os3-motion-export-dialog
Add Motion Export dialog
2019-01-28 10:34:43 +01:00
Finn Stutzenstein 2c7e181f38
Merge pull request #4177 from MaximilianKrambach/email
add a validation error for false template invitation email properties (server)
2019-01-25 20:08:36 +01:00
Sean Engelhardt 23fea51333 Add Motion Export dialog
Removes the "Export As CSV" and "Export As PDF" options from MotionList
view and adds an export dialog instead (just like OS 2.3)
The exprt Dialog dynamically changes it's content according to the possible
selections.

The current implementation of the CSV exporter is not able to export anything
but the original motion text. The exporter does consider this and disables
this option for now.

While the old exporter showed "state" and "recommendation" during CSV export,
but was in fact not exporting state nor recommendation, the new exporter
will disable these fields during CSV export.

PDF should work as expected
2019-01-25 17:03:06 +01:00
Maximilian Krambach 4a2cad5801 add a validation error for false template invitation email properties 2019-01-25 17:01:33 +01:00
Oskar Hahn 014b145b0f Opens the websocket connection before closing it
Fixes #4009
2019-01-25 16:33:45 +01:00
Sean 43e0f7943b
Merge pull request #4179 from MaximilianKrambach/mediafiles-filter
filter mediafiles by hidden status, and by 'pdf/not pdf'
2019-01-25 10:20:12 +01:00
Sean 2070cdc525
Merge pull request #4175 from MaximilianKrambach/ballotPdf
motion ballot pdf creation
2019-01-25 10:19:21 +01:00
Maximilian Krambach 461b29688e motion ballot pdf creation 2019-01-25 10:02:58 +01:00
Finn Stutzenstein b9f5e6768b
Merge pull request #4181 from FinnStutzenstein/cleanup
cleanup, removed motion log from client
2019-01-25 08:56:12 +01:00
FinnStutzenstein 22182463a9 cleanup, removed motion log from client 2019-01-25 08:39:50 +01:00
Jochen Saalfeld 390b46a863
Merge pull request #4071 from jsaalfeld/travis_server_tests
travis check for createsettings and migration
2019-01-24 15:53:15 +01:00
Sean c9a9f8d809
Merge pull request #4182 from tsiegleauq/os3-pdf-motion-catalog
Export a list of motions
2019-01-24 14:55:05 +01:00
Maximilian Krambach c1c0611d86 filter mediafiles by hidden status, and by 'pdf/not pdf' 2019-01-24 14:47:15 +01:00
Sean Engelhardt 0e77ec79c2 Export a list of motions
Ports the "Motion Catalog Content Provider" to OpenSlides 3.
Categories and Prefixes are considered as before.
Updated to Code to ES6/Typescript.
Allows to export all motions from the motion list view.
2019-01-24 14:40:06 +01:00
Emanuel Schütze 56a804eb47
Merge pull request #4170 from MaximilianKrambach/importInitialFocus
change initial focus of imports
2019-01-24 14:38:45 +01:00
Maximilian Krambach b620e5edfa change tab order in import tabs 2019-01-24 14:30:46 +01:00
Jochen Saalfeld c7f87dfe1b
travis check for createsettings and migration, documented server
debugging
2019-01-24 11:41:15 +01:00
Finn Stutzenstein 1b3c0b4cee
Merge pull request #4152 from ostcar/new_projector_iv_motion_slide
New projector IV
2019-01-24 11:28:53 +01:00
Emanuel Schütze ea7bff89ea
Merge pull request #4171 from emanuelschuetze/pwa-icons
Updated PWA icons.
2019-01-23 09:48:46 +01:00
Emanuel Schütze 80f795c9d0 Updated PWA icons. 2019-01-23 08:33:07 +01:00
Emanuel Schütze c48148fc01
Merge pull request #4169 from tsiegleauq/gender-client
Add gender field to users
2019-01-22 13:35:25 +01:00
Emanuel Schütze 7b8839f4fa
Merge pull request #4164 from MaximilianKrambach/stateRecExtensions
set/read state+recommendation extensions
2019-01-22 13:14:22 +01:00
Emanuel Schütze 5e11d04791
Merge pull request #4168 from emanuelschuetze/new-migrations
Added missing projector migration.
2019-01-22 13:09:48 +01:00
Maximilian Krambach caed18ef03 set/read state+recommendation extensions 2019-01-22 13:01:00 +01:00
Emanuel Schütze cf29f39b9f Added missing projector migration. 2019-01-22 12:59:33 +01:00
Sean Engelhardt 07ca50441a Add gender field to users
Alters the user detail view and the list of speakers to
support the gender field.
Default selection of genders was set to "Female", "Male"
and "Diverse".
Adding genders to users is completely optional
2019-01-22 12:57:47 +01:00
Emanuel Schütze bde292b13e
Merge pull request #4162 from tsiegleauq/pdfmake-vfs
Add PDF custom fonts
2019-01-22 12:13:17 +01:00
Emanuel Schütze e6e0ef7e61
Merge pull request #4160 from MaximilianKrambach/searchHistory
search History
2019-01-22 12:03:16 +01:00
Sean Engelhardt e680ca38da Add PDF custom fonts 2019-01-22 11:59:16 +01:00
Sean aa668b72d9
Merge pull request #4167 from MaximilianKrambach/shortenTitle
shortening motion titles
2019-01-22 11:37:37 +01:00
Maximilian Krambach 7f68fef7ad search History 2019-01-22 11:33:35 +01:00
Sean 20bb92466b
Merge pull request #4161 from MaximilianKrambach/passwordRestrictions
reset password permission check in menu
2019-01-22 11:26:59 +01:00
Maximilian Krambach 30f97935e0 reset password permission check in menu 2019-01-22 10:19:50 +01:00
Maximilian Krambach 23298a03b3 Shortening motion titles 2019-01-22 10:10:42 +01:00
Emanuel Schütze c67aef68d9
Merge pull request #4163 from emanuelschuetze/translations
Updated translation strings and German translation.
2019-01-22 09:19:26 +01:00
Emanuel Schütze 6b66a208c5 Updated translation strings and German translation. 2019-01-21 22:50:10 +01:00
Emanuel Schütze 07f65601e1
Merge pull request #4158 from emanuelschuetze/username
Show username if full_name or last_name is empty.
2019-01-21 22:48:22 +01:00
Emanuel Schütze 2c5ea299e3 Show username if full_name or last_name is empty.
important for create-example_data
2019-01-21 16:01:16 +01:00
Oskar Hahn cca28a990a New projector IV
* Motion Slide
2019-01-20 13:35:50 +01:00
Oskar Hahn 209105efc3
Merge pull request #4103 from FinnStutzenstein/client-projector-ui
Client projector ui (WIP)
2019-01-20 11:39:49 +01:00
Emanuel Schütze 402fc37b99
Merge pull request #4155 from ostcar/activate_start_command
activate start command
2019-01-20 11:36:06 +01:00
Emanuel Schütze f2ffe64f98
Merge pull request #4157 from emanuelschuetze/fix-history-migration
Fix history migration.
2019-01-20 11:28:32 +01:00
Oskar Hahn 6b73c5bf1a activate start command 2019-01-20 11:24:42 +01:00
Emanuel Schütze c704b90ecb Fix history migration. 2019-01-20 11:05:49 +01:00
Emanuel Schütze 251cc4acc1
Merge pull request #4147 from emanuelschuetze/history-table
Improved history table.
2019-01-20 10:35:23 +01:00
Emanuel Schütze 33d9468e6b
Merge pull request #4153 from normanjaeckel/RecExtension
Fixed following recommendations with extensions.
2019-01-20 10:21:56 +01:00
Emanuel Schütze 344debf03a
Merge pull request #4154 from emanuelschuetze/static
Fixes for using pypi package
2019-01-20 09:57:35 +01:00
Emanuel Schütze 2c5d8ea29e Improved history table. 2019-01-20 09:46:41 +01:00
Emanuel Schütze 23f7dce6a2 Fixes for using pypi package
- Fix static path for manifest and login logo.
- Use insecure=True (required to serve static files via development
  server with DEBUG=False).
2019-01-20 09:37:42 +01:00
Emanuel Schütze 034a4d2a67
Merge pull request #4144 from MaximilianKrambach/dateSort
sort by date in motion
2019-01-19 22:43:29 +01:00
Emanuel Schütze ec769a82a4
Merge pull request #4151 from emanuelschuetze/rest
Revert rest fix for proxy.conf.json
2019-01-19 22:41:19 +01:00
Norman Jäckel 7c6e98fae6 Fixed following recommendations with extensions. 2019-01-19 22:36:41 +01:00
Norman Jäckel 030f610f2f Fixed last_modified saving. 2019-01-19 22:11:40 +01:00
Emanuel Schütze a7eaecfa14
Merge pull request #4143 from MaximilianKrambach/callList
Speaker list opening/closing/clearing
2019-01-19 22:05:45 +01:00
Emanuel Schütze 16ee9414dc Revert rest fix for proxy.conf.json
see commit c703ba9e5f
2019-01-19 21:59:32 +01:00
Maximilian Krambach f47ec28977 speaker remove/ open+close list functionality 2019-01-19 21:50:22 +01:00
Maximilian Krambach 10550fe228 fix server set marked for users that already have spoken 2019-01-19 21:28:18 +01:00
FinnStutzenstein 74e0bea108 Wirst work for the projector system on the client 2019-01-19 21:26:05 +01:00
Maximilian Krambach 6d18d70845 sort by date in motion 2019-01-19 21:21:20 +01:00
Emanuel Schütze 12c6554064
Merge pull request #4146 from MaximilianKrambach/configReset
config reset
2019-01-19 21:12:52 +01:00
Emanuel Schütze c26daad07d
Merge pull request #4149 from MaximilianKrambach/fixMotionPermission
fix motion change permission
2019-01-19 21:09:00 +01:00
Emanuel Schütze e6db2c97fc
Merge pull request #4142 from boehlke/fix_mediafiles_add
Extra check for type in updateValues
2019-01-19 21:05:12 +01:00
Maximilian Krambach 30d8812719 fix motion change permission 2019-01-19 19:01:44 +01:00
Maximilian Krambach e8de30b23e config reset 2019-01-19 18:19:57 +01:00
Oskar Hahn df85e01b16
Merge pull request #4145 from ostcar/logged_in_users
logged in users
2019-01-19 18:00:47 +01:00
Oskar Hahn 5ca2012c44 logged in users 2019-01-19 17:50:18 +01:00
Oskar Hahn a83de77180
Merge pull request #4141 from normanjaeckel/HistoryInformation
Added history information for some motion views.
2019-01-19 16:56:10 +01:00
Norman Jäckel 9db12293a3 Added history information for some motion views. 2019-01-19 16:41:58 +01:00
André Böhlke 5d458e01d4 Extra check for type in updateValues 2019-01-19 16:26:18 +01:00
Emanuel Schütze 3582e71bba
Merge pull request #4132 from MaximilianKrambach/motionViewPermissions
adding viewPermissions
2019-01-19 16:05:47 +01:00
Norman Jäckel 6aeedf39fd
Merge pull request #4140 from ostcar/autoupdate_and_delete
Autoupdate on element deletion
2019-01-19 15:50:47 +01:00
Oskar Hahn 7df842f2e2 delete wrong file 2019-01-19 14:48:01 +01:00
Oskar Hahn 11ba7b9841 Autoupdate on element deletion
Make sure, that a related element gets an autoupdate, when the main object is deleted
2019-01-19 14:46:59 +01:00
Maximilian Krambach fb51b54d5c check permissions for motions 2019-01-19 14:42:54 +01:00
Oskar Hahn a895481cef
Merge pull request #4131 from normanjaeckel/PasswordPerm
Added new permission to set password.
2019-01-19 14:33:10 +01:00
Oskar Hahn 27cb63174e
Merge pull request #4134 from normanjaeckel/MotionCreatedTimestamp
Added timestamp fields for motions.
2019-01-19 14:23:21 +01:00
Oskar Hahn 7a64fb83eb
Merge pull request #4135 from ostcar/projector_http_view
New projector III
2019-01-19 14:04:28 +01:00
Norman Jäckel 5aedf62018
Merge pull request #4104 from normanjaeckel/HistoryTimestamp
Used the same timestamp for multiple history objects.
2019-01-19 14:03:47 +01:00
Emanuel Schütze 2d40072f44
Merge pull request #4133 from MaximilianKrambach/sortEmpties
move empty/undefined sortings always to the alphabet's end
2019-01-19 11:55:10 +01:00
Maximilian Krambach 91dec2370b move empty/undefined sortings always to the alphabet's end 2019-01-19 11:41:17 +01:00
Emanuel Schütze 62c88280b6
Merge pull request #4137 from tsiegleauq/viewport-tablet-fixes
Fix naviagion hiding
2019-01-19 11:37:51 +01:00
Emanuel Schütze 36b72d573c
Merge pull request #4138 from tsiegleauq/enable-rest-for-ngsw
Allow navigating to /rest/ for the new ngsw setup
2019-01-19 11:37:33 +01:00
Emanuel Schütze b03538e564
Merge pull request #4136 from MaximilianKrambach/bulkState
client part of setMultiState
2019-01-19 11:21:51 +01:00
Norman Jäckel b15a57bbdd Added timestamp fields for motions. 2019-01-19 11:09:55 +01:00
Sean Engelhardt 9d3410af1c Fix naviagion hiding
Fixes an issue where the navigation panel was always hiding during
every navigation.

Also changes the backdrop of the navigation
2019-01-19 11:07:37 +01:00
Maximilian Krambach 6cd250a36d client part of setMultiState 2019-01-19 10:56:19 +01:00
Sean Engelhardt c703ba9e5f Allow navigating to /rest/ for the new ngsw setup 2019-01-19 10:49:40 +01:00
Oskar Hahn b4c3ffe01f New projector III
* Add a new view `project` to set the projector elements-fields
2019-01-19 10:47:11 +01:00
Norman Jäckel cb3e6c4e47
Merge pull request #4123 from normanjaeckel/BulkState
Set state for multiple motions.
2019-01-19 10:37:39 +01:00
Norman Jäckel 4da87d520d Added new permission to set password. 2019-01-19 10:35:13 +01:00
Norman Jäckel de7b531933 Used the same timestamp for multiple history objects. 2019-01-19 09:58:58 +01:00
Norman Jäckel 4261c3deed Set state for multiple motions. 2019-01-19 09:22:02 +01:00
Emanuel Schütze 1cdeb3bcb8
Merge pull request #4124 from normanjaeckel/Gender
Added gender field for users.
2019-01-19 09:17:08 +01:00
Oskar Hahn 24bb4ad0ad
Merge pull request #4130 from ostcar/new_projector_ii
New projector II
2019-01-19 09:01:43 +01:00
Oskar Hahn c37bf0fb4f New Projector
* Change Projector model
* Remove old http requests
* Remove old config values
* Remove uuid from config field
* Remove projector broadcast
* Remove projector blank
* Fix serializer
2019-01-19 08:19:40 +01:00
Emanuel Schütze 2d2a62402c
Merge pull request #4128 from normanjaeckel/AmendmentPerm
Added new permissions to create new amendments.
2019-01-18 22:23:06 +01:00
Emanuel Schütze 4985dea59d
Merge pull request #4127 from emanuelschuetze/ui
UI improvements
2019-01-18 22:07:50 +01:00
Norman Jäckel 85d9629776 Added new permissions to create new amendments. 2019-01-18 22:06:15 +01:00
Norman Jäckel 9bef7a8bc7
Merge pull request #4129 from normanjaeckel/KillBlack
Disable black during code sprint.
2019-01-18 21:31:31 +01:00
Emanuel Schütze 8536f46d01 UI improvements
- better select field for category and block in motion detail
- improved motion block views
- chips for submitters
- motion detail template
2019-01-18 21:31:21 +01:00
Emanuel Schütze f2b9ba0e52
Merge pull request #4120 from MaximilianKrambach/motiondetails
Motion: Favorites and some details
2019-01-18 21:22:34 +01:00
Norman Jäckel 34d2906aa2 Disable black during code sprint. 2019-01-18 21:20:43 +01:00
Maximilian Krambach 53a8392e33 motion detail imrovements 2019-01-18 20:58:35 +01:00
Sean 24cf01b03f
Merge pull request #4122 from tsiegleauq/os3-pdfmake
Add motion to pdf converter
2019-01-18 20:45:16 +01:00
Sean f7bc087c32
Merge pull request #4126 from MaximilianKrambach/follow_motionblock
simplify followRecommendation for motionBlock
2019-01-18 20:39:42 +01:00
Sean 5a74c7d662
Merge pull request #4121 from MaximilianKrambach/speechcount
warn/show speaker-call amount
2019-01-18 20:31:14 +01:00
Sean Engelhardt 9b61603dae Add motion to pdf converter
Adds the converstion from motion to PDF.
Uses pdfmake as the old openslides does
2019-01-18 20:25:06 +01:00
Norman Jäckel 168561bc55 Added gender field for users. 2019-01-18 19:47:00 +01:00
Maximilian Krambach 758abde410 simplify followRecommendation for motionBlock 2019-01-18 19:17:48 +01:00
Finn Stutzenstein 8bd24d690d
Merge pull request #4118 from FinnStutzenstein/notify
Make OS3 notify ready
2019-01-18 17:55:24 +01:00
Oskar Hahn d5b09b4513
Merge pull request #4106 from ostcar/python-3.6-f-strings
use f-string syntax for strings
2019-01-18 17:47:12 +01:00
FinnStutzenstein 728f3f84c4 Some teamwork improvements 2019-01-18 17:44:26 +01:00
Oskar Hahn b329115007 use f-string syntax for strings 2019-01-18 17:37:36 +01:00
Maximilian Krambach 3b5876009c warn/show speaker-call amount 2019-01-18 17:19:56 +01:00
FinnStutzenstein 47a09e4bce Make OS3 notify ready 2019-01-18 17:03:09 +01:00
Oskar Hahn 9563858c7a
Merge pull request #4119 from ostcar/projector_config_in_websocket
Add the projector config into the data send via websocket
2019-01-18 16:25:43 +01:00
Oskar Hahn 5127d659db Add the projector config into the data send via websocket 2019-01-18 15:38:20 +01:00
Sean eec3fba34a
Merge pull request #4114 from MaximilianKrambach/csvimport/all
csv-import for user and agenda(topics)
2019-01-18 14:20:39 +01:00
Maximilian Krambach c52fdaae6c csv-import for user and agenda(topics) 2019-01-18 13:15:54 +01:00
Sean c3ed0d0dad
Merge pull request #4112 from MaximilianKrambach/sortSearchFixes
sortSearch improvements (fixes #4098)
2019-01-18 13:05:47 +01:00
Maximilian Krambach 82a1ad8709 sortSearch improvements (#4098)
- "no workflows set" removed
-  motion block filter hides if there is no motion block
- inserted the group filter
- fixed display of agenda filter menu
- show plural if multiple filters are selected, show filtered amount
- recommendation, done/not done status filter
- active filter count and clearing option
- number of current items to the left
2019-01-18 12:51:04 +01:00
Emanuel Schütze 57202e74ca
Merge pull request #4117 from CatoTH/Issue4108-Unknown-ChangeRecoMode
Move lnMode/crMode/lineLength into components, Bugfix for lineLength …
2019-01-17 18:04:38 +01:00
Tobias Hößl 1966a4b4f8
Move lnMode/crMode/lineLength into components, Bugfix for lineLength - fixes #4108 2019-01-17 17:50:10 +01:00
Sean 566bb93ba5
Merge pull request #4115 from emanuelschuetze/pwa
Use OpenSlides as Progressive Web App (PWA).
2019-01-17 16:20:37 +01:00
Emanuel Schütze f83f3fed46 Use OpenSlides as Progressive Web App (PWA). 2019-01-17 15:58:05 +01:00
Sean 19a3fcebf3
Merge pull request #4088 from MaximilianKrambach/motionpoll
motion polls
2019-01-17 15:40:34 +01:00
Maximilian Krambach d5101714d1 motion polls 2019-01-17 14:03:34 +01:00
Sean 85a2597b27
Merge pull request #4110 from jsaalfeld/logo_component
adding and implementing logo component
2019-01-16 16:08:15 +01:00
Jochen Saalfeld f8cfb418f6
adding and implementing logo component 2019-01-16 15:54:34 +01:00
Sean 460b3dcac9
Merge pull request #4113 from jsaalfeld/fix_travis_headless_browser
Fix Headless Browser Start with Travis
2019-01-15 13:31:10 +01:00
Jochen Saalfeld 1091ac4e76
Fix Headless Browser Start with Travis
Even though the documentation of travis still states, that xvfb can be
initialized via init.d, it seems that all images are updated to use
systemd, therefore it was switched to the travis service syntax.
2019-01-15 13:09:35 +01:00
Norman Jäckel ce64ff7ac8
Merge pull request #4107 from ostcar/development_tools
Undo #4086 after pytest is fixed and released
2019-01-14 21:28:27 +01:00
Jochen Saalfeld 4c02661649
Merge pull request #4102 from MaximilianKrambach/npmfix
fix vulnerable npm dependency angular-devkit
2019-01-14 10:00:59 +01:00
Oskar Hahn 6c312cb6a4 Undo #4086 after pytest is fixed and released 2019-01-12 23:28:44 +01:00
Oskar Hahn 5ff16d6c5f
Merge pull request #4081 from ostcar/new_projector
New projector
2019-01-12 23:23:06 +01:00
Oskar Hahn a0f554674b New projector system. Add first slides 2019-01-12 21:21:43 +01:00
Emanuel Schütze 73e1853758
Merge pull request #4094 from emanuelschuetze/ui
UI improvements
2019-01-11 17:00:48 +01:00
Emanuel Schütze 1ff84c1ae1 UI improvements 2019-01-11 16:51:43 +01:00
Emanuel Schütze e69cf2f0f7
Merge pull request #4101 from FinnStutzenstein/prettifier_doku
added missing documentation about prettifier
2019-01-11 16:06:01 +01:00
Emanuel Schütze e8a4480014
Merge pull request #4099 from FinnStutzenstein/motion-title-fix
fixed motion title in agenda
2019-01-11 16:02:10 +01:00
Sean 7226d04106
Merge pull request #4076 from MaximilianKrambach/csvimport/motions
motion csv import
2019-01-11 15:42:54 +01:00
Maximilian Krambach 5d989a8847 fix vulnerable npm dependency angular-devkit 2019-01-11 11:20:50 +01:00
Maximilian Krambach 060d8c8324 motion csv import 2019-01-11 10:47:20 +01:00
FinnStutzenstein 5196780b3a added missing documentation about prettifier 2019-01-11 10:43:20 +01:00
Finn Stutzenstein c76e7165af
Merge pull request #4096 from MaximilianKrambach/httpError
fix login not responding to errors
2019-01-10 15:07:13 +01:00
Maximilian Krambach e0e88ce891 fix login not responding to errors 2019-01-10 14:04:10 +01:00
Jochen Saalfeld 2f7336b257
Merge pull request #4067 from FinnStutzenstein/prettify
Using prettify instead of pretty-quick-wrapper
2019-01-10 13:12:02 +01:00
FinnStutzenstein 1c895fbea8 run prettifier 2019-01-10 12:54:48 +01:00
FinnStutzenstein 6e87a4bd80 Use prettier 2019-01-10 12:54:22 +01:00
FinnStutzenstein ebe068155a fixed motion title in agenda 2019-01-10 12:50:12 +01:00
Finn Stutzenstein b01b20f4b4
Merge pull request #4097 from jsaalfeld/fix_pypi_module_error
fixing Module not found error
2019-01-10 12:39:56 +01:00
Jochen Saalfeld c9df66ffb9
fixing Module not found error
should fix #4069
2019-01-10 12:30:13 +01:00
Finn Stutzenstein 44846da4cd
Merge pull request #4095 from jsaalfeld/fix_trailing_slash
fixing the wsgi server by removing trailing slashes on static files
2019-01-10 11:46:20 +01:00
Jochen Saalfeld 73a3001a35
fixing the wsgi server by removing trailing slashes on static files
fixes #4091
2019-01-09 21:31:48 +01:00
Oskar Hahn ebf51507f8
Merge pull request #4085 from ostcar/black
Black
2019-01-08 22:43:24 +01:00
Oskar Hahn eddbd86d3a Run black 2019-01-08 21:51:52 +01:00
Oskar Hahn 800055a5ea Format code with black 2019-01-08 21:50:50 +01:00
Sean 405ddaec60
Merge pull request #3963 from MaximilianKrambach/os3/sortSearch
Sorting/Filters for list views
2019-01-08 12:23:53 +01:00
Maximilian Krambach 59ec1c552a sorting and filters for listViews 2019-01-08 11:08:01 +01:00
Emanuel Schütze f837bf52b3
Merge pull request #4060 from jsaalfeld/tag_list_shift_enter
adding "shift-enter"-Submit for TagList
2019-01-07 15:12:00 +01:00
Jochen Saalfeld 29188888f8
adding "shift-enter"-Submit for TagList 2019-01-07 14:44:42 +01:00
Sean 27ca69ba49
Merge pull request #4089 from jsaalfeld/update_development
updating development.rst and add missing fields to package.json
2019-01-07 14:26:35 +01:00
Jochen Saalfeld 66d71a6ce1
updating development.rst and add missing fields to package.json
The Development.rst was still a bit outdated and has now been fixed to be
coherent with the current development process.

Fixes #4083
2019-01-07 14:09:30 +01:00
Jochen Saalfeld e6ba2bc3fd
Merge pull request #4087 from MaximilianKrambach/devkit
update vulnerable dependency (angular-devkit)
2019-01-07 11:52:26 +01:00
Maximilian Krambach c7cd510819 update dependency (angular-devkit) 2019-01-07 10:08:34 +01:00
Emanuel Schütze f9c4f01f06
Merge pull request #4080 from CatoTH/v3-LineNumbering-Config-Variables
Take motion configuration variables, some layout-fixes
2019-01-07 09:52:09 +01:00
Tobias Hößl 61a3de593a
Take motion configuration variables, some layout-fixes 2019-01-07 09:22:55 +01:00
Emanuel Schütze 6db5c90180
Merge pull request #4084 from ostcar/fix_example_data_generator
Fix example data generator
2019-01-07 08:40:38 +01:00
Emanuel Schütze 256f4e75a3
Merge pull request #4075 from MaximilianKrambach/multiSelect-tweaks
Multiselect dialogs with multiple choice options
2019-01-07 08:39:01 +01:00
Oskar Hahn 6be0378c2b
Merge pull request #4086 from ostcar/pin_pytest_version
Fix pytest to a version lower 4.1 until a bug in pytest-asyncio is fixed
2019-01-06 20:33:37 +01:00
Oskar Hahn c824888c98 Fix pytest to a version lower 4.1 until a bug in pytest-asyncio is fixed 2019-01-06 20:23:28 +01:00
Oskar Hahn 8fd82434af Fix example data generator
fix #4066
2019-01-04 16:15:45 +01:00
Maximilian Krambach 0deb5ba6c3 MultiSelect rework
- Multiselect dialog with multiple choice options
- Some functionalities added
- ui improvements
2019-01-04 14:49:34 +01:00
Finn Stutzenstein 211a0b8ebb
Merge pull request #4077 from FinnStutzenstein/translate_extract_hotfix
ngx translate extract hotfix
2018-12-20 11:37:37 +01:00
FinnStutzenstein af67164972 ngx translate extract hotfix 2018-12-20 11:20:34 +01:00
Finn Stutzenstein 5718c6f326
Merge pull request #4072 from MaximilianKrambach/agendaexport_internalItem
simpler csv export option for agenda type
2018-12-20 08:08:52 +01:00
Emanuel Schütze f3fc85aa7e
Merge pull request #4043 from CatoTH/Issue3975-Bugfix-initial-values
Bugfix for initial values of merge_amendment_into_final - #3975
2018-12-19 11:17:42 +01:00
Tobias Hößl ef210dcc52 Bugfix for initial values of merge_amendment_into_final - #3975 2018-12-19 10:39:36 +01:00
Emanuel Schütze a164b3416e
Merge pull request #4068 from CatoTH/Amendment-Bugfixes-20181216
Amendment bugfixes
2018-12-19 09:47:15 +01:00
Maximilian Krambach c56a2880a4 simpler csv export option for agenda type 2018-12-19 09:32:56 +01:00
Emanuel Schütze 70437ed083
Merge pull request #4073 from ostcar/fix_key_error_in_master
fix keyerror introduced by #3985
2018-12-17 13:45:05 +01:00
Oskar Hahn e09c5f415a fix keyerror introduced by #3985 2018-12-17 13:34:17 +01:00
Jochen Saalfeld 6c9fb713e1
Merge pull request #4056 from MaximilianKrambach/os3/agendaexport
agenda csv export
2018-12-17 11:48:29 +01:00
Maximilian Krambach eeb0afa499 agenda csv export 2018-12-17 11:34:31 +01:00
Sean 3a2df3b731
Merge pull request #4059 from tsiegleauq/agenda-list-controls
Add controls to agenda list
2018-12-16 20:55:28 +01:00
Sean Engelhardt a338884a62 Add controls controls to agenda list
Adds information about duration, visibility and comment to agenda list view
Allows channg these information over a dialog component on the
information column
2018-12-16 19:35:37 +01:00
Oskar Hahn 5fc868cbee
Merge pull request #3985 from ostcar/cleanup_access_permission
Refactor assess_permission
2018-12-16 15:12:35 +01:00
Tobias Hößl 058d87eb77
Bugfix: change detection for change recommendations 2018-12-16 14:54:32 +01:00
Tobias Hößl f15cb4d42e
Bugfix: Creating amendments ./. empty supporters_id 2018-12-16 13:44:05 +01:00
Oskar Hahn 9bb77817dd Refactor assess_permission
* Remove access_permission.get_full_data()
* Remove access_permission.gcet_serializer_class()
* get serializer class from model
2018-12-16 09:10:52 +01:00
Jochen Saalfeld 2c16d1893e
Merge pull request #3991 from Fadiabb/full-text-search
adding full search component
2018-12-13 13:16:01 +01:00
Fadi Abbud f5ee0daf00 adding full search component 2018-12-13 12:40:51 +01:00
Jochen Saalfeld 12ce434db5
Merge pull request #4058 from jsaalfeld/list_dingens
multiple frontend changes on multi-select lists
2018-12-13 11:40:10 +01:00
Jochen Saalfeld 1336c2c6bb
multiple frontend changes on multi-select lists 2018-12-13 11:20:06 +01:00
Emanuel Schütze b900dfcba3
Merge pull request #4050 from FinnStutzenstein/remove_action_word
removed action word from states
2018-12-13 10:05:11 +01:00
Finn Stutzenstein 99d6c8454f
Merge pull request #4047 from jsaalfeld/travis_prettier
naming tasks and add format check for client
2018-12-13 08:36:00 +01:00
Finn Stutzenstein e21668bd62
Merge pull request #4054 from normanjaeckel/FixTest
Fixed Test
2018-12-13 08:19:57 +01:00
Jochen Saalfeld 656753c2a7
Merge pull request #4048 from jsaalfeld/user_profile_enhancement
add change password field for users/admins
2018-12-12 14:23:39 +01:00
Jochen Saalfeld 73cbd8f687
add change password field for users/admins 2018-12-12 13:15:51 +01:00
Sean 659f9f116a
Merge pull request #4052 from tsiegleauq/motion-attachments
Motion Attachments + Restructure
2018-12-10 18:02:29 +01:00
Sean Engelhardt 00db199947 Motion Attachments + Restructure 2018-12-10 17:54:49 +01:00
Jochen Saalfeld b024960a51
naming tasks and add format check for client 2018-12-10 14:07:27 +01:00
Norman Jäckel d7231e60f2 Fixed Test 2018-12-07 21:06:30 +01:00
Sean 574fde5f6d
Merge pull request #4051 from FinnStutzenstein/manage_submitters
Manage submitters
2018-12-06 16:00:14 +01:00
FinnStutzenstein 2e7bbcc981 Manage submitters 2018-12-06 15:54:02 +01:00
Sean 527382367a
Merge pull request #4049 from tsiegleauq/motion-block
Add motion blocks
2018-12-06 12:40:46 +01:00
Sean Engelhardt 03508c903f Add motion blocks 2018-12-06 12:28:06 +01:00
FinnStutzenstein 362e2f154f removed action word from states 2018-12-06 11:47:33 +01:00
Emanuel Schütze d11154cfc1
Merge pull request #4028 from jsaalfeld/fix_redis
the redis host needs to be configured for channel layers
2018-12-03 14:15:59 +01:00
Emanuel Schütze cde1c04e5a
Merge pull request #4031 from jsaalfeld/fix_docker_build
fix the docker build
2018-12-03 14:14:59 +01:00
Emanuel Schütze 3b72e720b3
Merge pull request #4046 from emanuelschuetze/translations
Updated translations.
2018-11-30 14:02:51 +01:00
Emanuel Schütze b578c58ac9 Updated translations. 2018-11-30 13:55:43 +01:00
Sean c416f7a1be
Merge pull request #3977 from normanjaeckel/HistoryModel
OpenSlides history mode
2018-11-30 12:51:09 +01:00
Sean Engelhardt 0c62c1c864 History mode on client side
Add view for full history and History Repom TimeTravelService
Add function time travel routine
Updated the HTTP Service, fixed usage of storage, OSStatus Service, fixed loading of the history data
2018-11-30 12:42:13 +01:00
Sean d4d4ac838f
Merge pull request #4040 from MaximilianKrambach/os3/multiSelect2
Multiselect for advanced options
2018-11-30 11:04:54 +01:00
FinnStutzenstein 7a56e6c3c0 travis.. 2018-11-30 10:28:14 +01:00
FinnStutzenstein 428e58db9b move to agenda 2018-11-30 10:10:13 +01:00
Norman Jäckel 060856628b OpenSlides history mode.
Also containing auth check and viewpoint to clear history.
2018-11-30 09:51:10 +01:00
FinnStutzenstein 212bce1c08 rework motion submitters to clear confusion about creation and normal update.
Also docs and cleanup
2018-11-30 09:47:21 +01:00
Maximilian Krambach 1de2161ded make choice dialog proper scrollable 2018-11-30 09:47:19 +01:00
FinnStutzenstein d49b796b29 travis and prettify 2018-11-30 09:47:16 +01:00
Emanuel Schütze 82b26347e2 Added new multiselect actions. 2018-11-30 09:47:14 +01:00
Finn Stutzenstein 0a823877c2
Merge pull request #4044 from jsaalfeld/fix_ts_version_conflict
fixing ts version due to conflict
2018-11-30 09:46:45 +01:00
Jochen Saalfeld 30f45822c9
fixing ts version due to conflict
"@angular/compiler-cli@7.1.1 requires typescript@'>=3.1.1 <3.2'
2018-11-30 09:33:13 +01:00
Finn Stutzenstein 8f3f7719b1
Merge pull request #4042 from FinnStutzenstein/fixedMigrations
Fixed user migrations
2018-11-30 08:10:05 +01:00
Norman Jäckel 9e007437ec
Merge pull request #4037 from normanjaeckel/MultiSubmitters
Added multi select for motion submitters, tags and recommendations.
2018-11-29 20:16:49 +01:00
FinnStutzenstein 598a726394 Fixed user migrations 2018-11-29 16:13:31 +01:00
Sean ad1fcfdb00
Merge pull request #3975 from CatoTH/OpenSlides-3-Amendments
Amendments
2018-11-29 14:45:12 +01:00
Tobias Hößl afad235bad Show amendments in detail view 2018-11-29 14:11:27 +01:00
Sean e694d9e0dd
Merge pull request #4038 from emanuelschuetze/motion-ui
Improved UI of motion list and detail view
2018-11-29 12:40:35 +01:00
Emanuel Schütze ed47ac4884 Improved UI of motion list and detail view 2018-11-29 12:31:52 +01:00
Finn Stutzenstein 86e858c800
Merge pull request #4036 from FinnStutzenstein/calllist_export
Call list csv export
2018-11-29 08:47:38 +01:00
FinnStutzenstein 80fce9a173 prevalidate agenda items on assign 2018-11-29 08:42:16 +01:00
FinnStutzenstein 6a8976b8ca Call list export
refined the export service to accept a generic map function, so arbitrary values can put into the csv
2018-11-29 08:25:36 +01:00
Norman Jäckel cfd5cf3c7e Added viewpoint to assign multiple items to a new parent item. 2018-11-27 23:46:41 +01:00
Norman Jäckel 261083ac69 Added multi select for motion submitters, tags and recommendations. 2018-11-27 23:46:39 +01:00
Sean 3c4936764d
Merge pull request #3993 from MaximilianKrambach/os3/multiSelect
multiSelect on listViews
2018-11-27 14:11:28 +01:00
Maximilian Krambach b5aebe5615 multiSelect on listViews 2018-11-27 14:03:02 +01:00
Finn Stutzenstein fed085c319
Merge pull request #4033 from FinnStutzenstein/motion_virtual_sort
OpenSlides ♥ Trees
2018-11-23 17:41:56 +01:00
FinnStutzenstein 80782ccbec OpenSlides ♥ Trees 2018-11-23 17:32:20 +01:00
Jochen Saalfeld ec7f63b52d
Merge pull request #4029 from Fadiabb/CSV-export
add csv for motions
2018-11-23 11:21:41 +01:00
Sean 10714bbbe4
Merge pull request #4032 from FinnStutzenstein/new_configs
new configs for statute amendments; improved the majorityMethod confi…
2018-11-23 11:15:07 +01:00
Fadi Abbud 021cc0a393
add CSV for motions
This does the csv export for the user list

emanuelschuetze:
Uses right order and translatable labels

jsaalfeld:
fixing some documentation, rebasing to master and fixing strings
and coding style.

fixing #4035
2018-11-23 11:12:56 +01:00
Jochen Saalfeld 14b2d33d00
Merge pull request #4016 from FinnStutzenstein/postgres_no_error
Do not try to access the database during migrations
2018-11-23 08:19:06 +01:00
FinnStutzenstein 3d4bd67980 new configs for statute amendments; improved the majorityMethod config variable
Removed none from os-search-value-selector; improved list of speakers
2018-11-22 17:34:00 +01:00
Finn Stutzenstein 8a7d0e8be9
Merge pull request #4018 from FinnStutzenstein/nested_dnd
angular2 tree
2018-11-22 17:21:45 +01:00
FinnStutzenstein 8e59170b76 Do not try to access the database during migrations 2018-11-22 17:20:17 +01:00
FinnStutzenstein 101d6c96cd using angular2 tree for the nested motion call list 2018-11-22 17:16:20 +01:00
Sean 8473a48caf
Merge pull request #4027 from tsiegleauq/tinymce
Include TinyMCE
2018-11-22 16:28:25 +01:00
Sean Engelhardt c52b86a33f Include TinyMCE 2018-11-22 15:57:51 +01:00
Jochen Saalfeld 22a91750e8
fix the docker build 2018-11-22 11:53:01 +01:00
Finn Stutzenstein f91c756b14
Merge pull request #4030 from FinnStutzenstein/style_fixes
Fixed style issues introduced with #4025
2018-11-22 10:19:34 +01:00
FinnStutzenstein 9f05929251 Fixed style issues introduced with #4025 2018-11-22 09:52:24 +01:00
Jochen Saalfeld 09e2629b64
the redis host needs to be configured for channel layers
otherwise the post migration signal in django will try to establish an connection to localhost, no matter what redis server ip or adress was entered
2018-11-22 09:08:22 +01:00
Sean d8886eb08f
Merge pull request #4026 from jsaalfeld/clean_repository_service
moving http-post to repository
2018-11-21 15:01:56 +01:00
Jochen Saalfeld 76bfa16232
moving http-post to repository 2018-11-21 14:56:04 +01:00
Jochen Saalfeld 0a361665c4
Merge pull request #4025 from Fadiabb/shift-enter-submit
add shift-enter shortcut
2018-11-21 14:52:37 +01:00
Fadi Abbud da8b456d90 add shift-enter shortcut
add the possibilty to hit shift and enter to save fomrs
2018-11-21 14:46:08 +01:00
Sean 224f98bf49
Merge pull request #4022 from CatoTH/Bugfix-Diff-Port
OS3-Port of #4020
2018-11-21 13:27:37 +01:00
Oskar Hahn 619a589731
Merge pull request #4021 from ostcar/fix_double_elements_in_autoupdate
fix douple elements
2018-11-20 22:34:02 +01:00
Sean 01c593e9be
Merge pull request #3957 from CatoTH/StatuteParagraphAmendments
Creating / Editing / Showing statute paragraph amendments
2018-11-20 16:54:16 +01:00
Jochen Saalfeld 7ae95b9208
Merge pull request #4019 from tsiegleauq/mediafile-upload
Upload media files
2018-11-20 16:15:34 +01:00
Tobias Hößl d3fc006ddc Creating / Editing statute paragraph amendments 2018-11-20 14:40:01 +01:00
Sean Engelhardt e791177ac5 Upload media files 2018-11-20 14:29:36 +01:00
Tobias Hößl 88ee3053c9
OS3-Port of #4020 2018-11-19 20:45:25 +01:00
Oskar Hahn 67d933a206 fix douple elements 2018-11-18 07:57:44 +01:00
Finn Stutzenstein 4f7fa31f22
Merge pull request #4013 from CatoTH/Issue3958-Default-Internal-Value
Change default of change recommendation internal value to public
2018-11-15 15:16:12 +01:00
Tobias Hößl ffc0cd9423
Change default of change recommendation internal value to public 2018-11-15 13:16:43 +01:00
Sean 890196fdcb
Merge pull request #4012 from tsiegleauq/angular703
update dependencies and prettierrc
2018-11-15 02:03:59 -08:00
Sean Engelhardt d67e39b994 update dependencies and prettierrc 2018-11-15 10:24:37 +01:00
Sean 734c7c872b
Merge pull request #4011 from jsaalfeld/fix_wss_connection
fix #4010
2018-11-14 06:30:20 -08:00
Jochen Saalfeld d70d9c4b09
fix #4010 2018-11-14 15:14:08 +01:00
Sean 759ae91aa0
Merge pull request #4008 from tsiegleauq/speaker-indicator-in-list
Speaker indicators in Lists
2018-11-12 09:07:03 -08:00
Sean Engelhardt d968761377 Speaker indicators in Lists 2018-11-12 18:01:04 +01:00
Jochen Saalfeld aa497ad543
Merge pull request #4006 from tsiegleauq/fix_list_of_speakers
Fix broken nested agenda speaker
2018-11-12 14:52:51 +01:00
Sean e5ee71d1a3
Merge pull request #4005 from emanuelschuetze/ui
Template styling improvements
2018-11-12 05:10:26 -08:00
Sean Engelhardt 71e8ccab9c Fix broken nested agenda speaker 2018-11-12 13:54:11 +01:00
Emanuel Schütze 7febb92267 Template styling improvements 2018-11-12 12:01:12 +01:00
Jochen Saalfeld 41caddd976
Merge pull request #4002 from FinnStutzenstein/aufrufliste
first work on the call list
2018-11-09 10:28:03 +01:00
FinnStutzenstein c78de2138f planar call list and HTML cleanup 2018-11-09 10:11:57 +01:00
Jochen Saalfeld 8b9cbda178
Merge pull request #3978 from ostcar/websocket_url
Set websocket url to /ws/
2018-11-09 10:02:32 +01:00
Oskar Hahn 8ee9fb1742 Set websocket url to /ws
The routing is desided by protocol
2018-11-09 09:15:59 +01:00
Sean acce79a1c6
Merge pull request #3989 from emanuelschuetze/i18n
Updated German translations and translatable strings
2018-11-08 20:47:59 +01:00
Emanuel Schütze 128f17e7a4 Updated German translations and translatable strings 2018-11-08 18:50:06 +01:00
Jochen Saalfeld 11a5335777
Merge pull request #3970 from FinnStutzenstein/refineCategories
refine category editing and motion numbering. Fixes the current behav…
2018-11-08 16:12:13 +01:00
FinnStutzenstein 8f939fa933 refine category editing and motion numbering. Fixes the current behavior of double-saving to take effect. 2018-11-08 16:01:08 +01:00
Jochen Saalfeld a2d736bae9
Merge pull request #3996 from FinnStutzenstein/client_perms_for_motion
can_manage_metadata and categories on motion create
2018-11-08 15:56:28 +01:00
FinnStutzenstein b25b5dc928 can_manage_metadata and categories on motion create 2018-11-08 15:51:26 +01:00
Jochen Saalfeld 23b0965ff2
Merge pull request #3961 from tsiegleauq/create_angeda_items
Create agenda topics
2018-11-08 15:05:40 +01:00
Sean 55d279ca4e Create agenda topics
Also:
Enhanced DragNDrop Component
List Of Speakers
2018-11-08 14:54:13 +01:00
Finn Stutzenstein 080b6f52ad
Merge pull request #3968 from FinnStutzenstein/ErrorHandling
error handling
2018-11-08 11:37:48 +01:00
Finn Stutzenstein 9692c2b92e
Merge pull request #3913 from normanjaeckel/NewMotionMetadataPerm
Added new permission to manage metadata
2018-11-08 10:21:52 +01:00
FinnStutzenstein 788beaae2a error handling 2018-11-08 09:32:39 +01:00
Finn Stutzenstein cf533d1174
Merge pull request #3914 from normanjaeckel/PasswordResetEMail
Added PasswordResetView.
2018-11-08 08:53:59 +01:00
Finn Stutzenstein 85b91e7101
Merge pull request #3948 from FinnStutzenstein/changeIdClient
ChangeId for the client
2018-11-08 08:38:42 +01:00
FinnStutzenstein 445aeb0cb4 change id client 2018-11-08 08:04:41 +01:00
Sean 321bdeaa46
Merge pull request #3994 from tsiegleauq/corner-button
Enhanced head bar no 3
2018-11-07 16:32:37 +01:00
Sean Engelhardt 41f2adbc33 Enhanced head bar no 3 2018-11-07 16:21:29 +01:00
Jochen Saalfeld 22d436b6b6
Merge pull request #3988 from jsaalfeld/fix_postgres_migration
fixing #3987 - postgreSQL migration possible again
2018-11-07 08:34:11 +01:00
Jochen Saalfeld 87dbf90922
fixing #3987 - postgreSQL migration possible again 2018-11-06 12:47:47 +01:00
Emanuel Schütze 3fde4dc81f
Merge pull request #3986 from tsiegleauq/set_motion_states
Add motion states
2018-11-05 20:48:45 +01:00
Sean Engelhardt 5d06b8c417 Add motion states 2018-11-05 17:58:30 +01:00
Sean 7bfb097f12
Merge pull request #3967 from FinnStutzenstein/collectionStringModelMapperServiceCleanup
Remove the deprecation warning in the CollectionStringModelMapperService
2018-11-05 11:40:27 +01:00
Norman Jäckel e8a141387b
Merge pull request #3976 from ostcar/update_requirements.txt
Update requirements
2018-11-04 20:10:46 +01:00
Oskar Hahn f56da44606
Merge pull request #3974 from ostcar/remove_collection_element
Remove CollectionElement
2018-11-04 13:55:11 +01:00
Oskar Hahn 57758bed15 Update requirements
* Use a flake8 release again
2018-11-04 13:35:54 +01:00
Oskar Hahn eead4efe6a Remove CollectionElement
* Use user_id: int instead of Optional[CollectionElment] in utils
* Rewrote autoupdate system without CollectionElement
2018-11-04 01:06:01 +01:00
Oskar Hahn 93dfd9ef67
Merge pull request #3973 from ostcar/test_with_redis
add possebility to run tests with redis
2018-11-03 20:54:55 +01:00
Oskar Hahn f4f3ab9c49
Merge pull request #3972 from ostcar/websocket_use_restricted_data
Fix error, that user get full_data when restricted_data_cache was enabled
2018-11-03 20:53:52 +01:00
Oskar Hahn edbde302df
Merge pull request #3966 from ostcar/remove_collection_class
Remove utils.collections.Collection class and other cleanups
2018-11-03 20:53:34 +01:00
Oskar Hahn cd34d30866 Remove utils.collections.Collection class and other cleanups
* Activate restricted_data_cache on inmemory cache
* Use ElementCache in rest-api get requests
* Get requests on the restapi return 404 when the user has no permission
* Added async function for has_perm and in_some_groups
* changed Cachable.get_restricted_data to be an ansync function
* rewrote required_user_system
* changed default implementation of access_permission.check_permission to
  check a given permission or check if anonymous is enabled
2018-11-03 20:48:19 +01:00
FinnStutzenstein 621b0471f2 Client: password reset view and reset password confirm view 2018-11-03 20:43:49 +01:00
Norman Jäckel e03d715602 Added PasswordResetView. 2018-11-03 20:43:49 +01:00
Emanuel Schütze 2abf8e27ca Added missing migration file. Added permission to admin and staff group. 2018-11-03 20:17:41 +01:00
Norman Jäckel af26dedfaf Added new permission to manage metadata. 2018-11-03 20:17:41 +01:00
Oskar Hahn d11c7bbad7 add possebility to run tests with redis 2018-11-03 16:59:21 +01:00
Oskar Hahn 6480f1cee9 Fix error, that user got full_data when restricted_data_cache was enabled 2018-11-03 14:37:47 +01:00
Emanuel Schütze f48410024e
Merge pull request #3931 from MaximilianKrambach/os3/export
CSV export (example implementation in user list)
2018-11-02 20:09:34 +01:00
Sean a098e5c5c9
Merge pull request #3929 from FinnStutzenstein/motionComment
motion comments in the motion detail view
2018-11-02 18:46:16 +01:00
Maximilian Krambach 86b6296205 saving as CSV implemented (user list) 2018-11-02 17:57:44 +01:00
Sean 8aca83a6bf
Merge pull request #3964 from jsaalfeld/fix_urlPrefix
fixing urlPrefix in prod environment
2018-11-02 10:14:21 +01:00
Jochen Saalfeld 8b191e9e0a
fixing urlPrefix in prod environment 2018-11-02 08:49:02 +01:00
FinnStutzenstein b749231213 Remove the deprecation warning in the CollectionStringModelMapperService 2018-11-02 08:36:03 +01:00
Finn Stutzenstein 5b3e63ac82
Merge pull request #3960 from jsaalfeld/update_dockerfile
updating Dockerfile for Version 3
2018-11-02 08:16:30 +01:00
Finn Stutzenstein 0b1d11f03f
Merge pull request #3965 from ostcar/fix_change_id_on_connection
Fix error on to big change id on websocket connection
2018-11-02 07:48:24 +01:00
Oskar Hahn b97e643b33 Fix error on to big change id on websocket connection 2018-11-02 05:12:20 +01:00
FinnStutzenstein 430dbc1dff motion comments and personal note in the motion detail view 2018-11-01 13:09:09 +01:00
Sean 4f7d860280
Merge pull request #3950 from FinnStutzenstein/refineHttpService
Refine the HTTP Service.
2018-11-01 11:30:20 +01:00
FinnStutzenstein 060e68844d Refine the HTTP Service. 2018-11-01 11:22:41 +01:00
Finn Stutzenstein 72e3df8b65
Merge pull request #3928 from normanjaeckel/StripResponse
Strip out response.data.
2018-11-01 07:59:59 +01:00
Oskar Hahn f4cf9f30a1
Merge pull request #3959 from normanjaeckel/AutoupdateSplitUp
Split up autoupdate functions (sync and async).
2018-10-30 17:18:45 +01:00
Jochen Saalfeld e146bc9f71
updating Dockerfile for Version 3 2018-10-30 15:59:02 +01:00
Norman Jäckel 30c0773838 Split up autoupdate functions (sync and async). 2018-10-30 13:07:24 +01:00
Sean eeb29d140b
Merge pull request #3940 from CatoTH/OpenSlides-3-ChangeRecommendations-internal
Internal change recommendations
2018-10-30 10:02:04 +01:00
FinnStutzenstein e59497bc54
Setting change recommendations internal 2018-10-29 20:33:40 +01:00
Sean 3d65a244cc
Merge pull request #3952 from CatoTH/OpenSlides-3-Diff-Bugfixes
Diff bugfixes: port of #3946 & #3943 - fixes #3944
2018-10-29 18:06:52 +01:00
Oskar Hahn 4fb51d8e49
Merge pull request #3941 from ostcar/remove_projektor_code
Remove old projector code
2018-10-29 13:48:50 +01:00
Oskar Hahn b034839ac8 Remove old projector code 2018-10-29 13:10:15 +01:00
Oskar Hahn f0d60a6a96
Merge pull request #3955 from ostcar/websocket_protocol2
Move websocket protocoll in apps
2018-10-29 13:05:40 +01:00
Oskar Hahn 0229bb923d Move websocket protocoll in apps 2018-10-29 12:33:15 +01:00
Oskar Hahn 6ed5650262
Merge pull request #3956 from ostcar/use_typing_protocol
Use Protocol instead of ABC in cache_provicer
2018-10-29 12:33:01 +01:00
Norman Jäckel 6441347d10 Strip out response.data. 2018-10-29 08:52:52 +01:00
Oskar Hahn c405b4b323 Use Protocol instead of ABC in cache_provicer 2018-10-28 10:37:16 +01:00
Oskar Hahn 69e25a57e1
Merge pull request #3953 from ostcar/change_id_fixes
Add test for second getElement request
2018-10-27 15:06:11 +02:00
Oskar Hahn b9e24016c1 Add test for second getElement request 2018-10-27 14:56:22 +02:00
Tobias Hößl d5bd8761ee
Diff bugfixes: port of #3946 & #3943 - fixes #3944 2018-10-27 11:59:42 +02:00
Finn Stutzenstein 95fab6b991
Merge pull request #3947 from FinnStutzenstein/changeIdQuickfix
Client quickfix for autoupdates
2018-10-26 08:24:02 +02:00
FinnStutzenstein 654404f8f4 Client quickfix for autoupdates 2018-10-26 08:19:07 +02:00
Oskar Hahn bd8ea6fb5b
Merge pull request #3938 from ostcar/public_change_id_api
Public change id api
2018-10-26 06:37:12 +02:00
Oskar Hahn e7d14a8081 Change_id API
* Improve AutoUpdateFormat
* Receive autoupdate requested via websocket
* Support change_id in query string
* Disable autoupdate at default
* Add websocket protocoll to turn on or off autoupdate
2018-10-26 06:30:01 +02:00
Oskar Hahn 1c99c0c40a
Merge pull request #3924 from ostcar/remove-old-client
remove old client
2018-10-26 06:24:49 +02:00
Oskar Hahn 9eef4da21c remove old client 2018-10-25 16:04:28 +02:00
Sean 02fe1817cb
Merge pull request #3927 from MaximilianKrambach/tags
Tags
2018-10-24 11:50:24 +02:00
Maximilian Krambach 126a16b553 Implement tags 2018-10-24 11:23:34 +02:00
Sean e3cf8102de
Merge pull request #3911 from jsaalfeld/motions_in_categories
Motions in categories
2018-10-23 14:20:29 +02:00
Sean Engelhardt 2a06075315 Repair Categories, DataSend and Motion Detail
update to angular 7
2018-10-23 13:44:47 +02:00
Jochen Saalfeld a7b01fc09c implementing sorting in categories (fixes #3903) 2018-10-23 13:19:43 +02:00
Sean 454488028f
Merge pull request #3909 from tsiegleauq/shared-detail-bar
Shared detail bar
2018-10-23 12:31:02 +02:00
sean 4d26316e1e Enhance os-head-bar
Headbar now works with multi slot transclusion
Supports more cases and detail bar

Also adds some UI UX improvements
2018-10-23 11:47:18 +02:00
Sean 794b978627
Merge pull request #3907 from CatoTH/OpenSlides-3-ChangeRecommendations
Line Numbering / Change Recommendations
2018-10-23 09:45:30 +02:00
Tobias Hößl 46ad38a98a
Change recommendations 2018-10-22 18:45:08 +02:00
Tobias Hößl db25ac6bf4
Diff & Line numbering services 2018-10-22 18:44:58 +02:00
Oskar Hahn 645ae4a784
Merge pull request #3939 from ostcar/update_requirements
update requirements
2018-10-20 23:16:12 +02:00
Oskar Hahn 570d32dd6b update requirements 2018-10-19 22:56:00 +02:00
Finn Stutzenstein 214a310069
Merge pull request #3919 from FinnStutzenstein/statute
statute paragraphs list view
2018-10-19 07:50:04 +02:00
FinnStutzenstein 64f6f35e31 statute paragraphs list view 2018-10-19 07:41:15 +02:00
Finn Stutzenstein 236dc21d62
Merge pull request #3926 from ostcar/new_autoupdate_format
New autoupdate format
2018-10-19 07:40:42 +02:00
Oskar Hahn 5b5d0e395a new autoupdate format 2018-10-19 07:35:59 +02:00
Oskar Hahn 1ba3af968d
Merge pull request #3925 from ostcar/cache_improvements
Improve redis cache
2018-10-16 22:06:06 +02:00
Sean 313df50575
Merge pull request #3916 from MaximilianKrambach/os3/fonts
Switch heading fonts to roboto-condensed
2018-10-16 14:47:10 +02:00
Maximilian Krambach 2dcf8e8de5 Switch heading fonts to roboto-condensed 2018-10-16 10:58:36 +02:00
Oskar Hahn bc442210fb Improve redis cache
* delete only keys with prefix
* Make redis_provider atomic with transactions and lua scripts
* improve lock
* generate change_id in redis to make sure it is uniq
* use miliseconds as starttime
* add argument use max_change_id to get_{full|resticted}_data
2018-10-15 23:37:26 +02:00
Oskar Hahn becdef26a8
Merge pull request #3923 from ostcar/new-master
Merge OpenSlides-3 branch into the master branch
2018-10-13 07:46:31 +02:00
Oskar Hahn b1fa3ca263 Merge remote-tracking branch 'upstream/OpenSlides-3' into new-master 2018-10-13 07:38:09 +02:00
Sean 1b3a287642
Merge pull request #3917 from MaximilianKrambach/os3/material-icons
Adding material icons
2018-10-12 15:20:21 +02:00
Sean Engelhardt 2cc9188962 Add Material Icon library
replace font-awesome icons with material icons
2018-10-12 15:13:57 +02:00
Sean 54ee775c64
Merge pull request #3920 from tsiegleauq/statute-hotfix
Hotfix for MotionStatute
2018-10-12 13:20:28 +02:00
Sean Engelhardt faef3ac97e Hotfix for MotionStatute 2018-10-12 13:11:05 +02:00
Finn Stutzenstein 64e9cb9e29
Merge pull request #3910 from FinnStutzenstein/superadmin
Superadmin group
2018-10-12 09:16:33 +02:00
FinnStutzenstein 1e4eacecfd New superadmin group 2018-10-12 07:58:18 +02:00
Finn Stutzenstein 8cd55352c6
Merge pull request #3894 from FinnStutzenstein/newMotionFeatures
New motion features
2018-10-12 07:34:43 +02:00
FinnStutzenstein f7d392f1fc New motion features
- Added weight and sort_parent fields to the motion model
- Added motion sort view (adapted from agenda)
- Added statute-paragraph model and tests for it
- Added statute_paragraph foreign key to the motion model
- Created migrations for sorting and statute-paragraph
2018-10-12 07:15:58 +02:00
Sean db29d1cab1
Merge pull request #3915 from MaximilianKrambach/os3/fonts
os3: Change default font to Roboto
2018-10-11 15:07:34 +02:00
Maximilian Krambach 831b0a42ae add roboto/roboto-condensed font, set as used font (wip) 2018-10-11 14:37:20 +02:00
Finn Stutzenstein 24abdc7bd0
Merge pull request #3905 from FinnStutzenstein/commentfields
Motion comment section list
2018-10-09 14:03:30 +02:00
FinnStutzenstein b1ea59ea28 Motion comment section list 2018-10-09 13:57:55 +02:00
Finn Stutzenstein d1bc995830
Merge pull request #3908 from tsiegleauq/ul-groups
Add group matrix.
2018-10-09 13:41:33 +02:00
sean 33922f1abf Add group matrix.
Create, Read, Update, Delete works
2018-10-09 13:36:30 +02:00
Finn Stutzenstein 81aa763ae9
Merge pull request #3895 from MaximilianKrambach/os3/settings
implement settings
2018-10-09 13:13:33 +02:00
Maximilian Krambach 5c1092b537 implement settings
Whats still missing, but has not a high priority:
- DateTimePicker. Entering dates through the popup works (but only with
a hack in the config-field.component update() method). Displaying values
from the server does not work. Also the localisation is missing. See
attempts to fix it in the sheared module.
- Errors, if the server cannot be reached. Should be solved in another
PR fixing the datasendservice and make generic error messages.
- Custom translations are missing
2018-10-09 13:06:44 +02:00
Finn Stutzenstein 8a04951940
Merge pull request #3865 from FinnStutzenstein/OpenSlides-3-tests
OpenSlides 3 tests
2018-10-08 14:16:55 +02:00
Tobias Hößl 9f291308aa Initial tests for OpenSlides3. Parallel execution of server and client
tests.
2018-10-08 14:10:18 +02:00
Sean 5d4faa288b
Merge pull request #3897 from jsaalfeld/angular7
Updating Angular to the new 7 RC
2018-10-01 17:26:48 +02:00
Jochen Saalfeld e013aeea64
Updating Angular to the new 7 beta
This enables us to use Drag n Drop and other components, without
using any plugins.
2018-10-01 09:06:40 +02:00
Finn Stutzenstein 19d78a3361
Merge pull request #3890 from FinnStutzenstein/plugins3
App initialization
2018-09-28 15:55:37 +02:00
Sean 9e0872878a
Merge pull request #3901 from tsiegleauq/motion_control+fix
Add motion controls + small fixes
2018-09-28 15:51:22 +02:00
Sean Engelhardt 0c05eb38e2 Add motion controls + small fixes 2018-09-28 15:18:20 +02:00
Oskar Hahn 2b5df310af
Merge pull request #3892 from ostcar/update-dev-tools
update the dev tools
2018-09-28 15:13:04 +02:00
FinnStutzenstein be9f98cfd0 App initialization
Used for internal apps as well as for plugins. The pluginpart is
currently missing, in fact that the main OpenSlides part is more
important. Apps can give their models and mainmenu entries.

Routes are not enabled, because the routes have to be static for webpack
to build the bundles. If we want to keep lazy loading, I see no
possibility to encapsulate the routes from the site-routing module.
2018-09-28 15:03:04 +02:00
Sean b6ad0d759c
Merge pull request #3891 from tsiegleauq/cu-user
User create update and details view

Some open tasks left (features are quire heavy). See recent issues
2018-09-28 12:42:30 +02:00
sean adb7556be0 User create update and details view 2018-09-28 12:29:33 +02:00
Norman Jäckel 8bc7828e60
Merge pull request #3868 from tsiegleauq/remove_root_package-lock
Remove package-lock from root, add it to gitignore (fixes #3858)
2018-09-24 21:11:19 +02:00
Emanuel Schütze d4f9da9cdb
Merge pull request #3889 from FinnStutzenstein/fixImagePlugin
Fix image plugin
2018-09-24 13:06:50 +02:00
Sean 781a2dcdf8
Merge pull request #3887 from jsaalfeld/categories
implementing categories
2018-09-24 10:53:30 +02:00
Jochen Saalfeld d785d77207 restructuring patching of values to ensure type safety
fix disappearing submitters (hopefully)

- replaced "motion from form values" function with deserialize
- fix some typos
- make id id again

null, in contrast to undefined, will be send to the server...

Better typing and changed the create/update signatures in BaseViewModel

- use object as default type for BaseModel.
- use partial objects for updating
- Displayable should not have an id. Moved this into own interface
Identifiable and make the id in the BaseViewMotion abstract.
- create only takes a BaseModel. A ViewModel should not exists so far.
- Updated the update and create method for motions.
2018-09-24 10:45:53 +02:00
Oskar Hahn 07a8a5c3cb update the dev tools 2018-09-23 18:07:49 +02:00
Oskar Hahn b6968fdfd5
Merge pull request #3843 from ostcar/ensuce_cache
ensures test on startup
2018-09-23 17:12:04 +02:00
Oskar Hahn 9af6bf1606 ensures test on startup 2018-09-23 16:57:49 +02:00
FinnStutzenstein eebd7a1fce Fix image plugin 2018-09-20 13:06:02 +02:00
Jochen Saalfeld 48526d6c19
implementing categories 2018-09-20 11:22:24 +02:00
Emanuel Schütze d2c4aff7a4
Merge pull request #3888 from emanuelschuetze/release2.3
Release 2.3
2018-09-20 09:33:18 +02:00
Emanuel Schütze dca94333e8 Update version to 2.3.1-dev 2018-09-20 09:27:03 +02:00
Emanuel Schütze 772c032357 Release 2.3 2018-09-20 09:24:34 +02:00
Emanuel Schütze 7b9d84dabd
Merge pull request #3886 from FinnStutzenstein/export-filename
Fixed filenames in motion export dialog
2018-09-18 19:37:02 +02:00
FinnStutzenstein 2815d5f62c Fixed filenames in motion export dialog 2018-09-18 15:03:55 +02:00
Finn Stutzenstein 849da27745
Merge pull request #3877 from tsiegleauq/views
Create more list views
2018-09-18 11:52:10 +02:00
Emanuel Schütze 3481ca58d8
Merge pull request #3885 from emanuelschuetze/translations
Updated German translations.
2018-09-18 11:23:17 +02:00
Emanuel Schütze 7a9921a85f Updated German translations. 2018-09-18 10:42:57 +02:00
Sean Engelhardt 80cfeaac35 Create more list views
Also:
- Update dependencies
- Clean up proxy file
2018-09-18 10:21:59 +02:00
Emanuel Schütze 9432367f1b
Merge pull request #3884 from FinnStutzenstein/fixes
Little fixes for current master (fixes #3883, fixes #3882, fixes #3880)
2018-09-18 09:57:01 +02:00
FinnStutzenstein f17951f363 Little fixes for current master (fixes #3883, fixes #3882, fixes #3880) 2018-09-18 09:49:40 +02:00
Finn Stutzenstein 582c2603a6
Merge pull request #3860 from FinnStutzenstein/fixed-config-variables
Moved the collection of config variables before the generation of ang…
2018-09-18 07:56:12 +02:00
FinnStutzenstein 180dedfc38 Moved the collection of config variables before the generation of angular constants 2018-09-18 07:50:33 +02:00
Emanuel Schütze c164766fa5
Merge pull request #3879 from emanuelschuetze/readme
Updated 'used software' links in README. Fixed formatting for pypi.
2018-09-17 10:24:17 +02:00
Emanuel Schütze f340048d56 Updated 'used software' links in README. Fixed formatting for pypi. 2018-09-17 09:46:51 +02:00
Sean 9d59da1352
Merge pull request #3869 from FinnStutzenstein/modelInterface
Introduce more basemodel functionality used by the agenda, generic views
2018-09-14 11:06:30 +02:00
FinnStutzenstein 1ee76de417 Handling of titles, projection and content objects in items
Restructure the titles for motion, motion-block, assignment and topic.
Less possibilities for more clear code. Added mote base models enabling
functionalities of projection and being a content object for items
2018-09-14 08:36:35 +02:00
Sean 68b39ee8f4
Merge pull request #3870 from FinnStutzenstein/DS
Don't static-inject the DataStore
2018-09-13 17:17:26 +02:00
FinnStutzenstein faa2507c0d remove console.log 2018-09-13 15:07:56 +02:00
FinnStutzenstein 1b691f5eb6 Removed root injector 2018-09-13 15:06:43 +02:00
Finn Stutzenstein 2269ddef91
Merge pull request #3866 from jsaalfeld/sc_multi_value_selector
multi-value-selector as shared component
2018-09-13 08:33:18 +02:00
Jochen Saalfeld 535e0b2ba3
search-value-selector as shared component
Also making sure that every BaseModel implements onString to be
displayable by a Selector.

And adding the new search-value-selector in the motion-detail-view
2018-09-13 07:57:46 +02:00
Sean Engelhardt 7e91f416ec Remove package-lock from root, add it to gitignore 2018-09-11 11:13:56 +02:00
Sean 34412c7d9e
Merge pull request #3867 from FinnStutzenstein/baseRepo
first work for BaseRepo
2018-09-11 11:02:25 +02:00
FinnStutzenstein 0a40e4e292 first work for BaseRepo 2018-09-11 10:50:53 +02:00
Finn Stutzenstein c25aa682ef
Merge pull request #3854 from tsiegleauq/motion_repo
Motion Repository
2018-09-10 14:59:17 +02:00
Sean Engelhardt 39f266d2de Motion Repository
Adds a repository to remove the logic in the motion domain object
The repository will add a new model layer between the components
and the domain objects

implicitly add a new buttion into the motion detail view
2018-09-10 14:53:47 +02:00
Finn Stutzenstein a5f06d3347
Merge pull request #3863 from FinnStutzenstein/constructors
rework on model constructors, adapt newest changes to motion models
2018-09-10 11:57:29 +02:00
FinnStutzenstein 4717529ed0 rework on model constructors, adapt newest changes to motion models 2018-09-10 11:47:28 +02:00
Finn Stutzenstein 44b287248c
Merge pull request #3864 from tsiegleauq/restructure_pp_ln
Routing for Privacy Policy and Legal Notice + Restructure Login Components
2018-09-10 11:46:22 +02:00
FinnStutzenstein 3e0618063b Routing for the privacy policy and legal notice.
Save those values in a new service, that will also watch for changes in
config variables. UI is not good; this can be done later

Share legal notice and privacy policy

Created some containers for them
2018-09-10 11:39:46 +02:00
Finn Stutzenstein 805b6a3fdd
Merge pull request #3862 from FinnStutzenstein/linter
Stricter linting rules
2018-09-10 10:32:19 +02:00
FinnStutzenstein 9bb44f13bd Stricter linting rules
Parameter and return types are required now
2018-09-10 10:24:28 +02:00
Finn Stutzenstein 0abd36b75c
Merge pull request #3861 from FinnStutzenstein/interfered-generics-in-DS
Type interference for the DS
2018-09-10 10:14:07 +02:00
FinnStutzenstein dc0c92253d Type interference for the DS 2018-09-10 09:53:21 +02:00
Finn Stutzenstein 548e720795
Merge pull request #3842 from FinnStutzenstein/no-motion-version
Remove motion version and comments rework
2018-09-10 09:09:14 +02:00
FinnStutzenstein f1ddd16dc6 Motion rework
- remove motion version
- migrations for versions and change recommendations
- Redone motion comments. Wording changed from comment fields to comment
  sections
- fixed test order, tests are not atomic
- introduce get_group_model. Just use OpenSlides Groups and not the
django's ones.
2018-09-10 09:00:55 +02:00
Finn Stutzenstein 3b57fbcd8c
Merge pull request #3857 from FinnStutzenstein/delete-observable
changed and deleted observable for the datastore. Removed ModelId
2018-09-10 08:33:20 +02:00
Finn Stutzenstein 1d16c6e88e
Merge pull request #3856 from jsaalfeld/npm_updates
updating dependencies and replacing node-uuid with uuid
2018-09-10 08:16:57 +02:00
FinnStutzenstein e53a75f922 changed and deleted observable for the datastore. Removed ModelId 2018-09-07 12:51:16 +02:00
Finn Stutzenstein befbaba525
Merge pull request #3853 from FinnStutzenstein/workflowId
Expose the workflow id during motion serialization
2018-09-07 11:12:07 +02:00
Jochen Saalfeld 68e27c439e
updating dependencies and replacing node-uuid with uuid 2018-09-07 10:59:13 +02:00
Finn Stutzenstein e0c38cba01
Merge pull request #3855 from jsaalfeld/fix_migrate
fixing pytest version and continue if db not available
2018-09-07 10:49:50 +02:00
Jochen Saalfeld b5366ea90f
fixing pytest version and continue if db not available 2018-09-07 10:39:16 +02:00
FinnStutzenstein 9226874010 Expose the workflow id during motion serialization 2018-09-06 13:39:16 +02:00
Norman Jäckel 4feb2a8e21
Merge pull request #3828 from ostcar/super_fastest_even_faster
Faster then fastes big_mode (with tests)
2018-09-04 21:14:00 +02:00
Finn Stutzenstein 32c7959b1c
Merge pull request #3849 from FinnStutzenstein/constructors
less constructors
2018-09-04 14:58:32 +02:00
FinnStutzenstein 98250f4e45 less constructors 2018-09-04 14:46:21 +02:00
Finn Stutzenstein 753f5f2175
Merge pull request #3850 from FinnStutzenstein/config
ConfigService
2018-09-04 14:44:14 +02:00
FinnStutzenstein 698f3d83fe ConfigService 2018-09-04 14:12:10 +02:00
Finn Stutzenstein 05dd25bf0d
Merge pull request #3845 from tsiegleauq/motion_desktop_view
Add Motion Detail Desktop view
2018-09-04 12:33:35 +02:00
Finn Stutzenstein fab5a8ec02
Merge pull request #3847 from jsaalfeld/fix_footer
inserting fixed footer (with @tsiegleauq)
2018-09-04 12:21:38 +02:00
Jochen Saalfeld 9f226c75ee
inserting fixed footer (with @tsiegleauq) 2018-09-04 12:09:14 +02:00
Sean Engelhardt 90e8c81ddc Add Motion Detail Desktop view 2018-09-04 11:49:58 +02:00
Finn Stutzenstein fa9d8de21c
Merge pull request #3841 from FinnStutzenstein/models-more-types-and-cleanup
More type annotations and resulting changes, cleanup
2018-09-04 11:27:51 +02:00
Finn Stutzenstein 1b02b7c692
Merge pull request #3837 from FinnStutzenstein/constants
Angular constants via WebSocket
2018-09-04 09:40:12 +02:00
FinnStutzenstein 41c09ce9ea More type annotations and resulting changes, cleanup 2018-09-04 09:39:51 +02:00
FinnStutzenstein ea71d0a942 moved privacy policy to users, adapt client 2018-09-04 08:57:54 +02:00
Oskar Hahn 732de97ec2 Make Consumer real async again 2018-09-04 08:57:50 +02:00
FinnStutzenstein 8adaa6118a Angular constants via WebSocket
- new format for constants on the server
- adaptions for the old client
2018-09-04 08:57:11 +02:00
Finn Stutzenstein b6f6d6f720
Merge pull request #3844 from jsaalfeld/update_compodoc
updating the compodoc run command
2018-09-04 08:52:46 +02:00
Finn Stutzenstein 65a9fe2fa2
Merge pull request #3846 from tsiegleauq/change-prefix
change the global prefix to "os"
2018-09-04 08:47:13 +02:00
Sean Engelhardt 0f55527d6a change the global prefix to "os"
Also:
Set linting output to "stylish" (more readable error messages in terminal output)
Remove 2nd linting output
rename "appOsPerms" to just "osPerms" including filename and classname
rename all selectors from "app" to "os"
2018-09-03 18:13:57 +02:00
Jochen Saalfeld 5da2bed4d1
updating the compodoc run command 2018-09-03 12:05:01 +02:00
Jochen Saalfeld b4498e1534 use 3.7-slim instead of 3.7 (#17) 2018-09-01 21:03:57 +02:00
Oskar Hahn c3bc1487d7
Merge pull request #3823 from ostcar/fix_empty_data_in_rest
fix empty values in rest
2018-09-01 15:13:54 +02:00
Emanuel Schütze db919d3a4b
Merge pull request #3840 from emanuelschuetze/release2.3b1
Release2.3b1
2018-08-30 15:34:13 +02:00
Emanuel Schütze 865940bd12 Update version to 2.3b2-dev 2018-08-30 15:24:42 +02:00
Emanuel Schütze 90370ea628 Release 2.3b1 2018-08-30 15:24:42 +02:00
Emanuel Schütze cbd7566885
Merge pull request #3839 from emanuelschuetze/translations
Final translations for 2.3
2018-08-30 15:24:06 +02:00
Emanuel Schütze 48537dbfbf Updated all translations. 2018-08-30 15:08:51 +02:00
Emanuel Schütze 6bae5cf87a Fixed translation strings and permission check. Updated Changelog. 2018-08-30 15:05:08 +02:00
Finn Stutzenstein 970f9e19b2
Merge pull request #3836 from FinnStutzenstein/linter
More linter rules
2018-08-29 15:11:53 +02:00
FinnStutzenstein b4e7d949b1 More linter rules 2018-08-29 13:57:43 +02:00
Finn Stutzenstein b07641b85c
Merge pull request #3834 from FinnStutzenstein/operator
Auth/Operator/Anonymous/WS-Stuff
2018-08-29 13:13:45 +02:00
FinnStutzenstein 4e41e8c603 Auth/Operator/Anonymous/WS-Stuff
- operator is more lightweight
- auth and auth-guard service updated
- anonymous in login form
- improved login form
- websocket retries to reconnect
2018-08-29 13:07:05 +02:00
Finn Stutzenstein 4f463470fc
Merge pull request #3835 from tsiegleauq/head-bar-component
Add reusable head bar component
2018-08-28 14:42:01 +02:00
Sean Engelhardt 897488f3a4 Add reusable head bar component
- implement the head bar in all apps
- work on the documentation
2018-08-28 13:55:19 +02:00
Finn Stutzenstein 65a945841c
Merge pull request #3833 from jsaalfeld/travis-linting
Travis linting and some minor changes
2018-08-28 10:47:12 +02:00
Jochen Saalfeld f8d29d083a
Travis linting and some minor changes
* properly ignore multiple virtual environments and vscode folders

* use scss instead of css in app.component

* remove yarn from client

* remove deprication error

* auditing packages

* updating travis to work with the new client
2018-08-28 10:35:22 +02:00
Finn Stutzenstein 3fced15d7f
Merge pull request #3831 from FinnStutzenstein/clientCaching
Caching, preparations for the chage id
2018-08-27 12:41:56 +02:00
FinnStutzenstein 4d6f703e32 Caching, preparations for the chage id 2018-08-27 12:36:33 +02:00
Emanuel Schütze 1dd1a4bac8
Merge pull request #3832 from FinnStutzenstein/hideSortInAgenda
Hide Sort button in agenda (closes #3812)
2018-08-27 12:14:26 +02:00
FinnStutzenstein d1b52a9302 Hide Sort button in agenda (closes #3812) 2018-08-27 11:24:52 +02:00
Emanuel Schütze b3e86c0507
Merge pull request #3830 from emanuelschuetze/categoryListView
Added motion category list view.
2018-08-27 10:09:52 +02:00
Emanuel Schütze ba496d54b4 Added motion category list view. 2018-08-27 09:10:57 +02:00
Oskar Hahn 2ae42caceb Faster then fastes big_mode (with tests) 2018-08-25 17:11:29 +02:00
Emanuel Schütze bec7224c9b
Merge pull request #3827 from emanuelschuetze/motion-pdf-default
Change default for motion export dialog.
2018-08-24 16:23:22 +02:00
Emanuel Schütze 702bc67334 Change default for motion export dialog. 2018-08-24 16:14:01 +02:00
Emanuel Schütze 053b284691
Merge pull request #3826 from emanuelschuetze/motionPDF
Enable/disable category in motion PDF.
2018-08-24 14:52:17 +02:00
Emanuel Schütze 56706e6cef
Merge pull request #3824 from tsiegleauq/work-on-motion-copy
Work on local motion copy
2018-08-24 14:05:31 +02:00
Emanuel Schütze 6c2fbf7389 Enable/disable category in motion PDF. 2018-08-24 14:00:53 +02:00
Oskar Hahn a67e0943fb
Merge pull request #3825 from ostcar/OpenSlides-3
fix new super fast big mode (even faster)
2018-08-24 13:07:41 +02:00
Oskar Hahn 2613c7fe05 fix new super fast big mode (even faster) 2018-08-24 12:36:21 +02:00
Sean Engelhardt 5fc85f2621 Work on local motion copy 2018-08-24 12:29:07 +02:00
Oskar Hahn dc7ca5e2c4 fix empty values in rest 2018-08-24 12:14:02 +02:00
Finn Stutzenstein 52df9dee68
Merge pull request #3822 from FinnStutzenstein/clientCaching
Singleton DS, inject things into it.
2018-08-24 10:54:58 +02:00
FinnStutzenstein 95564f9a74 Singleton DS, inject things into it. 2018-08-24 10:47:17 +02:00
Norman Jäckel 36cfb41ff7
Merge pull request #3818 from normanjaeckel/Changelog
Changed CHANGELOG.
2018-08-23 21:53:23 +02:00
Norman Jäckel 7c96e2f462 Changed CHANGELOG. 2018-08-23 21:50:46 +02:00
Oskar Hahn 401e7821ae Merge remote-tracking branch 'upstream/master' into OpenSlides-3 2018-08-23 21:31:24 +02:00
Norman Jäckel 7dd7bb1b8d
Merge pull request #3807 from ostcar/websocket_protocol
Add a protocol for websocket
2018-08-23 21:15:48 +02:00
Norman Jäckel 39e27c740e
Merge pull request #3817 from ostcar/extra_requirements
Add an easier way to install big_mode
2018-08-23 21:05:31 +02:00
FinnStutzenstein 22f7d84cae New websocket message format for both clients 2018-08-23 21:02:59 +02:00
Oskar Hahn fed6d6f435 Add a protocol for websocket
{'type': STRING, 'content': ANY}
2018-08-23 21:02:52 +02:00
Oskar Hahn d21d7dc49e Add an easier way to install big_mode 2018-08-23 20:58:56 +02:00
Oskar Hahn e8283ac90b
Merge pull request #3805 from ostcar/drop_python3.5
drop python 3.5
2018-08-23 17:59:57 +02:00
Oskar Hahn aac9dcabf5 drop python 3.5 2018-08-23 17:51:30 +02:00
Finn Stutzenstein cbf8a33b8d
Merge pull request #3815 from tsiegleauq/MobileObserveService
ViewportService and new Prefix
2018-08-23 17:38:42 +02:00
Emanuel Schütze 96637e18c4
Merge pull request #3804 from normanjaeckel/ChangeCollectStatic
Fixed collectstattic command so that it does not write into openslide…
2018-08-23 17:38:26 +02:00
Emanuel Schütze 2a4056816c
Merge pull request #3816 from emanuelschuetze/translations
Updated German translations.
2018-08-23 17:30:15 +02:00
Sean Engelhardt 3d54ee9668 Add viewport service, adjust proxy and environment 2018-08-23 17:25:58 +02:00
Emanuel Schütze 7d24066be7 Updated German translations. 2018-08-23 17:20:40 +02:00
Emanuel Schütze c49eb8bf64
Merge pull request #3808 from FinnStutzenstein/diverses
Layout changes for motion detail view and PDF
2018-08-23 16:49:30 +02:00
FinnStutzenstein cece35b3a5 Layout changes for motion detail view and PDF 2018-08-23 16:38:12 +02:00
Norman Jäckel e012589ab0
Merge pull request #3814 from emanuelschuetze/fix3813
Fixed TypeError in Motion and Assignment Slides (Fixed#3813)
2018-08-23 15:48:15 +02:00
Emanuel Schütze 8ed043bbe8
Merge pull request #3806 from normanjaeckel/FixAgenda
Fixed agenda get_restricted_data() if no agenda items exist.
2018-08-23 15:47:34 +02:00
Norman Jäckel 3578d0e850 Fixed collectstattic command so that it does not write into openslides app dir. 2018-08-23 15:47:19 +02:00
Emanuel Schütze c852f72c20
Merge pull request #3811 from normanjaeckel/ElectionBar
Fixed assignment election bar for votes mode. Fixed #3598.
2018-08-23 15:42:50 +02:00
Emanuel Schütze 0036567f7d Fixed TypeError in Motion and Assignment Slides (Fixed#3813)
in MotionPollDecimalPlaces and AssignmentPollDecimalPlaces
2018-08-23 15:39:15 +02:00
Finn Stutzenstein 95c6628732
Merge pull request #3809 from tsiegleauq/MotionStates
Read the Workflow by state_id in Motion
2018-08-23 15:11:03 +02:00
Sean Engelhardt fc7f68f7db Read the motion workflow by state 2018-08-23 15:00:49 +02:00
Finn Stutzenstein 172f1ed890
Merge pull request #3810 from emanuelschuetze/workflow-sorting
Fix sorting of states in workflow detail view.
2018-08-23 14:35:04 +02:00
Oskar Hahn 545431e23a
Merge pull request #3799 from ostcar/new_big_mode
Updates files for big mode
2018-08-23 11:37:18 +02:00
Norman Jäckel cbd970ba9d Fixed assignment election bar for votes mode. Fixed #3598. 2018-08-23 11:30:46 +02:00
Norman Jäckel 123b7c702b
Merge pull request #3803 from FinnStutzenstein/voting_decimal_places
Support for decimal places in motion and assignment polls
2018-08-23 11:28:26 +02:00
Oskar Hahn 062862683b Updates files for big mode 2018-08-23 11:26:05 +02:00
Emanuel Schütze 2cd8262025 Fix sorting of states in workflow detail view. 2018-08-23 11:12:53 +02:00
Norman Jäckel dc4fd6a93e Fixed agenda get_restricted_data() if no agenda items exist. 2018-08-23 09:48:47 +02:00
Emanuel Schütze 768c97e89c
Merge pull request #3785 from FinnStutzenstein/no-changeable-first-state
Do not allow changing a workflow's first state (closes #3778)
2018-08-23 09:24:29 +02:00
FinnStutzenstein 9c1290ee0b Do not allow changing a workflow's first state (closes #3778) 2018-08-23 09:09:18 +02:00
FinnStutzenstein 9bac396b67 Support for decimal places in motion and assignment polls 2018-08-23 08:53:59 +02:00
Oskar Hahn d09086f08c
Merge pull request #3798 from ostcar/url-schema
New url schema
2018-08-22 22:14:05 +02:00
Oskar Hahn e5dd857e87 New url schema 2018-08-22 22:05:06 +02:00
Emanuel Schütze 11958c9d1b
Merge pull request #3801 from normanjaeckel/FixAgenda
Changed default agenda type for new topics.
2018-08-22 17:47:09 +02:00
Norman Jäckel 27e0564a23 Changed default agenda type for new topics. 2018-08-22 17:27:21 +02:00
Norman Jäckel 48a2a3fe53 Fixed settings creation for windows. 2018-08-22 16:51:46 +02:00
Emanuel Schütze ad6d05639d
Merge pull request #3800 from tsiegleauq/ms4
Add create update forms
2018-08-22 16:28:05 +02:00
Norman Jäckel 83295ebec1
Merge pull request #3797 from normanjaeckel/FixWindows
Fixed settings creation for windows.
2018-08-22 16:04:28 +02:00
Sean Engelhardt 70416df50b Add data-send, option to delete motion 2018-08-22 16:03:49 +02:00
Norman Jäckel 07ffb3b6c5 Fixed settings creation for windows. 2018-08-22 12:39:59 +02:00
Sean Engelhardt de61505b00 Put/Post motions to server
Temporarily over dataStore, will need own service
2018-08-22 11:26:53 +02:00
Oskar Hahn 6d1d085e28
Merge pull request #3796 from ostcar/channels2
Update to  channels 2
2018-08-22 06:37:29 +02:00
Oskar Hahn 10b3bb6497 Update to channels 2
* geis does not work with channels2 and never will be (it has to be python now)
* pytest
* rewrote cache system
* use username instead of pk for admin user in tests
2018-08-22 06:30:11 +02:00
Sean Engelhardt 133ecb4724 add new Motion form 2018-08-21 14:56:26 +02:00
Oskar Hahn d11d2844b8 Merge remote-tracking branch 'upstream/master' into OpenSlides-3 2018-08-20 20:54:54 +02:00
sean b808228b42 Save updated motion in DataStore, reactive form 2018-08-20 18:13:28 +02:00
Sean Engelhardt d26d131fa6 Motion Workflow observing 2018-08-20 15:30:56 +02:00
Sean Engelhardt f1da2689b9 Add motion update form 2018-08-17 15:18:33 +02:00
Emanuel Schütze dbd808c02b
Merge pull request #3794 from emanuelschuetze/translations
Updated German translations.
2018-08-17 10:21:25 +02:00
Emanuel Schütze 6bbaf39bce Updated German translations. 2018-08-17 09:13:09 +02:00
Emanuel Schütze c940275693
Merge pull request #3792 from FinnStutzenstein/diverses
Layout changes, config for enabling amendments in the motions table
2018-08-17 08:46:56 +02:00
FinnStutzenstein 65ec9cbf73 Layout changes, config for enabling amendments in motions table
- fixed update form bug, explicit link to parent motion
- br space in pdf and motion-text (restrict to linenumbermode none)
2018-08-17 08:38:41 +02:00
Emanuel Schütze 4605d4429c
Merge pull request #3790 from FinnStutzenstein/hidden-items
New item type internal.
2018-08-17 08:24:07 +02:00
FinnStutzenstein 1a17862d6b New item type internal.
The old hidden type was used as internal, so everything is changed to
not be shown if the item is internal. hidden is "new", and actually
behaves as hidden now.
2018-08-16 15:28:30 +02:00
Emanuel Schütze 32e20aa670
Merge pull request #3789 from FinnStutzenstein/redis-session
Use newer version of django-redis-sessions, new settings format
2018-08-15 11:45:52 +02:00
FinnStutzenstein 78dab97673 Use newer version of django-redis-sessions, new settings format 2018-08-15 11:37:20 +02:00
Sean Engelhardt 13470ed974 re-add package.json 2018-08-15 10:19:46 +02:00
Sean Engelhardt fa106a46c9 More dynamic Motion-Detail metainfo
* Adjust login page
* Rework legal notice and pp
* Add more custom animations
* Add Router to navigation panel
2018-08-15 10:19:46 +02:00
Sean Engelhardt 54cc737ede Create an infinite amount of virtual motions for testing 2018-08-15 10:19:46 +02:00
Sean Engelhardt 4b8076c562 Hide unset motion detail values. 2018-08-15 10:19:46 +02:00
Sean Engelhardt f01d3a5f6a Motion detail with routing
For small screens only
2018-08-15 10:19:46 +02:00
Sean Engelhardt 7856b7e07f Remove vertical dots, put lang menu in nav 2018-08-15 10:19:46 +02:00
Sean Engelhardt 0099c34615 enhance motion tables with observer 2018-08-15 10:19:46 +02:00
Sean Engelhardt 8cfb5bf597 Hide projector icon for now 2018-08-15 10:19:46 +02:00
Sean Engelhardt e36e4ed655 First motion list view 2018-08-15 10:19:46 +02:00
Sean Engelhardt cbb9185c2a Change language indicator 2018-08-15 10:19:46 +02:00
Sean Engelhardt fcc5c008a1 Read and observe config values in start page 2018-08-15 10:19:46 +02:00
Sean Engelhardt b64b49cc2e Layout and translation fixes 2018-08-15 10:19:46 +02:00
Sean Engelhardt c5b38cc430 Improve user menu 2018-08-15 10:19:46 +02:00
Sean Engelhardt a6ba1b92dc Add legal notice and privacy police
enhanced visuals and site container
2018-08-15 10:19:46 +02:00
Sean Engelhardt ec646a80dc Add animation to transitions, and navigation.
Also add new login page with validation
2018-08-15 10:19:46 +02:00
Sean Engelhardt 41ba616dc1 create OpenSlides3 Material CSS Theme
Add theming options, custom component theming.
Creating themes for specfic brands is very easy now.
2018-08-15 10:19:46 +02:00
Sean Engelhardt 76ce18cfd8 Add modules and lazy loading
- core modules contains core services
- shared module contains "dumb" components (directives, models)
  - used by nearly all modules
- site, it's children and projector are now feature modules
  - full lazy loading with independent routing
  - routing for children (extremely helpful for plugins (later))
2018-08-15 10:19:46 +02:00
Sean Engelhardt 6b09427565 document, restructure, add relations
- models get other models from DataStore (Relations)
- documentation using Compodoc
- rename and restructure
- http-interceptor makes all http-objections obsolete
- created 'Deserializable model' interface for better mapping of JSON objects
  - Supports multiple nested objects
  - No foreign dependancies, no magic
  - Simple yet efficient deserialize function
  - arrays of nested objects
- created more classes for better OOP AOP
2018-08-15 10:19:46 +02:00
Sean Engelhardt 30ac9c8e36 autoupdate, permissions, operator, directive
-overworked login and logout
-new directive 'appOsPerms'
(former os-perms)
-appOsPerms compares with groups in Operator
-login observes operator for user-information
(also serves as example on how to user observables and subjects)
-operator observes datastore for groups
(so the  operators knows it's groups by creation or directly after an
autoupdate)
2018-08-15 10:19:46 +02:00
Sean Engelhardt 2331ecd6b8 Add classes for models, rework datastore, injections
- Basic construction and datatypes of all objects
- create objects out of websocket response
- autoupdate service
- re-structure core models
- DataStore is easier to use
2018-08-15 10:19:46 +02:00
Sean Engelhardt 2b60b4ef4f simplify models, and datastore
- example on static functions and TS generics
- exmaple on data encapsulation and "single responsibility"
2018-08-15 10:19:46 +02:00
FinnStutzenstein 8b31fa15f2 First Idea for the DataStore 2018-08-15 10:19:46 +02:00
FinnStutzenstein b9116b799d updte yarn.lock 2018-08-15 10:19:46 +02:00
Sean Engelhardt e605649a9b Add translation module and lang switcher
- uses ngx-translate
- extracts all strings marked with " XXX | translate " or <X translate>
  using ngx-translate-extract (npm run extract)
- custom translation loader prevents empty strings
- default language is english
- will try to use the browsers language, will fallback to english
- functional language switching menu
- not compatible with current PO files
- current JSON-translation can be re-used
2018-08-15 10:19:46 +02:00
Sean Engelhardt 0b6996b700 Add WebSockets using rxjs/webSocket, autoupdate example 2018-08-15 10:19:46 +02:00
Sean Engelhardt 986e5f03b5 Add Material "Snackbar", restructure projector
- Since MaterialUI does not have an equivalent to bootstrap alterts,
the toast service and alert service are marked as deprecated for now.
The functionality has been replaced with the snackbar.
2018-08-15 10:19:46 +02:00
Sean Engelhardt 4966092b31 Add basic material ui components 2018-08-15 10:19:46 +02:00
Sean Engelhardt 42473e1a8a cleanup and refractor code
-combine the features of the two previous commits
-add prettier and pretty-quick
-more routing and logout button
2018-08-15 10:19:46 +02:00
FinnStutzenstein 3f78ba1f3d Structural changes:
- AuthenticationService->AuthService
- removed underscore-directories
- put site related stuff into site/
- same for projector
- auth service went into a core/ directory, used by site and projector
- the alert is now not global anymore. Every view can have its own alert
- make the auth service query users/whoami for the current user
- made a new OpenSlides service for managing the startup
... A lot todo ...
2018-08-15 10:19:45 +02:00
Sean Engelhardt ed2e44b484 Add scaffold for angular 6 client
- basic client structure
- authentication towards OS-server
- access REST-Api
- webpack proxy for convenient usage
- fontawesome
- twitter bootstrap 3.3.7
- login example (recreate login page)
- routing
- template for agenda and motions
- dynamic content loading
- custom alert component
- add auth-guard
- checks if a user is logged in and makes correct forwarding
- authentification towards OS works
- saving the log in information is WIP
2018-08-15 10:19:45 +02:00
Emanuel Schütze 944c00b8a0
Merge pull request #3788 from emanuelschuetze/translations
Updated German translations.
2018-08-14 15:40:44 +02:00
Emanuel Schütze ab587b48cd Updated German translations. 2018-08-14 15:33:33 +02:00
Emanuel Schütze 4b6936572f
Merge pull request #3781 from FinnStutzenstein/modified-final-version
New temporal field for editing the final version of a motion.
2018-08-14 14:24:08 +02:00
FinnStutzenstein e073084f74 New temporal field for editing the final version of a motion. 2018-08-14 14:15:11 +02:00
Emanuel Schütze 7e472ab472
Merge pull request #3787 from FinnStutzenstein/missing_templatehook
Added missing templatehook for the voting plugin
2018-08-14 13:33:10 +02:00
FinnStutzenstein 9f24ec559b Added missing templatehook for the voting plugin 2018-08-14 13:26:54 +02:00
Emanuel Schütze e9ad439cdd
Merge pull request #3774 from FinnStutzenstein/abstain-no-for-assignment-votes
Added general abstain/no fields for assignments. Used in votes mode.
2018-08-14 09:34:37 +02:00
Oskar Hahn 15e4832d40
Merge pull request #3786 from ostcar/requirements_again
support python 3.7
2018-08-11 12:56:56 +02:00
Oskar Hahn 92a39a3fc6 support python 3.7
fix new pep8 stype
2018-08-08 21:46:56 +02:00
Oskar Hahn bf3e000c5b
Merge pull request #3777 from ostcar/update-python-requirements
Update python requirements
2018-08-07 15:29:35 +02:00
Oskar Hahn acceeff8f8 * Update python requirements
* drop python 3.4
2018-08-07 15:23:11 +02:00
FinnStutzenstein bb654f7517 Added general abstain/no fields for assignments. Used in votes mode. 2018-07-28 12:29:26 +02:00
Emanuel Schütze 2da894b517
Merge pull request #3766 from tsiegleauq/Toc-Page-Numbers
Add page numbers categories in motion TOC
2018-07-13 14:43:47 +02:00
Sean Engelhardt 6e4665041e Added page numbers and categories in TOC of motion PDF. 2018-07-13 14:26:29 +02:00
Emanuel Schütze 166d287a75
Merge pull request #3780 from emanuelschuetze/translations
Updated German translations.
2018-07-13 14:07:40 +02:00
Emanuel Schütze 732f5e7327 Updated German translations. 2018-07-13 13:47:13 +02:00
Emanuel Schütze 5d966192c0
Merge pull request #3768 from tsiegleauq/pdf-logo-right
Add motion PDF logos on the right side
2018-07-13 13:44:31 +02:00
FinnStutzenstein 56cdfebe85 Added migrations for the available logos and move old values to new ones, remove old entries in the database 2018-07-13 13:20:22 +02:00
Sean Engelhardt a6ed54eb92 Added new config options to show logos on the right side in motion PDF. 2018-07-13 13:19:55 +02:00
Emanuel Schütze d9d0c84a1a
Merge pull request #3772 from FinnStutzenstein/custom-state-workflow
Custom workflows and states
2018-07-13 10:44:16 +02:00
FinnStutzenstein 9e4cafd0f0 Custom workflows and states:
- Added new workflow list view
 - Added state table for each workflow
 - Added new StateViewSet to handle states of workflows
2018-07-13 10:29:06 +02:00
Emanuel Schütze e9b23c89c2
Merge pull request #3769 from emanuelschuetze/fix-dockerfile
Fix dockerfile to build with gulp4/node10.
2018-07-02 21:32:37 +02:00
Finn Stutzenstein 56a7bd6840
Merge pull request #3767 from FinnStutzenstein/gdpr-login
make the privacy policy available for non logged in users (closes #3757)
2018-06-30 17:03:53 +02:00
Emanuel Schütze 2129ffe73a Fix dockerfile to build with gulp4/node10. 2018-06-26 10:25:24 +02:00
FinnStutzenstein 26d168110f make the privacy policy available for non logged in users (closes #3757) 2018-06-25 17:28:24 +02:00
Emanuel Schütze 4007610a54
Merge pull request #3755 from jsaalfeld/gulp_4
upgrade to node v10 and gulp 4
2018-06-18 19:32:33 +02:00
Jochen Saalfeld c81e318705 Upgrade to node v10 and gulp 4 2018-06-15 08:54:09 +02:00
Emanuel Schütze 393a4f54c2
Merge pull request #3765 from emanuelschuetze/translations
Updated German translations.
2018-06-14 13:40:51 +02:00
Emanuel Schütze 8dca3b5321 Updated German translations.
Changed some strings in source.
Fixed some regressions introduces by new sort-submitters and amendment features.
2018-06-14 13:08:52 +02:00
Emanuel Schütze 5a5475299c
Merge pull request #3637 from CatoTH/Paragraph-Based-Amendments
Paragraph based amendments / Diff
2018-06-14 11:11:39 +02:00
Tobias Hößl d9c08b65b7 New Feature: Paragraph based amendments
With new amendment list table:
- Removed title from table, leadmotion can be selected now
- rename the new list, added the export dialog, multiselect actions and supporter badge in the amendment list view
- Moved collission detection to own factory, compute collissions in the amendment list view
- Delegates can now enter paragraph based amendments
- new amendment list as pdf/csv export
- improved caching of amendments
- Parse styles in headings and removed all double-quotes
- Performance improvements:
  * Removed ng-mouseover/mouseleave actions in amendment-list
  * disable collission detection in amendment list view.
  * Improved state/recommendation dropdown in amendment list.
2018-06-14 11:01:03 +02:00
Emanuel Schütze 7ad7e9fd5d
Merge pull request #3763 from FinnStutzenstein/remarks
Fixed remarks (closes #3760)
2018-06-14 09:31:56 +02:00
FinnStutzenstein 66c72f4345 Fixed remarks (closes #3760) 2018-06-14 07:24:55 +02:00
Emanuel Schütze 5735cebcf9
Merge pull request #3647 from FinnStutzenstein/submitterSort2
Sort submitters
2018-06-13 14:34:31 +02:00
FinnStutzenstein b0a42e19e1 Sort submitters 2018-06-13 14:16:25 +02:00
Emanuel Schütze 6b2a736a6c
Merge pull request #3762 from FinnStutzenstein/typo
typo
2018-06-13 12:32:16 +02:00
FinnStutzenstein 7ad81d3385 typo 2018-06-13 12:13:49 +02:00
Emanuel Schütze 452f788aaa
Merge pull request #3761 from emanuelschuetze/yarn
Updated yarn.lock (for using with node 10.x).
2018-06-13 08:54:08 +02:00
Emanuel Schütze e21985d608 Updated yarn.lock (for using with node 10.x). 2018-06-12 14:21:44 +02:00
Emanuel Schütze a5a8a1371e
Merge pull request #3748 from FinnStutzenstein/scrollProjectorToLine
Scroll projector to a given line
2018-06-12 13:31:19 +02:00
Emanuel Schütze 97bf5adc6a
Merge pull request #3749 from FinnStutzenstein/motionNumberingException
Removed the ValidationError in motion numbering (fixed #3680)
2018-06-12 13:06:29 +02:00
FinnStutzenstein 252ba02e86 Scroll projector to a given line 2018-06-12 13:02:22 +02:00
Emanuel Schütze 011ec56b88
Merge pull request #3759 from emanuelschuetze/release2.2
Release 2.2
2018-06-06 15:18:48 +02:00
Emanuel Schütze 2c1ce6ff37 Update version to 2.3-dev. 2018-06-06 14:23:35 +02:00
Emanuel Schütze 8d64c586bc Release 2.2 2018-06-06 14:16:46 +02:00
Emanuel Schütze bebd7e18e7
Merge pull request #3758 from emanuelschuetze/readme
Updated README and CHANGELOG for 2.2 release.
2018-06-06 14:13:49 +02:00
Emanuel Schütze 054a345808 Updated README and CHANGELOG for 2.2 release.
Rename CHANGELOG to CHANGELOG.rst to show a nice page with linkable sections on GitHub.
2018-06-06 13:36:37 +02:00
Emanuel Schütze 407b640f80
Merge pull request #3740 from FinnStutzenstein/voting-plugin
Changes for the voting plugin and usability improvements
2018-05-29 15:02:37 +02:00
Emanuel Schütze d555801a45
Merge pull request #3754 from emanuelschuetze/translations
Updated all translations.
2018-05-23 16:54:39 +02:00
Emanuel Schütze e4e6becf02 Updated all translations for 2.2 release. 2018-05-23 16:43:17 +02:00
Emanuel Schütze 1b321fb680
Merge pull request #3750 from FinnStutzenstein/assignmentPollInputs
no negative votes and better scrolling in forms with number inputs (c…
2018-05-23 15:58:01 +02:00
Emanuel Schütze e52910a67b
Merge pull request #3751 from jsaalfeld/dsgvo
adding working privacy policy
2018-05-23 15:53:23 +02:00
Jochen Saalfeld 9e66f05603
adding working privacy policy
In order to archive GDPR compliance we need a privacy policy.
2018-05-23 15:13:05 +02:00
FinnStutzenstein e4735b9437 no negative votes and better scrolling in forms with number inputs (closes #3739) 2018-05-22 14:30:25 +02:00
FinnStutzenstein 5833393268 Messaging docstring and user callback
only hide votes for unpublished polls
2018-05-22 09:20:19 +02:00
FinnStutzenstein 562d620851 Removed the ValidationError in motion numbering (fixed #3680) 2018-05-22 07:44:21 +02:00
Emanuel Schütze 7ab5611a50
Merge pull request #3747 from emanuelschuetze/misc-improvements
Minor template improvements and fixes
2018-05-17 09:09:07 +02:00
Emanuel Schütze 682a5eea5a Minor template improvements and fixes
- Fix back-to-motion-block-link in item detail view.
- Show projector name in window title.
- Fix sorting for motion blocks and categories in motion list view.
- Fix missing permission check for editing motion block.
- Improved style of rejected CR in motionn detail view.
2018-05-16 17:50:24 +02:00
Emanuel Schütze 8d7bcedd32
Merge pull request #3746 from FinnStutzenstein/pdfImageErrors
Throw errors, if the pds generation fails, if an image could not be l…
2018-05-16 17:24:52 +02:00
FinnStutzenstein ecb76fd888 Throw errors if pdf generation fails, if an image could not be loaded (fixes #3730) 2018-05-16 17:06:42 +02:00
Emanuel Schütze 79b7fd29cf
Merge pull request #3745 from FinnStutzenstein/groupDelete
Autoupdate with affected users on group delete (fixes #3455)
2018-05-16 16:55:36 +02:00
FinnStutzenstein 185055d604 Autoupdate with affected users on group delete (fixes #3455) 2018-05-16 13:03:37 +02:00
Emanuel Schütze f8df7ddda6
Merge pull request #3742 from FinnStutzenstein/deleteUserChache
Delete restricted data cache on permission changes (closes #3396)
2018-05-16 12:39:40 +02:00
Emanuel Schütze 164867f00d
Merge pull request #3743 from FinnStutzenstein/motionComments
Fixed logic for saving motion comments
2018-05-16 12:11:34 +02:00
FinnStutzenstein 0fd1cd688b Fixed logic for saving motion comments 2018-05-16 11:54:46 +02:00
FinnStutzenstein 2989024cca Delete restricted data cache on permission changes (closes #3396) 2018-05-16 10:59:00 +02:00
Emanuel Schütze a7af01b507
Merge pull request #3738 from FinnStutzenstein/moveCode
fixed #3708
2018-05-15 09:35:14 +02:00
Emanuel Schütze ea8a540a71
Merge pull request #3735 from FinnStutzenstein/improvements
Fixed percentage for special values (fixes #3736), added config to couple the candidates with the list of speakers (closes #3737)
2018-05-15 09:26:31 +02:00
FinnStutzenstein c7a2f5c47c Fixed percentage for special values (fixes #3736), added config to couple the candidates with the list of speakers (closes #3737) 2018-05-11 15:15:53 +02:00
FinnStutzenstein f1ab2b3afc fixed #3708 2018-05-09 08:48:37 +02:00
Emanuel Schütze 39da8f942f
Merge pull request #3734 from FinnStutzenstein/AgendaProjection
Fixes for the item projection (fixes #3733)
2018-05-04 10:44:22 +02:00
FinnStutzenstein 0a141adbd1 Fixes for the item projection (fixes #3733) 2018-05-04 10:27:39 +02:00
Emanuel Schütze 7b9d8d11a6
Merge pull request #3732 from FinnStutzenstein/MotionProjectorFix
Fixed deleted comment fields
2018-05-04 09:34:08 +02:00
FinnStutzenstein d189e5bca8 Fixed deleted comment fields 2018-05-03 17:26:47 +02:00
Emanuel Schütze cb42af7c8b
Merge pull request #3731 from FinnStutzenstein/MotionCommentsInlineEditingFix
Fixed wrong index for inline editors
2018-05-02 20:18:54 +02:00
FinnStutzenstein 902ca96a16 Fixed wrong index for inline editors 2018-05-02 15:35:49 +02:00
Emanuel Schütze b37bad72ef
Merge pull request #3729 from FinnStutzenstein/pdfImageSize
Fixed parsing of image sizes
2018-05-02 13:53:34 +02:00
FinnStutzenstein 06ddd8ee46 Fixed parsing of image sizes 2018-05-02 13:44:35 +02:00
Emanuel Schütze cc5a1ea0fe
Merge pull request #3702 from FinnStutzenstein/motionAgendaTitle
new style for motion agenda title
2018-05-02 13:37:44 +02:00
Emanuel Schütze 331eb9fc22
Merge pull request #3728 from FinnStutzenstein/stylistic-remarks
Fixed stylistic remarks from #3682 (fixes #3709)
2018-05-02 13:35:44 +02:00
FinnStutzenstein 754040570d New style for motion agenda title and list of speakers
Improved list of speakers slide title:
- h2 subtitle: use always motion identifier only (like in motion slides)
- h1 title: use always "list of speakers" (long motion title not useful
  if an other projector shows the motion slide with full title
  (identifier is enough)
2018-05-02 13:29:59 +02:00
FinnStutzenstein 0224c4287a Fixed stylistic remarks from #3682 (fixes #3709) 2018-05-02 10:13:45 +02:00
Emanuel Schütze 60ae155d96
Merge pull request #3724 from emanuelschuetze/translations
Updated German translations.
2018-04-25 16:24:02 +02:00
Emanuel Schütze d522e8e308 Updated German translations. 2018-04-25 16:01:59 +02:00
Emanuel Schütze bf27b6f016
Merge pull request #3723 from emanuelschuetze/fixes
Template improvements
2018-04-25 16:01:21 +02:00
Emanuel Schütze ef2a22fefe Template improvements
- Show item duration and done for normal users correctly.
- Fixed CSS class for countdown warning time.
- Improved projector manage button layout.
- Updated fontawsome icons to 4.7.
- Fixed iframe width/height to show border correctly.
- Improved 'close list of speakers' button.
- Improved 'clear all filter' icons.
- Fixed election pdf if candidate was deleted.
- Moved ban icon for internal icons.
- Improved edit projector form. Show simple scaling steps instead of
  width/height resolution.
- Consolidated both agenda item filters.
- Used better sort icon.
- Installed colordialog plugin for ckeditor to select more colors.
- Several css improvements.
2018-04-25 15:47:39 +02:00
Emanuel Schütze 8680d4af85
Merge pull request #3722 from FinnStutzenstein/betterProjectorButton
precalculate projectorchanges in the client
2018-04-25 14:13:52 +02:00
FinnStutzenstein 08045638ab precalculate projectorchanges in the client 2018-04-25 11:08:23 +02:00
Emanuel Schütze 08b89858c6
Merge pull request #3720 from tsiegleauq/conversations_hook
add template hook in user div
2018-04-24 13:07:00 +02:00
Sean Engelhardt 85e329b9b3 add template hook in user div 2018-04-24 11:53:31 +02:00
Emanuel Schütze 231d8de036
Merge pull request #3719 from FinnStutzenstein/changeMediafileProtectionLogicAgain
Changed mediafile protection logic (closes #3707)
2018-04-24 11:48:21 +02:00
Emanuel Schütze 334a6880b5
Merge pull request #3718 from FinnStutzenstein/autoupdateAmendments
Watch for changes of amendments in the motion detail view.
2018-04-24 11:38:56 +02:00
Emanuel Schütze 15d8a5fbc0
Merge pull request #3717 from FinnStutzenstein/motionProjectorRequirements
Added motions from state and recommendation to the projector requirem…
2018-04-24 11:33:48 +02:00
Emanuel Schütze 024cf6c1b0
Merge pull request #3715 from FinnStutzenstein/projectorDisconnect
Remove projector from projector-all
2018-04-24 11:33:33 +02:00
Emanuel Schütze b8ee6d91f7
Merge pull request #3714 from FinnStutzenstein/pdfjs-distIE11Fix
Fixed IE11 Error in pdfjs-dist
2018-04-24 11:33:16 +02:00
FinnStutzenstein 2220856e5d Changed mediafile protection logic (closes #3707) 2018-04-24 11:32:17 +02:00
FinnStutzenstein 07f3880ad3 Watch for changes of amendments in the motion detail view. 2018-04-24 11:27:33 +02:00
FinnStutzenstein d4a9751474 Added motions from state and recommendation to the projector requirements 2018-04-24 11:22:24 +02:00
FinnStutzenstein 83edfc2af0 Remove projector from projector-all 2018-04-24 11:20:15 +02:00
FinnStutzenstein c3ef007227 Fixed IE11 Error in pdfjs-dist 2018-04-24 11:18:54 +02:00
Emanuel Schütze 198e19d3d1
Merge pull request #3713 from FinnStutzenstein/oneRequestProjection
One request for each projection. Added some validation for clear_elem…
2018-04-24 11:15:04 +02:00
FinnStutzenstein 10038b782f One request for each projection. Added some validation for clear_elements and prune_elements 2018-04-24 10:23:28 +02:00
Emanuel Schütze f1b87af623
Merge pull request #3706 from emanuelschuetze/release2.2b3
Release 2.2b3
2018-04-13 16:26:09 +02:00
Emanuel Schütze 03b17837ed Update version to 2.2b4-dev 2018-04-13 16:08:01 +02:00
528 changed files with 7259 additions and 96460 deletions

37
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,37 @@
---
name: Bug report
about: Create a report to help us improve OpenSlides
title: ""
labels: bug
assignees: ""
---
**Describe the bug**
A clear and concise description of what the bug is.
**How to Reproduce**
Steps to reproduce the behavior: preferably on [nighty](https://nightly.demo.openslides.org)
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**System information**
- OpenSlides-Version: [e.g. 2.1, 2.2, 2.3, 3,0]
- Additional version information (if any): [e.g. commit hash or installation-month]
- Python Version: [e.g. 3,5, 3.6, 3.7]
- Device: [e.g. iPhone6, Notebook]
- OS: [e.g. Andoird 7, iOS8.1, Windows 10]
- Browser: [e.g. chrome, firefox, opera, edge, safari]
- Browser-Version: [e.g. 22]
**Additional context**
Add any other information to comprehend your problem
**Screenshots**
If applicable, add screenshots to help explain your problem.

View File

@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for OpenSlides
title: ""
labels: feature
assignees: ""
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@ -0,0 +1,39 @@
version: "3"
services:
backend:
image: openslides-backend
ports:
- "9002:9002"
environment:
- DATASTORE_READER_HOST=reader
- DATASTORE_READER_PORT=9010
- DATASTORE_WRITER_HOST=writer
- DATASTORE_WRITER_PORT=9011
depends_on:
- writer
- reader
reader:
image: openslides-datastore-reader
environment:
- DATASTORE_ENABLE_DEV_ENVIRONMENT=1
depends_on:
- postgresql
ports:
- "9010:9010"
writer:
image: openslides-datastore-writer
environment:
- DATASTORE_ENABLE_DEV_ENVIRONMENT=1
- MESSAGE_BUS_HOST=redis
- MESSAGE_BUS_PORT=6379
depends_on:
- postgresql
- redis
postgresql:
image: postgres:11
environment:
- POSTGRES_USER=openslides
- POSTGRES_PASSWORD=openslides
- POSTGRES_DB=openslides
redis:
image: redis:alpine

90
.github/workflows/build_images.yml vendored Normal file
View File

@ -0,0 +1,90 @@
---
name: Build Docker images for all OpenSlides services
on: [push, workflow_dispatch]
env:
IMAGE_VERSION: 4.0.0-beta
TAG_SUFFIX: -$(date +%Y%m%d)-${GITHUB_SHA::7}
jobs:
build:
name: Builds Docker images
runs-on: ubuntu-latest
strategy:
matrix:
service:
- name: openslides-proxy
directory: proxy
- name: openslides-client
directory: openslides-client
- name: openslides-backend
directory: openslides-backend
- name: openslides-datastore-reader
directory: openslides-datastore-service
args:
MODULE: reader
PORT: 9010
- name: openslides-datastore-writer
directory: openslides-datastore-service
args:
MODULE: writer
PORT: 9011
- name: openslides-autoupdate
directory: openslides-autoupdate-service
- name: openslides-auth
directory: openslides-auth-service
- name: openslides-vote
directory: openslides-vote-service
- name: openslides-icc
directory: openslides-icc-service
- name: openslides-media
directory: openslides-media-service
- name: openslides-manage
directory: openslides-manage-service
steps:
- name: Check out code
uses: actions/checkout@v2
with:
submodules: true
- name: Build image
working-directory: ${{ matrix.service.directory }}
env:
DOCKER_BUILDKIT: 1
run: |
if [ "${{ matrix.service.name }}" = "openslides-client" ]
then
eval echo ${IMAGE_VERSION}${TAG_SUFFIX} > client/src/assets/version.txt
fi
if [ "${{ matrix.service.args }}" != "" ]
then
export BUILD_ARGS="--build-arg MODULE=${{ matrix.service.args.MODULE }}
--build-arg PORT=${{ matrix.service.args.PORT }}"
fi
docker build . --tag ${{ matrix.service.name }} $BUILD_ARGS
- name: Log into registry
run: echo "${{ secrets.GITHUB_TOKEN }}" |
docker login ghcr.io --username ${{ github.actor }} --password-stdin
- name: Push image
run: |
IMAGE_ID=ghcr.io/${{ github.repository }}/${{ matrix.service.name }}
# Change all uppercase to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag ${{ matrix.service.name }} ${IMAGE_ID}:$(eval echo ${IMAGE_VERSION}${TAG_SUFFIX})
docker tag ${{ matrix.service.name }} ${IMAGE_ID}:latest
docker push ${IMAGE_ID}:$(eval echo ${IMAGE_VERSION}${TAG_SUFFIX})
docker push ${IMAGE_ID}:latest

25
.github/workflows/test-integration.yml vendored Normal file
View File

@ -0,0 +1,25 @@
---
name: Run integration tests (cypress)
on: [push, pull_request]
jobs:
run-cypress:
name: 'Runs integration tests in cypress'
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Build and run OS4 Dev
run: make run-dev ARGS="-d"
- name: Run integration tests (cypress)
uses: cypress-io/github-action@v2
with:
working-directory: integration
wait-on: 'https://localhost:8000'
wait-on-timeout: 300
env:
NODE_TLS_REJECT_UNAUTHORIZED: 0

68
.gitignore vendored
View File

@ -1,37 +1,49 @@
# General
*.pyc
*.swp
*.swo
*.log
*~
# Virtual Environment
.virtualenv/*
.venv/*
# Javascript tools and libraries
node_modules/*
bower_components/*
# Local user data (settings, database, media, search index, static files)
personal_data/*
openslides/static/*
collected-static/*
# Package building/IDE
docs/_build/*
*.egg-info
build/*
dist/*
debug/*
.DS_Store
.idea
*.code-workspace
# Unit test and coverage reports
# docs
docs/modelsvalidator/modelsvalidator
dev-commands/export.json
# certs
*.pem
# Deployment
/docker/docker-compose.yml
/docker/docker-stack.yml
/docker/secrets/auth_*_key
docker/secrets/*.env
# Integration testing
/integration/results
/integration/cypress/downloads
/integration/cypress/screenshots
/integration/cypress/videos
/integration/node_modules
# Old OS3 files and folders
.coverage
tests/file/*
# Plugin development
openslides_*
# Mypy cache for typechecking
.mypy_cache
Compodoc
__pycache__
bower_components
client
make
openslides_*
openslides
personal_data
tests
.launch/
.venv/
.virtualenv/
.vscode/
client/package-lock.json
server/
# OS3+-Submodules
/autoupdate/

36
.gitmodules vendored Normal file
View File

@ -0,0 +1,36 @@
[submodule "openslides-datastore-service"]
path = openslides-datastore-service
url = https://github.com/OpenSlides/openslides-datastore-service.git
branch = main
[submodule "openslides-client"]
path = openslides-client
url = https://github.com/OpenSlides/openslides-client.git
branch = main
[submodule "openslides-backend"]
path = openslides-backend
url = https://github.com/OpenSlides/openslides-backend.git
branch = main
[submodule "openslides-autoupdate-service"]
path = openslides-autoupdate-service
url = https://github.com/OpenSlides/openslides-autoupdate-service.git
branch = main
[submodule "openslides-auth-service"]
path = openslides-auth-service
url = https://github.com/OpenSlides/openslides-auth-service.git
branch = main
[submodule "openslides-media-service"]
path = openslides-media-service
url = https://github.com/OpenSlides/openslides-media-service.git
branch = main
[submodule "openslides-manage-service"]
path = openslides-manage-service
url = https://github.com/OpenSlides/openslides-manage-service.git
branch = main
[submodule "openslides-icc-service"]
path = openslides-icc-service
url = https://github.com/OpenSlides/openslides-icc-service.git
branch = main
[submodule "openslides-vote-service"]
path = openslides-vote-service
url = https://github.com/OpenSlides/openslides-vote-service.git
branch = main

View File

@ -1,35 +0,0 @@
language: python
sudo: false
cache:
pip: true
yarn: true
python:
- "3.4"
- "3.5"
- "3.6"
env:
- TRAVIS_NODE_VERSION="4"
before_install:
- nvm install $TRAVIS_NODE_VERSION
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$PATH"
install:
- pip install --upgrade setuptools pip
- pip install --upgrade --requirement requirements.txt
- pip freeze
- yarn
- node_modules/.bin/gulp --production
script:
- flake8 openslides tests
- if [ "`python --version`" \> "Python 3.5.0" ]; then isort --check-only --recursive openslides tests; fi
- python -m mypy openslides/
- node_modules/.bin/gulp jshint
- node_modules/.bin/karma start --browsers PhantomJS tests/karma/karma.conf.js
- DJANGO_SETTINGS_MODULE='tests.settings' coverage run ./manage.py test tests.unit
- coverage report --fail-under=43
- DJANGO_SETTINGS_MODULE='tests.settings' coverage run ./manage.py test tests.integration
- coverage report --fail-under=73
- DJANGO_SETTINGS_MODULE='tests.settings' ./manage.py test tests.old

11
AUTHORS
View File

@ -22,9 +22,18 @@ Authors of OpenSlides in chronological order of first contribution:
Sean Engelhardt <sean.f.t.engelhardt@gmail.com>
Maximilian Krambach <maximilian.krambach@gmx.de>
Joel Macht <joel.macht@web.de>
Finn Stutzenstein <finn.stutzenstein@hotmail.de>
Finn Stutzenstein <finn.stutzenstein@intevation.de>
Thomas Junk <lilith2k3@archlinux.us>
Meinert Leinigen <openslides@leinigen.cc>
Andreas Engler <engel.a@web.de> (Russian translation)
Raimund Renkert <raimund@renkert.org>
Jochen Saalfeld <jochen.saalfeld@intevation.de>
Fadi Abbud <fmfn13@hotmail.com>
Gabriel Meyer <meyergabriel@live.de>
Gernot Schulz <gernot@intevation.de>
Joshua Sangmeister <joshua.sangmeister@gmail.com>
Ralf Peschke <rpeschke@peschke-it.de>
Ludwig Reiter <ludwig.reiter@intevation.de>
Adrian Richter <adrian@intevation.de>
Camille Akmut
Johannes Rolf <johannes.rolf@rwth-aachen.de>

File diff suppressed because it is too large Load Diff

159
DEVELOPMENT.md Normal file
View File

@ -0,0 +1,159 @@
# Development of OpenSlides 4
## Requirements
You need git, bash, docker, docker-compose, make and openssl installed.
Go is needed to install https://github.com/FiloSottile/mkcert (but Go is not a requirement to start the development server). The development setup uses HTTPS per default. OpenSlides does not work with HTTP anymore since features are required (like http2) that only works in a secure environment.
## Before starting the development
Clone this repository:
$ git clone --recurse-submodules git@github.com:OpenSlides/OpenSlides.git
After cloning you need to initialize all submodules:
$ git submodule update --init
Finally, start the development server:
$ make run-dev
(This command won't run without sudo, or without having set up Docker to run without sudo - see their documentation)
You can access the services independently using their corresponding ports
or access the full stack on
$ https://localhost:8000
## Running tests
To run all tests of all services, execute `run-service-tests`. TODO: Systemtests in this repo.
## Adding a new Service
$ git submodule add <git@myrepo.git>
Append `branch = main` to the new entry in the `.gitmodules` file. Verify,
that it is there (the folder should have 160000 permissions: Submodule) with the
current commit:
$ git diff --cached
Then, commit changes and create a pull request.
## Work in submodules
Create your own fork at github.
Remove the upstream repo as the origin in the submodule:
$ cd <submodule>
$ git remote remove origin
Add your fork and the main repo as origin and upstream
$ git remote add origin `<your fork>`
$ git remote add upstream `<main repo>`
$ git fetch --all
$ git checkout origin main
You can verify that your setup is correct using
$ git remote -v
The output should be similar to
origin git@github.com:<GithubUsername>/OpenSlides.git (fetch)
origin git@github.com:<GithubUsername>/OpenSlides.git (push)
upstream git@github.com:OpenSlides/OpenSlides.git (fetch)
upstream git@github.com:OpenSlides/OpenSlides.git (push)
## Requirements for services
### Environment variables
These environment variables are available:
- `<SERVICE>_HOST`: The host from a required service
- `<SERVICE>_PORT`: The port from a required service
Required services can be `MESSAGE_BUS`, `DATASTORE_WRITER`, `PERMISSION`, `AUTOUPDATE`,
etc. For private services (e.g. a database dedicated to exactly one service),
use the following syntax: `<SERVICE>_<PRIV_SERVICE>_<ATTRIBUTE>`, e.g. the
Postgresql user for the datastore: `DATASTORE_POSTGRESQL_USER`.
### Makefile
A makefile must be provided at the root-level of the service. The currently
required (phony) targets are:
- `run-tests`: Execute all tests from the submodule
- `build-dev`: Build an image with the tag `openslides-<service>-dev`
### Build arguments in the Dockerfile
These build arguments should be supported by every service:
- `REPOSITORY_URL`: The git-url for the repository to use
- `GIT_CHECKOUT`: A branch/tag/commit to check out during the build
Note that meaningful defaults should be provided in the Dockerfile.
## Developing on a single service
Go to the serivce and create a new branch (from main):
$ cd my-service
$ git status # -> on main?
$ git checkout -b my-feature
Run OpenSlides in development mode (e.g. in a new terminal):
$ make run-dev
After making some changes in my-service, create a commit and push to your fork
$ git add -A
$ git commit -m "A meaningful commit message here"
$ git push origin -u my-feature
As the last step, you can create a PR on Github. After merging, these steps are
required to be executed in the main repo:
$ cd my-service
$ git pull upstream main
$ cd ..
$ git diff # -> commit hash changed for my-service
If the update commit should be a PR:
$ git checkout -b updated-my-service
$ git commit -am "Updated my-service"
$ git push origin updated-my-service
Or a direct push on main:
$ git commit -am "Updated my-service"
$ git push origin main
## Working with Submodules
After working in many services with different branches, this command checks
out `main` (or the given branch in the .gitmodules) in all submodules and
pulls main from upstream (This requres to have `upstream`set up as a remote
in all submodules):
$ git submodule foreach -q --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo main); git pull upstream $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo main)'
This command has can also be called from the makefile using:
$ make services-to-main
When changing the branch in the main repo (this one), the submodules do not
automatically gets changed. THis ocmmand checks out all submodules to the given
commits in the main repo:
$ git submodule update

View File

@ -1,267 +0,0 @@
========================
OpenSlides Development
========================
If you want to contribute to OpenSlides, have a look at `OpenSlides website
<https://openslides.org/>`_ and write us an email.
Installation and start of the development version
=================================================
1. Installation on GNU/Linux or Mac OS X
----------------------------------------
a. Check requirements
'''''''''''''''''''''
Make sure that you have installed `Python (>= 3.4) <https://www.python.org/>`_,
`Node.js (>=4.x) <https://nodejs.org/>`_, `Yarn <https://yarnpkg.com/>`_ and
`Git <http://git-scm.com/>`_ on your system. You also need build-essential
packages and header files and a static library for Python.
For Ubuntu 16.04 e. g. follow `Yarn installation instructions
<https://yarnpkg.com/en/docs/install>`_ and run::
$ sudo apt-get install git nodejs nodejs-legacy npm build-essential python3-dev
*Note: For Ubuntu 14.04 you have to update Node.js before. The distribution
version is 0.10.25 which is not sufficient.*
b. Get OpenSlides source code
'''''''''''''''''''''''''''''
Clone current master version from `OpenSlides GitHub repository
<https://github.com/OpenSlides/OpenSlides/>`_::
$ git clone https://github.com/OpenSlides/OpenSlides.git
$ cd OpenSlides
c. Setup a virtual Python environment (optional)
''''''''''''''''''''''''''''''''''''''''''''''''
See step 1. b. in the installation section in the `README.rst
<https://github.com/OpenSlides/OpenSlides/blob/master/README.rst>`_.
d. Install dependencies
'''''''''''''''''''''''
Install all required Python packages::
$ pip install --requirement requirements.txt
Install all Node.js and Bower packages and run several JavaScript build tasks::
$ yarn
Optional: To enhance performance run Gulp in production mode::
$ node_modules/.bin/gulp --production
e. Start OpenSlides
'''''''''''''''''''
Use the command-line interface::
$ python manage.py start
See step 1. d. in the installation section in the `README.rst
<https://github.com/OpenSlides/OpenSlides/blob/master/README.rst>`_.
To get help on the command line options run::
$ python manage.py --help
Later you might want to restart the server with one of the following commands.
To start OpenSlides with Daphne and one worker and to avoid opening new browser
windows run::
$ python manage.py start --no-browser
When debugging something email related change the email backend to console::
$ python manage.py start --debug-email
To start OpenSlides with Daphne and four workers (avoid concurrent write
requests or use PostgreSQL, see below) run::
$ python manage.py runserver
To start OpenSlides with Geiss and one worker and to avoid opening new browser
windows (download Geiss and setup Redis before, see below) run::
$ python manage.py start --no-browser --use-geiss
Use gulp watch in a second command-line interface::
$ node_modules/.bin/gulp watch
2. Installation on Windows
--------------------------
Follow the instructions above (Installation on GNU/Linux or Mac OS X) but care
of the following variations.
To get Python download and run the latest `Python 3.5 32-bit (x86) executable
installer <https://www.python.org/downloads/windows/>`_. Note that the 32-bit
installer is required even on a 64-bit Windows system. If you use the 64-bit
installer, step d. of the instruction might fail unless you installed some
packages manually.
You have to install `MS Visual C++ 2015 build tools
<https://www.microsoft.com/en-us/download/details.aspx?id=48159>`_ before you
install the required python packages for OpenSlides (unfortunately Twisted
16.6.x needs it).
To setup and activate the virtual environment in step c. use::
> .virtualenv\Scripts\activate.bat
All other commands are the same as for GNU/Linux and Mac OS X.
3. Running the test cases
-------------------------
a. Running server tests
'''''''''''''''''''''''
To run some server tests see `.travis.yml
<https://github.com/OpenSlides/OpenSlides/blob/master/.travis.yml>`_.
b. Running AngularJS test cases
'''''''''''''''''''''''''''''''
Run client tests by starting karma::
$ yarn run karma
Watch for file changes and run the tests automatically after each change::
$ yarn run karma:watch
OpenSlides in big mode
======================
In the so called big mode you should use OpenSlides with Redis, PostgreSQL and a
webserver like Apache HTTP Server or nginx as proxy server in front of your
OpenSlides interface server. Optionally you can use `Geiss
<https://github.com/ostcar/geiss/>`_ as interface server instead of Daphne.
1. Install and configure PostgreSQL and Redis
---------------------------------------------
Install `PostgreSQL <https://www.postgresql.org/>`_ and `Redis
<https://redis.io/>`_. For Ubuntu 16.04 e. g. run::
$ sudo apt-get install postgresql libpq-dev redis-server
Be sure that database and redis server is running. For Ubuntu 16.04 e. g. this
was done automatically if you used the package manager.
Then add database user and database. For Ubuntu 16.04 e. g. run::
$ sudo -u postgres createuser --pwprompt --createdb openslides
$ sudo -u postgres createdb --owner=openslides openslides
2. Install additional packages
------------------------------
Install some more required Python packages::
$ pip install -r requirements_big_mode.txt
3. Change OpenSlides settings
-----------------------------
Create OpenSlides settings file if it does not exist::
$ python manage.py createsettings
Change OpenSlides settings file (usually called settings.py): Setup
`DATABASES` entry as mentioned in the settings file. Set `use_redis` to
`True`.
Populate your new database::
$ python manage.py migrate
4. Run OpenSlides
-----------------
First start e. g. four workers (do not use the `--threads` option, because the threads will not spawn across all cores)::
$ python manage.py runworker&
$ python manage.py runworker&
$ python manage.py runworker&
$ python manage.py runworker&
To start Daphne as protocol server run::
$ export DJANGO_SETTINGS_MODULE=settings
$ export PYTHONPATH=personal_data/var/
$ daphne openslides.asgi:channel_layer
To use Geiss instead of Daphne, just download Geiss and start it::
$ python manage.py getgeiss
$ ./personal_data/var/geiss
5. Use Nginx (optional)
When using Nginx as a proxy for delivering staticfiles the performance of the setup will increase very much. For delivering staticfiles you have to collect those::
$ python manage.py collectstatic
This is an example configuration for a single Daphne/Geiss listen on port 8000::
server {
listen 80;
listen [::]:80;
server_name _;
location ~* ^/(?!ws|wss|webclient|core/servertime|core/version|users/whoami|users/login|users/logout|users/setpassword|motions/docxtemplate|agenda/docxtemplate|projector|real-projector|static|media|rest).*$ {
rewrite ^.*$ /static/templates/index.html;
}
location ~* ^/projector.*$ {
rewrite ^.*$ /static/templates/projector-container.html;
}
location ~* ^/real-projector.*$ {
rewrite ^.*$ /static/templates/projector.html;
}
location ~* ^/webclient.*$ {
rewrite ^/webclient/(site|projector).*$ /static/js/webclient-$1.js;
}
location /static {
alias <your path to>/collected-static;
}
location / {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
}
}
Using Nginx as a load balancer is fairly easy. Just start multiple Daphnes/Geiss on different ports, change the `proxy_pass` to `http://openslides/` and add this on top of the Nginx configuration::
upstream openslides {
server localhost:2001;
server localhost:2002;
}

View File

@ -1,39 +0,0 @@
FROM python:3.5
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get install -y libpq-dev supervisor curl vim
## BUILD JS STUFF
RUN wget https://nodejs.org/dist/v6.11.3/node-v6.11.3-linux-x64.tar.xz -P /tmp
RUN cd /tmp && tar xfvJ node-v6.11.3-linux-x64.tar.xz
RUN ln -sf /tmp/node-v6.11.3-linux-x64/bin/node /usr/bin/node
RUN useradd -m openslides
RUN mkdir /app
COPY package.json yarn.lock bower.json gulpfile.js /app/
WORKDIR /app
RUN chown -R openslides /app
USER openslides
RUN curl -o- -L https://yarnpkg.com/install.sh | bash
RUN $HOME/.yarn/bin/yarn --non-interactive
# INSTALL PYTHON DEPENDENCIES
USER root
COPY requirements_*.txt /app/
RUN pip install -r /app/requirements_big_mode.txt
## Clean up
RUN apt-get remove -y python3-pip wget curl
RUN rm -rf /var/lib/apt/lists/*
# BUILD APP
ADD . /app
RUN node_modules/.bin/gulp --production
RUN rm -fr /app/bower_components
RUN rm -fr /app/node_modules
RUN mkdir /data && chown openslides /data
USER openslides
EXPOSE 8000
USER openslides
VOLUME /supervisord.conf
VOLUME /data

View File

@ -1,6 +1,6 @@
The MIT License (MIT)
MIT License
Copyright (c) 2011-2018 Authors of OpenSlides, see AUTHORS
Copyright (c) Since 2011 Authors of OpenSlides, see AUTHORS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,9 +0,0 @@
include AUTHORS
include CHANGELOG
include LICENSE
include README.rst
include requirements_production.txt
include requirements_big_mode.txt
include bower.json
recursive-include openslides *.*
exclude openslides/__pycache__/*

52
Makefile Normal file
View File

@ -0,0 +1,52 @@
run-integration-tests:
@echo "Start OpenSlides Dev"
make run-dev ARGS="-d"
@echo "Start integration tests"
make cypress-docker
docker-compose -f integration/docker-compose.yml up
@echo "Stop OpenSlides Dev"
make stop-dev
run-service-tests:
git submodule foreach 'make run-tests'
build-dev:
./dev-commands/submodules-do.sh 'make build-dev'
make -C proxy build-dev
run-dev: | build-dev
docker-compose -f docker/docker-compose.dev.yml up $(ARGS)
run-dev-otel: | build-dev
docker-compose -f docker/docker-compose.dev.yml -f docker/dc.otel.dev.yml up $(ARGS)
stop-dev:
docker-compose -f docker/docker-compose.dev.yml down --volumes --remove-orphans
stop-dev-otel:
docker-compose -f docker/docker-compose.dev.yml -f docker/dc.otel.dev.yml down --volumes --remove-orphans
copy-node-modules:
docker-compose -f docker/docker-compose.dev.yml exec client bash -c "cp -r /app/node_modules/ /app/src/"
mv openslides-client/client/src/node_modules/ openslides-client/client/
reload-proxy:
docker-compose -f docker/docker-compose.dev.yml exec -w /etc/caddy proxy caddy reload
services-to-main:
./services-to-main.sh
submodules-origin-to-upstream:
# You may only use this one time after cloning this repository.
# Will set the upstream remote to "origin"
git submodule foreach -q --recursive 'git remote rename origin upstream'
cypress-open:
cd integration; npm run cypress:open
cypress-run:
cd integration; npm run cypress:run
cypress-docker:
docker-compose -f integration/docker-compose.yml build
docker-compose -f integration/docker-compose.yml up

57
README.md Normal file
View File

@ -0,0 +1,57 @@
# OpenSlides
## What is OpenSlides?
OpenSlides is a free, web based presentation and assembly system for
managing and projecting agenda, motions and elections of an assembly. See
https://openslides.com for more information.
## Using OpenSlides productively
__OpenSlides 4 (this) is currently in beta version!__
If you are just looking to use OpenSlides in a productive manner, please refer
to the [OpenSlides 3.4 (stable)](https://github.com/OpenSlides/OpenSlides/tree/stable/3.4.x)
## Installation
### Requirements
You need [Docker](https://docs.docker.com/engine/install/) and [Docker
Compose](https://docs.docker.com/compose/install/).
### Setup OpenSlides
For a productive setup of OpenSlides get the [OpenSlides manage
tool](https://github.com/OpenSlides/openslides-manage-service/releases/tag/latest)
from GitHub and make it executable. E. g. run:
$ wget https://github.com/OpenSlides/openslides-manage-service/releases/download/latest/openslides
$ chmod +x openslides
Then follow the instructions outlined in the [OpenSlides Manage
Service](https://github.com/OpenSlides/openslides-manage-service).
## Development
For further information about developing OpenSlides, refer to [the development
readme](DEVELOPMENT.md).
### Architecture of OpenSlides 4
![System architecture of OpenSlides 4](https://raw.githubusercontent.com/wiki/OpenSlides/OpenSlides/OS4/img/OpenSlides4.svg)
Read more about our [concept of OpenSlides 4.0](https://github.com/OpenSlides/OpenSlides/wiki/DE%3AKonzept-OpenSlides-4).
The technical documentation about the internals, requests and functionality can
be found [in the wiki](https://github.com/OpenSlides/OpenSlides/wiki/DE%3AKonzept-OpenSlides-4).
## License and authors
OpenSlides is Free/Libre Open Source Software (FLOSS), and distributed
under the MIT License, see ``LICENSE`` file. The authors of OpenSlides are
mentioned in the ``AUTHORS`` file.

View File

@ -1,225 +0,0 @@
============
OpenSlides
============
What is OpenSlides?
===================
OpenSlides is a free, web based presentation and assembly system for
managing and projecting agenda, motions and elections of an assembly. See
https://openslides.org/ for more information.
Requirements
============
OpenSlides runs everywhere where Python is running (for example on
GNU/Linux, Mac or Windows (XP or newer)). On each client you need only a
current version of a webbrowser.
Installation
============
1. Installation on GNU/Linux or Mac OS X
----------------------------------------
a. Check requirements
'''''''''''''''''''''
Make sure that you have installed `Python (>= 3.4)
<https://www.python.org/>`_ on your system. You also need build-essential
packages (``build-essential``) and header files and a static library for
Python (``python3-dev``).
b. Setup a virtual Python environment (optional)
''''''''''''''''''''''''''''''''''''''''''''''''
You can setup a virtual Python environment using the virtual environment
(venv) package for Python to install OpenSlides as non-root user.
*Note: For Ubuntu 14.04 you have to install the pyvenv binary package*
``python3.4-venv`` *before.*
*Note: For Ubuntu 16.04 you have to install the pyvenv binary package*
``python3-venv`` *before.*
Create your OpenSlides directory and change to it::
$ mkdir OpenSlides
$ cd OpenSlides
Setup and activate the virtual environment::
$ python3 -m venv .virtualenv
$ source .virtualenv/bin/activate
$ pip install --upgrade setuptools pip
c. Install OpenSlides
'''''''''''''''''''''
To install OpenSlides just run::
$ pip install openslides
You can also use the package from the `OpenSlides website
<https://openslides.org/>`_. Download latest OpenSlides release as
compressed tar archive and run::
$ pip install openslides-x.x.tar.gz
This will install all required Python packages (see
``requirements_production.txt``).
d. Start OpenSlides
'''''''''''''''''''
To start OpenSlides simply run::
$ openslides
If you run this command the first time, a new database and the admin account
(Username: ``admin``, Password: ``admin``) will be created. Please change the
password after first login!
OpenSlides will start a webserver. It will also try to open the webinterface in
your default webbrowser. The server will try to listen on the local ip address
on port 8000. That means that the server will be available to everyone on your
local network (at least for commonly used network configurations).
If you use a virtual environment (see step b.), do not forget to activate
the environment before restart after you closed the terminal::
$ source .virtualenv/bin/activate
To get help on the command line options run::
$ openslides --help
You can store settings, database and other personal files in a local
subdirectory and use these files e. g. if you want to run multiple
instances of OpenSlides::
$ openslides start --local-installation
2. Installation on Windows
--------------------------
Download the latest portable version of OpenSlides for Windows from
`OpenSlides website <https://openslides.org/>`_ which does not require any
install steps. Simply unzip the downloaded file and run ``openslides.exe``.
Development
===========
If you want to contribute to OpenSlides, have a look at `OpenSlides website
<https://openslides.org/>`_ and write us an email. There is also an
`instruction to install the development version
<https://github.com/OpenSlides/OpenSlides/blob/master/DEVELOPMENT.rst>`_.
In OpenSlides repository you find a ``Dockerfile`` but this is not for
production use. See our `Multi instance backend for OpenSlides
<https://github.com/OpenSlides/openslides-multiinstance-backend>`_ for more
information.
Installation for big assemblies
===============================
The installation steps described above install OpenSlides in a way that
does NOT support hundreds of concurrent clients. To install OpenSlides for
big assemblies some variables have to be changed in the OpenSlides settings
file (usually called settings.py).
The configuration values that have to be altered are:
* CACHES
* CHANNEL_LAYERS
* DATABASES
* SESSION_ENGINE
You should use a webserver like Apache HTTP Server or nginx to serve the
static and media files as proxy server in front of your OpenSlides
interface server. You also should use a database like PostgreSQL and Redis
as channels backend, cache backend and session engine. Finally you should
start some WSGI workers and one or more interface servers (Daphne or Geiss).
Please see the respective section in the `DEVELOPMENT.rst
<https://github.com/OpenSlides/OpenSlides/blob/master/DEVELOPMENT.rst>`_ and:
* https://channels.readthedocs.io/en/latest/deploying.html
* https://github.com/ostcar/geiss
* https://docs.djangoproject.com/en/1.10/topics/cache/
* https://github.com/sebleier/django-redis-cache
* https://docs.djangoproject.com/en/1.10/ref/settings/#databases
Used software
=============
OpenSlides uses the following projects or parts of them:
* Several Python packages (see ``requirements_production.txt``).
* Several JavaScript packages (see ``bower.json``)
* `angular <http://angularjs.org>`_, License: MIT
* `angular-animate <http://angularjs.org>`_, License: MIT
* `angular-bootstrap-colorpicker <https://github.com/buberdds/angular-bootstrap-colorpicker>`_, License: MIT
* `angular-chosen-localytics <http://github.com/leocaseiro/angular-chosen>`_, License: MIT
* `angular-ckeditor <https://github.com/lemonde/angular-ckeditor>`_, License: MIT
* `angular-file-saver <https://github.com/alferov/angular-file-saver>`_, License: MIT
* `angular-formly <http://formly-js.github.io/angular-formly/>`_, License: MIT
* `angular-formly-templates-bootstrap <http://formly-js.github.io/angular-formly-templates-bootstrap/>`_, License: MIT
* `angular-gettext <http://angular-gettext.rocketeer.be/>`_, License: MIT
* `angular-messages <http://angularjs.org>`_, License: MIT
* `angular-pdf <http://github.com/sayanee/angularjs-pdf>`_, License: MIT
* `angular-sanitize <http://angularjs.org>`_, License: MIT
* `angular-scroll-glue <https://github.com/Luegg/angularjs-scroll-glue>`_, License: MIT
* `angular-ui-bootstrap <http://angular-ui.github.io/bootstrap/>`_, License: MIT
* `angular-ui-router <http://angular-ui.github.io/ui-router/>`_, License: MIT
* `angular-ui-router-title <https://github.com/nonplus/angular-ui-router-title>`_, License: MIT
* `angular-ui-tree <https://github.com/angular-ui-tree/angular-ui-tree>`_, License: MIT
* `angular-xeditable <http://vitalets.github.io/angular-xeditable>`_, License: MIT
* `angularjs-scroll-glue <https://github.com/Luegg/angularjs-scroll-glue>`_, License: MIT
* `angularjs-slider <https://github.com/angular-slider/angularjs-slider>`_, License: MIT
* `api-check <https://github.com/kentcdodds/api-check>`_, License: MIT
* `blob-polyfill <https://github.com/bjornstar/blob-polyfill>`_, License: MIT
* `bootstrap <http://getbootstrap.com>`_, License: MIT
* `bootstrap <http://getbootstrap.com>`_, License: MIT
* `bootstrap-css-only <https://getbootstrap.com/>`_, License: MIT
* `bootstrap-css-only <http://getbootstrap.com>`_, License: MIT
* `bootstrap-ui-datetime-picker <https://github.com/Gillardo/bootstrap-ui-datetime-picker>`_, License: MIT
* `chosen <https://harvesthq.github.io/chosen/>`_, License: https://github.com/harvesthq/chosen/blob/master/LICENSE.md
* `chosen-js <https://harvesthq.github.io/chosen/>`_, License: MIT
* `ckeditor <http://ckeditor.com>`_, License: (GPL-2.0 OR LGPL-2.1 OR MPL-1.1)
* `docxtemplater <https://github.com/open-xml-templating/docxtemplater>`_, License: MIT
* `file-saver.js <https://github.com/Teleborder/FileSaver.js>`_, License: LICENSE.md
* `font-awesome-bower <https://github.com/tdg5/font-awesome-bower>`_, License: MIT
* `jquery <https://jquery.com>`_, License: MIT
* `jquery.cookie <https://plugins.jquery.com/cookie>`_, License: MIT
* `js-data <http://www.js-data.io>`_, License: MIT
* `js-data-angular <https://github.com/js-data/js-data-angular>`_, License: MIT
* `jszip <http://stuartk.com/jszip>`_, License: MIT or GPLv3
* `lodash <https://lodash.com/>`_, License: MIT
* `ng-dialog <https://github.com/likeastore/ngDialog>`_, License: MIT
* `ng-file-upload <https://github.com/danialfarid/ng-file-upload>`_, License: MIT
* `ngbootbox <https://github.com/eriktufvesson/ngBootbox>`_, License: MIT
* `ngStorage <https://github.com/gsklee/ngStorage>`_, License: MIT
* `papaparse <http://papaparse.com>`_, License: MIT
* `pdfjs-dist <http://mozilla.github.io/pdf.js/>`_, License: Apache-2.0
* `pdfmake <https://bpampuch.github.io/pdfmake>`_, License: MIT
* `roboto-fontface <https://github.com/choffmeister/roboto-fontface-bower>`_, License: Apache-2.0
License and authors
===================
OpenSlides is Free/Libre Open Source Software (FLOSS), and distributed
under the MIT License, see ``LICENSE`` file. The authors of OpenSlides are
mentioned in the ``AUTHORS`` file.

View File

@ -1,64 +0,0 @@
{
"name": "openslides",
"private": true,
"dependencies": {
"bootstrap": "~3.3.7",
"jquery": "~3.1.0",
"angular": "~1.5.8",
"angular-animate": "~1.5.8",
"angular-bootstrap": "~2.1.3",
"angular-bootstrap-colorpicker": "~3.0.25",
"angular-chosen-localytics": "~1.5.0",
"angular-ckeditor": "~1.0.3",
"angular-file-saver": "~1.1.2",
"angular-formly": "~8.4.0",
"angular-formly-templates-bootstrap": "~6.2.0",
"angular-gettext": "~2.3.7",
"angular-messages": "~1.5.8",
"angular-pdf": "1.3.0",
"angular-sanitize": "~1.5.8",
"angular-scroll-glue": "~2.0.7",
"angular-ui-router": "~0.3.1",
"angular-ui-tree": "https://github.com/FinnStutzenstein/angular-ui-tree.git#94dbaaff6b36f9d7a514843b73c28d2a3684c0c0",
"angular-xeditable": "~0.5.0",
"angularjs-slider": "~6.2.2",
"bootstrap-css-only": "~3.3.6",
"bootstrap-ui-datetime-picker": "~2.4.0",
"ckeditor": "~4.7.2",
"docxtemplater": "~2.1.5",
"font-awesome-bower": "~4.5.0",
"jquery.cookie": "~1.4.1",
"js-data": "~2.9.0",
"js-data-angular": "~3.2.1",
"jszip": "~3.1.3",
"lodash": "~4.16.0",
"ng-dialog": "~0.6.4",
"ng-file-upload": "~11.2.3",
"ngstorage": "~0.3.11",
"ngBootbox": "~0.1.3",
"papaparse": "~4.1.2",
"pdfmake": "0.1.33",
"roboto-fontface": "~0.6.0"
},
"overrides": {
"pdfmake": {
"main": []
},
"pdfjs-dist": {
"main": "build/pdf.combined.js"
},
"roboto-fontface": {
"main": [
"fonts/Roboto/Roboto-Regular.woff",
"fonts/Roboto/Roboto-Medium.woff",
"fonts/Roboto-Condensed/Roboto-Condensed-Regular.woff",
"fonts/Roboto-Condensed/Roboto-Condensed-Light.woff"
]
}
},
"resolutions": {
"angular": ">=1.5 <1.6",
"jquery": ">=3.1 <3.2",
"angular-bootstrap": "~2.1.3"
}
}

2
db.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/bash
docker-compose -f docker/docker-compose.dev.yml exec datastore-writer psql -h postgres -U openslides

3
dc-dev.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
cd "$(dirname $0)"
docker-compose -f docker/docker-compose.dev.yml $@

5
dev-commands/clear-ds.sh Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
set -e
curl --header "Content-Type: application/json" -d '' http://localhost:9011/internal/datastore/writer/truncate_db

8
dev-commands/export-ds.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
set -e
cd "$(dirname $0)"
TARGET=${1:-export.json}
URL="http://localhost:9010/internal/datastore/reader/get_everything"
curl --header "Content-Type: application/json" -d '{}' $URL 2> /dev/null | python3 strip-meta-fields.py > $TARGET

3
dev-commands/manage.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
docker build openslides-manage-service/ --target manage --tag openslides-manage
docker run --network host openslides-manage $@

10
dev-commands/set-ds.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
set -e
cd "$(dirname $0)"
# first argument is the example data
DATA=$(cat ${1:-../docs/example-data.json})
./clear-ds.sh
docker-compose -f ../docker/docker-compose.dev.yml exec datastore-writer \
bash -c "source export-database-variables.sh; echo '$DATA' > /data.json; export DATASTORE_INITIAL_DATA_FILE=/data.json; python cli/create_initial_data.py"

View File

@ -0,0 +1,12 @@
import sys
import json
data = sys.stdin.read()
json_data = json.loads(data)
for collection, models in json_data.items():
for model in models.values():
for field in list(model.keys()):
if field.startswith("meta_"):
del model[field]
sys.stdout.write(json.dumps(json_data, separators=(',', ':')))

23
dev-commands/submodules-do.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
# This script runs a command in every registered submodule parallel
# Credits go to https://stackoverflow.com/a/70418086
if [ -z "$1" ]; then
echo "Missing Command" >&2
exit 1
fi
COMMAND="$@"
IFS=$'\n'
for DIR in $(git submodule foreach --recursive -q sh -c pwd); do
printf "\n\"${DIR}\": \"${COMMAND}\" started!\n" \
&& \
cd "$DIR" \
&& \
eval "$COMMAND" \
&& \
printf "\"${DIR}\": \"${COMMAND}\" finished!\n" \
&
done
wait

35
docker/.env Normal file
View File

@ -0,0 +1,35 @@
# OpenSlides instance configuration
#
# As well as environment variables for various services, this file contains
# variables used to persist custom settings for docker-compose.yml or
# docker-stack.yml. See the preamble of a docker-compose.yml.m4 or
# docker-stack.yml.m4 template for more information.
#
# Most variables are listed here only to facilitate discovery of the available
# options. Empty values cause the template's defaults to be inserted.
# General
# -------
INSTANCE_DOMAIN=
PROJECT_STACK_NAME=
EXTERNAL_HTTP_PORT=
DEFAULT_DOCKER_REGISTRY=
# Docker Images
# -------------
DOCKER_OPENSLIDES_BACKEND_NAME=
DOCKER_OPENSLIDES_BACKEND_TAG=
DOCKER_OPENSLIDES_FRONTEND_NAME=
DOCKER_OPENSLIDES_FRONTEND_TAG=
# Configuration
# -------------
ENABLE_ELECTRONIC_VOTING=
# Service Replication
# -------------------
# TODO!!
OPENSLIDES_BACKEND_SERVICE_REPLICAS=
OPENSLIDES_FRONTEND_SERVICE_REPLICAS=
REDIS_RO_SERVICE_REPLICAS=
MEDIA_SERVICE_REPLICAS=

152
docker/build.sh Executable file
View File

@ -0,0 +1,152 @@
#!/bin/bash
set -e
HOME=$(dirname "$(realpath "${BASH_SOURCE[0]}")")
declare -A TARGETS
TARGETS=(
[proxy]="$HOME/../proxy/"
[client]="$HOME/../openslides-client/"
[backend]="$HOME/../openslides-backend/"
[auth]="$HOME/../openslides-auth-service/"
[autoupdate]="$HOME/../openslides-autoupdate-service/"
[manage]="$HOME/../openslides-manage-service/"
[datastore-reader]="$HOME/../openslides-datastore-service/reader"
[datastore-writer]="$HOME/../openslides-datastore-service/writer"
[media]="$HOME/../openslides-media-service/"
[vote]="$HOME/../openslides-vote-service/"
[icc]="$HOME/../openslides-icc-service/"
)
DOCKER_REPOSITORY="openslides"
DOCKER_TAG="latest-4"
CONFIG="/etc/osinstancectl"
OPTIONS=()
BUILT_IMAGES=()
DEFAULT_TARGETS=(proxy client backend auth autoupdate permission manage datastore-reader datastore-writer media vote icc)
usage() {
cat << EOF
Usage: $(basename ${BASH_SOURCE[0]}) [<options>] <service>...
Options:
-D, --docker-repo Specify a Docker repository
(default: unspecified, i.e., system default)
-t, --tag Tag the Docker image (default: $DOCKER_TAG)
--ask-push Offer to push newly built images to registry
--no-cache Pass --no-cache to docker-build
EOF
}
# Config file
if [[ -f "$CONFIG" ]]; then
echo "Found ${CONFIG} file."
source "$CONFIG"
fi
shortopt="hr:D:t:"
longopt="help,docker-repo:,tag:,ask-push,no-cache"
ARGS=$(getopt -o "$shortopt" -l "$longopt" -n "$ME" -- "$@")
if [ $? -ne 0 ]; then usage; exit 1; fi
eval set -- "$ARGS";
unset ARGS
# Parse options
while true; do
case "$1" in
-D|--docker-repo)
DOCKER_REPOSITORY="$2"
shift 2
;;
-t|--tag)
DOCKER_TAG="$2"
shift 2
;;
--ask-push)
ASK_PUSH=1
shift 1
;;
--no-cache)
OPTIONS+="--no-cache"
shift 1
;;
-h|--help) usage; exit 0 ;;
--) shift ; break ;;
*) usage; exit 1 ;;
esac
done
SELECTED_TARGETS=($@)
[[ "${#SELECTED_TARGETS[@]}" -ge 1 ]] || SELECTED_TARGETS=("${DEFAULT_TARGETS[@]}")
[[ "${SELECTED_TARGETS[@]}" != "all" ]] || SELECTED_TARGETS=("${!TARGETS[@]}")
for i in "${SELECTED_TARGETS[@]}"; do
loc="${TARGETS[$i]}"
[[ -n "$loc" ]] || {
echo "ERROR: Cannot build ${i}: not configured."
continue
}
img_name="openslides-${i}"
img="${img_name}:${DOCKER_TAG}"
if [[ -n "$DOCKER_REPOSITORY" ]]; then
img="${DOCKER_REPOSITORY}/${img}"
fi
echo "Building $img..."
cd $loc
{
printf '{\n'
printf '\t"service": "%s,\n' "${i}"
printf '\t"date": "%s",\n' "$(date)"
printf '\t"commit": "%s",\n' "$(git rev-parse HEAD)"
printf '\t"commit-abbrev": "%s",\n' "$(git rev-parse --abbrev-ref HEAD)"
printf '}\n'
} > version.json
# Special instructions for local services
build_script="${loc}/build.sh"
if [[ -f "$build_script" ]]; then
( . "$build_script" )
else
docker build --tag "$img" --pull "${OPTIONS[@]}" "$loc"
fi
rm version.json
BUILT_IMAGES+=("$img ON")
done
if [[ "${#BUILT_IMAGES[@]}" -ge 1 ]]; then
printf "\nSuccessfully built images:\n\n"
for i in "${BUILT_IMAGES[@]}"; do
read -r img x <<< "$i"
printf " - $img\n"
done
else
echo "No images were built."
exit 3
fi
[[ "$ASK_PUSH" ]] || exit 0
if hash whiptail > /dev/null 2>&1; then
while read img; do
echo "Pushing ${img}."
docker push "$img"
done < <( whiptail --title "OpenSlides build script" \
--checklist "Select images to push to their registry." \
25 78 16 --separate-output --noitem --clear \
${BUILT_IMAGES[@]} \
3>&2 2>&1 1>&3 )
else
echo
for i in "${BUILT_IMAGES[@]}"; do
read -r img x <<< "$i"
read -p "Push image '$img' to repository? [Y/n] " REPL
case "$REPL" in
N|n|No|no|NO) exit 0;;
*) docker push "$img" ;;
esac
done
fi

13
docker/dc.otel.dev.yml Normal file
View File

@ -0,0 +1,13 @@
version: "3"
services:
collector:
image: otel/opentelemetry-collector:0.41.0
command: ["--config=/etc/otel-collector-config.yml"]
volumes:
- ./otel-collector-config.yml:/etc/otel-collector-config.yml
jaeger:
image: jaegertracing/all-in-one
ports:
- "16686:16686"

View File

@ -0,0 +1,187 @@
version: "3"
services:
datastore-reader:
image: openslides-datastore-reader-dev
depends_on:
- postgres
env_file: services.env
environment:
- DATASTORE_ENABLE_DEV_ENVIRONMENT=1
- NUM_WORKERS=8
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-datastore-service/datastore:/app/datastore
ports:
- 9010:9010
datastore-writer:
image: openslides-datastore-writer-dev
depends_on:
- postgres
- message-bus
env_file: services.env
volumes:
- ../openslides-datastore-service/datastore:/app/datastore
- ../openslides-datastore-service/cli:/app/cli
environment:
- DATASTORE_ENABLE_DEV_ENVIRONMENT=1
- COMMAND=create_initial_data
- DATASTORE_INITIAL_DATA_FILE=https://raw.githubusercontent.com/OpenSlides/openslides-backend/main/global/data/example-data.json
- OPENSLIDES_DEVELOPMENT=1
ports:
- 9011:9011
postgres:
image: postgres:11
environment:
- POSTGRES_USER=openslides
- POSTGRES_PASSWORD=openslides
- POSTGRES_DB=openslides
client:
image: openslides-client-dev
depends_on:
- backend
- autoupdate
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-client/client/src:/app/src
backend:
image: openslides-backend-dev
depends_on:
- datastore-reader
- datastore-writer
- auth
env_file: services.env
ports:
- "9002:9002"
- "9003:9003"
- "5678:5678"
environment:
- OPENSLIDES_DEVELOPMENT=1
- EMAIL_HOST=mailhog
- EMAIL_PORT=1025
# - EMAIL_HOST_USER username
# - EMAIL_HOST_PASSWORD secret
# EMAIL_CONNECTION_SECURITY use NONE, STARTTLS or SSL/TLS
- EMAIL_CONNECTION_SECURITY=NONE
- EMAIL_TIMEOUT=5
- EMAIL_ACCEPT_SELF_SIGNED_CERTIFICATE=false
- DEFAULT_FROM_EMAIL=noreply@example.com
volumes:
- ../openslides-backend/openslides_backend:/app/openslides_backend
- ../openslides-backend/migrations:/app/migrations
autoupdate:
image: openslides-autoupdate-dev
depends_on:
- datastore-reader
- message-bus
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-autoupdate-service/cmd:/root/cmd
- ../openslides-autoupdate-service/internal:/root/internal
- ../openslides-autoupdate-service/pkg:/root/pkg
icc:
image: openslides-icc-dev
depends_on:
- datastore-reader
- message-bus
- auth
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-icc-service/cmd:/root/cmd
- ../openslides-icc-service/internal:/root/internal
ports:
- "9007:9007"
auth:
image: openslides-auth-dev
depends_on:
- datastore-reader
- cache
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-auth-service/auth/src:/app/src
cache:
image: redis:latest
media:
image: openslides-media-dev
depends_on:
- backend
- postgres
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
volumes:
- ../openslides-media-service/src:/app/src
manage:
image: openslides-manage-dev
depends_on:
- auth
- datastore-writer
env_file: services.env
environment:
- OPENSLIDES_DEVELOPMENT=1
ports:
- "9008:9008"
message-bus:
image: redis:latest
proxy:
image: openslides-proxy-dev
depends_on:
- client
- backend
- autoupdate
ports:
- "8000:8000"
mailhog:
image: mailhog/mailhog
logging:
driver: "none" # disable saving logs
ports:
- "8025:8025" # web ui to check mails manually
vote:
image: openslides-vote-dev
depends_on:
- auth
- message-bus
- datastore-reader
- postgres
environment:
- OPENSLIDES_DEVELOPMENT=true
- VOTE_HOST=vote
- VOTE_PORT=9013
- DATASTORE_READER_HOST=datastore-reader
- MESSAGING=redis
- MESSAGE_BUS_HOST=message-bus
- VOTE_REDIS_HOST=cache
- VOTE_DATABASE_HOST=postgres
- VOTE_DATABASE_USER=openslides
- VOTE_DATABASE_PASSWORD=openslides
- VOTE_DATABASE_NAME=openslides
- AUTH=ticket
- AUTH_HOST=auth
- VOTE_DISABLE_LOG=true
volumes:
- ../openslides-vote-service/cmd:/root/cmd
- ../openslides-vote-service/internal:/root/internal
ports:
- "9013:9013"

View File

@ -0,0 +1,21 @@
receivers:
otlp:
protocols:
http:
grpc:
exporters:
jaeger:
endpoint: jaeger:14250
tls:
insecure: true
processors:
batch:
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [ jaeger]

16
docker/reset-admin-password.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
# This script sets password of user 1 (superadmin) to superadmin. You may also use the manage tool for this work.
set -e
# Hash the new password
response=$(docker-compose exec auth curl --header "Content-Type: application/json" -d '{"toHash": "superadmin"}' http://localhost:9004/internal/auth/hash)
hash=$(jq .hash <<< $response)
# Set user/1/password to $hash
request_data_prefix='{"user_id": 1, "information": {}, "locked_fields": {}, "events": [{"type": "update", "fqid": "user/1", "fields": {"password":'
request_data="$request_data_prefix $hash}}]}"
docker-compose exec backend curl --header "Content-Type: application/json" -d "$request_data" http://datastore-writer:9011/internal/datastore/writer/write
echo "Done"

View File

@ -0,0 +1,3 @@
## secrets/adminsecret.env is sourced by the server container to set the initial
## admin user password.
# OPENSLIDES_ADMIN_PASSWORD="<securepassword>"

View File

@ -0,0 +1,5 @@
## Example user credential configuration
# OPENSLIDES_USER_FIRSTNAME="John"
# OPENSLIDES_USER_LASTNAME="Doe"
# OPENSLIDES_USER_PASSWORD="<securepassword>"
# OPENSLIDES_USER_EMAIL="john@example.com"

49
docker/services.env Normal file
View File

@ -0,0 +1,49 @@
MESSAGE_BUS_HOST=message-bus
MESSAGE_BUS_PORT=6379
DATASTORE_READER_HOST=datastore-reader
DATASTORE_READER_PORT=9010
DATASTORE_WRITER_HOST=datastore-writer
DATASTORE_WRITER_PORT=9011
DATASTORE_DATABASE_HOST=postgres
ACTION_HOST=backend
ACTION_PORT=9002
PRESENTER_HOST=backend
PRESENTER_PORT=9003
AUTOUPDATE_HOST=autoupdate
AUTOUPDATE_PORT=9012
PERMISSION_HOST=permission
PERMISSION_PORT=9005
AUTH_HOST=auth
AUTH_PORT=9004
CACHE_HOST=cache
CACHE_PORT=6379
ICC_PORT=9007
ICC_HOST=icc
ICC_REDIS_HOST=message-bus
ICC_REDIS_PORT=6379
MEDIA_HOST=media
MEDIA_PORT=9006
MEDIA_DATABASE_HOST=postgres
MEDIA_DATABASE_NAME=openslides
MANAGE_HOST=manage
MANAGE_PORT=9008
VOTE_HOST=vote
VOTE_PORT=9013
VOTE_REDIS_HOST=cache
VOTE_DATABASE_HOST=postgres
VOTE_DATABASE_USER=openslides
VOTE_DATABASE_PASSWORD=openslides
VOTE_DATABASE_NAME=openslides
OTEL_EXPORTER_JAEGER_ENDPOINT=http://jaeger:14268/api/traces
OTEL_EXPORTER_OTLP_ENDPOINT=collector:4318
OPENTELEMETRY_ENABLED=0

View File

@ -1,329 +0,0 @@
/**
* Gulp tasks for development and production.
*
* Run
*
* $ ./node_modules/.bin/gulp
*
* for development and
*
* $ ./node_modules/.bin/gulp --production
*
* for production mode.
*/
var argv = require('yargs').argv,
gulp = require('gulp'),
concat = require('gulp-concat'),
cssnano = require('gulp-cssnano'),
gulpif = require('gulp-if'),
gettext = require('gulp-angular-gettext'),
inject = require('gulp-inject-string'),
jshint = require('gulp-jshint'),
mainBowerFiles = require('main-bower-files'),
path = require('path'),
rename = require('gulp-rename'),
sass = require('gulp-sass'),
sourcemaps = require('gulp-sourcemaps'),
templateCache = require('gulp-angular-templatecache'),
through = require('through2'),
uglify = require('gulp-uglify'),
vsprintf = require('sprintf-js').vsprintf;
// Directory where the results go to
var output_directory = path.join('openslides', 'static');
/**
* Default tasks to be run before start.
*/
// Catches all JavaScript files (excluded worker files) from all core apps and concats them to one
// file js/openslides.js. In production mode the file is uglified.
gulp.task('js', function () {
return gulp.src([
path.join('openslides', '*', 'static', 'js', '**', '*.js'),
'!' + path.join('openslides', 'core', 'static', 'js', 'core', 'pdf-worker.js'),
])
.pipe(sourcemaps.init())
.pipe(concat('openslides.js'))
.pipe(sourcemaps.write())
//TODO: Needs rework in all js files that uglified code works correctly.
//.pipe(gulpif(argv.production, uglify()))
.pipe(gulp.dest(path.join(output_directory, 'js')));
});
// Catches all JavaScript files from all bower components and concats them to
// one file js/openslides-libs.js. In production mode the file is uglified.
gulp.task('js-libs', function () {
return gulp.src(mainBowerFiles({
filter: /\.js$/
}))
.pipe(sourcemaps.init())
.pipe(concat('openslides-libs.js'))
.pipe(sourcemaps.write())
.pipe(inject.prepend("/* set basepath of CKEditor */\n" +
"window.CKEDITOR_BASEPATH = '/static/ckeditor/';\n\n"))
.pipe(gulpif(argv.production, uglify()))
.pipe(gulp.dest(path.join(output_directory, 'js')));
});
// Catches all pdfmake files for pdf worker.
gulp.task('pdf-worker', function () {
return gulp.src([
path.join('openslides', 'core', 'static', 'js', 'core', 'pdf-worker.js'),
])
.pipe(gulpif(argv.production, uglify()))
.pipe(gulp.dest(path.join(output_directory, 'js', 'workers')));
});
// pdfmake files
gulp.task('pdf-worker-libs', function () {
return gulp.src([
path.join('bower_components', 'pdfmake', 'build', 'pdfmake.min.js'),
])
.pipe(gulpif(argv.production, uglify()))
.pipe(rename('pdf-worker-libs.js'))
.pipe(gulp.dest(path.join(output_directory, 'js', 'workers')));
});
// Catches all template files from all core apps and concats them to one
// file js/openslides-templates.js. In production mode the file is uglified.
gulp.task('templates', function () {
return gulp.src(path.join('openslides', '*', 'static', 'templates', '**', '*.html'))
.pipe(templateCache('openslides-templates.js', {
module: 'OpenSlidesApp-templates',
standalone: true,
moduleSystem: 'IIFE',
transformUrl: function (url) {
var pathList = url.split(path.sep);
pathList.shift();
return pathList.join(path.sep);
},
}))
.pipe(gulpif(argv.production, uglify()))
.pipe(gulp.dest(path.join(output_directory, 'js')));
});
// Build the openslides-site.css file from the main file core/static/css/site.scss.
// Minimizes the outputfile if the production flag is given.
gulp.task('css-site', function () {
return gulp.src([
path.join('openslides', 'core', 'static', 'css', 'site.scss')
])
.pipe(sass().on('error', sass.logError))
.pipe(gulpif(argv.production, cssnano({safe: true})))
.pipe(rename('openslides-site.css'))
.pipe(gulp.dest(path.join(output_directory, 'css')));
});
// Build the openslides-projector.css file from the main file core/static/css/projector.scss.
// Minimizes the outputfile if the production flag is given.
gulp.task('css-projector', function () {
return gulp.src([
path.join('openslides', 'core', 'static', 'css', 'projector.scss')
])
.pipe(sass().on('error', sass.logError))
.pipe(gulpif(argv.production, cssnano({safe: true})))
.pipe(rename('openslides-projector.css'))
.pipe(gulp.dest(path.join(output_directory, 'css')));
});
// Catches all CSS files from all bower components and concats them to one file
// css/openslides-libs.css. In production mode the file is uglified.
gulp.task('css-libs', function () {
return gulp.src(mainBowerFiles({
filter: /\.css$/
}))
.pipe(concat('openslides-libs.css'))
.pipe(gulpif(argv.production, cssnano({safe: true})))
.pipe(gulp.dest(path.join(output_directory, 'css')));
});
// Catches all font files from all bower components.
gulp.task('fonts-libs', function() {
return gulp.src(mainBowerFiles({
filter: /\.(woff)|(woff2)$/
}))
.pipe(gulp.dest(path.join(output_directory, 'fonts')));
});
// Catches image files for angular-chosen.
gulp.task('angular-chosen-img', function () {
return gulp.src(path.join('bower_components', 'chosen', '*.png'))
.pipe(gulp.dest(path.join(output_directory, 'css')));
});
// CKEditor defaults
gulp.task('ckeditor-defaults', function () {
return gulp.src([
path.join('bower_components', 'ckeditor', 'styles.js'),
path.join('bower_components', 'ckeditor', 'contents.css'),
])
.pipe(gulp.dest(path.join(output_directory, 'ckeditor')));
});
// CKEditor skins
gulp.task('ckeditor-skins', function () {
return gulp.src(
[
path.join('bower_components', 'ckeditor', 'skins', 'moono-lisa', '**', '*'),
],
{
base: path.join('bower_components', 'ckeditor', 'skins')
}
)
.pipe(gulp.dest(path.join(output_directory, 'ckeditor', 'skins')));
});
// CKEditor plugins
gulp.task('ckeditor-plugins', function () {
return gulp.src(
[
path.join('bower_components', 'ckeditor', 'plugins', 'clipboard', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'colorbutton', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'dialog', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'find', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'image', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'justify', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'link', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'liststyle', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'magicline', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'pastefromword', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'panelbutton', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'showblocks', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'specialchar', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'sourcedialog', '**', '*'),
path.join('bower_components', 'ckeditor', 'plugins', 'table', '**', '*'),
],
{
base: path.join('bower_components', 'ckeditor', 'plugins')
}
)
.pipe(gulp.dest(path.join(output_directory, 'ckeditor', 'plugins')));
});
// CKEditor languages
gulp.task('ckeditor-lang', function () {
return gulp.src([
path.join('bower_components', 'ckeditor', 'lang', 'en.js'),
path.join('bower_components', 'ckeditor', 'lang', 'de.js'),
path.join('bower_components', 'ckeditor', 'lang', 'pt.js'),
path.join('bower_components', 'ckeditor', 'lang', 'es.js'),
path.join('bower_components', 'ckeditor', 'lang', 'fr.js'),
path.join('bower_components', 'ckeditor', 'lang', 'cs.js'),
path.join('bower_components', 'ckeditor', 'lang', 'ru.js'),
])
.pipe(gulp.dest(path.join(output_directory, 'ckeditor', 'lang')));
});
// Combines all CKEditor related tasks.
gulp.task('ckeditor', ['ckeditor-defaults', 'ckeditor-skins', 'ckeditor-plugins', 'ckeditor-lang'], function () {});
// Compiles translation files (*.po) to *.json and saves them in the directory
// openslides/static/i18n/.
gulp.task('translations', function () {
return gulp.src(path.join('openslides', 'locale', 'angular-gettext', '*.po'))
.pipe(gettext.compile({
format: 'json'
}))
.pipe(gulp.dest(path.join(output_directory, 'i18n')));
});
// Gulp default task. Runs all other tasks before.
gulp.task('default', [
'js',
'js-libs',
'pdf-worker',
'pdf-worker-libs',
'templates',
'css-site',
'css-projector',
'css-libs',
'fonts-libs',
'ckeditor',
'angular-chosen-img',
'translations'
], function () {});
/**
* Extra tasks that have to be called manually. Useful for development.
*/
// Watches changes in JavaScript and templates.
gulp.task('watch', ['js', 'templates', 'pdf-worker', 'css-site', 'css-projector'], function () {
gulp.watch([
path.join('openslides', '*', 'static', 'js', '**', '*.js'),
'!' + path.join('openslides', 'core', 'static', 'js', 'core', 'pdf-worker.js')
], ['js']);
gulp.watch(path.join('openslides', '*', 'static', 'templates', '**', '*.html'), ['templates']);
gulp.watch(path.join('openslides', 'core', 'static', 'js', 'core', 'pdf-worker.js'), ['pdf-worker']);
// We cannot differentiate between all scss files which belong to each realm. So if
// one scss file changes the site and projector css is rebuild.
gulp.watch(path.join('openslides', '*', 'static', 'css', '**', '*.scss'), ['css-site', 'css-projector']);
});
// Extracts translatable strings using angular-gettext and saves them in file
// openslides/locale/angular-gettext/template-en.pot.
gulp.task('pot', function () {
return gulp.src([
'openslides/core/static/templates/*.html',
'openslides/*/static/templates/**/*.html',
'openslides/*/static/js/*/*.js',
])
.pipe(gettext.extract('template-en.pot', {}))
.pipe(gulp.dest('openslides/locale/angular-gettext/'));
});
// Checks JavaScript using JSHint
gulp.task('jshint', function () {
return gulp.src([
'gulpfile.js',
path.join( 'openslides', '*', 'static', '**', '*.js' ),
])
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(jshint.reporter('fail'));
});
// Extracts names, URLs and licensed of all uses bower components and prints
// it to the console. This is useful to update the README.rst during release
// process.
gulp.task('bower-components-for-readme', function () {
var files = [];
return gulp.src([
path.join('bower_components', '*', 'bower.json'),
path.join('bower_components', '*', 'package.json'),
path.join('bower_components', '*', 'component.json'),
])
.pipe(
through.obj(
function (chunk, encoding, callback) {
files.push(chunk);
callback();
},
function (callback) {
// Extract JSON from bower.json or components.json file.
var extracted = [];
for (var index = 0; index < files.length; index++) {
extracted.push(JSON.parse(files[index].contents.toString()));
}
// Sort files.
extracted.sort(function (a, b) {
return a.name < b.name ? -1 : 1;
});
// Print out line for README.rst.
for (var index2 = 0; index2 < extracted.length; index2++) {
var data = [
extracted[index2].name,
extracted[index2].homepage,
extracted[index2].license,
];
console.log(vsprintf(' * `%s <%s>`_, License: %s', data));
}
// End stream without further file processing.
callback();
}
)
);
});

12
integration/Dockerfile Normal file
View File

@ -0,0 +1,12 @@
FROM cypress/base:10
WORKDIR /app
COPY package.json package.json
COPY package-lock.json package-lock.json
RUN npm ci
COPY ./cypress-docker.json ./cypress.json
COPY ./resource-config-docker.js ./resource-config.js
COPY ./cypress ./cypress/
CMD ["npm", "run", "cypress:run"]

44
integration/README.md Normal file
View File

@ -0,0 +1,44 @@
# Integration tests
To test the integration of our OpenSlides services we are using cypress.
There are not too many of them, but they are sufficient tell that our services are properly integrated.
- The client can be accessed
- Authentication works (admin admin can be logged in)
- The backend accepts requests (of some sort)
- The auto update transmits data to the client
(this list is not exhaustive)
## Writing tests and using cypress
To write and execute tests meaningfully, you will want to install cypress locally.
Inside the `/integration` directory, execute
$ npm install
$ npm run cypress:open
(or `make cypress-open` from the main directory)
The cypress runner will open using electron and executes the tests for you.
## Run in docker and CI
Start OpenSlides (Usually in dev setup). From the main directory run
$ make run-dev
in the `/integration` just fire
$ docker-compose build
$ docker-compose up
(or `make cypress-docker` from the main directory)
Cypress will run dockered and report errors inside the CLI.
Screenshots and videos of the tests can be found in the `/integration/results` folder.
You can streamline the whole process by using
$ make run-system-tests
From the main directory.
This can take while, since the docker of OS4 has to be build first.

View File

@ -0,0 +1,3 @@
{
"baseUrl": "https://host.docker.internal:8000"
}

6
integration/cypress.json Normal file
View File

@ -0,0 +1,6 @@
{
"baseUrl": "https://localhost:8000",
"screenshotsFolder": "results/screenshots",
"videosFolder": "results/videos",
"downloadsFolder": "results/downloads"
}

View File

@ -0,0 +1,5 @@
{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}

View File

@ -0,0 +1,7 @@
describe("Load client", () => {
it("successfully loads", () => {
cy.visit("/");
cy.url().should("include", "/login");
cy.contains("OpenSlides");
});
});

View File

@ -0,0 +1,16 @@
describe("Login using UI", () => {
it("Login over login-form, set cookie", () => {
const username = "admin"
const password = "admin"
cy.visit("/");
cy.wait(1000)
cy.url().should("include", "login");
cy.get("#mat-input-0").type(username);
cy.get("#mat-input-1").type(`${password}{enter}`);
cy.wait(1000)
cy.url().should("not.include", "login");
cy.getCookie("refreshId").should("exist");
});
});

View File

@ -0,0 +1,27 @@
/**
* Some bugs
*/
// describe("Create a new committee", () => {
// beforeEach(() => {
// cy.login();
// cy.visit("/committees");
// });
// it("Creates a committee", () => {
// cy.visit("/committees/create");
// const committeeName = `Cypress Committee ${Date.now().toString()}`;
// cy.get("#mat-input-0").type(committeeName);
// cy.intercept({
// method: "POST",
// url: "/system/action/handle_request",
// }).as("handle_request");
// cy.get("form").submit();
// cy.wait("@handle_request");
// cy.url().should("not.include", "create");
// // only on clean db
// //cy.contains(committeeName);
// });
// });

View File

@ -0,0 +1,30 @@
describe("Get autoupdates for committees detail view", () => {
let committeeName;
let committeeId;
beforeEach(() => {
cy.login();
committeeName = `Cypress ${Date.now().toString()}`;
const committeeData = {
organization_id: 1,
name: committeeName,
user_$_management_level: { can_manage: [1] },
};
cy.os4request("committee.create", committeeData).then((res) => {
committeeId = res.id;
});
});
it("Receives a name change", () => {
// cy.visit(`/committees/${committeeId}`);
// cy.contains(committeeName);
// const updatedName = committeeName + "update";
// const committeeData = {
// id: committeeId,
// name: updatedName,
// };
// cy.os4request("committee.update", committeeData).then(() => {
// cy.contains(updatedName);
// });
});
});

View File

@ -0,0 +1,43 @@
describe("Update a committee", () => {
let committeeName;
let committeeId;
beforeEach(() => {
cy.login();
committeeName = `Cypress ${Date.now().toString()}`;
const committeeData = {
organization_id: 1,
name: committeeName,
user_$_management_level: { can_manage: [1] },
};
cy.os4request("committee.create", committeeData).then((res) => {
committeeId = res.id;
});
cy.visit("/committees/");
});
it("Has new Committee", () => {
// cy.visit(`/committees/${committeeId}`);
// cy.url().should('include', committeeId);
// cy.get('h1').contains(committeeName);
});
/**
* Some bugs
*/
// it("Can just update a new Committee", () => {
// cy.visit(`/committees/${committeeId}/edit-committee`);
// cy.url().should("include", `${committeeId}/edit-committee`);
// cy.get(".title-slot").contains("Edit committee");
// cy.get("#mat-input-0").type("edit");
// // cy.intercept({
// // method: "POST",
// // url: "/system/action/handle_request",
// // }).as("au");
// // cy.wait("@au");
// cy.get("form").submit();
// cy.url().should("not.include", `edit-committee`);
// });
});

View File

@ -0,0 +1,22 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
/**
* @type {Cypress.PluginConfig}
*/
// eslint-disable-next-line no-unused-vars
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}

View File

@ -0,0 +1,92 @@
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add('login', (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
/**
* Login
*/
Cypress.Commands.add("login", (username = "admin", password = "admin") => {
cy.request({
method: "POST",
url: "/system/auth/login/",
body: {
username,
password,
},
})
.as("loginResponse")
.then((response) => {
Cypress.env("authToken", response.headers.authentication);
return response;
})
.its("status")
.should("eq", 200)
});
/**
* Create models
*/
Cypress.Commands.add("os4request", (osAction, body) => {
cy.request({
method: "POST",
url: "/system/action/handle_request",
body: [
{
action: osAction,
data: [
{
...body,
},
],
},
],
})
.should((response) => {
expect(response.status).to.eq(200);
})
.its("body")
.should("contain", {
success: true,
})
.then((body) => {
return body.results[0][0]
});
});
/**
* Extend "request" with auth header
*/
Cypress.Commands.overwrite("request", (originalFn, ...options) => {
const optionsObject = options[0];
const token = Cypress.env("authToken");
if (!!token && optionsObject === Object(optionsObject)) {
optionsObject.headers = {
authentication: token,
...optionsObject.headers,
};
return originalFn(optionsObject);
}
return originalFn(...options);
});

View File

@ -0,0 +1,20 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')

View File

@ -0,0 +1,10 @@
version: "3"
services:
cypress:
build: .
image: cypress
volumes:
- ./results/videos :/app/cypress/videos
- ./results/screenshots :/app/cypress/screenshots
extra_hosts:
host.docker.internal: host-gateway

3407
integration/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

10
integration/package.json Normal file
View File

@ -0,0 +1,10 @@
{
"scripts": {
"cypress:open": "cypress open",
"cypress:run": "wait-on -c resource-config.js && cypress run"
},
"devDependencies": {
"cypress": "8.4.0",
"wait-on": "^6.0.0"
}
}

View File

@ -0,0 +1,5 @@
module.exports = {
strictSSL: false,
followRedirect: true,
resources: ['https://host.docker.internal:8000'],
};

View File

@ -0,0 +1,5 @@
module.exports = {
strictSSL: false,
followRedirect: true,
resources: ['https://localhost:8000'],
};

4
localprod/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
db-data/
secrets/
openslides*
docker-compose.yml

35
localprod/README.md Normal file
View File

@ -0,0 +1,35 @@
# Local production setup
This folder allows you to use the
[manage-tool](https://github.com/OpenSlides/openslides-manage-service) to launch
the local repository state as a production setup.
The `config.yml` instructs the manage-tool to include build tags for all service
images.
## Usage
Run
./setup.sh
It will download the latest manage-tool (the `openslides`-executable) - if not
present already - and setup this directory like a production environment using\
the `config.yml`.
Now run
docker-compose up --build
After all services are up initial data needs to be set to be able to login.
In a different terminal run
./openslides initial-data
This will add the superadmin account with the password provided from
`secrets/superadmin` (default: superadmin)
Access https://localhost:8000/ as you would expect.
To clear the database run
rm -r db-data/*

53
localprod/config.yml Normal file
View File

@ -0,0 +1,53 @@
defaults:
containerRegistry: local
tag: prod
services:
proxy:
additionalContent:
build: ../proxy/
client:
additionalContent:
build: ../openslides-client/
backend:
additionalContent:
build: ../openslides-backend/
datastoreReader:
additionalContent: {
build: {
context: ../openslides-datastore-service/,
args: {
MODULE: reader,
PORT: 9010
}
}
}
datastoreWriter:
additionalContent: {
build: {
context: ../openslides-datastore-service/,
args: {
MODULE: writer,
PORT: 9011
}
}
}
autoupdate:
additionalContent:
build: ../openslides-autoupdate-service/
auth:
additionalContent:
build: ../openslides-auth-service/
vote:
additionalContent:
build: ../openslides-vote-service/
media:
additionalContent:
build: ../openslides-media-service/
icc:
additionalContent:
build: ../openslides-icc-service/
manage:
additionalContent:
build: ../openslides-manage-service/

10
localprod/setup.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
[[ -f ./openslides ]] ||
wget https://github.com/OpenSlides/openslides-manage-service/releases/download/latest/openslides
[[ -x ./openslides ]] ||
chmod +x ./openslides
./openslides setup .
./openslides config --config config.yml .

View File

@ -2,18 +2,10 @@
OpenSlides logo variants
========================
The OpenSlides logo is available in two layouts:
A **horizontal** (h) and a **vertical** (v) version.
Depending on the background the logo can use on a light or on a dark
background.
The OpenSlides standard logo for default use is 'openslides-logo-h'
(with transparent background).
The OpenSlides logo is available in normal and dark layout.
The svg source files are create with Inkscape. Each svg file is
exported (with Inkscape) to png in small and large size, partly with
transparent background.
exported (with Inkscape) to png.
All OpenSlides logo files are licensed under MIT, see LICENSE file in
root directory.
@ -22,10 +14,11 @@ root directory.
"OpenSlides Blue" color values
==============================
Dark blue:
* RGB: 0/43/66
* Hex: #002c42
Corporate blue:
* RGB: 49/119/150
* Hex: #317796
Bright blue:
* RGB: 49/119/150
* Hex: #317796
Dark blue:
* RGB: 0/43/66
* Hex: #002c42

View File

Before

Width:  |  Height:  |  Size: 581 B

After

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1,644 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_1"
x="0px"
y="0px"
viewBox="0 0 800.78997 132.08001"
xml:space="preserve"
sodipodi:docname="Logo_Claim_dark2019.svg"
width="800.78998"
height="132.08"
inkscape:version="0.92.4 5da689c313, 2019-01-14"><metadata
id="metadata213"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs211">
<defs
id="defs5">
<rect
id="SVGID_1_"
x="1.42"
y="1.08"
width="790.87"
height="196.25999" />
</defs>
<clipPath
id="SVGID_2_">
<use
xlink:href="#SVGID_1_"
style="overflow:visible"
id="use7"
x="0"
y="0"
width="100%"
height="100%" />
</clipPath>
</defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1916"
inkscape:window-height="1037"
id="namedview209"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="5"
fit-margin-left="5"
fit-margin-right="5"
fit-margin-bottom="5"
inkscape:zoom="0.77686418"
inkscape:cx="263.40616"
inkscape:cy="-136.78644"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="0"
inkscape:current-layer="Ebene_1" />
<style
type="text/css"
id="style2">
.st0{clip-path:url(#SVGID_2_);}
.st1{fill:#FFFFFF;}
.st2{fill:none;}
</style>
<g
id="g708"
transform="translate(-6.48,-6.42)"><path
class="st1"
d="m 271.78,42.13 c -2.98,4.64 -4.46,12.05 -4.46,22.25 0,10.2 1.51,17.61 4.52,22.25 3.01,4.64 7.42,6.96 13.21,6.96 5.87,0 10.27,-2.3 13.21,-6.9 2.93,-4.6 4.41,-12.03 4.41,-22.31 0,-10.27 -1.47,-17.71 -4.41,-22.3 -2.94,-4.59 -7.34,-6.9 -13.21,-6.9 -5.87,-0.01 -10.29,2.31 -13.27,6.95 m 32.27,-14.78 c 5.33,3.29 9.43,8.05 12.28,14.31 2.86,6.26 4.29,13.83 4.29,22.71 0,8.73 -1.43,16.24 -4.29,22.54 -2.86,6.3 -6.95,11.1 -12.28,14.42 -5.33,3.32 -11.66,4.98 -19,4.98 -7.34,0 -13.69,-1.64 -19.06,-4.92 -5.37,-3.29 -9.48,-8.07 -12.34,-14.37 -2.86,-6.3 -4.29,-13.85 -4.29,-22.65 0,-8.65 1.45,-16.12 4.35,-22.42 2.9,-6.3 7.03,-11.12 12.4,-14.48 5.37,-3.36 11.69,-5.04 18.95,-5.04 7.33,-0.01 13.66,1.64 18.99,4.92"
id="path10"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 363.84,73.75 c 0,-7.42 -0.9,-12.67 -2.72,-15.75 -1.81,-3.09 -4.57,-4.64 -8.28,-4.64 -2.24,0 -4.33,0.72 -6.26,2.14 -1.93,1.43 -3.63,3.34 -5.1,5.74 V 88 c 2.62,4.02 6.06,6.03 10.31,6.03 8.03,0.01 12.05,-6.75 12.05,-20.28 m 11.53,-24.04 c 3.75,5.68 5.62,13.65 5.62,23.92 0,6.26 -0.97,11.86 -2.9,16.8 -1.93,4.95 -4.73,8.83 -8.4,11.64 -3.67,2.82 -8.02,4.23 -13.04,4.23 -6.26,0 -11.32,-2.2 -15.18,-6.6 v 28.39 l -16.45,1.86 v -86.9 h 14.48 l 0.81,7.19 c 2.32,-3.01 5.04,-5.27 8.17,-6.78 3.13,-1.5 6.28,-2.26 9.44,-2.26 7.89,0 13.7,2.84 17.45,8.51 z"
id="path12"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 423.86,67.73 c 0,-10.19 -3.67,-15.29 -11.01,-15.29 -3.4,0 -6.04,1.26 -7.94,3.76 -1.89,2.51 -3.03,6.59 -3.42,12.22 h 22.36 v -0.69 z m 15.99,11.01 H 401.5 c 0.54,5.56 2.04,9.5 4.52,11.82 2.47,2.32 5.83,3.48 10.08,3.48 2.62,0 5.1,-0.43 7.42,-1.27 2.32,-0.85 4.83,-2.2 7.53,-4.05 l 6.84,9.27 c -6.88,5.56 -14.64,8.34 -23.29,8.34 -9.66,0 -17.07,-2.9 -22.25,-8.69 -5.18,-5.79 -7.76,-13.63 -7.76,-23.52 0,-6.26 1.1,-11.87 3.3,-16.86 2.2,-4.98 5.4,-8.9 9.62,-11.76 4.21,-2.86 9.21,-4.29 15,-4.29 8.73,0 15.53,2.74 20.39,8.23 4.87,5.48 7.3,13.13 7.3,22.94 -0.01,0.76 -0.12,2.88 -0.35,6.36"
id="path14"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 491.17,46.12 c 3.01,3.29 4.52,7.82 4.52,13.62 v 44.72 H 479.24 V 62.52 c 0,-3.32 -0.56,-5.66 -1.68,-7.01 -1.12,-1.35 -2.8,-2.02 -5.04,-2.02 -2.32,0 -4.42,0.72 -6.31,2.14 -1.89,1.43 -3.73,3.58 -5.5,6.43 v 42.41 H 444.26 V 43.05 h 14.25 l 1.27,7.76 c 2.55,-3.17 5.35,-5.56 8.4,-7.19 3.05,-1.62 6.51,-2.43 10.37,-2.43 5.4,0.01 9.62,1.65 12.62,4.93"
id="path16"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 547.78,24.92 c 4.29,1.66 8.24,4.19 11.88,7.59 l -8.23,9.5 c -2.78,-2.4 -5.61,-4.13 -8.46,-5.21 -2.86,-1.08 -5.91,-1.62 -9.15,-1.62 -3.55,0 -6.39,0.75 -8.52,2.26 -2.13,1.5 -3.19,3.65 -3.19,6.43 0,1.93 0.45,3.52 1.33,4.75 0.89,1.24 2.45,2.4 4.69,3.48 2.25,1.08 5.6,2.32 10.08,3.71 7.96,2.55 13.91,5.7 17.84,9.44 3.94,3.75 5.91,9.1 5.91,16.04 0,4.95 -1.24,9.29 -3.71,13.04 -2.47,3.75 -6.07,6.68 -10.78,8.81 -4.72,2.12 -10.24,3.19 -16.57,3.19 -6.33,0 -11.97,-1 -16.92,-3.01 -4.94,-2.01 -9.19,-4.75 -12.74,-8.23 l 8.92,-9.73 c 5.87,5.4 12.63,8.11 20.28,8.11 4.17,0 7.51,-0.97 10.02,-2.9 2.51,-1.93 3.76,-4.64 3.76,-8.11 0,-2.16 -0.45,-3.96 -1.33,-5.39 -0.89,-1.42 -2.41,-2.72 -4.57,-3.88 -2.17,-1.16 -5.3,-2.36 -9.39,-3.59 -8.73,-2.7 -14.97,-5.95 -18.71,-9.73 -3.75,-3.79 -5.62,-8.73 -5.62,-14.84 0,-4.48 1.2,-8.44 3.59,-11.87 2.4,-3.44 5.72,-6.08 9.97,-7.94 4.25,-1.86 9.07,-2.78 14.48,-2.78 5.81,-0.02 10.85,0.82 15.14,2.48"
id="path18"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 586.53,92.06 c 0.54,0.77 1.35,1.16 2.43,1.16 1.31,0 2.43,-0.23 3.36,-0.69 l 3.36,11.7 c -3.4,1.39 -7.11,2.09 -11.12,2.09 -4.87,0 -8.63,-1.42 -11.3,-4.23 -2.66,-2.82 -3.99,-6.9 -3.99,-12.22 V 18.6 l 16.45,-1.86 v 71.61 c 0,1.7 0.28,2.94 0.81,3.71"
id="path20"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 602.99,43.05 h 16.45 v 61.41 h -16.45 z m 15.35,-28.91 c 1.89,1.82 2.84,4.12 2.84,6.9 0,2.78 -0.95,5.08 -2.84,6.9 -1.89,1.82 -4.31,2.72 -7.24,2.72 -2.93,0 -5.33,-0.91 -7.19,-2.72 -1.85,-1.81 -2.78,-4.12 -2.78,-6.9 0,-2.78 0.93,-5.08 2.78,-6.9 1.86,-1.81 4.25,-2.72 7.19,-2.72 2.94,0 5.35,0.91 7.24,2.72"
id="path22"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 661.38,92.18 c 1.86,-1.23 3.6,-3.09 5.22,-5.56 V 59.16 c -1.62,-1.93 -3.25,-3.38 -4.87,-4.35 -1.62,-0.97 -3.52,-1.45 -5.68,-1.45 -3.79,0 -6.76,1.66 -8.92,4.98 -2.17,3.32 -3.24,8.46 -3.24,15.41 0,7.34 0.94,12.55 2.84,15.64 1.89,3.09 4.65,4.63 8.29,4.63 2.38,0.02 4.51,-0.6 6.36,-1.84 m 21.67,12.28 h -14.48 l -0.93,-7.53 c -4.33,6.26 -10.19,9.39 -17.61,9.39 -7.57,0 -13.34,-2.92 -17.32,-8.75 -3.98,-5.83 -5.97,-13.77 -5.97,-23.81 0,-6.34 1.02,-11.95 3.07,-16.86 2.04,-4.9 4.96,-8.75 8.75,-11.53 3.78,-2.78 8.23,-4.17 13.33,-4.17 2.86,0 5.55,0.56 8.05,1.68 2.51,1.12 4.73,2.61 6.66,4.46 V 16.75 l 16.45,1.85 z"
id="path24"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 730.21,67.73 c 0,-10.19 -3.67,-15.29 -11.01,-15.29 -3.4,0 -6.04,1.26 -7.94,3.76 -1.89,2.51 -3.03,6.59 -3.42,12.22 h 22.36 z m 15.99,11.01 h -38.36 c 0.54,5.56 2.04,9.5 4.52,11.82 2.47,2.32 5.83,3.48 10.08,3.48 2.62,0 5.1,-0.43 7.42,-1.27 2.32,-0.85 4.82,-2.2 7.53,-4.05 l 6.83,9.27 c -6.88,5.56 -14.64,8.34 -23.29,8.34 -9.66,0 -17.07,-2.9 -22.25,-8.69 -5.18,-5.79 -7.77,-13.63 -7.77,-23.52 0,-6.26 1.1,-11.87 3.3,-16.86 2.2,-4.98 5.4,-8.9 9.62,-11.76 4.21,-2.86 9.21,-4.29 15,-4.29 8.73,0 15.52,2.74 20.39,8.23 4.87,5.48 7.3,13.13 7.3,22.94 0.03,0.76 -0.09,2.88 -0.32,6.36 z"
id="path26"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
class="st1"
d="m 800.19,48.61 -6.26,9.62 c -5.02,-3.4 -9.97,-5.1 -14.83,-5.1 -2.86,0 -5.06,0.5 -6.6,1.51 -1.55,1 -2.32,2.36 -2.32,4.05 0,1.23 0.33,2.28 0.98,3.13 0.66,0.85 1.89,1.66 3.71,2.43 1.81,0.77 4.54,1.7 8.17,2.78 6.49,1.78 11.32,4.15 14.48,7.12 3.16,2.98 4.75,7.05 4.75,12.22 0,4.1 -1.18,7.64 -3.54,10.66 -2.35,3.01 -5.55,5.31 -9.56,6.9 -4.02,1.58 -8.5,2.38 -13.44,2.38 -5.17,0 -9.89,-0.79 -14.14,-2.38 -4.25,-1.58 -7.88,-3.76 -10.89,-6.55 l 8.22,-9.15 c 2.32,1.93 4.87,3.44 7.65,4.52 2.78,1.08 5.64,1.62 8.57,1.62 3.17,0 5.66,-0.6 7.48,-1.8 1.81,-1.2 2.72,-2.8 2.72,-4.8 0,-1.62 -0.35,-2.92 -1.05,-3.88 -0.69,-0.97 -1.97,-1.86 -3.82,-2.67 -1.86,-0.81 -4.75,-1.76 -8.7,-2.84 -6.18,-1.7 -10.76,-4.12 -13.73,-7.24 -2.98,-3.13 -4.46,-7.01 -4.46,-11.65 0,-3.47 1,-6.6 3.01,-9.38 2.01,-2.78 4.85,-4.96 8.52,-6.55 3.67,-1.58 7.94,-2.38 12.8,-2.38 8.69,0.02 16.1,2.49 22.28,7.43"
id="path28"
inkscape:connector-curvature="0"
style="fill:#ffffff" /></g><g
id="g792"
transform="translate(-6.48,-6.42)"><g
transform="translate(10,10)"
id="g86">
<g
id="g46">
<circle
class="st1"
cx="124.67"
cy="90.790001"
r="5.6300001"
id="circle36"
style="fill:#ffffff" />
<circle
class="st1"
cx="140.63"
cy="90.790001"
r="5.6300001"
id="circle38"
style="fill:#ffffff" />
<circle
class="st1"
cx="156.13"
cy="90.790001"
r="5.6300001"
id="circle40"
style="fill:#ffffff" />
<circle
class="st1"
cx="171.64"
cy="90.790001"
r="5.6300001"
id="circle42"
style="fill:#ffffff" />
<circle
class="st1"
cx="187.14999"
cy="90.790001"
r="5.6300001"
id="circle44"
style="fill:#ffffff" />
</g>
<g
id="g58">
<circle
class="st1"
cx="118.34"
cy="78.449997"
r="5.6300001"
id="circle48"
style="fill:#ffffff" />
<circle
class="st1"
cx="127.26"
cy="65.220001"
r="5.6300001"
id="circle50"
style="fill:#ffffff" />
<circle
class="st1"
cx="135.92999"
cy="52.360001"
r="5.6300001"
id="circle52"
style="fill:#ffffff" />
<circle
class="st1"
cx="144.60001"
cy="39.509998"
r="5.6300001"
id="circle54"
style="fill:#ffffff" />
<circle
class="st1"
cx="153.28"
cy="26.65"
r="5.6300001"
id="circle56"
style="fill:#ffffff" />
</g>
<g
id="g68">
<circle
class="st1"
cx="136.19"
cy="76.610001"
r="5.6300001"
id="circle60"
style="fill:#ffffff" />
<circle
class="st1"
cx="168.53999"
cy="76.169998"
r="5.6300001"
id="circle62"
style="fill:#ffffff" />
<circle
class="st1"
cx="184.72"
cy="76.169998"
r="5.6300001"
id="circle64"
style="fill:#ffffff" />
<circle
class="st1"
cx="152.37"
cy="76.610001"
r="5.6300001"
id="circle66"
style="fill:#ffffff" />
</g>
<g
id="g76">
<circle
class="st1"
cx="146.39"
cy="63.32"
r="5.6300001"
id="circle70"
style="fill:#ffffff" />
<circle
class="st1"
cx="180.50999"
cy="62.43"
r="5.6300001"
id="circle72"
style="fill:#ffffff" />
<circle
class="st1"
cx="163.89"
cy="62.869999"
r="5.6300001"
id="circle74"
style="fill:#ffffff" />
</g>
<g
id="g80">
<circle
class="st1"
cx="155.69"
cy="50.470001"
r="5.6300001"
id="circle78"
style="fill:#ffffff" />
</g>
<g
id="g84">
<circle
class="st1"
cx="164.55"
cy="37.169998"
r="5.6300001"
id="circle82"
style="fill:#ffffff" />
</g>
</g><g
transform="translate(10,10)"
id="g140">
<g
id="g98">
<circle
class="st1"
cx="69.589996"
cy="90.790001"
r="5.6300001"
id="circle88"
style="fill:#ffffff" />
<circle
class="st1"
cx="53.639999"
cy="90.790001"
r="5.6300001"
id="circle90"
style="fill:#ffffff" />
<circle
class="st1"
cx="38.130001"
cy="90.790001"
r="5.6300001"
id="circle92"
style="fill:#ffffff" />
<circle
class="st1"
cx="22.620001"
cy="90.790001"
r="5.6300001"
id="circle94"
style="fill:#ffffff" />
<circle
class="st1"
cx="7.1100001"
cy="90.790001"
r="5.6300001"
id="circle96"
style="fill:#ffffff" />
</g>
<g
id="g110">
<circle
class="st1"
cx="75.93"
cy="78.449997"
r="5.6300001"
id="circle100"
style="fill:#ffffff" />
<circle
class="st1"
cx="67.010002"
cy="65.220001"
r="5.6300001"
id="circle102"
style="fill:#ffffff" />
<circle
class="st1"
cx="58.34"
cy="52.360001"
r="5.6300001"
id="circle104"
style="fill:#ffffff" />
<circle
class="st1"
cx="49.66"
cy="39.509998"
r="5.6300001"
id="circle106"
style="fill:#ffffff" />
<circle
class="st1"
cx="40.990002"
cy="26.65"
r="5.6300001"
id="circle108"
style="fill:#ffffff" />
</g>
<g
id="g120">
<circle
class="st1"
cx="58.07"
cy="76.610001"
r="5.6300001"
id="circle112"
style="fill:#ffffff" />
<circle
class="st1"
cx="25.73"
cy="76.169998"
r="5.6300001"
id="circle114"
style="fill:#ffffff" />
<circle
class="st1"
cx="9.5500002"
cy="76.169998"
r="5.6300001"
id="circle116"
style="fill:#ffffff" />
<circle
class="st1"
cx="41.900002"
cy="76.610001"
r="5.6300001"
id="circle118"
style="fill:#ffffff" />
</g>
<g
id="g128">
<circle
class="st1"
cx="47.880001"
cy="63.32"
r="5.6300001"
id="circle122"
style="fill:#ffffff" />
<circle
class="st1"
cx="13.76"
cy="62.43"
r="5.6300001"
id="circle124"
style="fill:#ffffff" />
<circle
class="st1"
cx="30.379999"
cy="62.869999"
r="5.6300001"
id="circle126"
style="fill:#ffffff" />
</g>
<g
id="g134">
<circle
class="st1"
cx="38.580002"
cy="50.470001"
r="5.6300001"
id="circle130"
style="fill:#ffffff" />
<circle
class="st1"
cx="21.07"
cy="49.139999"
r="5.6300001"
id="circle132"
style="fill:#ffffff" />
</g>
<g
id="g138">
<circle
class="st1"
cx="29.709999"
cy="37.169998"
r="5.6300001"
id="circle136"
style="fill:#ffffff" />
</g>
</g><g
transform="translate(10,10)"
id="g194">
<g
id="g152">
<circle
class="st1"
cx="104.26"
cy="69.860001"
r="5.6300001"
id="circle142"
style="fill:#ffffff" />
<circle
class="st1"
cx="111.62"
cy="55.700001"
r="5.6300001"
id="circle144"
style="fill:#ffffff" />
<circle
class="st1"
cx="118.77"
cy="41.939999"
r="5.6300001"
id="circle146"
style="fill:#ffffff" />
<circle
class="st1"
cx="125.92"
cy="28.18"
r="5.6300001"
id="circle148"
style="fill:#ffffff" />
<circle
class="st1"
cx="133.07001"
cy="14.42"
r="5.6300001"
id="circle150"
style="fill:#ffffff" />
</g>
<g
id="g164">
<circle
class="st1"
cx="90.379997"
cy="69.779999"
r="5.6300001"
id="circle154"
style="fill:#ffffff" />
<circle
class="st1"
cx="82.760002"
cy="55.77"
r="5.6300001"
id="circle156"
style="fill:#ffffff" />
<circle
class="st1"
cx="75.349998"
cy="42.139999"
r="5.6300001"
id="circle158"
style="fill:#ffffff" />
<circle
class="st1"
cx="67.949997"
cy="28.52"
r="5.6300001"
id="circle160"
style="fill:#ffffff" />
<circle
class="st1"
cx="60.540001"
cy="14.89"
r="5.6300001"
id="circle162"
style="fill:#ffffff" />
</g>
<g
id="g174">
<circle
class="st1"
cx="96.989998"
cy="53.09"
r="5.6300001"
id="circle166"
style="fill:#ffffff" />
<circle
class="st1"
cx="111.52"
cy="24.190001"
r="5.6300001"
id="circle168"
style="fill:#ffffff" />
<circle
class="st1"
cx="118.98"
cy="9.8299999"
r="5.6300001"
id="circle170"
style="fill:#ffffff" />
<circle
class="st1"
cx="104.45"
cy="38.740002"
r="5.6300001"
id="circle172"
style="fill:#ffffff" />
</g>
<g
id="g182">
<circle
class="st1"
cx="89.900002"
cy="37.919998"
r="5.6300001"
id="circle176"
style="fill:#ffffff" />
<circle
class="st1"
cx="104.84"
cy="7.23"
r="5.6300001"
id="circle178"
style="fill:#ffffff" />
<circle
class="st1"
cx="97.57"
cy="22.18"
r="5.6300001"
id="circle180"
style="fill:#ffffff" />
</g>
<g
id="g188">
<circle
class="st1"
cx="82.779999"
cy="23.74"
r="5.6300001"
id="circle184"
style="fill:#ffffff" />
<circle
class="st1"
cx="89.68"
cy="7.2199998"
r="5.6300001"
id="circle186"
style="fill:#ffffff" />
</g>
<g
id="g192">
<circle
class="st1"
cx="75.080002"
cy="9.7399998"
r="5.6300001"
id="circle190"
style="fill:#ffffff" />
</g>
</g><circle
class="st1"
cx="183.42"
cy="59.139999"
r="5.6300001"
id="circle196"
style="fill:#ffffff" /><path
class="st1"
d="M 121.46,133.5 H 93.29 c -3.1,0 -5.63,-2.54 -5.63,-5.63 v 0 c 0,-3.1 2.54,-5.63 5.63,-5.63 h 28.17 c 3.1,0 5.63,2.54 5.63,5.63 v 0 c 0.01,3.09 -2.53,5.63 -5.63,5.63 z"
id="path198"
inkscape:connector-curvature="0"
style="fill:#ffffff" /></g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,638 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://opensource.org/licenses/MIT"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_3"
x="0px"
y="0px"
width="1079.0952"
height="214.49588"
viewBox="0 0 1079.0951 214.49587"
enable-background="new 0 0 841.89 595.28"
xml:space="preserve"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="openslides-logo-h-dark.svg"
inkscape:export-xdpi="20.85"
inkscape:export-ydpi="20.85"><metadata
id="metadata461"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title><dc:creator><cc:Agent><dc:title>OpenSlides Team</dc:title></cc:Agent></dc:creator></cc:Work></rdf:RDF></metadata><defs
id="defs459">
</defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10000"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1672"
inkscape:window-height="978"
id="namedview457"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="0.86517113"
inkscape:cx="571.69892"
inkscape:cy="-75.964234"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Ebene_3"
fit-margin-top="40"
fit-margin-left="40"
fit-margin-right="40"
fit-margin-bottom="25"
units="px"
borderlayer="true"
inkscape:showpageshadow="false"
inkscape:document-units="px"><inkscape:grid
type="xygrid"
id="grid3097"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="2.5749768e-06px"
originy="-5.0000035px" /></sodipodi:namedview>
<rect
style="fill:#002c42;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect7699"
width="1168.8514"
height="322.0498"
x="-48.851433"
y="-58.83773" /><g
id="g5094"
transform="matrix(2.0781875,0,0,2.0781875,39.999977,39.999828)"
style="fill:#ffffff;fill-opacity:1"><g
transform="translate(-154.63686,-116.56793)"
id="g7"
style="fill:#ffffff;fill-opacity:1">
<path
d="m 334.257,126.401 c 3.222,1.985 5.696,4.867 7.423,8.649 1.727,3.782 2.591,8.358 2.591,13.726 0,5.276 -0.865,9.816 -2.591,13.621 -1.728,3.806 -4.202,6.712 -7.423,8.719 -3.221,2.007 -7.05,3.011 -11.485,3.011 -4.436,0 -8.276,-0.993 -11.521,-2.977 -3.245,-1.984 -5.731,-4.878 -7.458,-8.684 -1.728,-3.805 -2.591,-8.369 -2.591,-13.691 0,-5.228 0.875,-9.745 2.626,-13.551 1.751,-3.805 4.248,-6.723 7.494,-8.754 3.244,-2.031 7.061,-3.046 11.45,-3.046 4.435,10e-4 8.264,0.994 11.485,2.977 z m -19.503,8.93 c -1.798,2.801 -2.696,7.283 -2.696,13.446 0,6.163 0.91,10.645 2.731,13.446 1.821,2.801 4.482,4.202 7.984,4.202 3.547,0 6.208,-1.389 7.983,-4.167 1.774,-2.777 2.661,-7.271 2.661,-13.481 0,-6.208 -0.887,-10.703 -2.661,-13.481 -1.775,-2.777 -4.436,-4.167 -7.983,-4.167 -3.549,0 -6.223,1.4 -8.019,4.202 z"
id="path9"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 377.361,139.917 c 2.264,3.432 3.396,8.253 3.396,14.461 0,3.782 -0.584,7.167 -1.75,10.155 -1.167,2.988 -2.86,5.334 -5.077,7.038 -2.218,1.704 -4.844,2.556 -7.879,2.556 -3.782,0 -6.84,-1.331 -9.174,-3.992 v 17.157 l -9.944,1.121 V 135.89 h 8.754 l 0.49,4.342 c 1.4,-1.821 3.046,-3.187 4.937,-4.097 1.891,-0.91 3.792,-1.365 5.708,-1.365 4.761,10e-4 8.274,1.716 10.539,5.147 z m -6.968,14.532 c 0,-4.482 -0.549,-7.657 -1.646,-9.524 -1.098,-1.867 -2.766,-2.801 -5.007,-2.801 -1.354,0 -2.615,0.432 -3.781,1.295 -1.168,0.865 -2.195,2.02 -3.082,3.467 v 16.177 c 1.586,2.428 3.665,3.642 6.233,3.642 4.855,0 7.283,-4.085 7.283,-12.256 z"
id="path11"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 416.333,157.46 h -23.18 c 0.326,3.361 1.236,5.743 2.731,7.143 1.493,1.401 3.524,2.101 6.092,2.101 1.587,0 3.082,-0.256 4.482,-0.771 1.4,-0.513 2.917,-1.331 4.552,-2.451 l 4.132,5.603 c -4.156,3.362 -8.848,5.042 -14.076,5.042 -5.837,0 -10.319,-1.751 -13.446,-5.252 -3.129,-3.501 -4.692,-8.24 -4.692,-14.216 0,-3.782 0.666,-7.178 1.996,-10.189 1.33,-3.011 3.267,-5.38 5.813,-7.108 2.544,-1.727 5.567,-2.591 9.069,-2.591 5.275,0 9.384,1.658 12.326,4.972 2.941,3.315 4.412,7.938 4.412,13.866 -10e-4,0.467 -0.071,1.75 -0.211,3.851 z m -9.664,-6.652 c 0,-6.163 -2.218,-9.244 -6.653,-9.244 -2.055,0 -3.654,0.759 -4.797,2.276 -1.145,1.518 -1.833,3.981 -2.066,7.388 h 13.516 v -0.42 z"
id="path13"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 447.355,137.747 c 1.821,1.985 2.732,4.727 2.732,8.229 v 27.032 h -9.945 v -25.351 c 0,-2.007 -0.339,-3.42 -1.016,-4.237 -0.677,-0.816 -1.692,-1.225 -3.046,-1.225 -1.4,0 -2.673,0.432 -3.817,1.295 -1.145,0.864 -2.252,2.16 -3.326,3.887 v 25.631 h -9.944 v -37.117 h 8.614 l 0.77,4.692 c 1.541,-1.914 3.232,-3.362 5.078,-4.342 1.844,-0.98 3.933,-1.47 6.268,-1.47 3.267,0 5.812,0.992 7.632,2.976 z"
id="path15"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 481.566,124.931 c 2.592,1.004 4.983,2.533 7.178,4.587 l -4.972,5.743 c -1.681,-1.447 -3.386,-2.497 -5.112,-3.152 -1.728,-0.653 -3.572,-0.98 -5.532,-0.98 -2.147,0 -3.864,0.455 -5.147,1.365 -1.285,0.911 -1.926,2.206 -1.926,3.887 0,1.167 0.268,2.125 0.805,2.872 0.537,0.747 1.482,1.448 2.837,2.101 1.354,0.655 3.384,1.401 6.093,2.241 4.809,1.541 8.404,3.443 10.785,5.708 2.381,2.265 3.571,5.498 3.571,9.699 0,2.988 -0.747,5.615 -2.241,7.878 -1.494,2.265 -3.666,4.039 -6.513,5.323 -2.849,1.283 -6.187,1.926 -10.015,1.926 -3.828,0 -7.237,-0.607 -10.225,-1.821 -2.988,-1.214 -5.557,-2.872 -7.703,-4.972 l 5.393,-5.883 c 3.547,3.269 7.633,4.902 12.255,4.902 2.521,0 4.54,-0.583 6.058,-1.751 1.518,-1.167 2.276,-2.801 2.276,-4.902 0,-1.306 -0.27,-2.392 -0.806,-3.256 -0.537,-0.863 -1.459,-1.646 -2.766,-2.346 -1.309,-0.701 -3.199,-1.424 -5.673,-2.171 -5.276,-1.633 -9.046,-3.594 -11.31,-5.882 -2.266,-2.287 -3.396,-5.275 -3.396,-8.964 0,-2.708 0.723,-5.101 2.17,-7.178 1.447,-2.077 3.455,-3.677 6.023,-4.797 2.566,-1.121 5.485,-1.681 8.754,-1.681 3.503,-0.002 6.548,0.501 9.139,1.504 z"
id="path17"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 504.991,165.514 c 0.326,0.467 0.815,0.7 1.471,0.7 0.793,0 1.471,-0.14 2.03,-0.42 l 2.031,7.073 c -2.055,0.84 -4.296,1.261 -6.723,1.261 -2.941,0 -5.218,-0.853 -6.828,-2.556 -1.611,-1.704 -2.416,-4.167 -2.416,-7.388 v -43.069 l 9.944,-1.121 v 43.279 c 10e-4,1.027 0.164,1.775 0.491,2.241 z"
id="path19"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 524.214,118.418 c 1.144,1.098 1.716,2.486 1.716,4.167 0,1.681 -0.572,3.07 -1.716,4.167 -1.145,1.097 -2.603,1.646 -4.377,1.646 -1.774,0 -3.222,-0.548 -4.342,-1.646 -1.12,-1.097 -1.681,-2.486 -1.681,-4.167 0,-1.681 0.561,-3.069 1.681,-4.167 1.12,-1.096 2.567,-1.646 4.342,-1.646 1.775,0 3.232,0.55 4.377,1.646 z m -9.278,54.589 V 135.89 h 9.943 v 37.117 h -9.943 z"
id="path21"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 563.326,173.007 h -8.754 l -0.561,-4.552 c -2.615,3.782 -6.162,5.673 -10.645,5.673 -4.576,0 -8.065,-1.762 -10.469,-5.288 -2.406,-3.524 -3.607,-8.322 -3.607,-14.391 0,-3.828 0.618,-7.224 1.855,-10.189 1.236,-2.964 3,-5.288 5.287,-6.968 2.287,-1.68 4.973,-2.521 8.055,-2.521 1.727,0 3.35,0.339 4.867,1.015 1.516,0.677 2.859,1.576 4.026,2.696 v -18.488 l 9.944,1.121 v 51.892 z m -13.096,-7.423 c 1.121,-0.746 2.171,-1.867 3.151,-3.361 v -16.598 c -0.98,-1.167 -1.961,-2.042 -2.941,-2.626 -0.98,-0.583 -2.125,-0.875 -3.432,-0.875 -2.288,0 -4.085,1.004 -5.392,3.011 -1.309,2.008 -1.961,5.112 -1.961,9.314 0,4.436 0.57,7.587 1.715,9.454 1.145,1.868 2.813,2.801 5.008,2.801 1.447,0.001 2.731,-0.372 3.852,-1.12 z"
id="path23"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 601.494,157.46 h -23.182 c 0.326,3.361 1.236,5.743 2.732,7.143 1.492,1.401 3.523,2.101 6.092,2.101 1.587,0 3.082,-0.256 4.482,-0.771 1.4,-0.513 2.917,-1.331 4.552,-2.451 l 4.132,5.603 c -4.156,3.362 -8.848,5.042 -14.076,5.042 -5.837,0 -10.318,-1.751 -13.445,-5.252 -3.129,-3.501 -4.693,-8.24 -4.693,-14.216 0,-3.782 0.666,-7.178 1.996,-10.189 1.331,-3.011 3.268,-5.38 5.813,-7.108 2.545,-1.727 5.568,-2.591 9.069,-2.591 5.275,0 9.384,1.658 12.325,4.972 2.941,3.315 4.412,7.938 4.412,13.866 0,0.467 -0.07,1.75 -0.209,3.851 z m -9.665,-6.652 c 0,-6.163 -2.218,-9.244 -6.653,-9.244 -2.055,0 -3.653,0.759 -4.797,2.276 -1.145,1.518 -1.833,3.981 -2.066,7.388 h 13.517 v -0.42 z"
id="path25"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 634.127,139.252 -3.781,5.813 c -3.035,-2.054 -6.023,-3.082 -8.965,-3.082 -1.727,0 -3.059,0.304 -3.99,0.911 -0.936,0.607 -1.402,1.425 -1.402,2.451 0,0.747 0.199,1.377 0.596,1.891 0.396,0.514 1.145,1.004 2.242,1.471 1.096,0.467 2.742,1.027 4.936,1.681 3.922,1.075 6.84,2.51 8.754,4.307 1.914,1.798 2.873,4.261 2.873,7.388 0,2.475 -0.713,4.622 -2.137,6.443 -1.424,1.821 -3.352,3.21 -5.777,4.167 -2.428,0.956 -5.137,1.436 -8.123,1.436 -3.129,0 -5.979,-0.479 -8.545,-1.436 -2.568,-0.957 -4.762,-2.276 -6.582,-3.957 l 4.971,-5.532 c 1.402,1.167 2.941,2.078 4.623,2.731 1.68,0.654 3.408,0.98 5.182,0.98 1.914,0 3.42,-0.361 4.518,-1.085 1.096,-0.723 1.646,-1.692 1.646,-2.906 0,-0.98 -0.211,-1.762 -0.631,-2.346 -0.42,-0.583 -1.191,-1.121 -2.311,-1.61 -1.121,-0.49 -2.871,-1.062 -5.254,-1.716 -3.734,-1.026 -6.502,-2.486 -8.297,-4.377 -1.799,-1.891 -2.697,-4.237 -2.697,-7.038 0,-2.101 0.605,-3.992 1.82,-5.673 1.215,-1.681 2.93,-2.999 5.148,-3.957 2.217,-0.957 4.797,-1.436 7.738,-1.436 5.228,0 9.709,1.494 13.445,4.481 z"
id="path27"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
</g><g
transform="matrix(1.2794416,0,0,1.2794416,-241.04704,-149.41913)"
id="g29"
style="fill:#ffffff;fill-opacity:1">
<path
d="m 231.138,168.561 h 15.136 c 1.645,0 2.965,0.99 2.965,2.225 0,1.231 -1.32,2.223 -2.965,2.223 h -15.136 c -1.646,0 -2.969,-0.992 -2.969,-2.223 0,-1.235 1.322,-2.225 2.969,-2.225 z"
id="path31"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<g
id="g33"
style="fill:#ffffff;fill-opacity:1">
<path
d="m 224.244,127.652 c 1.516,0.284 2.521,1.745 2.243,3.26 -0.284,1.519 -1.747,2.523 -3.258,2.239 -1.522,-0.277 -2.526,-1.736 -2.241,-3.258 0.278,-1.519 1.739,-2.519 3.256,-2.241 z"
id="path35"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 248.342,127.971 c -0.113,-1.547 -1.455,-2.703 -2.995,-2.586 -1.539,0.114 -2.695,1.456 -2.584,2.996 0.112,1.54 1.455,2.697 2.995,2.576 1.539,-0.111 2.696,-1.453 2.584,-2.986 z"
id="path37"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 254.698,130.199 c -0.111,-1.541 -1.447,-2.698 -2.986,-2.584 -1.54,0.119 -2.696,1.454 -2.586,3 0.115,1.532 1.456,2.69 2.996,2.576 1.54,-0.111 2.698,-1.453 2.576,-2.992 z"
id="path39"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 228.791,118.638 c -1.282,-0.857 -3.021,-0.527 -3.888,0.749 -0.857,1.282 -0.528,3.014 0.748,3.887 1.282,0.864 3.021,0.526 3.886,-0.749 0.866,-1.282 0.528,-3.019 -0.746,-3.887 z"
id="path41"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path43"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path45"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.454 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path47"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path49"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 255.645,120.877 c 1.521,0.284 2.518,1.74 2.242,3.26 -0.285,1.519 -1.739,2.517 -3.26,2.239 -1.521,-0.284 -2.519,-1.737 -2.24,-3.259 0.284,-1.518 1.745,-2.517 3.258,-2.24 z"
id="path51"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 240.216,140.03 c -1.276,-0.865 -3.016,-0.537 -3.88,0.746 -0.866,1.277 -0.538,3.014 0.746,3.88 1.282,0.867 3.013,0.53 3.88,-0.746 0.866,-1.276 0.529,-3.016 -0.746,-3.88 z"
id="path53"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.583 -1.541,0.117 -2.698,1.459 -2.584,2.994 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.112 2.696,-1.453 2.583,-2.995 z"
id="path55"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z"
id="path57"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 229.154,134.489 c -1.275,-0.864 -3.018,-0.527 -3.88,0.749 -0.867,1.283 -0.529,3.014 0.745,3.88 1.282,0.871 3.012,0.534 3.881,-0.742 0.868,-1.283 0.534,-3.021 -0.746,-3.887 z"
id="path59"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 236.296,132.867 c -1.277,-0.864 -3.014,-0.533 -3.881,0.749 -0.866,1.275 -0.527,3.015 0.748,3.88 1.279,0.864 3.021,0.527 3.885,-0.749 0.867,-1.276 0.529,-3.013 -0.752,-3.88 z"
id="path61"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 251.567,136.602 c -0.111,-1.539 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path63"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path65"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path67"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path69"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path71"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path73"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 232.399,125.857 c -1.281,-0.867 -3.021,-0.529 -3.887,0.745 -0.866,1.283 -0.528,3.016 0.747,3.887 1.282,0.859 3.015,0.53 3.886,-0.745 0.861,-1.284 0.53,-3.02 -0.746,-3.887 z"
id="path75"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 241.034,127.336 c -0.11,-1.54 -1.451,-2.696 -2.991,-2.579 -1.54,0.114 -2.698,1.456 -2.587,2.995 0.114,1.534 1.456,2.69 2.995,2.577 1.546,-0.111 2.7,-1.453 2.583,-2.993 z"
id="path77"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 221.422,121.313 c -1.276,-0.866 -3.015,-0.537 -3.88,0.745 -0.867,1.278 -0.529,3.015 0.746,3.88 1.282,0.868 3.015,0.537 3.88,-0.738 0.866,-1.282 0.535,-3.027 -0.746,-3.887 z"
id="path79"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path81"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 237.039,119.377 c -0.112,-1.546 -1.454,-2.698 -2.993,-2.584 -1.533,0.112 -2.69,1.454 -2.579,2.992 0.112,1.541 1.455,2.692 2.996,2.58 1.539,-0.115 2.688,-1.456 2.576,-2.988 z"
id="path83"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path85"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 231.97,140.602 c 1.519,0.282 2.523,1.745 2.239,3.257 -0.278,1.521 -1.736,2.525 -3.259,2.242 -1.512,-0.279 -2.518,-1.74 -2.241,-3.258 0.285,-1.523 1.745,-2.52 3.261,-2.241 z"
id="path87"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z"
id="path89"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path91"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 244.838,134.975 c -0.115,-1.54 -1.456,-2.695 -2.996,-2.583 -1.534,0.117 -2.698,1.459 -2.577,2.999 0.11,1.542 1.445,2.69 2.992,2.579 1.539,-0.113 2.691,-1.455 2.581,-2.995 z"
id="path93"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path95"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path97"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
</g>
<g
id="g99"
style="fill:#ffffff;fill-opacity:1">
<path
d="m 196.938,156.803 c 1.044,-1.134 2.815,-1.213 3.955,-0.173 1.137,1.043 1.212,2.816 0.169,3.949 -1.04,1.143 -2.81,1.22 -3.949,0.173 -1.141,-1.04 -1.215,-2.808 -0.175,-3.949 z"
id="path101"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 209.977,136.537 c -1.369,-0.725 -3.061,-0.2 -3.779,1.17 -0.718,1.367 -0.192,3.057 1.173,3.777 1.364,0.72 3.057,0.196 3.771,-1.173 0.719,-1.365 0.197,-3.055 -1.165,-3.774 z"
id="path103"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 215.234,132.327 c -1.364,-0.722 -3.053,-0.204 -3.774,1.163 -0.714,1.369 -0.194,3.057 1.176,3.782 1.359,0.716 3.051,0.192 3.772,-1.174 0.719,-1.366 0.196,-3.057 -1.174,-3.771 z"
id="path105"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 191.702,148.171 c -1.404,0.633 -2.047,2.282 -1.425,3.693 0.634,1.408 2.277,2.045 3.691,1.426 1.414,-0.63 2.049,-2.284 1.426,-3.693 -0.629,-1.412 -2.278,-2.049 -3.692,-1.426 z"
id="path107"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path109"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path111"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.192,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path113"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path115"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 207.832,126.584 c 1.046,-1.138 2.81,-1.214 3.952,-0.173 1.138,1.046 1.214,2.809 0.172,3.951 -1.048,1.138 -2.807,1.214 -3.95,0.174 -1.137,-1.047 -1.212,-2.815 -0.174,-3.952 z"
id="path117"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 215.898,149.818 c -1.412,0.624 -2.056,2.274 -1.424,3.685 0.623,1.413 2.271,2.054 3.686,1.424 1.414,-0.628 2.045,-2.275 1.423,-3.686 -0.622,-1.409 -2.277,-2.045 -3.685,-1.423 z"
id="path119"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.777,1.171 -0.717,1.368 -0.192,3.059 1.17,3.777 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path121"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path123"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 205.336,156.264 c -1.407,0.623 -2.045,2.277 -1.421,3.686 0.629,1.414 2.278,2.045 3.687,1.423 1.419,-0.625 2.05,-2.271 1.428,-3.683 -0.63,-1.413 -2.279,-2.054 -3.694,-1.426 z"
id="path125"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 207.746,149.348 c -1.409,0.624 -2.048,2.274 -1.422,3.687 0.622,1.411 2.278,2.045 3.688,1.422 1.411,-0.628 2.047,-2.283 1.422,-3.691 -0.621,-1.412 -2.273,-2.046 -3.688,-1.418 z"
id="path127"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path129"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path131"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path133"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path135"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path137"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path139"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 199.739,148.936 c -1.418,0.628 -2.052,2.282 -1.429,3.689 0.628,1.415 2.276,2.049 3.692,1.428 1.407,-0.633 2.045,-2.273 1.427,-3.691 -0.633,-1.408 -2.28,-2.049 -3.69,-1.426 z"
id="path141"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 205.567,142.396 c -1.363,-0.721 -3.056,-0.197 -3.773,1.171 -0.718,1.366 -0.194,3.058 1.171,3.78 1.361,0.715 3.053,0.191 3.772,-1.175 0.725,-1.368 0.199,-3.055 -1.17,-3.776 z"
id="path143"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 190.066,155.839 c -1.412,0.623 -2.052,2.271 -1.425,3.684 0.624,1.411 2.276,2.046 3.686,1.424 1.416,-0.63 2.054,-2.272 1.431,-3.683 -0.628,-1.412 -2.284,-2.057 -3.692,-1.425 z"
id="path145"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path147"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 196.699,141.568 c -1.37,-0.724 -3.058,-0.196 -3.778,1.169 -0.718,1.358 -0.192,3.052 1.173,3.771 1.366,0.722 3.054,0.194 3.775,-1.171 0.719,-1.368 0.192,-3.053 -1.17,-3.769 z"
id="path149"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path151"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 212.012,157.114 c 1.046,-1.138 2.819,-1.215 3.95,-0.173 1.144,1.041 1.219,2.812 0.175,3.951 -1.037,1.135 -2.808,1.213 -3.951,0.174 -1.141,-1.047 -1.211,-2.816 -0.174,-3.952 z"
id="path153"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path155"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path157"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 214.061,143.221 c -1.367,-0.719 -3.056,-0.193 -3.776,1.171 -0.715,1.363 -0.193,3.061 1.176,3.774 1.368,0.722 3.049,0.2 3.774,-1.172 0.719,-1.364 0.192,-3.051 -1.174,-3.773 z"
id="path159"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path161"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path163"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
</g>
<g
id="g165"
style="fill:#ffffff;fill-opacity:1">
<path
d="m 278.788,156.803 c -1.044,-1.134 -2.816,-1.213 -3.953,-0.173 -1.136,1.043 -1.213,2.816 -0.172,3.949 1.041,1.143 2.809,1.22 3.95,0.173 1.142,-1.04 1.217,-2.808 0.175,-3.949 z"
id="path167"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 265.747,136.537 c 1.371,-0.725 3.063,-0.2 3.78,1.17 0.722,1.367 0.196,3.057 -1.171,3.777 -1.366,0.72 -3.058,0.196 -3.772,-1.173 -0.72,-1.365 -0.194,-3.055 1.163,-3.774 z"
id="path169"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 260.49,132.327 c 1.366,-0.722 3.057,-0.204 3.774,1.163 0.716,1.369 0.198,3.057 -1.175,3.782 -1.358,0.716 -3.053,0.192 -3.77,-1.174 -0.722,-1.366 -0.197,-3.057 1.171,-3.771 z"
id="path171"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 284.023,148.171 c 1.407,0.633 2.047,2.282 1.423,3.693 -0.631,1.408 -2.274,2.045 -3.69,1.426 -1.412,-0.63 -2.048,-2.284 -1.426,-3.693 0.629,-1.412 2.281,-2.049 3.693,-1.426 z"
id="path173"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path175"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path177"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path179"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path181"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 267.894,126.584 c -1.046,-1.138 -2.811,-1.214 -3.952,-0.173 -1.137,1.046 -1.213,2.809 -0.171,3.951 1.045,1.138 2.808,1.214 3.95,0.174 1.135,-1.047 1.211,-2.815 0.173,-3.952 z"
id="path183"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 259.827,149.818 c 1.411,0.624 2.055,2.274 1.426,3.685 -0.625,1.413 -2.271,2.054 -3.687,1.424 -1.416,-0.628 -2.047,-2.275 -1.425,-3.686 0.624,-1.409 2.279,-2.045 3.686,-1.423 z"
id="path185"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.779,1.171 0.715,1.368 0.189,3.059 -1.172,3.777 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path187"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path189"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 270.387,156.264 c 1.413,0.623 2.046,2.277 1.422,3.686 -0.629,1.414 -2.274,2.045 -3.686,1.423 -1.417,-0.625 -2.048,-2.271 -1.426,-3.683 0.629,-1.413 2.279,-2.054 3.69,-1.426 z"
id="path191"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 267.979,149.348 c 1.411,0.624 2.052,2.274 1.421,3.687 -0.622,1.411 -2.274,2.045 -3.685,1.422 -1.411,-0.628 -2.049,-2.283 -1.425,-3.691 0.625,-1.412 2.273,-2.046 3.689,-1.418 z"
id="path193"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 256.719,138.374 c 1.364,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path195"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path197"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path199"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path201"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path203"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path205"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 275.989,148.936 c 1.414,0.628 2.048,2.282 1.427,3.689 -0.626,1.415 -2.276,2.049 -3.69,1.428 -1.407,-0.633 -2.047,-2.273 -1.428,-3.691 0.632,-1.408 2.28,-2.049 3.691,-1.426 z"
id="path207"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 270.158,142.396 c 1.366,-0.721 3.058,-0.197 3.772,1.171 0.72,1.366 0.194,3.058 -1.17,3.78 -1.36,0.715 -3.051,0.191 -3.771,-1.175 -0.726,-1.368 -0.198,-3.055 1.169,-3.776 z"
id="path209"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 285.66,155.839 c 1.41,0.623 2.052,2.271 1.424,3.684 -0.625,1.411 -2.276,2.046 -3.685,1.424 -1.418,-0.63 -2.053,-2.272 -1.432,-3.683 0.632,-1.412 2.284,-2.057 3.693,-1.425 z"
id="path211"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path213"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 279.025,141.568 c 1.372,-0.724 3.062,-0.196 3.778,1.169 0.717,1.358 0.194,3.052 -1.172,3.771 -1.365,0.722 -3.053,0.194 -3.773,-1.171 -0.719,-1.368 -0.19,-3.053 1.167,-3.769 z"
id="path215"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path217"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 263.713,157.114 c -1.045,-1.138 -2.817,-1.215 -3.949,-0.173 -1.143,1.041 -1.22,2.812 -0.175,3.951 1.039,1.135 2.811,1.213 3.951,0.174 1.14,-1.047 1.214,-2.816 0.173,-3.952 z"
id="path219"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path221"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path223"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 261.667,143.221 c 1.363,-0.719 3.056,-0.193 3.777,1.171 0.71,1.363 0.19,3.061 -1.18,3.774 -1.366,0.722 -3.049,0.2 -3.773,-1.172 -0.719,-1.364 -0.189,-3.051 1.176,-3.773 z"
id="path225"
inkscape:connector-curvature="0"
style="fill:#ffffff;fill-opacity:1" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path227"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path229"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#ffffff;fill-opacity:1" />
</g>
</g></g>
</svg>

Before

Width:  |  Height:  |  Size: 38 KiB

View File

@ -1,618 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://opensource.org/licenses/MIT"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_3"
x="0px"
y="0px"
width="1079.0952"
height="214.49588"
viewBox="0 0 1079.0951 214.49587"
enable-background="new 0 0 841.89 595.28"
xml:space="preserve"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="openslides-logo-h.svg"
inkscape:export-xdpi="20.85"
inkscape:export-ydpi="20.85"><metadata
id="metadata461"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /><dc:creator><cc:Agent><dc:title>OpenSlides Team</dc:title></cc:Agent></dc:creator></cc:Work></rdf:RDF></metadata><defs
id="defs459">
</defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1672"
inkscape:window-height="978"
id="namedview457"
showgrid="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:zoom="0.38169128"
inkscape:cx="1239.4445"
inkscape:cy="-221.79039"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Ebene_3"
fit-margin-top="40"
fit-margin-left="40"
fit-margin-right="40"
fit-margin-bottom="25"
units="px"><sodipodi:guide
orientation="0,1"
position="258.25847,-243.74238"
id="guide3558" /><sodipodi:guide
orientation="0,1"
position="226.61305,-187.79779"
id="guide3560" /></sodipodi:namedview>
<g
id="g5094"
transform="matrix(2.0781875,0,0,2.0781875,39.999967,39.999828)"><g
transform="translate(-154.63686,-116.56793)"
id="g7">
<path
d="m 334.257,126.401 c 3.222,1.985 5.696,4.867 7.423,8.649 1.727,3.782 2.591,8.358 2.591,13.726 0,5.276 -0.865,9.816 -2.591,13.621 -1.728,3.806 -4.202,6.712 -7.423,8.719 -3.221,2.007 -7.05,3.011 -11.485,3.011 -4.436,0 -8.276,-0.993 -11.521,-2.977 -3.245,-1.984 -5.731,-4.878 -7.458,-8.684 -1.728,-3.805 -2.591,-8.369 -2.591,-13.691 0,-5.228 0.875,-9.745 2.626,-13.551 1.751,-3.805 4.248,-6.723 7.494,-8.754 3.244,-2.031 7.061,-3.046 11.45,-3.046 4.435,10e-4 8.264,0.994 11.485,2.977 z m -19.503,8.93 c -1.798,2.801 -2.696,7.283 -2.696,13.446 0,6.163 0.91,10.645 2.731,13.446 1.821,2.801 4.482,4.202 7.984,4.202 3.547,0 6.208,-1.389 7.983,-4.167 1.774,-2.777 2.661,-7.271 2.661,-13.481 0,-6.208 -0.887,-10.703 -2.661,-13.481 -1.775,-2.777 -4.436,-4.167 -7.983,-4.167 -3.549,0 -6.223,1.4 -8.019,4.202 z"
id="path9"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 377.361,139.917 c 2.264,3.432 3.396,8.253 3.396,14.461 0,3.782 -0.584,7.167 -1.75,10.155 -1.167,2.988 -2.86,5.334 -5.077,7.038 -2.218,1.704 -4.844,2.556 -7.879,2.556 -3.782,0 -6.84,-1.331 -9.174,-3.992 v 17.157 l -9.944,1.121 V 135.89 h 8.754 l 0.49,4.342 c 1.4,-1.821 3.046,-3.187 4.937,-4.097 1.891,-0.91 3.792,-1.365 5.708,-1.365 4.761,10e-4 8.274,1.716 10.539,5.147 z m -6.968,14.532 c 0,-4.482 -0.549,-7.657 -1.646,-9.524 -1.098,-1.867 -2.766,-2.801 -5.007,-2.801 -1.354,0 -2.615,0.432 -3.781,1.295 -1.168,0.865 -2.195,2.02 -3.082,3.467 v 16.177 c 1.586,2.428 3.665,3.642 6.233,3.642 4.855,0 7.283,-4.085 7.283,-12.256 z"
id="path11"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 416.333,157.46 h -23.18 c 0.326,3.361 1.236,5.743 2.731,7.143 1.493,1.401 3.524,2.101 6.092,2.101 1.587,0 3.082,-0.256 4.482,-0.771 1.4,-0.513 2.917,-1.331 4.552,-2.451 l 4.132,5.603 c -4.156,3.362 -8.848,5.042 -14.076,5.042 -5.837,0 -10.319,-1.751 -13.446,-5.252 -3.129,-3.501 -4.692,-8.24 -4.692,-14.216 0,-3.782 0.666,-7.178 1.996,-10.189 1.33,-3.011 3.267,-5.38 5.813,-7.108 2.544,-1.727 5.567,-2.591 9.069,-2.591 5.275,0 9.384,1.658 12.326,4.972 2.941,3.315 4.412,7.938 4.412,13.866 -10e-4,0.467 -0.071,1.75 -0.211,3.851 z m -9.664,-6.652 c 0,-6.163 -2.218,-9.244 -6.653,-9.244 -2.055,0 -3.654,0.759 -4.797,2.276 -1.145,1.518 -1.833,3.981 -2.066,7.388 h 13.516 v -0.42 z"
id="path13"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 447.355,137.747 c 1.821,1.985 2.732,4.727 2.732,8.229 v 27.032 h -9.945 v -25.351 c 0,-2.007 -0.339,-3.42 -1.016,-4.237 -0.677,-0.816 -1.692,-1.225 -3.046,-1.225 -1.4,0 -2.673,0.432 -3.817,1.295 -1.145,0.864 -2.252,2.16 -3.326,3.887 v 25.631 h -9.944 v -37.117 h 8.614 l 0.77,4.692 c 1.541,-1.914 3.232,-3.362 5.078,-4.342 1.844,-0.98 3.933,-1.47 6.268,-1.47 3.267,0 5.812,0.992 7.632,2.976 z"
id="path15"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 481.566,124.931 c 2.592,1.004 4.983,2.533 7.178,4.587 l -4.972,5.743 c -1.681,-1.447 -3.386,-2.497 -5.112,-3.152 -1.728,-0.653 -3.572,-0.98 -5.532,-0.98 -2.147,0 -3.864,0.455 -5.147,1.365 -1.285,0.911 -1.926,2.206 -1.926,3.887 0,1.167 0.268,2.125 0.805,2.872 0.537,0.747 1.482,1.448 2.837,2.101 1.354,0.655 3.384,1.401 6.093,2.241 4.809,1.541 8.404,3.443 10.785,5.708 2.381,2.265 3.571,5.498 3.571,9.699 0,2.988 -0.747,5.615 -2.241,7.878 -1.494,2.265 -3.666,4.039 -6.513,5.323 -2.849,1.283 -6.187,1.926 -10.015,1.926 -3.828,0 -7.237,-0.607 -10.225,-1.821 -2.988,-1.214 -5.557,-2.872 -7.703,-4.972 l 5.393,-5.883 c 3.547,3.269 7.633,4.902 12.255,4.902 2.521,0 4.54,-0.583 6.058,-1.751 1.518,-1.167 2.276,-2.801 2.276,-4.902 0,-1.306 -0.27,-2.392 -0.806,-3.256 -0.537,-0.863 -1.459,-1.646 -2.766,-2.346 -1.309,-0.701 -3.199,-1.424 -5.673,-2.171 -5.276,-1.633 -9.046,-3.594 -11.31,-5.882 -2.266,-2.287 -3.396,-5.275 -3.396,-8.964 0,-2.708 0.723,-5.101 2.17,-7.178 1.447,-2.077 3.455,-3.677 6.023,-4.797 2.566,-1.121 5.485,-1.681 8.754,-1.681 3.503,-0.002 6.548,0.501 9.139,1.504 z"
id="path17"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 504.991,165.514 c 0.326,0.467 0.815,0.7 1.471,0.7 0.793,0 1.471,-0.14 2.03,-0.42 l 2.031,7.073 c -2.055,0.84 -4.296,1.261 -6.723,1.261 -2.941,0 -5.218,-0.853 -6.828,-2.556 -1.611,-1.704 -2.416,-4.167 -2.416,-7.388 v -43.069 l 9.944,-1.121 v 43.279 c 10e-4,1.027 0.164,1.775 0.491,2.241 z"
id="path19"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 524.214,118.418 c 1.144,1.098 1.716,2.486 1.716,4.167 0,1.681 -0.572,3.07 -1.716,4.167 -1.145,1.097 -2.603,1.646 -4.377,1.646 -1.774,0 -3.222,-0.548 -4.342,-1.646 -1.12,-1.097 -1.681,-2.486 -1.681,-4.167 0,-1.681 0.561,-3.069 1.681,-4.167 1.12,-1.096 2.567,-1.646 4.342,-1.646 1.775,0 3.232,0.55 4.377,1.646 z m -9.278,54.589 V 135.89 h 9.943 v 37.117 h -9.943 z"
id="path21"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 563.326,173.007 h -8.754 l -0.561,-4.552 c -2.615,3.782 -6.162,5.673 -10.645,5.673 -4.576,0 -8.065,-1.762 -10.469,-5.288 -2.406,-3.524 -3.607,-8.322 -3.607,-14.391 0,-3.828 0.618,-7.224 1.855,-10.189 1.236,-2.964 3,-5.288 5.287,-6.968 2.287,-1.68 4.973,-2.521 8.055,-2.521 1.727,0 3.35,0.339 4.867,1.015 1.516,0.677 2.859,1.576 4.026,2.696 v -18.488 l 9.944,1.121 v 51.892 z m -13.096,-7.423 c 1.121,-0.746 2.171,-1.867 3.151,-3.361 v -16.598 c -0.98,-1.167 -1.961,-2.042 -2.941,-2.626 -0.98,-0.583 -2.125,-0.875 -3.432,-0.875 -2.288,0 -4.085,1.004 -5.392,3.011 -1.309,2.008 -1.961,5.112 -1.961,9.314 0,4.436 0.57,7.587 1.715,9.454 1.145,1.868 2.813,2.801 5.008,2.801 1.447,0.001 2.731,-0.372 3.852,-1.12 z"
id="path23"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 601.494,157.46 h -23.182 c 0.326,3.361 1.236,5.743 2.732,7.143 1.492,1.401 3.523,2.101 6.092,2.101 1.587,0 3.082,-0.256 4.482,-0.771 1.4,-0.513 2.917,-1.331 4.552,-2.451 l 4.132,5.603 c -4.156,3.362 -8.848,5.042 -14.076,5.042 -5.837,0 -10.318,-1.751 -13.445,-5.252 -3.129,-3.501 -4.693,-8.24 -4.693,-14.216 0,-3.782 0.666,-7.178 1.996,-10.189 1.331,-3.011 3.268,-5.38 5.813,-7.108 2.545,-1.727 5.568,-2.591 9.069,-2.591 5.275,0 9.384,1.658 12.325,4.972 2.941,3.315 4.412,7.938 4.412,13.866 0,0.467 -0.07,1.75 -0.209,3.851 z m -9.665,-6.652 c 0,-6.163 -2.218,-9.244 -6.653,-9.244 -2.055,0 -3.653,0.759 -4.797,2.276 -1.145,1.518 -1.833,3.981 -2.066,7.388 h 13.517 v -0.42 z"
id="path25"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 634.127,139.252 -3.781,5.813 c -3.035,-2.054 -6.023,-3.082 -8.965,-3.082 -1.727,0 -3.059,0.304 -3.99,0.911 -0.936,0.607 -1.402,1.425 -1.402,2.451 0,0.747 0.199,1.377 0.596,1.891 0.396,0.514 1.145,1.004 2.242,1.471 1.096,0.467 2.742,1.027 4.936,1.681 3.922,1.075 6.84,2.51 8.754,4.307 1.914,1.798 2.873,4.261 2.873,7.388 0,2.475 -0.713,4.622 -2.137,6.443 -1.424,1.821 -3.352,3.21 -5.777,4.167 -2.428,0.956 -5.137,1.436 -8.123,1.436 -3.129,0 -5.979,-0.479 -8.545,-1.436 -2.568,-0.957 -4.762,-2.276 -6.582,-3.957 l 4.971,-5.532 c 1.402,1.167 2.941,2.078 4.623,2.731 1.68,0.654 3.408,0.98 5.182,0.98 1.914,0 3.42,-0.361 4.518,-1.085 1.096,-0.723 1.646,-1.692 1.646,-2.906 0,-0.98 -0.211,-1.762 -0.631,-2.346 -0.42,-0.583 -1.191,-1.121 -2.311,-1.61 -1.121,-0.49 -2.871,-1.062 -5.254,-1.716 -3.734,-1.026 -6.502,-2.486 -8.297,-4.377 -1.799,-1.891 -2.697,-4.237 -2.697,-7.038 0,-2.101 0.605,-3.992 1.82,-5.673 1.215,-1.681 2.93,-2.999 5.148,-3.957 2.217,-0.957 4.797,-1.436 7.738,-1.436 5.228,0 9.709,1.494 13.445,4.481 z"
id="path27"
inkscape:connector-curvature="0"
style="fill:#002c42" />
</g><g
transform="matrix(1.2794416,0,0,1.2794416,-241.04704,-149.41913)"
id="g29">
<path
d="m 231.138,168.561 h 15.136 c 1.645,0 2.965,0.99 2.965,2.225 0,1.231 -1.32,2.223 -2.965,2.223 h -15.136 c -1.646,0 -2.969,-0.992 -2.969,-2.223 0,-1.235 1.322,-2.225 2.969,-2.225 z"
id="path31"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<g
id="g33">
<path
d="m 224.244,127.652 c 1.516,0.284 2.521,1.745 2.243,3.26 -0.284,1.519 -1.747,2.523 -3.258,2.239 -1.522,-0.277 -2.526,-1.736 -2.241,-3.258 0.278,-1.519 1.739,-2.519 3.256,-2.241 z"
id="path35"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 248.342,127.971 c -0.113,-1.547 -1.455,-2.703 -2.995,-2.586 -1.539,0.114 -2.695,1.456 -2.584,2.996 0.112,1.54 1.455,2.697 2.995,2.576 1.539,-0.111 2.696,-1.453 2.584,-2.986 z"
id="path37"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 254.698,130.199 c -0.111,-1.541 -1.447,-2.698 -2.986,-2.584 -1.54,0.119 -2.696,1.454 -2.586,3 0.115,1.532 1.456,2.69 2.996,2.576 1.54,-0.111 2.698,-1.453 2.576,-2.992 z"
id="path39"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 228.791,118.638 c -1.282,-0.857 -3.021,-0.527 -3.888,0.749 -0.857,1.282 -0.528,3.014 0.748,3.887 1.282,0.864 3.021,0.526 3.886,-0.749 0.866,-1.282 0.528,-3.019 -0.746,-3.887 z"
id="path41"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path43"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path45"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.454 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path47"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path49"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 255.645,120.877 c 1.521,0.284 2.518,1.74 2.242,3.26 -0.285,1.519 -1.739,2.517 -3.26,2.239 -1.521,-0.284 -2.519,-1.737 -2.24,-3.259 0.284,-1.518 1.745,-2.517 3.258,-2.24 z"
id="path51"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 240.216,140.03 c -1.276,-0.865 -3.016,-0.537 -3.88,0.746 -0.866,1.277 -0.538,3.014 0.746,3.88 1.282,0.867 3.013,0.53 3.88,-0.746 0.866,-1.276 0.529,-3.016 -0.746,-3.88 z"
id="path53"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.583 -1.541,0.117 -2.698,1.459 -2.584,2.994 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.112 2.696,-1.453 2.583,-2.995 z"
id="path55"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z"
id="path57"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 229.154,134.489 c -1.275,-0.864 -3.018,-0.527 -3.88,0.749 -0.867,1.283 -0.529,3.014 0.745,3.88 1.282,0.871 3.012,0.534 3.881,-0.742 0.868,-1.283 0.534,-3.021 -0.746,-3.887 z"
id="path59"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 236.296,132.867 c -1.277,-0.864 -3.014,-0.533 -3.881,0.749 -0.866,1.275 -0.527,3.015 0.748,3.88 1.279,0.864 3.021,0.527 3.885,-0.749 0.867,-1.276 0.529,-3.013 -0.752,-3.88 z"
id="path61"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.567,136.602 c -0.111,-1.539 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path63"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path65"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path67"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path69"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path71"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path73"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 232.399,125.857 c -1.281,-0.867 -3.021,-0.529 -3.887,0.745 -0.866,1.283 -0.528,3.016 0.747,3.887 1.282,0.859 3.015,0.53 3.886,-0.745 0.861,-1.284 0.53,-3.02 -0.746,-3.887 z"
id="path75"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 241.034,127.336 c -0.11,-1.54 -1.451,-2.696 -2.991,-2.579 -1.54,0.114 -2.698,1.456 -2.587,2.995 0.114,1.534 1.456,2.69 2.995,2.577 1.546,-0.111 2.7,-1.453 2.583,-2.993 z"
id="path77"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 221.422,121.313 c -1.276,-0.866 -3.015,-0.537 -3.88,0.745 -0.867,1.278 -0.529,3.015 0.746,3.88 1.282,0.868 3.015,0.537 3.88,-0.738 0.866,-1.282 0.535,-3.027 -0.746,-3.887 z"
id="path79"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path81"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 237.039,119.377 c -0.112,-1.546 -1.454,-2.698 -2.993,-2.584 -1.533,0.112 -2.69,1.454 -2.579,2.992 0.112,1.541 1.455,2.692 2.996,2.58 1.539,-0.115 2.688,-1.456 2.576,-2.988 z"
id="path83"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path85"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 231.97,140.602 c 1.519,0.282 2.523,1.745 2.239,3.257 -0.278,1.521 -1.736,2.525 -3.259,2.242 -1.512,-0.279 -2.518,-1.74 -2.241,-3.258 0.285,-1.523 1.745,-2.52 3.261,-2.241 z"
id="path87"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z"
id="path89"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path91"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 244.838,134.975 c -0.115,-1.54 -1.456,-2.695 -2.996,-2.583 -1.534,0.117 -2.698,1.459 -2.577,2.999 0.11,1.542 1.445,2.69 2.992,2.579 1.539,-0.113 2.691,-1.455 2.581,-2.995 z"
id="path93"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path95"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path97"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
</g>
<g
id="g99">
<path
d="m 196.938,156.803 c 1.044,-1.134 2.815,-1.213 3.955,-0.173 1.137,1.043 1.212,2.816 0.169,3.949 -1.04,1.143 -2.81,1.22 -3.949,0.173 -1.141,-1.04 -1.215,-2.808 -0.175,-3.949 z"
id="path101"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 209.977,136.537 c -1.369,-0.725 -3.061,-0.2 -3.779,1.17 -0.718,1.367 -0.192,3.057 1.173,3.777 1.364,0.72 3.057,0.196 3.771,-1.173 0.719,-1.365 0.197,-3.055 -1.165,-3.774 z"
id="path103"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 215.234,132.327 c -1.364,-0.722 -3.053,-0.204 -3.774,1.163 -0.714,1.369 -0.194,3.057 1.176,3.782 1.359,0.716 3.051,0.192 3.772,-1.174 0.719,-1.366 0.196,-3.057 -1.174,-3.771 z"
id="path105"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 191.702,148.171 c -1.404,0.633 -2.047,2.282 -1.425,3.693 0.634,1.408 2.277,2.045 3.691,1.426 1.414,-0.63 2.049,-2.284 1.426,-3.693 -0.629,-1.412 -2.278,-2.049 -3.692,-1.426 z"
id="path107"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path109"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path111"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.192,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path113"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path115"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 207.832,126.584 c 1.046,-1.138 2.81,-1.214 3.952,-0.173 1.138,1.046 1.214,2.809 0.172,3.951 -1.048,1.138 -2.807,1.214 -3.95,0.174 -1.137,-1.047 -1.212,-2.815 -0.174,-3.952 z"
id="path117"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 215.898,149.818 c -1.412,0.624 -2.056,2.274 -1.424,3.685 0.623,1.413 2.271,2.054 3.686,1.424 1.414,-0.628 2.045,-2.275 1.423,-3.686 -0.622,-1.409 -2.277,-2.045 -3.685,-1.423 z"
id="path119"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.777,1.171 -0.717,1.368 -0.192,3.059 1.17,3.777 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path121"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path123"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 205.336,156.264 c -1.407,0.623 -2.045,2.277 -1.421,3.686 0.629,1.414 2.278,2.045 3.687,1.423 1.419,-0.625 2.05,-2.271 1.428,-3.683 -0.63,-1.413 -2.279,-2.054 -3.694,-1.426 z"
id="path125"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 207.746,149.348 c -1.409,0.624 -2.048,2.274 -1.422,3.687 0.622,1.411 2.278,2.045 3.688,1.422 1.411,-0.628 2.047,-2.283 1.422,-3.691 -0.621,-1.412 -2.273,-2.046 -3.688,-1.418 z"
id="path127"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path129"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path131"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path133"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path135"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path137"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path139"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 199.739,148.936 c -1.418,0.628 -2.052,2.282 -1.429,3.689 0.628,1.415 2.276,2.049 3.692,1.428 1.407,-0.633 2.045,-2.273 1.427,-3.691 -0.633,-1.408 -2.28,-2.049 -3.69,-1.426 z"
id="path141"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 205.567,142.396 c -1.363,-0.721 -3.056,-0.197 -3.773,1.171 -0.718,1.366 -0.194,3.058 1.171,3.78 1.361,0.715 3.053,0.191 3.772,-1.175 0.725,-1.368 0.199,-3.055 -1.17,-3.776 z"
id="path143"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 190.066,155.839 c -1.412,0.623 -2.052,2.271 -1.425,3.684 0.624,1.411 2.276,2.046 3.686,1.424 1.416,-0.63 2.054,-2.272 1.431,-3.683 -0.628,-1.412 -2.284,-2.057 -3.692,-1.425 z"
id="path145"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path147"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 196.699,141.568 c -1.37,-0.724 -3.058,-0.196 -3.778,1.169 -0.718,1.358 -0.192,3.052 1.173,3.771 1.366,0.722 3.054,0.194 3.775,-1.171 0.719,-1.368 0.192,-3.053 -1.17,-3.769 z"
id="path149"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path151"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 212.012,157.114 c 1.046,-1.138 2.819,-1.215 3.95,-0.173 1.144,1.041 1.219,2.812 0.175,3.951 -1.037,1.135 -2.808,1.213 -3.951,0.174 -1.141,-1.047 -1.211,-2.816 -0.174,-3.952 z"
id="path153"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path155"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path157"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 214.061,143.221 c -1.367,-0.719 -3.056,-0.193 -3.776,1.171 -0.715,1.363 -0.193,3.061 1.176,3.774 1.368,0.722 3.049,0.2 3.774,-1.172 0.719,-1.364 0.192,-3.051 -1.174,-3.773 z"
id="path159"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path161"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path163"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
</g>
<g
id="g165">
<path
d="m 278.788,156.803 c -1.044,-1.134 -2.816,-1.213 -3.953,-0.173 -1.136,1.043 -1.213,2.816 -0.172,3.949 1.041,1.143 2.809,1.22 3.95,0.173 1.142,-1.04 1.217,-2.808 0.175,-3.949 z"
id="path167"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 265.747,136.537 c 1.371,-0.725 3.063,-0.2 3.78,1.17 0.722,1.367 0.196,3.057 -1.171,3.777 -1.366,0.72 -3.058,0.196 -3.772,-1.173 -0.72,-1.365 -0.194,-3.055 1.163,-3.774 z"
id="path169"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 260.49,132.327 c 1.366,-0.722 3.057,-0.204 3.774,1.163 0.716,1.369 0.198,3.057 -1.175,3.782 -1.358,0.716 -3.053,0.192 -3.77,-1.174 -0.722,-1.366 -0.197,-3.057 1.171,-3.771 z"
id="path171"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 284.023,148.171 c 1.407,0.633 2.047,2.282 1.423,3.693 -0.631,1.408 -2.274,2.045 -3.69,1.426 -1.412,-0.63 -2.048,-2.284 -1.426,-3.693 0.629,-1.412 2.281,-2.049 3.693,-1.426 z"
id="path173"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path175"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path177"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path179"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path181"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 267.894,126.584 c -1.046,-1.138 -2.811,-1.214 -3.952,-0.173 -1.137,1.046 -1.213,2.809 -0.171,3.951 1.045,1.138 2.808,1.214 3.95,0.174 1.135,-1.047 1.211,-2.815 0.173,-3.952 z"
id="path183"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 259.827,149.818 c 1.411,0.624 2.055,2.274 1.426,3.685 -0.625,1.413 -2.271,2.054 -3.687,1.424 -1.416,-0.628 -2.047,-2.275 -1.425,-3.686 0.624,-1.409 2.279,-2.045 3.686,-1.423 z"
id="path185"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.779,1.171 0.715,1.368 0.189,3.059 -1.172,3.777 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path187"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path189"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 270.387,156.264 c 1.413,0.623 2.046,2.277 1.422,3.686 -0.629,1.414 -2.274,2.045 -3.686,1.423 -1.417,-0.625 -2.048,-2.271 -1.426,-3.683 0.629,-1.413 2.279,-2.054 3.69,-1.426 z"
id="path191"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 267.979,149.348 c 1.411,0.624 2.052,2.274 1.421,3.687 -0.622,1.411 -2.274,2.045 -3.685,1.422 -1.411,-0.628 -2.049,-2.283 -1.425,-3.691 0.625,-1.412 2.273,-2.046 3.689,-1.418 z"
id="path193"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 256.719,138.374 c 1.364,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path195"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path197"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path199"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path201"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path203"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path205"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 275.989,148.936 c 1.414,0.628 2.048,2.282 1.427,3.689 -0.626,1.415 -2.276,2.049 -3.69,1.428 -1.407,-0.633 -2.047,-2.273 -1.428,-3.691 0.632,-1.408 2.28,-2.049 3.691,-1.426 z"
id="path207"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 270.158,142.396 c 1.366,-0.721 3.058,-0.197 3.772,1.171 0.72,1.366 0.194,3.058 -1.17,3.78 -1.36,0.715 -3.051,0.191 -3.771,-1.175 -0.726,-1.368 -0.198,-3.055 1.169,-3.776 z"
id="path209"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 285.66,155.839 c 1.41,0.623 2.052,2.271 1.424,3.684 -0.625,1.411 -2.276,2.046 -3.685,1.424 -1.418,-0.63 -2.053,-2.272 -1.432,-3.683 0.632,-1.412 2.284,-2.057 3.693,-1.425 z"
id="path211"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path213"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 279.025,141.568 c 1.372,-0.724 3.062,-0.196 3.778,1.169 0.717,1.358 0.194,3.052 -1.172,3.771 -1.365,0.722 -3.053,0.194 -3.773,-1.171 -0.719,-1.368 -0.19,-3.053 1.167,-3.769 z"
id="path215"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path217"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 263.713,157.114 c -1.045,-1.138 -2.817,-1.215 -3.949,-0.173 -1.143,1.041 -1.22,2.812 -0.175,3.951 1.039,1.135 2.811,1.213 3.951,0.174 1.14,-1.047 1.214,-2.816 0.173,-3.952 z"
id="path219"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path221"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path223"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 261.667,143.221 c 1.363,-0.719 3.056,-0.193 3.777,1.171 0.71,1.363 0.19,3.061 -1.18,3.774 -1.366,0.722 -3.049,0.2 -3.773,-1.172 -0.719,-1.364 -0.189,-3.051 1.176,-3.773 z"
id="path225"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path227"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path229"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
</g>
</g></g>
</svg>

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@ -1,626 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://opensource.org/licenses/MIT"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_3"
x="0px"
y="0px"
width="700"
height="700"
viewBox="0 0 699.99992 699.99998"
enable-background="new 0 0 841.89 595.28"
xml:space="preserve"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="openslides-logo-v-dark.svg"
inkscape:export-xdpi="32.139999"
inkscape:export-ydpi="32.139999"><metadata
id="metadata461"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title><dc:creator><cc:Agent><dc:title>OpenSlides Team</dc:title></cc:Agent></dc:creator></cc:Work></rdf:RDF></metadata><defs
id="defs459">
</defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1672"
inkscape:window-height="978"
id="namedview457"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="0.68267409"
inkscape:cx="899.78908"
inkscape:cy="373.77589"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Ebene_3"
fit-margin-top="30"
fit-margin-left="30"
fit-margin-right="30"
fit-margin-bottom="30"
units="px"
borderlayer="true"
inkscape:showpageshadow="false" />
<rect
style="fill:#002c42;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect3094"
width="744.13251"
height="764.64014"
x="-19.042793"
y="-32.41391" /><g
id="g3327"
transform="translate(0,1.4206687)"
style="fill:#ffffff"><g
transform="matrix(1.9256508,0,0,1.9256508,-550.0099,224.97026)"
id="g7"
style="fill:#ffffff">
<path
d="m 334.257,126.401 c 3.222,1.985 5.696,4.867 7.423,8.649 1.727,3.782 2.591,8.358 2.591,13.726 0,5.276 -0.865,9.816 -2.591,13.621 -1.728,3.806 -4.202,6.712 -7.423,8.719 -3.221,2.007 -7.05,3.011 -11.485,3.011 -4.436,0 -8.276,-0.993 -11.521,-2.977 -3.245,-1.984 -5.731,-4.878 -7.458,-8.684 -1.728,-3.805 -2.591,-8.369 -2.591,-13.691 0,-5.228 0.875,-9.745 2.626,-13.551 1.751,-3.805 4.248,-6.723 7.494,-8.754 3.244,-2.031 7.061,-3.046 11.45,-3.046 4.435,10e-4 8.264,0.994 11.485,2.977 z m -19.503,8.93 c -1.798,2.801 -2.696,7.283 -2.696,13.446 0,6.163 0.91,10.645 2.731,13.446 1.821,2.801 4.482,4.202 7.984,4.202 3.547,0 6.208,-1.389 7.983,-4.167 1.774,-2.777 2.661,-7.271 2.661,-13.481 0,-6.208 -0.887,-10.703 -2.661,-13.481 -1.775,-2.777 -4.436,-4.167 -7.983,-4.167 -3.549,0 -6.223,1.4 -8.019,4.202 z"
id="path9"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 377.361,139.917 c 2.264,3.432 3.396,8.253 3.396,14.461 0,3.782 -0.584,7.167 -1.75,10.155 -1.167,2.988 -2.86,5.334 -5.077,7.038 -2.218,1.704 -4.844,2.556 -7.879,2.556 -3.782,0 -6.84,-1.331 -9.174,-3.992 v 17.157 l -9.944,1.121 V 135.89 h 8.754 l 0.49,4.342 c 1.4,-1.821 3.046,-3.187 4.937,-4.097 1.891,-0.91 3.792,-1.365 5.708,-1.365 4.761,10e-4 8.274,1.716 10.539,5.147 z m -6.968,14.532 c 0,-4.482 -0.549,-7.657 -1.646,-9.524 -1.098,-1.867 -2.766,-2.801 -5.007,-2.801 -1.354,0 -2.615,0.432 -3.781,1.295 -1.168,0.865 -2.195,2.02 -3.082,3.467 v 16.177 c 1.586,2.428 3.665,3.642 6.233,3.642 4.855,0 7.283,-4.085 7.283,-12.256 z"
id="path11"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 416.333,157.46 h -23.18 c 0.326,3.361 1.236,5.743 2.731,7.143 1.493,1.401 3.524,2.101 6.092,2.101 1.587,0 3.082,-0.256 4.482,-0.771 1.4,-0.513 2.917,-1.331 4.552,-2.451 l 4.132,5.603 c -4.156,3.362 -8.848,5.042 -14.076,5.042 -5.837,0 -10.319,-1.751 -13.446,-5.252 -3.129,-3.501 -4.692,-8.24 -4.692,-14.216 0,-3.782 0.666,-7.178 1.996,-10.189 1.33,-3.011 3.267,-5.38 5.813,-7.108 2.544,-1.727 5.567,-2.591 9.069,-2.591 5.275,0 9.384,1.658 12.326,4.972 2.941,3.315 4.412,7.938 4.412,13.866 -10e-4,0.467 -0.071,1.75 -0.211,3.851 z m -9.664,-6.652 c 0,-6.163 -2.218,-9.244 -6.653,-9.244 -2.055,0 -3.654,0.759 -4.797,2.276 -1.145,1.518 -1.833,3.981 -2.066,7.388 h 13.516 v -0.42 z"
id="path13"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 447.355,137.747 c 1.821,1.985 2.732,4.727 2.732,8.229 v 27.032 h -9.945 v -25.351 c 0,-2.007 -0.339,-3.42 -1.016,-4.237 -0.677,-0.816 -1.692,-1.225 -3.046,-1.225 -1.4,0 -2.673,0.432 -3.817,1.295 -1.145,0.864 -2.252,2.16 -3.326,3.887 v 25.631 h -9.944 v -37.117 h 8.614 l 0.77,4.692 c 1.541,-1.914 3.232,-3.362 5.078,-4.342 1.844,-0.98 3.933,-1.47 6.268,-1.47 3.267,0 5.812,0.992 7.632,2.976 z"
id="path15"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 481.566,124.931 c 2.592,1.004 4.983,2.533 7.178,4.587 l -4.972,5.743 c -1.681,-1.447 -3.386,-2.497 -5.112,-3.152 -1.728,-0.653 -3.572,-0.98 -5.532,-0.98 -2.147,0 -3.864,0.455 -5.147,1.365 -1.285,0.911 -1.926,2.206 -1.926,3.887 0,1.167 0.268,2.125 0.805,2.872 0.537,0.747 1.482,1.448 2.837,2.101 1.354,0.655 3.384,1.401 6.093,2.241 4.809,1.541 8.404,3.443 10.785,5.708 2.381,2.265 3.571,5.498 3.571,9.699 0,2.988 -0.747,5.615 -2.241,7.878 -1.494,2.265 -3.666,4.039 -6.513,5.323 -2.849,1.283 -6.187,1.926 -10.015,1.926 -3.828,0 -7.237,-0.607 -10.225,-1.821 -2.988,-1.214 -5.557,-2.872 -7.703,-4.972 l 5.393,-5.883 c 3.547,3.269 7.633,4.902 12.255,4.902 2.521,0 4.54,-0.583 6.058,-1.751 1.518,-1.167 2.276,-2.801 2.276,-4.902 0,-1.306 -0.27,-2.392 -0.806,-3.256 -0.537,-0.863 -1.459,-1.646 -2.766,-2.346 -1.309,-0.701 -3.199,-1.424 -5.673,-2.171 -5.276,-1.633 -9.046,-3.594 -11.31,-5.882 -2.266,-2.287 -3.396,-5.275 -3.396,-8.964 0,-2.708 0.723,-5.101 2.17,-7.178 1.447,-2.077 3.455,-3.677 6.023,-4.797 2.566,-1.121 5.485,-1.681 8.754,-1.681 3.503,-0.002 6.548,0.501 9.139,1.504 z"
id="path17"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 504.991,165.514 c 0.326,0.467 0.815,0.7 1.471,0.7 0.793,0 1.471,-0.14 2.03,-0.42 l 2.031,7.073 c -2.055,0.84 -4.296,1.261 -6.723,1.261 -2.941,0 -5.218,-0.853 -6.828,-2.556 -1.611,-1.704 -2.416,-4.167 -2.416,-7.388 v -43.069 l 9.944,-1.121 v 43.279 c 10e-4,1.027 0.164,1.775 0.491,2.241 z"
id="path19"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 524.214,118.418 c 1.144,1.098 1.716,2.486 1.716,4.167 0,1.681 -0.572,3.07 -1.716,4.167 -1.145,1.097 -2.603,1.646 -4.377,1.646 -1.774,0 -3.222,-0.548 -4.342,-1.646 -1.12,-1.097 -1.681,-2.486 -1.681,-4.167 0,-1.681 0.561,-3.069 1.681,-4.167 1.12,-1.096 2.567,-1.646 4.342,-1.646 1.775,0 3.232,0.55 4.377,1.646 z m -9.278,54.589 V 135.89 h 9.943 v 37.117 h -9.943 z"
id="path21"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 563.326,173.007 h -8.754 l -0.561,-4.552 c -2.615,3.782 -6.162,5.673 -10.645,5.673 -4.576,0 -8.065,-1.762 -10.469,-5.288 -2.406,-3.524 -3.607,-8.322 -3.607,-14.391 0,-3.828 0.618,-7.224 1.855,-10.189 1.236,-2.964 3,-5.288 5.287,-6.968 2.287,-1.68 4.973,-2.521 8.055,-2.521 1.727,0 3.35,0.339 4.867,1.015 1.516,0.677 2.859,1.576 4.026,2.696 v -18.488 l 9.944,1.121 v 51.892 z m -13.096,-7.423 c 1.121,-0.746 2.171,-1.867 3.151,-3.361 v -16.598 c -0.98,-1.167 -1.961,-2.042 -2.941,-2.626 -0.98,-0.583 -2.125,-0.875 -3.432,-0.875 -2.288,0 -4.085,1.004 -5.392,3.011 -1.309,2.008 -1.961,5.112 -1.961,9.314 0,4.436 0.57,7.587 1.715,9.454 1.145,1.868 2.813,2.801 5.008,2.801 1.447,0.001 2.731,-0.372 3.852,-1.12 z"
id="path23"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 601.494,157.46 h -23.182 c 0.326,3.361 1.236,5.743 2.732,7.143 1.492,1.401 3.523,2.101 6.092,2.101 1.587,0 3.082,-0.256 4.482,-0.771 1.4,-0.513 2.917,-1.331 4.552,-2.451 l 4.132,5.603 c -4.156,3.362 -8.848,5.042 -14.076,5.042 -5.837,0 -10.318,-1.751 -13.445,-5.252 -3.129,-3.501 -4.693,-8.24 -4.693,-14.216 0,-3.782 0.666,-7.178 1.996,-10.189 1.331,-3.011 3.268,-5.38 5.813,-7.108 2.545,-1.727 5.568,-2.591 9.069,-2.591 5.275,0 9.384,1.658 12.325,4.972 2.941,3.315 4.412,7.938 4.412,13.866 0,0.467 -0.07,1.75 -0.209,3.851 z m -9.665,-6.652 c 0,-6.163 -2.218,-9.244 -6.653,-9.244 -2.055,0 -3.653,0.759 -4.797,2.276 -1.145,1.518 -1.833,3.981 -2.066,7.388 h 13.517 v -0.42 z"
id="path25"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 634.127,139.252 -3.781,5.813 c -3.035,-2.054 -6.023,-3.082 -8.965,-3.082 -1.727,0 -3.059,0.304 -3.99,0.911 -0.936,0.607 -1.402,1.425 -1.402,2.451 0,0.747 0.199,1.377 0.596,1.891 0.396,0.514 1.145,1.004 2.242,1.471 1.096,0.467 2.742,1.027 4.936,1.681 3.922,1.075 6.84,2.51 8.754,4.307 1.914,1.798 2.873,4.261 2.873,7.388 0,2.475 -0.713,4.622 -2.137,6.443 -1.424,1.821 -3.352,3.21 -5.777,4.167 -2.428,0.956 -5.137,1.436 -8.123,1.436 -3.129,0 -5.979,-0.479 -8.545,-1.436 -2.568,-0.957 -4.762,-2.276 -6.582,-3.957 l 4.971,-5.532 c 1.402,1.167 2.941,2.078 4.623,2.731 1.68,0.654 3.408,0.98 5.182,0.98 1.914,0 3.42,-0.361 4.518,-1.085 1.096,-0.723 1.646,-1.692 1.646,-2.906 0,-0.98 -0.211,-1.762 -0.631,-2.346 -0.42,-0.583 -1.191,-1.121 -2.311,-1.61 -1.121,-0.49 -2.871,-1.062 -5.254,-1.716 -3.734,-1.026 -6.502,-2.486 -8.297,-4.377 -1.799,-1.891 -2.697,-4.237 -2.697,-7.038 0,-2.101 0.605,-3.992 1.82,-5.673 1.215,-1.681 2.93,-2.999 5.148,-3.957 2.217,-0.957 4.797,-1.436 7.738,-1.436 5.228,0 9.709,1.494 13.445,4.481 z"
id="path27"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
</g><g
transform="matrix(5.1567773,0,0,5.1567773,-874.84003,-495.12546)"
id="g29"
style="fill:#ffffff">
<path
d="m 231.138,168.561 h 15.136 c 1.645,0 2.965,0.99 2.965,2.225 0,1.231 -1.32,2.223 -2.965,2.223 h -15.136 c -1.646,0 -2.969,-0.992 -2.969,-2.223 0,-1.235 1.322,-2.225 2.969,-2.225 z"
id="path31"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<g
id="g33"
style="fill:#ffffff">
<path
d="m 224.244,127.652 c 1.516,0.284 2.521,1.745 2.243,3.26 -0.284,1.519 -1.747,2.523 -3.258,2.239 -1.522,-0.277 -2.526,-1.736 -2.241,-3.258 0.278,-1.519 1.739,-2.519 3.256,-2.241 z"
id="path35"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 248.342,127.971 c -0.113,-1.547 -1.455,-2.703 -2.995,-2.586 -1.539,0.114 -2.695,1.456 -2.584,2.996 0.112,1.54 1.455,2.697 2.995,2.576 1.539,-0.111 2.696,-1.453 2.584,-2.986 z"
id="path37"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 254.698,130.199 c -0.111,-1.541 -1.447,-2.698 -2.986,-2.584 -1.54,0.119 -2.696,1.454 -2.586,3 0.115,1.532 1.456,2.69 2.996,2.576 1.54,-0.111 2.698,-1.453 2.576,-2.992 z"
id="path39"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 228.791,118.638 c -1.282,-0.857 -3.021,-0.527 -3.888,0.749 -0.857,1.282 -0.528,3.014 0.748,3.887 1.282,0.864 3.021,0.526 3.886,-0.749 0.866,-1.282 0.528,-3.019 -0.746,-3.887 z"
id="path41"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path43"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path45"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.454 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path47"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path49"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 255.645,120.877 c 1.521,0.284 2.518,1.74 2.242,3.26 -0.285,1.519 -1.739,2.517 -3.26,2.239 -1.521,-0.284 -2.519,-1.737 -2.24,-3.259 0.284,-1.518 1.745,-2.517 3.258,-2.24 z"
id="path51"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 240.216,140.03 c -1.276,-0.865 -3.016,-0.537 -3.88,0.746 -0.866,1.277 -0.538,3.014 0.746,3.88 1.282,0.867 3.013,0.53 3.88,-0.746 0.866,-1.276 0.529,-3.016 -0.746,-3.88 z"
id="path53"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.583 -1.541,0.117 -2.698,1.459 -2.584,2.994 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.112 2.696,-1.453 2.583,-2.995 z"
id="path55"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z"
id="path57"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 229.154,134.489 c -1.275,-0.864 -3.018,-0.527 -3.88,0.749 -0.867,1.283 -0.529,3.014 0.745,3.88 1.282,0.871 3.012,0.534 3.881,-0.742 0.868,-1.283 0.534,-3.021 -0.746,-3.887 z"
id="path59"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 236.296,132.867 c -1.277,-0.864 -3.014,-0.533 -3.881,0.749 -0.866,1.275 -0.527,3.015 0.748,3.88 1.279,0.864 3.021,0.527 3.885,-0.749 0.867,-1.276 0.529,-3.013 -0.752,-3.88 z"
id="path61"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 251.567,136.602 c -0.111,-1.539 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path63"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path65"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path67"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path69"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path71"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path73"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 232.399,125.857 c -1.281,-0.867 -3.021,-0.529 -3.887,0.745 -0.866,1.283 -0.528,3.016 0.747,3.887 1.282,0.859 3.015,0.53 3.886,-0.745 0.861,-1.284 0.53,-3.02 -0.746,-3.887 z"
id="path75"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 241.034,127.336 c -0.11,-1.54 -1.451,-2.696 -2.991,-2.579 -1.54,0.114 -2.698,1.456 -2.587,2.995 0.114,1.534 1.456,2.69 2.995,2.577 1.546,-0.111 2.7,-1.453 2.583,-2.993 z"
id="path77"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 221.422,121.313 c -1.276,-0.866 -3.015,-0.537 -3.88,0.745 -0.867,1.278 -0.529,3.015 0.746,3.88 1.282,0.868 3.015,0.537 3.88,-0.738 0.866,-1.282 0.535,-3.027 -0.746,-3.887 z"
id="path79"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path81"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 237.039,119.377 c -0.112,-1.546 -1.454,-2.698 -2.993,-2.584 -1.533,0.112 -2.69,1.454 -2.579,2.992 0.112,1.541 1.455,2.692 2.996,2.58 1.539,-0.115 2.688,-1.456 2.576,-2.988 z"
id="path83"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path85"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 231.97,140.602 c 1.519,0.282 2.523,1.745 2.239,3.257 -0.278,1.521 -1.736,2.525 -3.259,2.242 -1.512,-0.279 -2.518,-1.74 -2.241,-3.258 0.285,-1.523 1.745,-2.52 3.261,-2.241 z"
id="path87"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z"
id="path89"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path91"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 244.838,134.975 c -0.115,-1.54 -1.456,-2.695 -2.996,-2.583 -1.534,0.117 -2.698,1.459 -2.577,2.999 0.11,1.542 1.445,2.69 2.992,2.579 1.539,-0.113 2.691,-1.455 2.581,-2.995 z"
id="path93"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path95"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path97"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
</g>
<g
id="g99"
style="fill:#ffffff">
<path
d="m 196.938,156.803 c 1.044,-1.134 2.815,-1.213 3.955,-0.173 1.137,1.043 1.212,2.816 0.169,3.949 -1.04,1.143 -2.81,1.22 -3.949,0.173 -1.141,-1.04 -1.215,-2.808 -0.175,-3.949 z"
id="path101"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 209.977,136.537 c -1.369,-0.725 -3.061,-0.2 -3.779,1.17 -0.718,1.367 -0.192,3.057 1.173,3.777 1.364,0.72 3.057,0.196 3.771,-1.173 0.719,-1.365 0.197,-3.055 -1.165,-3.774 z"
id="path103"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 215.234,132.327 c -1.364,-0.722 -3.053,-0.204 -3.774,1.163 -0.714,1.369 -0.194,3.057 1.176,3.782 1.359,0.716 3.051,0.192 3.772,-1.174 0.719,-1.366 0.196,-3.057 -1.174,-3.771 z"
id="path105"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 191.702,148.171 c -1.404,0.633 -2.047,2.282 -1.425,3.693 0.634,1.408 2.277,2.045 3.691,1.426 1.414,-0.63 2.049,-2.284 1.426,-3.693 -0.629,-1.412 -2.278,-2.049 -3.692,-1.426 z"
id="path107"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path109"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path111"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.192,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path113"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path115"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 207.832,126.584 c 1.046,-1.138 2.81,-1.214 3.952,-0.173 1.138,1.046 1.214,2.809 0.172,3.951 -1.048,1.138 -2.807,1.214 -3.95,0.174 -1.137,-1.047 -1.212,-2.815 -0.174,-3.952 z"
id="path117"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 215.898,149.818 c -1.412,0.624 -2.056,2.274 -1.424,3.685 0.623,1.413 2.271,2.054 3.686,1.424 1.414,-0.628 2.045,-2.275 1.423,-3.686 -0.622,-1.409 -2.277,-2.045 -3.685,-1.423 z"
id="path119"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.777,1.171 -0.717,1.368 -0.192,3.059 1.17,3.777 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path121"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path123"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 205.336,156.264 c -1.407,0.623 -2.045,2.277 -1.421,3.686 0.629,1.414 2.278,2.045 3.687,1.423 1.419,-0.625 2.05,-2.271 1.428,-3.683 -0.63,-1.413 -2.279,-2.054 -3.694,-1.426 z"
id="path125"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 207.746,149.348 c -1.409,0.624 -2.048,2.274 -1.422,3.687 0.622,1.411 2.278,2.045 3.688,1.422 1.411,-0.628 2.047,-2.283 1.422,-3.691 -0.621,-1.412 -2.273,-2.046 -3.688,-1.418 z"
id="path127"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path129"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path131"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path133"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path135"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path137"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path139"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 199.739,148.936 c -1.418,0.628 -2.052,2.282 -1.429,3.689 0.628,1.415 2.276,2.049 3.692,1.428 1.407,-0.633 2.045,-2.273 1.427,-3.691 -0.633,-1.408 -2.28,-2.049 -3.69,-1.426 z"
id="path141"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 205.567,142.396 c -1.363,-0.721 -3.056,-0.197 -3.773,1.171 -0.718,1.366 -0.194,3.058 1.171,3.78 1.361,0.715 3.053,0.191 3.772,-1.175 0.725,-1.368 0.199,-3.055 -1.17,-3.776 z"
id="path143"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 190.066,155.839 c -1.412,0.623 -2.052,2.271 -1.425,3.684 0.624,1.411 2.276,2.046 3.686,1.424 1.416,-0.63 2.054,-2.272 1.431,-3.683 -0.628,-1.412 -2.284,-2.057 -3.692,-1.425 z"
id="path145"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path147"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 196.699,141.568 c -1.37,-0.724 -3.058,-0.196 -3.778,1.169 -0.718,1.358 -0.192,3.052 1.173,3.771 1.366,0.722 3.054,0.194 3.775,-1.171 0.719,-1.368 0.192,-3.053 -1.17,-3.769 z"
id="path149"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path151"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 212.012,157.114 c 1.046,-1.138 2.819,-1.215 3.95,-0.173 1.144,1.041 1.219,2.812 0.175,3.951 -1.037,1.135 -2.808,1.213 -3.951,0.174 -1.141,-1.047 -1.211,-2.816 -0.174,-3.952 z"
id="path153"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path155"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path157"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 214.061,143.221 c -1.367,-0.719 -3.056,-0.193 -3.776,1.171 -0.715,1.363 -0.193,3.061 1.176,3.774 1.368,0.722 3.049,0.2 3.774,-1.172 0.719,-1.364 0.192,-3.051 -1.174,-3.773 z"
id="path159"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path161"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path163"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
</g>
<g
id="g165"
style="fill:#ffffff">
<path
d="m 278.788,156.803 c -1.044,-1.134 -2.816,-1.213 -3.953,-0.173 -1.136,1.043 -1.213,2.816 -0.172,3.949 1.041,1.143 2.809,1.22 3.95,0.173 1.142,-1.04 1.217,-2.808 0.175,-3.949 z"
id="path167"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 265.747,136.537 c 1.371,-0.725 3.063,-0.2 3.78,1.17 0.722,1.367 0.196,3.057 -1.171,3.777 -1.366,0.72 -3.058,0.196 -3.772,-1.173 -0.72,-1.365 -0.194,-3.055 1.163,-3.774 z"
id="path169"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 260.49,132.327 c 1.366,-0.722 3.057,-0.204 3.774,1.163 0.716,1.369 0.198,3.057 -1.175,3.782 -1.358,0.716 -3.053,0.192 -3.77,-1.174 -0.722,-1.366 -0.197,-3.057 1.171,-3.771 z"
id="path171"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 284.023,148.171 c 1.407,0.633 2.047,2.282 1.423,3.693 -0.631,1.408 -2.274,2.045 -3.69,1.426 -1.412,-0.63 -2.048,-2.284 -1.426,-3.693 0.629,-1.412 2.281,-2.049 3.693,-1.426 z"
id="path173"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path175"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path177"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path179"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path181"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 267.894,126.584 c -1.046,-1.138 -2.811,-1.214 -3.952,-0.173 -1.137,1.046 -1.213,2.809 -0.171,3.951 1.045,1.138 2.808,1.214 3.95,0.174 1.135,-1.047 1.211,-2.815 0.173,-3.952 z"
id="path183"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 259.827,149.818 c 1.411,0.624 2.055,2.274 1.426,3.685 -0.625,1.413 -2.271,2.054 -3.687,1.424 -1.416,-0.628 -2.047,-2.275 -1.425,-3.686 0.624,-1.409 2.279,-2.045 3.686,-1.423 z"
id="path185"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.779,1.171 0.715,1.368 0.189,3.059 -1.172,3.777 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path187"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path189"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 270.387,156.264 c 1.413,0.623 2.046,2.277 1.422,3.686 -0.629,1.414 -2.274,2.045 -3.686,1.423 -1.417,-0.625 -2.048,-2.271 -1.426,-3.683 0.629,-1.413 2.279,-2.054 3.69,-1.426 z"
id="path191"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 267.979,149.348 c 1.411,0.624 2.052,2.274 1.421,3.687 -0.622,1.411 -2.274,2.045 -3.685,1.422 -1.411,-0.628 -2.049,-2.283 -1.425,-3.691 0.625,-1.412 2.273,-2.046 3.689,-1.418 z"
id="path193"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 256.719,138.374 c 1.364,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path195"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path197"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path199"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path201"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path203"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path205"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 275.989,148.936 c 1.414,0.628 2.048,2.282 1.427,3.689 -0.626,1.415 -2.276,2.049 -3.69,1.428 -1.407,-0.633 -2.047,-2.273 -1.428,-3.691 0.632,-1.408 2.28,-2.049 3.691,-1.426 z"
id="path207"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 270.158,142.396 c 1.366,-0.721 3.058,-0.197 3.772,1.171 0.72,1.366 0.194,3.058 -1.17,3.78 -1.36,0.715 -3.051,0.191 -3.771,-1.175 -0.726,-1.368 -0.198,-3.055 1.169,-3.776 z"
id="path209"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 285.66,155.839 c 1.41,0.623 2.052,2.271 1.424,3.684 -0.625,1.411 -2.276,2.046 -3.685,1.424 -1.418,-0.63 -2.053,-2.272 -1.432,-3.683 0.632,-1.412 2.284,-2.057 3.693,-1.425 z"
id="path211"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path213"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 279.025,141.568 c 1.372,-0.724 3.062,-0.196 3.778,1.169 0.717,1.358 0.194,3.052 -1.172,3.771 -1.365,0.722 -3.053,0.194 -3.773,-1.171 -0.719,-1.368 -0.19,-3.053 1.167,-3.769 z"
id="path215"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path217"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 263.713,157.114 c -1.045,-1.138 -2.817,-1.215 -3.949,-0.173 -1.143,1.041 -1.22,2.812 -0.175,3.951 1.039,1.135 2.811,1.213 3.951,0.174 1.14,-1.047 1.214,-2.816 0.173,-3.952 z"
id="path219"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path221"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path223"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 261.667,143.221 c 1.363,-0.719 3.056,-0.193 3.777,1.171 0.71,1.363 0.19,3.061 -1.18,3.774 -1.366,0.722 -3.049,0.2 -3.773,-1.172 -0.719,-1.364 -0.189,-3.051 1.176,-3.773 z"
id="path225"
inkscape:connector-curvature="0"
style="fill:#ffffff" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path227"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path229"
inkscape:connector-curvature="0"
style="opacity:0.93869999999999998;fill:#ffffff" />
</g>
</g></g></svg>

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@ -1,612 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://opensource.org/licenses/MIT"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_3"
x="0px"
y="0px"
width="700"
height="700"
viewBox="0 0 699.99992 699.99998"
enable-background="new 0 0 841.89 595.28"
xml:space="preserve"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="openslides-logo-v.svg"
inkscape:export-xdpi="32.139999"
inkscape:export-ydpi="32.139999"><metadata
id="metadata461"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /><dc:creator><cc:Agent><dc:title>OpenSlides Team</dc:title></cc:Agent></dc:creator></cc:Work></rdf:RDF></metadata><defs
id="defs459">
</defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1672"
inkscape:window-height="978"
id="namedview457"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="0.68267409"
inkscape:cx="608.81028"
inkscape:cy="332.18879"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Ebene_3"
fit-margin-top="30"
fit-margin-left="30"
fit-margin-right="30"
fit-margin-bottom="30"
units="px" />
<g
id="g3327"
transform="translate(0,1.4206687)"><g
transform="matrix(1.9256508,0,0,1.9256508,-550.0099,224.97026)"
id="g7">
<path
d="m 334.257,126.401 c 3.222,1.985 5.696,4.867 7.423,8.649 1.727,3.782 2.591,8.358 2.591,13.726 0,5.276 -0.865,9.816 -2.591,13.621 -1.728,3.806 -4.202,6.712 -7.423,8.719 -3.221,2.007 -7.05,3.011 -11.485,3.011 -4.436,0 -8.276,-0.993 -11.521,-2.977 -3.245,-1.984 -5.731,-4.878 -7.458,-8.684 -1.728,-3.805 -2.591,-8.369 -2.591,-13.691 0,-5.228 0.875,-9.745 2.626,-13.551 1.751,-3.805 4.248,-6.723 7.494,-8.754 3.244,-2.031 7.061,-3.046 11.45,-3.046 4.435,10e-4 8.264,0.994 11.485,2.977 z m -19.503,8.93 c -1.798,2.801 -2.696,7.283 -2.696,13.446 0,6.163 0.91,10.645 2.731,13.446 1.821,2.801 4.482,4.202 7.984,4.202 3.547,0 6.208,-1.389 7.983,-4.167 1.774,-2.777 2.661,-7.271 2.661,-13.481 0,-6.208 -0.887,-10.703 -2.661,-13.481 -1.775,-2.777 -4.436,-4.167 -7.983,-4.167 -3.549,0 -6.223,1.4 -8.019,4.202 z"
id="path9"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 377.361,139.917 c 2.264,3.432 3.396,8.253 3.396,14.461 0,3.782 -0.584,7.167 -1.75,10.155 -1.167,2.988 -2.86,5.334 -5.077,7.038 -2.218,1.704 -4.844,2.556 -7.879,2.556 -3.782,0 -6.84,-1.331 -9.174,-3.992 v 17.157 l -9.944,1.121 V 135.89 h 8.754 l 0.49,4.342 c 1.4,-1.821 3.046,-3.187 4.937,-4.097 1.891,-0.91 3.792,-1.365 5.708,-1.365 4.761,10e-4 8.274,1.716 10.539,5.147 z m -6.968,14.532 c 0,-4.482 -0.549,-7.657 -1.646,-9.524 -1.098,-1.867 -2.766,-2.801 -5.007,-2.801 -1.354,0 -2.615,0.432 -3.781,1.295 -1.168,0.865 -2.195,2.02 -3.082,3.467 v 16.177 c 1.586,2.428 3.665,3.642 6.233,3.642 4.855,0 7.283,-4.085 7.283,-12.256 z"
id="path11"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 416.333,157.46 h -23.18 c 0.326,3.361 1.236,5.743 2.731,7.143 1.493,1.401 3.524,2.101 6.092,2.101 1.587,0 3.082,-0.256 4.482,-0.771 1.4,-0.513 2.917,-1.331 4.552,-2.451 l 4.132,5.603 c -4.156,3.362 -8.848,5.042 -14.076,5.042 -5.837,0 -10.319,-1.751 -13.446,-5.252 -3.129,-3.501 -4.692,-8.24 -4.692,-14.216 0,-3.782 0.666,-7.178 1.996,-10.189 1.33,-3.011 3.267,-5.38 5.813,-7.108 2.544,-1.727 5.567,-2.591 9.069,-2.591 5.275,0 9.384,1.658 12.326,4.972 2.941,3.315 4.412,7.938 4.412,13.866 -10e-4,0.467 -0.071,1.75 -0.211,3.851 z m -9.664,-6.652 c 0,-6.163 -2.218,-9.244 -6.653,-9.244 -2.055,0 -3.654,0.759 -4.797,2.276 -1.145,1.518 -1.833,3.981 -2.066,7.388 h 13.516 v -0.42 z"
id="path13"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 447.355,137.747 c 1.821,1.985 2.732,4.727 2.732,8.229 v 27.032 h -9.945 v -25.351 c 0,-2.007 -0.339,-3.42 -1.016,-4.237 -0.677,-0.816 -1.692,-1.225 -3.046,-1.225 -1.4,0 -2.673,0.432 -3.817,1.295 -1.145,0.864 -2.252,2.16 -3.326,3.887 v 25.631 h -9.944 v -37.117 h 8.614 l 0.77,4.692 c 1.541,-1.914 3.232,-3.362 5.078,-4.342 1.844,-0.98 3.933,-1.47 6.268,-1.47 3.267,0 5.812,0.992 7.632,2.976 z"
id="path15"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 481.566,124.931 c 2.592,1.004 4.983,2.533 7.178,4.587 l -4.972,5.743 c -1.681,-1.447 -3.386,-2.497 -5.112,-3.152 -1.728,-0.653 -3.572,-0.98 -5.532,-0.98 -2.147,0 -3.864,0.455 -5.147,1.365 -1.285,0.911 -1.926,2.206 -1.926,3.887 0,1.167 0.268,2.125 0.805,2.872 0.537,0.747 1.482,1.448 2.837,2.101 1.354,0.655 3.384,1.401 6.093,2.241 4.809,1.541 8.404,3.443 10.785,5.708 2.381,2.265 3.571,5.498 3.571,9.699 0,2.988 -0.747,5.615 -2.241,7.878 -1.494,2.265 -3.666,4.039 -6.513,5.323 -2.849,1.283 -6.187,1.926 -10.015,1.926 -3.828,0 -7.237,-0.607 -10.225,-1.821 -2.988,-1.214 -5.557,-2.872 -7.703,-4.972 l 5.393,-5.883 c 3.547,3.269 7.633,4.902 12.255,4.902 2.521,0 4.54,-0.583 6.058,-1.751 1.518,-1.167 2.276,-2.801 2.276,-4.902 0,-1.306 -0.27,-2.392 -0.806,-3.256 -0.537,-0.863 -1.459,-1.646 -2.766,-2.346 -1.309,-0.701 -3.199,-1.424 -5.673,-2.171 -5.276,-1.633 -9.046,-3.594 -11.31,-5.882 -2.266,-2.287 -3.396,-5.275 -3.396,-8.964 0,-2.708 0.723,-5.101 2.17,-7.178 1.447,-2.077 3.455,-3.677 6.023,-4.797 2.566,-1.121 5.485,-1.681 8.754,-1.681 3.503,-0.002 6.548,0.501 9.139,1.504 z"
id="path17"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 504.991,165.514 c 0.326,0.467 0.815,0.7 1.471,0.7 0.793,0 1.471,-0.14 2.03,-0.42 l 2.031,7.073 c -2.055,0.84 -4.296,1.261 -6.723,1.261 -2.941,0 -5.218,-0.853 -6.828,-2.556 -1.611,-1.704 -2.416,-4.167 -2.416,-7.388 v -43.069 l 9.944,-1.121 v 43.279 c 10e-4,1.027 0.164,1.775 0.491,2.241 z"
id="path19"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 524.214,118.418 c 1.144,1.098 1.716,2.486 1.716,4.167 0,1.681 -0.572,3.07 -1.716,4.167 -1.145,1.097 -2.603,1.646 -4.377,1.646 -1.774,0 -3.222,-0.548 -4.342,-1.646 -1.12,-1.097 -1.681,-2.486 -1.681,-4.167 0,-1.681 0.561,-3.069 1.681,-4.167 1.12,-1.096 2.567,-1.646 4.342,-1.646 1.775,0 3.232,0.55 4.377,1.646 z m -9.278,54.589 V 135.89 h 9.943 v 37.117 h -9.943 z"
id="path21"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 563.326,173.007 h -8.754 l -0.561,-4.552 c -2.615,3.782 -6.162,5.673 -10.645,5.673 -4.576,0 -8.065,-1.762 -10.469,-5.288 -2.406,-3.524 -3.607,-8.322 -3.607,-14.391 0,-3.828 0.618,-7.224 1.855,-10.189 1.236,-2.964 3,-5.288 5.287,-6.968 2.287,-1.68 4.973,-2.521 8.055,-2.521 1.727,0 3.35,0.339 4.867,1.015 1.516,0.677 2.859,1.576 4.026,2.696 v -18.488 l 9.944,1.121 v 51.892 z m -13.096,-7.423 c 1.121,-0.746 2.171,-1.867 3.151,-3.361 v -16.598 c -0.98,-1.167 -1.961,-2.042 -2.941,-2.626 -0.98,-0.583 -2.125,-0.875 -3.432,-0.875 -2.288,0 -4.085,1.004 -5.392,3.011 -1.309,2.008 -1.961,5.112 -1.961,9.314 0,4.436 0.57,7.587 1.715,9.454 1.145,1.868 2.813,2.801 5.008,2.801 1.447,0.001 2.731,-0.372 3.852,-1.12 z"
id="path23"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 601.494,157.46 h -23.182 c 0.326,3.361 1.236,5.743 2.732,7.143 1.492,1.401 3.523,2.101 6.092,2.101 1.587,0 3.082,-0.256 4.482,-0.771 1.4,-0.513 2.917,-1.331 4.552,-2.451 l 4.132,5.603 c -4.156,3.362 -8.848,5.042 -14.076,5.042 -5.837,0 -10.318,-1.751 -13.445,-5.252 -3.129,-3.501 -4.693,-8.24 -4.693,-14.216 0,-3.782 0.666,-7.178 1.996,-10.189 1.331,-3.011 3.268,-5.38 5.813,-7.108 2.545,-1.727 5.568,-2.591 9.069,-2.591 5.275,0 9.384,1.658 12.325,4.972 2.941,3.315 4.412,7.938 4.412,13.866 0,0.467 -0.07,1.75 -0.209,3.851 z m -9.665,-6.652 c 0,-6.163 -2.218,-9.244 -6.653,-9.244 -2.055,0 -3.653,0.759 -4.797,2.276 -1.145,1.518 -1.833,3.981 -2.066,7.388 h 13.517 v -0.42 z"
id="path25"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 634.127,139.252 -3.781,5.813 c -3.035,-2.054 -6.023,-3.082 -8.965,-3.082 -1.727,0 -3.059,0.304 -3.99,0.911 -0.936,0.607 -1.402,1.425 -1.402,2.451 0,0.747 0.199,1.377 0.596,1.891 0.396,0.514 1.145,1.004 2.242,1.471 1.096,0.467 2.742,1.027 4.936,1.681 3.922,1.075 6.84,2.51 8.754,4.307 1.914,1.798 2.873,4.261 2.873,7.388 0,2.475 -0.713,4.622 -2.137,6.443 -1.424,1.821 -3.352,3.21 -5.777,4.167 -2.428,0.956 -5.137,1.436 -8.123,1.436 -3.129,0 -5.979,-0.479 -8.545,-1.436 -2.568,-0.957 -4.762,-2.276 -6.582,-3.957 l 4.971,-5.532 c 1.402,1.167 2.941,2.078 4.623,2.731 1.68,0.654 3.408,0.98 5.182,0.98 1.914,0 3.42,-0.361 4.518,-1.085 1.096,-0.723 1.646,-1.692 1.646,-2.906 0,-0.98 -0.211,-1.762 -0.631,-2.346 -0.42,-0.583 -1.191,-1.121 -2.311,-1.61 -1.121,-0.49 -2.871,-1.062 -5.254,-1.716 -3.734,-1.026 -6.502,-2.486 -8.297,-4.377 -1.799,-1.891 -2.697,-4.237 -2.697,-7.038 0,-2.101 0.605,-3.992 1.82,-5.673 1.215,-1.681 2.93,-2.999 5.148,-3.957 2.217,-0.957 4.797,-1.436 7.738,-1.436 5.228,0 9.709,1.494 13.445,4.481 z"
id="path27"
inkscape:connector-curvature="0"
style="fill:#002c42" />
</g><g
transform="matrix(5.1567773,0,0,5.1567773,-874.84003,-495.12546)"
id="g29">
<path
d="m 231.138,168.561 h 15.136 c 1.645,0 2.965,0.99 2.965,2.225 0,1.231 -1.32,2.223 -2.965,2.223 h -15.136 c -1.646,0 -2.969,-0.992 -2.969,-2.223 0,-1.235 1.322,-2.225 2.969,-2.225 z"
id="path31"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<g
id="g33">
<path
d="m 224.244,127.652 c 1.516,0.284 2.521,1.745 2.243,3.26 -0.284,1.519 -1.747,2.523 -3.258,2.239 -1.522,-0.277 -2.526,-1.736 -2.241,-3.258 0.278,-1.519 1.739,-2.519 3.256,-2.241 z"
id="path35"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 248.342,127.971 c -0.113,-1.547 -1.455,-2.703 -2.995,-2.586 -1.539,0.114 -2.695,1.456 -2.584,2.996 0.112,1.54 1.455,2.697 2.995,2.576 1.539,-0.111 2.696,-1.453 2.584,-2.986 z"
id="path37"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 254.698,130.199 c -0.111,-1.541 -1.447,-2.698 -2.986,-2.584 -1.54,0.119 -2.696,1.454 -2.586,3 0.115,1.532 1.456,2.69 2.996,2.576 1.54,-0.111 2.698,-1.453 2.576,-2.992 z"
id="path39"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 228.791,118.638 c -1.282,-0.857 -3.021,-0.527 -3.888,0.749 -0.857,1.282 -0.528,3.014 0.748,3.887 1.282,0.864 3.021,0.526 3.886,-0.749 0.866,-1.282 0.528,-3.019 -0.746,-3.887 z"
id="path41"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path43"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path45"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.454 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path47"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path49"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 255.645,120.877 c 1.521,0.284 2.518,1.74 2.242,3.26 -0.285,1.519 -1.739,2.517 -3.26,2.239 -1.521,-0.284 -2.519,-1.737 -2.24,-3.259 0.284,-1.518 1.745,-2.517 3.258,-2.24 z"
id="path51"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 240.216,140.03 c -1.276,-0.865 -3.016,-0.537 -3.88,0.746 -0.866,1.277 -0.538,3.014 0.746,3.88 1.282,0.867 3.013,0.53 3.88,-0.746 0.866,-1.276 0.529,-3.016 -0.746,-3.88 z"
id="path53"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.583 -1.541,0.117 -2.698,1.459 -2.584,2.994 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.112 2.696,-1.453 2.583,-2.995 z"
id="path55"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z"
id="path57"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 229.154,134.489 c -1.275,-0.864 -3.018,-0.527 -3.88,0.749 -0.867,1.283 -0.529,3.014 0.745,3.88 1.282,0.871 3.012,0.534 3.881,-0.742 0.868,-1.283 0.534,-3.021 -0.746,-3.887 z"
id="path59"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 236.296,132.867 c -1.277,-0.864 -3.014,-0.533 -3.881,0.749 -0.866,1.275 -0.527,3.015 0.748,3.88 1.279,0.864 3.021,0.527 3.885,-0.749 0.867,-1.276 0.529,-3.013 -0.752,-3.88 z"
id="path61"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.567,136.602 c -0.111,-1.539 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path63"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path65"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path67"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path69"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path71"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path73"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 232.399,125.857 c -1.281,-0.867 -3.021,-0.529 -3.887,0.745 -0.866,1.283 -0.528,3.016 0.747,3.887 1.282,0.859 3.015,0.53 3.886,-0.745 0.861,-1.284 0.53,-3.02 -0.746,-3.887 z"
id="path75"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 241.034,127.336 c -0.11,-1.54 -1.451,-2.696 -2.991,-2.579 -1.54,0.114 -2.698,1.456 -2.587,2.995 0.114,1.534 1.456,2.69 2.995,2.577 1.546,-0.111 2.7,-1.453 2.583,-2.993 z"
id="path77"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 221.422,121.313 c -1.276,-0.866 -3.015,-0.537 -3.88,0.745 -0.867,1.278 -0.529,3.015 0.746,3.88 1.282,0.868 3.015,0.537 3.88,-0.738 0.866,-1.282 0.535,-3.027 -0.746,-3.887 z"
id="path79"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z"
id="path81"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 237.039,119.377 c -0.112,-1.546 -1.454,-2.698 -2.993,-2.584 -1.533,0.112 -2.69,1.454 -2.579,2.992 0.112,1.541 1.455,2.692 2.996,2.58 1.539,-0.115 2.688,-1.456 2.576,-2.988 z"
id="path83"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z"
id="path85"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 231.97,140.602 c 1.519,0.282 2.523,1.745 2.239,3.257 -0.278,1.521 -1.736,2.525 -3.259,2.242 -1.512,-0.279 -2.518,-1.74 -2.241,-3.258 0.285,-1.523 1.745,-2.52 3.261,-2.241 z"
id="path87"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z"
id="path89"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z"
id="path91"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 244.838,134.975 c -0.115,-1.54 -1.456,-2.695 -2.996,-2.583 -1.534,0.117 -2.698,1.459 -2.577,2.999 0.11,1.542 1.445,2.69 2.992,2.579 1.539,-0.113 2.691,-1.455 2.581,-2.995 z"
id="path93"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z"
id="path95"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z"
id="path97"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
</g>
<g
id="g99">
<path
d="m 196.938,156.803 c 1.044,-1.134 2.815,-1.213 3.955,-0.173 1.137,1.043 1.212,2.816 0.169,3.949 -1.04,1.143 -2.81,1.22 -3.949,0.173 -1.141,-1.04 -1.215,-2.808 -0.175,-3.949 z"
id="path101"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 209.977,136.537 c -1.369,-0.725 -3.061,-0.2 -3.779,1.17 -0.718,1.367 -0.192,3.057 1.173,3.777 1.364,0.72 3.057,0.196 3.771,-1.173 0.719,-1.365 0.197,-3.055 -1.165,-3.774 z"
id="path103"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 215.234,132.327 c -1.364,-0.722 -3.053,-0.204 -3.774,1.163 -0.714,1.369 -0.194,3.057 1.176,3.782 1.359,0.716 3.051,0.192 3.772,-1.174 0.719,-1.366 0.196,-3.057 -1.174,-3.771 z"
id="path105"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 191.702,148.171 c -1.404,0.633 -2.047,2.282 -1.425,3.693 0.634,1.408 2.277,2.045 3.691,1.426 1.414,-0.63 2.049,-2.284 1.426,-3.693 -0.629,-1.412 -2.278,-2.049 -3.692,-1.426 z"
id="path107"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path109"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path111"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.192,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path113"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path115"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 207.832,126.584 c 1.046,-1.138 2.81,-1.214 3.952,-0.173 1.138,1.046 1.214,2.809 0.172,3.951 -1.048,1.138 -2.807,1.214 -3.95,0.174 -1.137,-1.047 -1.212,-2.815 -0.174,-3.952 z"
id="path117"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 215.898,149.818 c -1.412,0.624 -2.056,2.274 -1.424,3.685 0.623,1.413 2.271,2.054 3.686,1.424 1.414,-0.628 2.045,-2.275 1.423,-3.686 -0.622,-1.409 -2.277,-2.045 -3.685,-1.423 z"
id="path119"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.777,1.171 -0.717,1.368 -0.192,3.059 1.17,3.777 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path121"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path123"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 205.336,156.264 c -1.407,0.623 -2.045,2.277 -1.421,3.686 0.629,1.414 2.278,2.045 3.687,1.423 1.419,-0.625 2.05,-2.271 1.428,-3.683 -0.63,-1.413 -2.279,-2.054 -3.694,-1.426 z"
id="path125"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 207.746,149.348 c -1.409,0.624 -2.048,2.274 -1.422,3.687 0.622,1.411 2.278,2.045 3.688,1.422 1.411,-0.628 2.047,-2.283 1.422,-3.691 -0.621,-1.412 -2.273,-2.046 -3.688,-1.418 z"
id="path127"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path129"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path131"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path133"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path135"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path137"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path139"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 199.739,148.936 c -1.418,0.628 -2.052,2.282 -1.429,3.689 0.628,1.415 2.276,2.049 3.692,1.428 1.407,-0.633 2.045,-2.273 1.427,-3.691 -0.633,-1.408 -2.28,-2.049 -3.69,-1.426 z"
id="path141"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 205.567,142.396 c -1.363,-0.721 -3.056,-0.197 -3.773,1.171 -0.718,1.366 -0.194,3.058 1.171,3.78 1.361,0.715 3.053,0.191 3.772,-1.175 0.725,-1.368 0.199,-3.055 -1.17,-3.776 z"
id="path143"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 190.066,155.839 c -1.412,0.623 -2.052,2.271 -1.425,3.684 0.624,1.411 2.276,2.046 3.686,1.424 1.416,-0.63 2.054,-2.272 1.431,-3.683 -0.628,-1.412 -2.284,-2.057 -3.692,-1.425 z"
id="path145"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z"
id="path147"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 196.699,141.568 c -1.37,-0.724 -3.058,-0.196 -3.778,1.169 -0.718,1.358 -0.192,3.052 1.173,3.771 1.366,0.722 3.054,0.194 3.775,-1.171 0.719,-1.368 0.192,-3.053 -1.17,-3.769 z"
id="path149"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z"
id="path151"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 212.012,157.114 c 1.046,-1.138 2.819,-1.215 3.95,-0.173 1.144,1.041 1.219,2.812 0.175,3.951 -1.037,1.135 -2.808,1.213 -3.951,0.174 -1.141,-1.047 -1.211,-2.816 -0.174,-3.952 z"
id="path153"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z"
id="path155"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z"
id="path157"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 214.061,143.221 c -1.367,-0.719 -3.056,-0.193 -3.776,1.171 -0.715,1.363 -0.193,3.061 1.176,3.774 1.368,0.722 3.049,0.2 3.774,-1.172 0.719,-1.364 0.192,-3.051 -1.174,-3.773 z"
id="path159"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z"
id="path161"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z"
id="path163"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
</g>
<g
id="g165">
<path
d="m 278.788,156.803 c -1.044,-1.134 -2.816,-1.213 -3.953,-0.173 -1.136,1.043 -1.213,2.816 -0.172,3.949 1.041,1.143 2.809,1.22 3.95,0.173 1.142,-1.04 1.217,-2.808 0.175,-3.949 z"
id="path167"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 265.747,136.537 c 1.371,-0.725 3.063,-0.2 3.78,1.17 0.722,1.367 0.196,3.057 -1.171,3.777 -1.366,0.72 -3.058,0.196 -3.772,-1.173 -0.72,-1.365 -0.194,-3.055 1.163,-3.774 z"
id="path169"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 260.49,132.327 c 1.366,-0.722 3.057,-0.204 3.774,1.163 0.716,1.369 0.198,3.057 -1.175,3.782 -1.358,0.716 -3.053,0.192 -3.77,-1.174 -0.722,-1.366 -0.197,-3.057 1.171,-3.771 z"
id="path171"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 284.023,148.171 c 1.407,0.633 2.047,2.282 1.423,3.693 -0.631,1.408 -2.274,2.045 -3.69,1.426 -1.412,-0.63 -2.048,-2.284 -1.426,-3.693 0.629,-1.412 2.281,-2.049 3.693,-1.426 z"
id="path173"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path175"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path177"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path179"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path181"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 267.894,126.584 c -1.046,-1.138 -2.811,-1.214 -3.952,-0.173 -1.137,1.046 -1.213,2.809 -0.171,3.951 1.045,1.138 2.808,1.214 3.95,0.174 1.135,-1.047 1.211,-2.815 0.173,-3.952 z"
id="path183"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 259.827,149.818 c 1.411,0.624 2.055,2.274 1.426,3.685 -0.625,1.413 -2.271,2.054 -3.687,1.424 -1.416,-0.628 -2.047,-2.275 -1.425,-3.686 0.624,-1.409 2.279,-2.045 3.686,-1.423 z"
id="path185"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.779,1.171 0.715,1.368 0.189,3.059 -1.172,3.777 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path187"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path189"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 270.387,156.264 c 1.413,0.623 2.046,2.277 1.422,3.686 -0.629,1.414 -2.274,2.045 -3.686,1.423 -1.417,-0.625 -2.048,-2.271 -1.426,-3.683 0.629,-1.413 2.279,-2.054 3.69,-1.426 z"
id="path191"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 267.979,149.348 c 1.411,0.624 2.052,2.274 1.421,3.687 -0.622,1.411 -2.274,2.045 -3.685,1.422 -1.411,-0.628 -2.049,-2.283 -1.425,-3.691 0.625,-1.412 2.273,-2.046 3.689,-1.418 z"
id="path193"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 256.719,138.374 c 1.364,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path195"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path197"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path199"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path201"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path203"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path205"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 275.989,148.936 c 1.414,0.628 2.048,2.282 1.427,3.689 -0.626,1.415 -2.276,2.049 -3.69,1.428 -1.407,-0.633 -2.047,-2.273 -1.428,-3.691 0.632,-1.408 2.28,-2.049 3.691,-1.426 z"
id="path207"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 270.158,142.396 c 1.366,-0.721 3.058,-0.197 3.772,1.171 0.72,1.366 0.194,3.058 -1.17,3.78 -1.36,0.715 -3.051,0.191 -3.771,-1.175 -0.726,-1.368 -0.198,-3.055 1.169,-3.776 z"
id="path209"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 285.66,155.839 c 1.41,0.623 2.052,2.271 1.424,3.684 -0.625,1.411 -2.276,2.046 -3.685,1.424 -1.418,-0.63 -2.053,-2.272 -1.432,-3.683 0.632,-1.412 2.284,-2.057 3.693,-1.425 z"
id="path211"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z"
id="path213"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 279.025,141.568 c 1.372,-0.724 3.062,-0.196 3.778,1.169 0.717,1.358 0.194,3.052 -1.172,3.771 -1.365,0.722 -3.053,0.194 -3.773,-1.171 -0.719,-1.368 -0.19,-3.053 1.167,-3.769 z"
id="path215"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z"
id="path217"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 263.713,157.114 c -1.045,-1.138 -2.817,-1.215 -3.949,-0.173 -1.143,1.041 -1.22,2.812 -0.175,3.951 1.039,1.135 2.811,1.213 3.951,0.174 1.14,-1.047 1.214,-2.816 0.173,-3.952 z"
id="path219"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z"
id="path221"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z"
id="path223"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 261.667,143.221 c 1.363,-0.719 3.056,-0.193 3.777,1.171 0.71,1.363 0.19,3.061 -1.18,3.774 -1.366,0.722 -3.049,0.2 -3.773,-1.172 -0.719,-1.364 -0.189,-3.051 1.176,-3.773 z"
id="path225"
inkscape:connector-curvature="0"
style="fill:#002c42" />
<path
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z"
id="path227"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
<path
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z"
id="path229"
inkscape:connector-curvature="0"
style="opacity:0.9387;fill:#002c42" />
</g>
</g></g></svg>

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,667 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_1"
x="0px"
y="0px"
viewBox="0 0 800.78997 132.08001"
xml:space="preserve"
sodipodi:docname="openslides-logo-h.svg"
width="800.78998"
height="132.08"
inkscape:version="0.92.4 5da689c313, 2019-01-14"><metadata
id="metadata213"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs211">
<defs
id="defs5">
<rect
id="SVGID_1_"
x="1.42"
y="1.08"
width="790.87"
height="196.25999" />
</defs>
<clipPath
id="SVGID_2_">
<use
xlink:href="#SVGID_1_"
style="overflow:visible"
id="use7"
x="0"
y="0"
width="100%"
height="100%" />
</clipPath>
</defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1916"
inkscape:window-height="1037"
id="namedview209"
showgrid="false"
inkscape:pagecheckerboard="true"
fit-margin-top="5"
fit-margin-left="5"
fit-margin-right="5"
fit-margin-bottom="5"
inkscape:zoom="0.77686418"
inkscape:cx="263.40616"
inkscape:cy="-136.78644"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="0"
inkscape:current-layer="Ebene_1" />
<style
type="text/css"
id="style2">
.st0{clip-path:url(#SVGID_2_);}
.st1{fill:#FFFFFF;}
.st2{fill:none;}
</style>
<g
id="g708"
transform="translate(-6.48,-6.42)"
style="fill:#0c2c40;fill-opacity:1"><path
class="st1"
d="m 271.78,42.13 c -2.98,4.64 -4.46,12.05 -4.46,22.25 0,10.2 1.51,17.61 4.52,22.25 3.01,4.64 7.42,6.96 13.21,6.96 5.87,0 10.27,-2.3 13.21,-6.9 2.93,-4.6 4.41,-12.03 4.41,-22.31 0,-10.27 -1.47,-17.71 -4.41,-22.3 -2.94,-4.59 -7.34,-6.9 -13.21,-6.9 -5.87,-0.01 -10.29,2.31 -13.27,6.95 m 32.27,-14.78 c 5.33,3.29 9.43,8.05 12.28,14.31 2.86,6.26 4.29,13.83 4.29,22.71 0,8.73 -1.43,16.24 -4.29,22.54 -2.86,6.3 -6.95,11.1 -12.28,14.42 -5.33,3.32 -11.66,4.98 -19,4.98 -7.34,0 -13.69,-1.64 -19.06,-4.92 -5.37,-3.29 -9.48,-8.07 -12.34,-14.37 -2.86,-6.3 -4.29,-13.85 -4.29,-22.65 0,-8.65 1.45,-16.12 4.35,-22.42 2.9,-6.3 7.03,-11.12 12.4,-14.48 5.37,-3.36 11.69,-5.04 18.95,-5.04 7.33,-0.01 13.66,1.64 18.99,4.92"
id="path10"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 363.84,73.75 c 0,-7.42 -0.9,-12.67 -2.72,-15.75 -1.81,-3.09 -4.57,-4.64 -8.28,-4.64 -2.24,0 -4.33,0.72 -6.26,2.14 -1.93,1.43 -3.63,3.34 -5.1,5.74 V 88 c 2.62,4.02 6.06,6.03 10.31,6.03 8.03,0.01 12.05,-6.75 12.05,-20.28 m 11.53,-24.04 c 3.75,5.68 5.62,13.65 5.62,23.92 0,6.26 -0.97,11.86 -2.9,16.8 -1.93,4.95 -4.73,8.83 -8.4,11.64 -3.67,2.82 -8.02,4.23 -13.04,4.23 -6.26,0 -11.32,-2.2 -15.18,-6.6 v 28.39 l -16.45,1.86 v -86.9 h 14.48 l 0.81,7.19 c 2.32,-3.01 5.04,-5.27 8.17,-6.78 3.13,-1.5 6.28,-2.26 9.44,-2.26 7.89,0 13.7,2.84 17.45,8.51 z"
id="path12"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 423.86,67.73 c 0,-10.19 -3.67,-15.29 -11.01,-15.29 -3.4,0 -6.04,1.26 -7.94,3.76 -1.89,2.51 -3.03,6.59 -3.42,12.22 h 22.36 v -0.69 z m 15.99,11.01 H 401.5 c 0.54,5.56 2.04,9.5 4.52,11.82 2.47,2.32 5.83,3.48 10.08,3.48 2.62,0 5.1,-0.43 7.42,-1.27 2.32,-0.85 4.83,-2.2 7.53,-4.05 l 6.84,9.27 c -6.88,5.56 -14.64,8.34 -23.29,8.34 -9.66,0 -17.07,-2.9 -22.25,-8.69 -5.18,-5.79 -7.76,-13.63 -7.76,-23.52 0,-6.26 1.1,-11.87 3.3,-16.86 2.2,-4.98 5.4,-8.9 9.62,-11.76 4.21,-2.86 9.21,-4.29 15,-4.29 8.73,0 15.53,2.74 20.39,8.23 4.87,5.48 7.3,13.13 7.3,22.94 -0.01,0.76 -0.12,2.88 -0.35,6.36"
id="path14"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 491.17,46.12 c 3.01,3.29 4.52,7.82 4.52,13.62 v 44.72 H 479.24 V 62.52 c 0,-3.32 -0.56,-5.66 -1.68,-7.01 -1.12,-1.35 -2.8,-2.02 -5.04,-2.02 -2.32,0 -4.42,0.72 -6.31,2.14 -1.89,1.43 -3.73,3.58 -5.5,6.43 v 42.41 H 444.26 V 43.05 h 14.25 l 1.27,7.76 c 2.55,-3.17 5.35,-5.56 8.4,-7.19 3.05,-1.62 6.51,-2.43 10.37,-2.43 5.4,0.01 9.62,1.65 12.62,4.93"
id="path16"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 547.78,24.92 c 4.29,1.66 8.24,4.19 11.88,7.59 l -8.23,9.5 c -2.78,-2.4 -5.61,-4.13 -8.46,-5.21 -2.86,-1.08 -5.91,-1.62 -9.15,-1.62 -3.55,0 -6.39,0.75 -8.52,2.26 -2.13,1.5 -3.19,3.65 -3.19,6.43 0,1.93 0.45,3.52 1.33,4.75 0.89,1.24 2.45,2.4 4.69,3.48 2.25,1.08 5.6,2.32 10.08,3.71 7.96,2.55 13.91,5.7 17.84,9.44 3.94,3.75 5.91,9.1 5.91,16.04 0,4.95 -1.24,9.29 -3.71,13.04 -2.47,3.75 -6.07,6.68 -10.78,8.81 -4.72,2.12 -10.24,3.19 -16.57,3.19 -6.33,0 -11.97,-1 -16.92,-3.01 -4.94,-2.01 -9.19,-4.75 -12.74,-8.23 l 8.92,-9.73 c 5.87,5.4 12.63,8.11 20.28,8.11 4.17,0 7.51,-0.97 10.02,-2.9 2.51,-1.93 3.76,-4.64 3.76,-8.11 0,-2.16 -0.45,-3.96 -1.33,-5.39 -0.89,-1.42 -2.41,-2.72 -4.57,-3.88 -2.17,-1.16 -5.3,-2.36 -9.39,-3.59 -8.73,-2.7 -14.97,-5.95 -18.71,-9.73 -3.75,-3.79 -5.62,-8.73 -5.62,-14.84 0,-4.48 1.2,-8.44 3.59,-11.87 2.4,-3.44 5.72,-6.08 9.97,-7.94 4.25,-1.86 9.07,-2.78 14.48,-2.78 5.81,-0.02 10.85,0.82 15.14,2.48"
id="path18"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 586.53,92.06 c 0.54,0.77 1.35,1.16 2.43,1.16 1.31,0 2.43,-0.23 3.36,-0.69 l 3.36,11.7 c -3.4,1.39 -7.11,2.09 -11.12,2.09 -4.87,0 -8.63,-1.42 -11.3,-4.23 -2.66,-2.82 -3.99,-6.9 -3.99,-12.22 V 18.6 l 16.45,-1.86 v 71.61 c 0,1.7 0.28,2.94 0.81,3.71"
id="path20"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 602.99,43.05 h 16.45 v 61.41 h -16.45 z m 15.35,-28.91 c 1.89,1.82 2.84,4.12 2.84,6.9 0,2.78 -0.95,5.08 -2.84,6.9 -1.89,1.82 -4.31,2.72 -7.24,2.72 -2.93,0 -5.33,-0.91 -7.19,-2.72 -1.85,-1.81 -2.78,-4.12 -2.78,-6.9 0,-2.78 0.93,-5.08 2.78,-6.9 1.86,-1.81 4.25,-2.72 7.19,-2.72 2.94,0 5.35,0.91 7.24,2.72"
id="path22"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 661.38,92.18 c 1.86,-1.23 3.6,-3.09 5.22,-5.56 V 59.16 c -1.62,-1.93 -3.25,-3.38 -4.87,-4.35 -1.62,-0.97 -3.52,-1.45 -5.68,-1.45 -3.79,0 -6.76,1.66 -8.92,4.98 -2.17,3.32 -3.24,8.46 -3.24,15.41 0,7.34 0.94,12.55 2.84,15.64 1.89,3.09 4.65,4.63 8.29,4.63 2.38,0.02 4.51,-0.6 6.36,-1.84 m 21.67,12.28 h -14.48 l -0.93,-7.53 c -4.33,6.26 -10.19,9.39 -17.61,9.39 -7.57,0 -13.34,-2.92 -17.32,-8.75 -3.98,-5.83 -5.97,-13.77 -5.97,-23.81 0,-6.34 1.02,-11.95 3.07,-16.86 2.04,-4.9 4.96,-8.75 8.75,-11.53 3.78,-2.78 8.23,-4.17 13.33,-4.17 2.86,0 5.55,0.56 8.05,1.68 2.51,1.12 4.73,2.61 6.66,4.46 V 16.75 l 16.45,1.85 z"
id="path24"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 730.21,67.73 c 0,-10.19 -3.67,-15.29 -11.01,-15.29 -3.4,0 -6.04,1.26 -7.94,3.76 -1.89,2.51 -3.03,6.59 -3.42,12.22 h 22.36 z m 15.99,11.01 h -38.36 c 0.54,5.56 2.04,9.5 4.52,11.82 2.47,2.32 5.83,3.48 10.08,3.48 2.62,0 5.1,-0.43 7.42,-1.27 2.32,-0.85 4.82,-2.2 7.53,-4.05 l 6.83,9.27 c -6.88,5.56 -14.64,8.34 -23.29,8.34 -9.66,0 -17.07,-2.9 -22.25,-8.69 -5.18,-5.79 -7.77,-13.63 -7.77,-23.52 0,-6.26 1.1,-11.87 3.3,-16.86 2.2,-4.98 5.4,-8.9 9.62,-11.76 4.21,-2.86 9.21,-4.29 15,-4.29 8.73,0 15.52,2.74 20.39,8.23 4.87,5.48 7.3,13.13 7.3,22.94 0.03,0.76 -0.09,2.88 -0.32,6.36 z"
id="path26"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="m 800.19,48.61 -6.26,9.62 c -5.02,-3.4 -9.97,-5.1 -14.83,-5.1 -2.86,0 -5.06,0.5 -6.6,1.51 -1.55,1 -2.32,2.36 -2.32,4.05 0,1.23 0.33,2.28 0.98,3.13 0.66,0.85 1.89,1.66 3.71,2.43 1.81,0.77 4.54,1.7 8.17,2.78 6.49,1.78 11.32,4.15 14.48,7.12 3.16,2.98 4.75,7.05 4.75,12.22 0,4.1 -1.18,7.64 -3.54,10.66 -2.35,3.01 -5.55,5.31 -9.56,6.9 -4.02,1.58 -8.5,2.38 -13.44,2.38 -5.17,0 -9.89,-0.79 -14.14,-2.38 -4.25,-1.58 -7.88,-3.76 -10.89,-6.55 l 8.22,-9.15 c 2.32,1.93 4.87,3.44 7.65,4.52 2.78,1.08 5.64,1.62 8.57,1.62 3.17,0 5.66,-0.6 7.48,-1.8 1.81,-1.2 2.72,-2.8 2.72,-4.8 0,-1.62 -0.35,-2.92 -1.05,-3.88 -0.69,-0.97 -1.97,-1.86 -3.82,-2.67 -1.86,-0.81 -4.75,-1.76 -8.7,-2.84 -6.18,-1.7 -10.76,-4.12 -13.73,-7.24 -2.98,-3.13 -4.46,-7.01 -4.46,-11.65 0,-3.47 1,-6.6 3.01,-9.38 2.01,-2.78 4.85,-4.96 8.52,-6.55 3.67,-1.58 7.94,-2.38 12.8,-2.38 8.69,0.02 16.1,2.49 22.28,7.43"
id="path28"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /></g><g
id="g792"
transform="translate(-6.48,-6.42)"
style="fill:#0c2c40;fill-opacity:1"><g
transform="translate(10,10)"
id="g86"
style="fill:#0c2c40;fill-opacity:1">
<g
id="g46"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="124.67"
cy="90.790001"
r="5.6300001"
id="circle36"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="140.63"
cy="90.790001"
r="5.6300001"
id="circle38"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="156.13"
cy="90.790001"
r="5.6300001"
id="circle40"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="171.64"
cy="90.790001"
r="5.6300001"
id="circle42"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="187.14999"
cy="90.790001"
r="5.6300001"
id="circle44"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g58"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="118.34"
cy="78.449997"
r="5.6300001"
id="circle48"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="127.26"
cy="65.220001"
r="5.6300001"
id="circle50"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="135.92999"
cy="52.360001"
r="5.6300001"
id="circle52"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="144.60001"
cy="39.509998"
r="5.6300001"
id="circle54"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="153.28"
cy="26.65"
r="5.6300001"
id="circle56"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g68"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="136.19"
cy="76.610001"
r="5.6300001"
id="circle60"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="168.53999"
cy="76.169998"
r="5.6300001"
id="circle62"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="184.72"
cy="76.169998"
r="5.6300001"
id="circle64"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="152.37"
cy="76.610001"
r="5.6300001"
id="circle66"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g76"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="146.39"
cy="63.32"
r="5.6300001"
id="circle70"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="180.50999"
cy="62.43"
r="5.6300001"
id="circle72"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="163.89"
cy="62.869999"
r="5.6300001"
id="circle74"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g80"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="155.69"
cy="50.470001"
r="5.6300001"
id="circle78"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g84"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="164.55"
cy="37.169998"
r="5.6300001"
id="circle82"
style="fill:#0c2c40;fill-opacity:1" />
</g>
</g><g
transform="translate(10,10)"
id="g140"
style="fill:#0c2c40;fill-opacity:1">
<g
id="g98"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="69.589996"
cy="90.790001"
r="5.6300001"
id="circle88"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="53.639999"
cy="90.790001"
r="5.6300001"
id="circle90"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="38.130001"
cy="90.790001"
r="5.6300001"
id="circle92"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="22.620001"
cy="90.790001"
r="5.6300001"
id="circle94"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="7.1100001"
cy="90.790001"
r="5.6300001"
id="circle96"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g110"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="75.93"
cy="78.449997"
r="5.6300001"
id="circle100"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="67.010002"
cy="65.220001"
r="5.6300001"
id="circle102"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="58.34"
cy="52.360001"
r="5.6300001"
id="circle104"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="49.66"
cy="39.509998"
r="5.6300001"
id="circle106"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="40.990002"
cy="26.65"
r="5.6300001"
id="circle108"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g120"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="58.07"
cy="76.610001"
r="5.6300001"
id="circle112"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="25.73"
cy="76.169998"
r="5.6300001"
id="circle114"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="9.5500002"
cy="76.169998"
r="5.6300001"
id="circle116"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="41.900002"
cy="76.610001"
r="5.6300001"
id="circle118"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g128"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="47.880001"
cy="63.32"
r="5.6300001"
id="circle122"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="13.76"
cy="62.43"
r="5.6300001"
id="circle124"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="30.379999"
cy="62.869999"
r="5.6300001"
id="circle126"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g134"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="38.580002"
cy="50.470001"
r="5.6300001"
id="circle130"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="21.07"
cy="49.139999"
r="5.6300001"
id="circle132"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g138"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="29.709999"
cy="37.169998"
r="5.6300001"
id="circle136"
style="fill:#0c2c40;fill-opacity:1" />
</g>
</g><g
transform="translate(10,10)"
id="g194"
style="fill:#0c2c40;fill-opacity:1">
<g
id="g152"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="104.26"
cy="69.860001"
r="5.6300001"
id="circle142"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="111.62"
cy="55.700001"
r="5.6300001"
id="circle144"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="118.77"
cy="41.939999"
r="5.6300001"
id="circle146"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="125.92"
cy="28.18"
r="5.6300001"
id="circle148"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="133.07001"
cy="14.42"
r="5.6300001"
id="circle150"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g164"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="90.379997"
cy="69.779999"
r="5.6300001"
id="circle154"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="82.760002"
cy="55.77"
r="5.6300001"
id="circle156"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="75.349998"
cy="42.139999"
r="5.6300001"
id="circle158"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="67.949997"
cy="28.52"
r="5.6300001"
id="circle160"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="60.540001"
cy="14.89"
r="5.6300001"
id="circle162"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g174"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="96.989998"
cy="53.09"
r="5.6300001"
id="circle166"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="111.52"
cy="24.190001"
r="5.6300001"
id="circle168"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="118.98"
cy="9.8299999"
r="5.6300001"
id="circle170"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="104.45"
cy="38.740002"
r="5.6300001"
id="circle172"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g182"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="89.900002"
cy="37.919998"
r="5.6300001"
id="circle176"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="104.84"
cy="7.23"
r="5.6300001"
id="circle178"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="97.57"
cy="22.18"
r="5.6300001"
id="circle180"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g188"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="82.779999"
cy="23.74"
r="5.6300001"
id="circle184"
style="fill:#0c2c40;fill-opacity:1" />
<circle
class="st1"
cx="89.68"
cy="7.2199998"
r="5.6300001"
id="circle186"
style="fill:#0c2c40;fill-opacity:1" />
</g>
<g
id="g192"
style="fill:#0c2c40;fill-opacity:1">
<circle
class="st1"
cx="75.080002"
cy="9.7399998"
r="5.6300001"
id="circle190"
style="fill:#0c2c40;fill-opacity:1" />
</g>
</g><circle
class="st1"
cx="183.42"
cy="59.139999"
r="5.6300001"
id="circle196"
style="fill:#0c2c40;fill-opacity:1" /><path
class="st1"
d="M 121.46,133.5 H 93.29 c -3.1,0 -5.63,-2.54 -5.63,-5.63 v 0 c 0,-3.1 2.54,-5.63 5.63,-5.63 h 28.17 c 3.1,0 5.63,2.54 5.63,5.63 v 0 c 0.01,3.09 -2.53,5.63 -5.63,5.63 z"
id="path198"
inkscape:connector-curvature="0"
style="fill:#0c2c40;fill-opacity:1" /></g>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,599 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://opensource.org/licenses/MIT"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_3"
x="0px"
y="0px"
width="714.50537"
height="511.0267"
viewBox="0 0 714.50529 511.02669"
enable-background="new 0 0 841.89 595.28"
xml:space="preserve"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="openslides-mark-button-dark.svg"
inkscape:export-xdpi="20.83"
inkscape:export-ydpi="20.83"><metadata
id="metadata461"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title><dc:creator><cc:Agent><dc:title>OpenSlides Team</dc:title></cc:Agent></dc:creator></cc:Work></rdf:RDF></metadata><defs
id="defs459">
<filter
id="filter5361"
style="color-interpolation-filters:sRGB;"
inkscape:label="Drop Shadow"><feFlood
id="feFlood5363"
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood" /><feComposite
id="feComposite5365"
in2="SourceGraphic"
in="flood"
operator="in"
result="composite1" /><feGaussianBlur
id="feGaussianBlur5367"
in="composite"
stdDeviation="15"
result="blur" /><feOffset
id="feOffset5369"
dx="0"
dy="4"
result="offset" /><feComposite
id="feComposite5371"
in2="offset"
in="SourceGraphic"
operator="over"
result="composite2" /></filter></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="965"
inkscape:window-height="838"
id="namedview457"
showgrid="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:zoom="0.2738534"
inkscape:cx="-900.0578"
inkscape:cy="110.09979"
inkscape:window-x="12"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Ebene_3"
fit-margin-top="10"
fit-margin-left="10"
fit-margin-right="10"
fit-margin-bottom="4"
units="px"><sodipodi:guide
orientation="0,1"
position="-76.331348,-264.93094"
id="guide3558" /><sodipodi:guide
orientation="0,1"
position="-107.97678,-208.98635"
id="guide3560" /></sodipodi:namedview>
<rect
style="fill:#002c42;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter5361)"
id="rect8760"
width="900"
height="900"
x="-92.747368"
y="-191.48665"
ry="105.83367" /><g
id="g29"
transform="matrix(7.8699075,0,0,7.8699075,-1514.7044,-881.81148)"
style="fill:#ffffff">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path31"
d="m 231.138,168.561 h 15.136 c 1.645,0 2.965,0.99 2.965,2.225 0,1.231 -1.32,2.223 -2.965,2.223 h -15.136 c -1.646,0 -2.969,-0.992 -2.969,-2.223 0,-1.235 1.322,-2.225 2.969,-2.225 z" />
<g
id="g33"
style="fill:#ffffff">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path35"
d="m 224.244,127.652 c 1.516,0.284 2.521,1.745 2.243,3.26 -0.284,1.519 -1.747,2.523 -3.258,2.239 -1.522,-0.277 -2.526,-1.736 -2.241,-3.258 0.278,-1.519 1.739,-2.519 3.256,-2.241 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path37"
d="m 248.342,127.971 c -0.113,-1.547 -1.455,-2.703 -2.995,-2.586 -1.539,0.114 -2.695,1.456 -2.584,2.996 0.112,1.54 1.455,2.697 2.995,2.576 1.539,-0.111 2.696,-1.453 2.584,-2.986 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path39"
d="m 254.698,130.199 c -0.111,-1.541 -1.447,-2.698 -2.986,-2.584 -1.54,0.119 -2.696,1.454 -2.586,3 0.115,1.532 1.456,2.69 2.996,2.576 1.54,-0.111 2.698,-1.453 2.576,-2.992 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path41"
d="m 228.791,118.638 c -1.282,-0.857 -3.021,-0.527 -3.888,0.749 -0.857,1.282 -0.528,3.014 0.748,3.887 1.282,0.864 3.021,0.526 3.886,-0.749 0.866,-1.282 0.528,-3.019 -0.746,-3.887 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path43"
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path45"
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path47"
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.454 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path49"
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path51"
d="m 255.645,120.877 c 1.521,0.284 2.518,1.74 2.242,3.26 -0.285,1.519 -1.739,2.517 -3.26,2.239 -1.521,-0.284 -2.519,-1.737 -2.24,-3.259 0.284,-1.518 1.745,-2.517 3.258,-2.24 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path53"
d="m 240.216,140.03 c -1.276,-0.865 -3.016,-0.537 -3.88,0.746 -0.866,1.277 -0.538,3.014 0.746,3.88 1.282,0.867 3.013,0.53 3.88,-0.746 0.866,-1.276 0.529,-3.016 -0.746,-3.88 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path55"
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.583 -1.541,0.117 -2.698,1.459 -2.584,2.994 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.112 2.696,-1.453 2.583,-2.995 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path57"
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path59"
d="m 229.154,134.489 c -1.275,-0.864 -3.018,-0.527 -3.88,0.749 -0.867,1.283 -0.529,3.014 0.745,3.88 1.282,0.871 3.012,0.534 3.881,-0.742 0.868,-1.283 0.534,-3.021 -0.746,-3.887 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path61"
d="m 236.296,132.867 c -1.277,-0.864 -3.014,-0.533 -3.881,0.749 -0.866,1.275 -0.527,3.015 0.748,3.88 1.279,0.864 3.021,0.527 3.885,-0.749 0.867,-1.276 0.529,-3.013 -0.752,-3.88 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path63"
d="m 251.567,136.602 c -0.111,-1.539 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path65"
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path67"
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path69"
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path71"
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path73"
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path75"
d="m 232.399,125.857 c -1.281,-0.867 -3.021,-0.529 -3.887,0.745 -0.866,1.283 -0.528,3.016 0.747,3.887 1.282,0.859 3.015,0.53 3.886,-0.745 0.861,-1.284 0.53,-3.02 -0.746,-3.887 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path77"
d="m 241.034,127.336 c -0.11,-1.54 -1.451,-2.696 -2.991,-2.579 -1.54,0.114 -2.698,1.456 -2.587,2.995 0.114,1.534 1.456,2.69 2.995,2.577 1.546,-0.111 2.7,-1.453 2.583,-2.993 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path79"
d="m 221.422,121.313 c -1.276,-0.866 -3.015,-0.537 -3.88,0.745 -0.867,1.278 -0.529,3.015 0.746,3.88 1.282,0.868 3.015,0.537 3.88,-0.738 0.866,-1.282 0.535,-3.027 -0.746,-3.887 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path81"
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path83"
d="m 237.039,119.377 c -0.112,-1.546 -1.454,-2.698 -2.993,-2.584 -1.533,0.112 -2.69,1.454 -2.579,2.992 0.112,1.541 1.455,2.692 2.996,2.58 1.539,-0.115 2.688,-1.456 2.576,-2.988 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path85"
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path87"
d="m 231.97,140.602 c 1.519,0.282 2.523,1.745 2.239,3.257 -0.278,1.521 -1.736,2.525 -3.259,2.242 -1.512,-0.279 -2.518,-1.74 -2.241,-3.258 0.285,-1.523 1.745,-2.52 3.261,-2.241 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path89"
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path91"
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path93"
d="m 244.838,134.975 c -0.115,-1.54 -1.456,-2.695 -2.996,-2.583 -1.534,0.117 -2.698,1.459 -2.577,2.999 0.11,1.542 1.445,2.69 2.992,2.579 1.539,-0.113 2.691,-1.455 2.581,-2.995 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path95"
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path97"
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z" />
</g>
<g
id="g99"
style="fill:#ffffff">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path101"
d="m 196.938,156.803 c 1.044,-1.134 2.815,-1.213 3.955,-0.173 1.137,1.043 1.212,2.816 0.169,3.949 -1.04,1.143 -2.81,1.22 -3.949,0.173 -1.141,-1.04 -1.215,-2.808 -0.175,-3.949 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path103"
d="m 209.977,136.537 c -1.369,-0.725 -3.061,-0.2 -3.779,1.17 -0.718,1.367 -0.192,3.057 1.173,3.777 1.364,0.72 3.057,0.196 3.771,-1.173 0.719,-1.365 0.197,-3.055 -1.165,-3.774 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path105"
d="m 215.234,132.327 c -1.364,-0.722 -3.053,-0.204 -3.774,1.163 -0.714,1.369 -0.194,3.057 1.176,3.782 1.359,0.716 3.051,0.192 3.772,-1.174 0.719,-1.366 0.196,-3.057 -1.174,-3.771 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path107"
d="m 191.702,148.171 c -1.404,0.633 -2.047,2.282 -1.425,3.693 0.634,1.408 2.277,2.045 3.691,1.426 1.414,-0.63 2.049,-2.284 1.426,-3.693 -0.629,-1.412 -2.278,-2.049 -3.692,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path109"
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path111"
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path113"
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.192,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path115"
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path117"
d="m 207.832,126.584 c 1.046,-1.138 2.81,-1.214 3.952,-0.173 1.138,1.046 1.214,2.809 0.172,3.951 -1.048,1.138 -2.807,1.214 -3.95,0.174 -1.137,-1.047 -1.212,-2.815 -0.174,-3.952 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path119"
d="m 215.898,149.818 c -1.412,0.624 -2.056,2.274 -1.424,3.685 0.623,1.413 2.271,2.054 3.686,1.424 1.414,-0.628 2.045,-2.275 1.423,-3.686 -0.622,-1.409 -2.277,-2.045 -3.685,-1.423 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path121"
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.777,1.171 -0.717,1.368 -0.192,3.059 1.17,3.777 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path123"
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path125"
d="m 205.336,156.264 c -1.407,0.623 -2.045,2.277 -1.421,3.686 0.629,1.414 2.278,2.045 3.687,1.423 1.419,-0.625 2.05,-2.271 1.428,-3.683 -0.63,-1.413 -2.279,-2.054 -3.694,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path127"
d="m 207.746,149.348 c -1.409,0.624 -2.048,2.274 -1.422,3.687 0.622,1.411 2.278,2.045 3.688,1.422 1.411,-0.628 2.047,-2.283 1.422,-3.691 -0.621,-1.412 -2.273,-2.046 -3.688,-1.418 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path129"
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path131"
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path133"
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path135"
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path137"
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path139"
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path141"
d="m 199.739,148.936 c -1.418,0.628 -2.052,2.282 -1.429,3.689 0.628,1.415 2.276,2.049 3.692,1.428 1.407,-0.633 2.045,-2.273 1.427,-3.691 -0.633,-1.408 -2.28,-2.049 -3.69,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path143"
d="m 205.567,142.396 c -1.363,-0.721 -3.056,-0.197 -3.773,1.171 -0.718,1.366 -0.194,3.058 1.171,3.78 1.361,0.715 3.053,0.191 3.772,-1.175 0.725,-1.368 0.199,-3.055 -1.17,-3.776 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path145"
d="m 190.066,155.839 c -1.412,0.623 -2.052,2.271 -1.425,3.684 0.624,1.411 2.276,2.046 3.686,1.424 1.416,-0.63 2.054,-2.272 1.431,-3.683 -0.628,-1.412 -2.284,-2.057 -3.692,-1.425 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path147"
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path149"
d="m 196.699,141.568 c -1.37,-0.724 -3.058,-0.196 -3.778,1.169 -0.718,1.358 -0.192,3.052 1.173,3.771 1.366,0.722 3.054,0.194 3.775,-1.171 0.719,-1.368 0.192,-3.053 -1.17,-3.769 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path151"
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path153"
d="m 212.012,157.114 c 1.046,-1.138 2.819,-1.215 3.95,-0.173 1.144,1.041 1.219,2.812 0.175,3.951 -1.037,1.135 -2.808,1.213 -3.951,0.174 -1.141,-1.047 -1.211,-2.816 -0.174,-3.952 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path155"
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path157"
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path159"
d="m 214.061,143.221 c -1.367,-0.719 -3.056,-0.193 -3.776,1.171 -0.715,1.363 -0.193,3.061 1.176,3.774 1.368,0.722 3.049,0.2 3.774,-1.172 0.719,-1.364 0.192,-3.051 -1.174,-3.773 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path161"
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path163"
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z" />
</g>
<g
id="g165"
style="fill:#ffffff">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path167"
d="m 278.788,156.803 c -1.044,-1.134 -2.816,-1.213 -3.953,-0.173 -1.136,1.043 -1.213,2.816 -0.172,3.949 1.041,1.143 2.809,1.22 3.95,0.173 1.142,-1.04 1.217,-2.808 0.175,-3.949 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path169"
d="m 265.747,136.537 c 1.371,-0.725 3.063,-0.2 3.78,1.17 0.722,1.367 0.196,3.057 -1.171,3.777 -1.366,0.72 -3.058,0.196 -3.772,-1.173 -0.72,-1.365 -0.194,-3.055 1.163,-3.774 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path171"
d="m 260.49,132.327 c 1.366,-0.722 3.057,-0.204 3.774,1.163 0.716,1.369 0.198,3.057 -1.175,3.782 -1.358,0.716 -3.053,0.192 -3.77,-1.174 -0.722,-1.366 -0.197,-3.057 1.171,-3.771 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path173"
d="m 284.023,148.171 c 1.407,0.633 2.047,2.282 1.423,3.693 -0.631,1.408 -2.274,2.045 -3.69,1.426 -1.412,-0.63 -2.048,-2.284 -1.426,-3.693 0.629,-1.412 2.281,-2.049 3.693,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path175"
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path177"
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path179"
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path181"
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path183"
d="m 267.894,126.584 c -1.046,-1.138 -2.811,-1.214 -3.952,-0.173 -1.137,1.046 -1.213,2.809 -0.171,3.951 1.045,1.138 2.808,1.214 3.95,0.174 1.135,-1.047 1.211,-2.815 0.173,-3.952 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path185"
d="m 259.827,149.818 c 1.411,0.624 2.055,2.274 1.426,3.685 -0.625,1.413 -2.271,2.054 -3.687,1.424 -1.416,-0.628 -2.047,-2.275 -1.425,-3.686 0.624,-1.409 2.279,-2.045 3.686,-1.423 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path187"
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.779,1.171 0.715,1.368 0.189,3.059 -1.172,3.777 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path189"
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path191"
d="m 270.387,156.264 c 1.413,0.623 2.046,2.277 1.422,3.686 -0.629,1.414 -2.274,2.045 -3.686,1.423 -1.417,-0.625 -2.048,-2.271 -1.426,-3.683 0.629,-1.413 2.279,-2.054 3.69,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path193"
d="m 267.979,149.348 c 1.411,0.624 2.052,2.274 1.421,3.687 -0.622,1.411 -2.274,2.045 -3.685,1.422 -1.411,-0.628 -2.049,-2.283 -1.425,-3.691 0.625,-1.412 2.273,-2.046 3.689,-1.418 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path195"
d="m 256.719,138.374 c 1.364,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path197"
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path199"
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path201"
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path203"
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path205"
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path207"
d="m 275.989,148.936 c 1.414,0.628 2.048,2.282 1.427,3.689 -0.626,1.415 -2.276,2.049 -3.69,1.428 -1.407,-0.633 -2.047,-2.273 -1.428,-3.691 0.632,-1.408 2.28,-2.049 3.691,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path209"
d="m 270.158,142.396 c 1.366,-0.721 3.058,-0.197 3.772,1.171 0.72,1.366 0.194,3.058 -1.17,3.78 -1.36,0.715 -3.051,0.191 -3.771,-1.175 -0.726,-1.368 -0.198,-3.055 1.169,-3.776 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path211"
d="m 285.66,155.839 c 1.41,0.623 2.052,2.271 1.424,3.684 -0.625,1.411 -2.276,2.046 -3.685,1.424 -1.418,-0.63 -2.053,-2.272 -1.432,-3.683 0.632,-1.412 2.284,-2.057 3.693,-1.425 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path213"
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path215"
d="m 279.025,141.568 c 1.372,-0.724 3.062,-0.196 3.778,1.169 0.717,1.358 0.194,3.052 -1.172,3.771 -1.365,0.722 -3.053,0.194 -3.773,-1.171 -0.719,-1.368 -0.19,-3.053 1.167,-3.769 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path217"
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path219"
d="m 263.713,157.114 c -1.045,-1.138 -2.817,-1.215 -3.949,-0.173 -1.143,1.041 -1.22,2.812 -0.175,3.951 1.039,1.135 2.811,1.213 3.951,0.174 1.14,-1.047 1.214,-2.816 0.173,-3.952 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path221"
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path223"
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path225"
d="m 261.667,143.221 c 1.363,-0.719 3.056,-0.193 3.777,1.171 0.71,1.363 0.19,3.061 -1.18,3.774 -1.366,0.722 -3.049,0.2 -3.773,-1.172 -0.719,-1.364 -0.189,-3.051 1.176,-3.773 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path227"
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path229"
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,595 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:ns="http://opensource.org/licenses/MIT"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_3"
x="0px"
y="0px"
width="778.53003"
height="442.48001"
viewBox="0 0 778.52994 442.48"
enable-background="new 0 0 841.89 595.28"
xml:space="preserve"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="openslides-mark-transparent.svg"
inkscape:export-xdpi="20.83"
inkscape:export-ydpi="20.83"><metadata
id="metadata461"><rdf:RDF><ns:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /><dc:creator><ns:Agent><dc:title>OpenSlides Team</dc:title></ns:Agent></dc:creator></ns:Work><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs459">
<filter
id="filter5361"
inkscape:label="Drop Shadow"
color-interpolation-filters="sRGB"><feFlood
id="feFlood5363"
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood" /><feComposite
id="feComposite5365"
in2="SourceGraphic"
in="flood"
operator="in"
result="composite1" /><feGaussianBlur
id="feGaussianBlur5367"
stdDeviation="15"
result="blur" /><feOffset
id="feOffset5369"
dx="0"
dy="4"
result="offset" /><feComposite
id="feComposite5371"
in2="offset"
in="SourceGraphic"
operator="over"
result="composite2" /></filter></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1052"
inkscape:window-height="838"
id="namedview457"
showgrid="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:zoom="0.25264438"
inkscape:cx="-635.64761"
inkscape:cy="138.12794"
inkscape:window-x="12"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Ebene_3"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"><sodipodi:guide
orientation="0,1"
position="-44.319014,-296.20428"
id="guide3558" /><sodipodi:guide
orientation="0,1"
position="-75.964446,-240.25969"
id="guide3560" /></sodipodi:namedview>
<g
id="g29"
transform="matrix(7.8699075,0,0,7.8699075,-1482.6921,-919.08484)"
style="fill:#ffffff"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path31"
d="m 231.138,168.561 h 15.136 c 1.645,0 2.965,0.99 2.965,2.225 0,1.231 -1.32,2.223 -2.965,2.223 h -15.136 c -1.646,0 -2.969,-0.992 -2.969,-2.223 0,-1.235 1.322,-2.225 2.969,-2.225 z" />
<g
id="g33"
style="fill:#ffffff">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path35"
d="m 224.244,127.652 c 1.516,0.284 2.521,1.745 2.243,3.26 -0.284,1.519 -1.747,2.523 -3.258,2.239 -1.522,-0.277 -2.526,-1.736 -2.241,-3.258 0.278,-1.519 1.739,-2.519 3.256,-2.241 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path37"
d="m 248.342,127.971 c -0.113,-1.547 -1.455,-2.703 -2.995,-2.586 -1.539,0.114 -2.695,1.456 -2.584,2.996 0.112,1.54 1.455,2.697 2.995,2.576 1.539,-0.111 2.696,-1.453 2.584,-2.986 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path39"
d="m 254.698,130.199 c -0.111,-1.541 -1.447,-2.698 -2.986,-2.584 -1.54,0.119 -2.696,1.454 -2.586,3 0.115,1.532 1.456,2.69 2.996,2.576 1.54,-0.111 2.698,-1.453 2.576,-2.992 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path41"
d="m 228.791,118.638 c -1.282,-0.857 -3.021,-0.527 -3.888,0.749 -0.857,1.282 -0.528,3.014 0.748,3.887 1.282,0.864 3.021,0.526 3.886,-0.749 0.866,-1.282 0.528,-3.019 -0.746,-3.887 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path43"
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path45"
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path47"
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.454 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path49"
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path51"
d="m 255.645,120.877 c 1.521,0.284 2.518,1.74 2.242,3.26 -0.285,1.519 -1.739,2.517 -3.26,2.239 -1.521,-0.284 -2.519,-1.737 -2.24,-3.259 0.284,-1.518 1.745,-2.517 3.258,-2.24 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path53"
d="m 240.216,140.03 c -1.276,-0.865 -3.016,-0.537 -3.88,0.746 -0.866,1.277 -0.538,3.014 0.746,3.88 1.282,0.867 3.013,0.53 3.88,-0.746 0.866,-1.276 0.529,-3.016 -0.746,-3.88 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path55"
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.583 -1.541,0.117 -2.698,1.459 -2.584,2.994 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.112 2.696,-1.453 2.583,-2.995 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path57"
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path59"
d="m 229.154,134.489 c -1.275,-0.864 -3.018,-0.527 -3.88,0.749 -0.867,1.283 -0.529,3.014 0.745,3.88 1.282,0.871 3.012,0.534 3.881,-0.742 0.868,-1.283 0.534,-3.021 -0.746,-3.887 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path61"
d="m 236.296,132.867 c -1.277,-0.864 -3.014,-0.533 -3.881,0.749 -0.866,1.275 -0.527,3.015 0.748,3.88 1.279,0.864 3.021,0.527 3.885,-0.749 0.867,-1.276 0.529,-3.013 -0.752,-3.88 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path63"
d="m 251.567,136.602 c -0.111,-1.539 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path65"
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path67"
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path69"
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path71"
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path73"
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path75"
d="m 232.399,125.857 c -1.281,-0.867 -3.021,-0.529 -3.887,0.745 -0.866,1.283 -0.528,3.016 0.747,3.887 1.282,0.859 3.015,0.53 3.886,-0.745 0.861,-1.284 0.53,-3.02 -0.746,-3.887 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path77"
d="m 241.034,127.336 c -0.11,-1.54 -1.451,-2.696 -2.991,-2.579 -1.54,0.114 -2.698,1.456 -2.587,2.995 0.114,1.534 1.456,2.69 2.995,2.577 1.546,-0.111 2.7,-1.453 2.583,-2.993 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path79"
d="m 221.422,121.313 c -1.276,-0.866 -3.015,-0.537 -3.88,0.745 -0.867,1.278 -0.529,3.015 0.746,3.88 1.282,0.868 3.015,0.537 3.88,-0.738 0.866,-1.282 0.535,-3.027 -0.746,-3.887 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path81"
d="m 244.284,119.378 c -0.113,-1.548 -1.454,-2.703 -2.994,-2.585 -1.535,0.114 -2.698,1.456 -2.579,2.995 0.113,1.54 1.454,2.695 2.987,2.577 1.547,-0.111 2.698,-1.453 2.586,-2.987 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path83"
d="m 237.039,119.377 c -0.112,-1.546 -1.454,-2.698 -2.993,-2.584 -1.533,0.112 -2.69,1.454 -2.579,2.992 0.112,1.541 1.455,2.692 2.996,2.58 1.539,-0.115 2.688,-1.456 2.576,-2.988 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path85"
d="m 251.567,120.753 c -0.111,-1.54 -1.447,-2.699 -2.995,-2.584 -1.54,0.119 -2.69,1.452 -2.576,2.999 0.112,1.533 1.453,2.691 2.993,2.58 1.54,-0.115 2.69,-1.456 2.578,-2.995 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path87"
d="m 231.97,140.602 c 1.519,0.282 2.523,1.745 2.239,3.257 -0.278,1.521 -1.736,2.525 -3.259,2.242 -1.512,-0.279 -2.518,-1.74 -2.241,-3.258 0.285,-1.523 1.745,-2.52 3.261,-2.241 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path89"
d="m 248.446,143.145 c -0.111,-1.54 -1.452,-2.694 -2.992,-2.584 -1.541,0.119 -2.698,1.461 -2.584,2.996 0.112,1.54 1.453,2.695 2.993,2.584 1.54,-0.113 2.696,-1.454 2.583,-2.996 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path91"
d="m 251.567,136.602 c -0.111,-1.541 -1.447,-2.697 -2.995,-2.583 -1.533,0.117 -2.695,1.452 -2.576,2.992 0.112,1.542 1.453,2.697 2.993,2.586 1.54,-0.121 2.698,-1.456 2.578,-2.995 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path93"
d="m 244.838,134.975 c -0.115,-1.54 -1.456,-2.695 -2.996,-2.583 -1.534,0.117 -2.698,1.459 -2.577,2.999 0.11,1.542 1.445,2.69 2.992,2.579 1.539,-0.113 2.691,-1.455 2.581,-2.995 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path95"
d="m 243.808,147.482 c -1.282,-0.868 -3.014,-0.531 -3.881,0.745 -0.864,1.282 -0.535,3.02 0.748,3.886 1.275,0.861 3.014,0.53 3.88,-0.746 0.865,-1.281 0.527,-3.012 -0.747,-3.885 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path97"
d="m 236.887,147.482 c -1.274,-0.868 -3.014,-0.531 -3.879,0.745 -0.866,1.282 -0.535,3.02 0.746,3.886 1.275,0.861 3.014,0.53 3.881,-0.746 0.865,-1.281 0.528,-3.012 -0.748,-3.885 z" />
</g>
<g
id="g99"
style="fill:#ffffff">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path101"
d="m 196.938,156.803 c 1.044,-1.134 2.815,-1.213 3.955,-0.173 1.137,1.043 1.212,2.816 0.169,3.949 -1.04,1.143 -2.81,1.22 -3.949,0.173 -1.141,-1.04 -1.215,-2.808 -0.175,-3.949 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path103"
d="m 209.977,136.537 c -1.369,-0.725 -3.061,-0.2 -3.779,1.17 -0.718,1.367 -0.192,3.057 1.173,3.777 1.364,0.72 3.057,0.196 3.771,-1.173 0.719,-1.365 0.197,-3.055 -1.165,-3.774 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path105"
d="m 215.234,132.327 c -1.364,-0.722 -3.053,-0.204 -3.774,1.163 -0.714,1.369 -0.194,3.057 1.176,3.782 1.359,0.716 3.051,0.192 3.772,-1.174 0.719,-1.366 0.196,-3.057 -1.174,-3.771 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path107"
d="m 191.702,148.171 c -1.404,0.633 -2.047,2.282 -1.425,3.693 0.634,1.408 2.277,2.045 3.691,1.426 1.414,-0.63 2.049,-2.284 1.426,-3.693 -0.629,-1.412 -2.278,-2.049 -3.692,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path109"
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path111"
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path113"
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.192,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path115"
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path117"
d="m 207.832,126.584 c 1.046,-1.138 2.81,-1.214 3.952,-0.173 1.138,1.046 1.214,2.809 0.172,3.951 -1.048,1.138 -2.807,1.214 -3.95,0.174 -1.137,-1.047 -1.212,-2.815 -0.174,-3.952 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path119"
d="m 215.898,149.818 c -1.412,0.624 -2.056,2.274 -1.424,3.685 0.623,1.413 2.271,2.054 3.686,1.424 1.414,-0.628 2.045,-2.275 1.423,-3.686 -0.622,-1.409 -2.277,-2.045 -3.685,-1.423 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path121"
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.777,1.171 -0.717,1.368 -0.192,3.059 1.17,3.777 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path123"
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path125"
d="m 205.336,156.264 c -1.407,0.623 -2.045,2.277 -1.421,3.686 0.629,1.414 2.278,2.045 3.687,1.423 1.419,-0.625 2.05,-2.271 1.428,-3.683 -0.63,-1.413 -2.279,-2.054 -3.694,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path127"
d="m 207.746,149.348 c -1.409,0.624 -2.048,2.274 -1.422,3.687 0.622,1.411 2.278,2.045 3.688,1.422 1.411,-0.628 2.047,-2.283 1.422,-3.691 -0.621,-1.412 -2.273,-2.046 -3.688,-1.418 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path129"
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path131"
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path133"
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path135"
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path137"
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path139"
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path141"
d="m 199.739,148.936 c -1.418,0.628 -2.052,2.282 -1.429,3.689 0.628,1.415 2.276,2.049 3.692,1.428 1.407,-0.633 2.045,-2.273 1.427,-3.691 -0.633,-1.408 -2.28,-2.049 -3.69,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path143"
d="m 205.567,142.396 c -1.363,-0.721 -3.056,-0.197 -3.773,1.171 -0.718,1.366 -0.194,3.058 1.171,3.78 1.361,0.715 3.053,0.191 3.772,-1.175 0.725,-1.368 0.199,-3.055 -1.17,-3.776 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path145"
d="m 190.066,155.839 c -1.412,0.623 -2.052,2.271 -1.425,3.684 0.624,1.411 2.276,2.046 3.686,1.424 1.416,-0.63 2.054,-2.272 1.431,-3.683 -0.628,-1.412 -2.284,-2.057 -3.692,-1.425 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path147"
d="m 200.54,135.425 c -1.371,-0.726 -3.062,-0.2 -3.778,1.167 -0.718,1.363 -0.194,3.059 1.173,3.774 1.368,0.72 3.056,0.197 3.769,-1.168 0.725,-1.369 0.196,-3.054 -1.164,-3.773 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path149"
d="m 196.699,141.568 c -1.37,-0.724 -3.058,-0.196 -3.778,1.169 -0.718,1.358 -0.192,3.052 1.173,3.771 1.366,0.722 3.054,0.194 3.775,-1.171 0.719,-1.368 0.192,-3.053 -1.17,-3.769 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path151"
d="m 205.566,129.977 c -1.366,-0.72 -3.055,-0.201 -3.778,1.17 -0.716,1.368 -0.195,3.052 1.177,3.776 1.361,0.717 3.053,0.193 3.774,-1.171 0.719,-1.367 0.191,-3.055 -1.173,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path153"
d="m 212.012,157.114 c 1.046,-1.138 2.819,-1.215 3.95,-0.173 1.144,1.041 1.219,2.812 0.175,3.951 -1.037,1.135 -2.808,1.213 -3.951,0.174 -1.141,-1.047 -1.211,-2.816 -0.174,-3.952 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path155"
d="m 222.901,144.488 c -1.364,-0.723 -3.055,-0.195 -3.778,1.169 -0.716,1.37 -0.191,3.061 1.171,3.779 1.367,0.721 3.057,0.195 3.78,-1.17 0.719,-1.364 0.195,-3.056 -1.173,-3.778 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path157"
d="m 219.005,138.374 c -1.363,-0.719 -3.054,-0.2 -3.776,1.171 -0.713,1.362 -0.197,3.057 1.173,3.771 1.366,0.722 3.057,0.197 3.779,-1.167 0.714,-1.371 0.194,-3.06 -1.176,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path159"
d="m 214.061,143.221 c -1.367,-0.719 -3.056,-0.193 -3.776,1.171 -0.715,1.363 -0.193,3.061 1.176,3.774 1.368,0.722 3.049,0.2 3.774,-1.172 0.719,-1.364 0.192,-3.051 -1.174,-3.773 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path161"
d="m 224.12,150.721 c -1.414,0.627 -2.045,2.275 -1.423,3.687 0.629,1.412 2.277,2.053 3.691,1.425 1.407,-0.625 2.047,-2.275 1.425,-3.686 -0.628,-1.413 -2.274,-2.046 -3.693,-1.426 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path163"
d="m 220.454,156.59 c -1.412,0.622 -2.047,2.273 -1.424,3.684 0.628,1.414 2.278,2.054 3.691,1.427 1.405,-0.625 2.048,-2.276 1.423,-3.686 -0.627,-1.413 -2.274,-2.046 -3.69,-1.425 z" />
</g>
<g
id="g165"
style="fill:#ffffff">
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path167"
d="m 278.788,156.803 c -1.044,-1.134 -2.816,-1.213 -3.953,-0.173 -1.136,1.043 -1.213,2.816 -0.172,3.949 1.041,1.143 2.809,1.22 3.95,0.173 1.142,-1.04 1.217,-2.808 0.175,-3.949 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path169"
d="m 265.747,136.537 c 1.371,-0.725 3.063,-0.2 3.78,1.17 0.722,1.367 0.196,3.057 -1.171,3.777 -1.366,0.72 -3.058,0.196 -3.772,-1.173 -0.72,-1.365 -0.194,-3.055 1.163,-3.774 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path171"
d="m 260.49,132.327 c 1.366,-0.722 3.057,-0.204 3.774,1.163 0.716,1.369 0.198,3.057 -1.175,3.782 -1.358,0.716 -3.053,0.192 -3.77,-1.174 -0.722,-1.366 -0.197,-3.057 1.171,-3.771 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path173"
d="m 284.023,148.171 c 1.407,0.633 2.047,2.282 1.423,3.693 -0.631,1.408 -2.274,2.045 -3.69,1.426 -1.412,-0.63 -2.048,-2.284 -1.426,-3.693 0.629,-1.412 2.281,-2.049 3.693,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path175"
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path177"
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path179"
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path181"
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path183"
d="m 267.894,126.584 c -1.046,-1.138 -2.811,-1.214 -3.952,-0.173 -1.137,1.046 -1.213,2.809 -0.171,3.951 1.045,1.138 2.808,1.214 3.95,0.174 1.135,-1.047 1.211,-2.815 0.173,-3.952 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path185"
d="m 259.827,149.818 c 1.411,0.624 2.055,2.274 1.426,3.685 -0.625,1.413 -2.271,2.054 -3.687,1.424 -1.416,-0.628 -2.047,-2.275 -1.425,-3.686 0.624,-1.409 2.279,-2.045 3.686,-1.423 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path187"
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.779,1.171 0.715,1.368 0.189,3.059 -1.172,3.777 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path189"
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path191"
d="m 270.387,156.264 c 1.413,0.623 2.046,2.277 1.422,3.686 -0.629,1.414 -2.274,2.045 -3.686,1.423 -1.417,-0.625 -2.048,-2.271 -1.426,-3.683 0.629,-1.413 2.279,-2.054 3.69,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path193"
d="m 267.979,149.348 c 1.411,0.624 2.052,2.274 1.421,3.687 -0.622,1.411 -2.274,2.045 -3.685,1.422 -1.411,-0.628 -2.049,-2.283 -1.425,-3.691 0.625,-1.412 2.273,-2.046 3.689,-1.418 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path195"
d="m 256.719,138.374 c 1.364,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path197"
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path199"
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path201"
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path203"
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path205"
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path207"
d="m 275.989,148.936 c 1.414,0.628 2.048,2.282 1.427,3.689 -0.626,1.415 -2.276,2.049 -3.69,1.428 -1.407,-0.633 -2.047,-2.273 -1.428,-3.691 0.632,-1.408 2.28,-2.049 3.691,-1.426 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path209"
d="m 270.158,142.396 c 1.366,-0.721 3.058,-0.197 3.772,1.171 0.72,1.366 0.194,3.058 -1.17,3.78 -1.36,0.715 -3.051,0.191 -3.771,-1.175 -0.726,-1.368 -0.198,-3.055 1.169,-3.776 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path211"
d="m 285.66,155.839 c 1.41,0.623 2.052,2.271 1.424,3.684 -0.625,1.411 -2.276,2.046 -3.685,1.424 -1.418,-0.63 -2.053,-2.272 -1.432,-3.683 0.632,-1.412 2.284,-2.057 3.693,-1.425 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path213"
d="m 275.186,135.425 c 1.371,-0.726 3.064,-0.2 3.779,1.167 0.717,1.363 0.194,3.059 -1.176,3.774 -1.363,0.72 -3.055,0.197 -3.767,-1.168 -0.724,-1.369 -0.196,-3.054 1.164,-3.773 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path215"
d="m 279.025,141.568 c 1.372,-0.724 3.062,-0.196 3.778,1.169 0.717,1.358 0.194,3.052 -1.172,3.771 -1.365,0.722 -3.053,0.194 -3.773,-1.171 -0.719,-1.368 -0.19,-3.053 1.167,-3.769 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path217"
d="m 270.158,129.977 c 1.368,-0.72 3.058,-0.201 3.781,1.17 0.714,1.368 0.192,3.052 -1.179,3.776 -1.358,0.717 -3.055,0.193 -3.773,-1.171 -0.718,-1.367 -0.191,-3.055 1.171,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path219"
d="m 263.713,157.114 c -1.045,-1.138 -2.817,-1.215 -3.949,-0.173 -1.143,1.041 -1.22,2.812 -0.175,3.951 1.039,1.135 2.811,1.213 3.951,0.174 1.14,-1.047 1.214,-2.816 0.173,-3.952 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path221"
d="m 252.823,144.488 c 1.365,-0.723 3.057,-0.195 3.781,1.169 0.713,1.37 0.188,3.061 -1.174,3.779 -1.365,0.721 -3.057,0.195 -3.778,-1.17 -0.719,-1.364 -0.194,-3.056 1.171,-3.778 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path223"
d="m 256.719,138.374 c 1.368,-0.719 3.055,-0.2 3.777,1.171 0.715,1.362 0.198,3.057 -1.169,3.771 -1.369,0.722 -3.061,0.197 -3.781,-1.167 -0.714,-1.371 -0.196,-3.06 1.173,-3.775 z" />
<path
style="fill:#ffffff"
inkscape:connector-curvature="0"
id="path225"
d="m 261.667,143.221 c 1.363,-0.719 3.056,-0.193 3.777,1.171 0.71,1.363 0.19,3.061 -1.18,3.774 -1.366,0.722 -3.049,0.2 -3.773,-1.172 -0.719,-1.364 -0.189,-3.051 1.176,-3.773 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path227"
d="m 251.605,150.721 c 1.416,0.627 2.047,2.275 1.422,3.687 -0.628,1.412 -2.276,2.053 -3.689,1.425 -1.405,-0.625 -2.047,-2.275 -1.428,-3.686 0.631,-1.413 2.279,-2.046 3.695,-1.426 z" />
<path
style="opacity:0.9387;fill:#ffffff"
inkscape:connector-curvature="0"
id="path229"
d="m 255.272,156.59 c 1.411,0.622 2.045,2.273 1.423,3.684 -0.627,1.414 -2.278,2.054 -3.691,1.427 -1.405,-0.625 -2.049,-2.276 -1.424,-3.686 0.628,-1.413 2.277,-2.046 3.692,-1.425 z" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,13 +0,0 @@
==================================
Commands for OpenSlides developers
==================================
In here are scripts that are useful for OpenSlides development.
To call a command run:
$ python make COMMAND
To see a list of all commands run:
$ python make --help

View File

@ -1,13 +0,0 @@
import sys
import commands # noqa
from parser import parser
if len(sys.argv) < 2:
args = parser.parse_args(['--help'])
else:
args = parser.parse_args()
# Runs the command end exits the script with the return-code of the command
exit(args.func(args))

View File

@ -1,123 +0,0 @@
import re
from parser import command, argument, call
FAIL = '\033[91m'
SUCCESS = '\033[92m'
RESET = '\033[0m'
@argument('module', nargs='?', default='')
@command('test', help='runs the tests')
def test(args=None):
"""
Runs the tests.
"""
module = getattr(args, 'module', '')
if module == '':
module = 'tests'
else:
module = 'tests.{}'.format(module)
return call("DJANGO_SETTINGS_MODULE='tests.settings' coverage run "
"./manage.py test {}".format(module))
@argument('--plain', action='store_true')
@command('coverage', help='Runs all tests and builds the coverage html files')
def coverage(args=None, plain=None):
"""
Runs the tests and creates a coverage report.
By default it creates a html report. With the argument --plain, it creates
a plain report and fails under a certain amount of untested lines.
"""
if plain is None:
plain = getattr(args, 'plain', False)
if plain:
return call('coverage report -m --fail-under=80')
else:
return call('coverage html')
@command('check', help='Checks for pep8 errors in openslides and tests')
def check(args=None):
"""
Checks for pep8 and other code styling conventions.
"""
return call('flake8 --max-line-length=150 --statistics openslides tests')
@command('travis', help='Runs the code that travis does')
def travis(args=None):
"""
Runs all commands that travis tests.
"""
return_codes = []
with open('.travis.yml') as f:
script_lines = False
for line in (line.strip() for line in f.readlines()):
if line == 'script:':
script_lines = True
continue
if not script_lines or not line:
continue
match = re.search(r'"(.*)"', line)
print('Run: %s' % match.group(1))
return_code = call(match.group(1))
return_codes.append(return_code)
if return_code:
print(FAIL + 'fail!\n' + RESET)
else:
print(SUCCESS + 'success!\n' + RESET)
# Retuns True if one command exited with a different statuscode then 1
return bool(list(filter(bool, return_codes)))
@argument('-r', '--requirements', nargs='?',
default='requirements_production.txt')
@command('min_requirements',
help='Prints a pip line to install the minimum supported versions of '
'the requirements.')
def min_requirements(args=None):
"""
Prints a pip install command to install the minimal supported versions of a
requirement file.
Uses requirements_production.txt by default.
The following line will install the version:
pip install $(python make min_requirements)
"""
import pip
def get_lowest_versions(requirements_file):
for line in pip.req.parse_requirements(requirements_file, session=pip.download.PipSession()):
for specifier in line.req.specifier:
if specifier.operator == '>=':
min_version = specifier.version
break
else:
raise ValueError('Not supported line {}'.format(line))
yield '%s==%s' % (line.req.name, min_version)
print(' '.join(get_lowest_versions(args.requirements)))
@command('clear',
help='Deletes unneeded files and folders')
def clean(args=None):
"""
Deletes all .pyc and .orig files and empty folders.
"""
call('find -name "*.pyc" -delete')
call('find -name "*.orig" -delete')
call('find -type d -empty -delete')
@command('isort',
help='Sorts all imports in all python files.')
def isort(args=None):
return call('isort --recursive openslides tests')

View File

@ -1,49 +0,0 @@
from argparse import ArgumentParser
from subprocess import call as _call
parser = ArgumentParser(description='Development scripts for OpenSlides')
subparsers = parser.add_subparsers()
def command(*args, **kwargs):
"""
Decorator to create a argparse command.
The arguments to this decorator are used as arguments for the argparse
command.
"""
class decorator:
def __init__(self, func):
self.parser = subparsers.add_parser(*args, **kwargs)
self.parser.set_defaults(func=func)
self.func = func
def __call__(self, *args, **kwargs):
return self.func(*args, **kwargs)
return decorator
def argument(*args, **kwargs):
"""
Decorator to create arguments for argparse commands.
The arguments to this decorator are used as arguments for the argparse
argument.
Does only work if the decorated function was decorated with the
command-decorator before.
"""
def decorator(func):
func.parser.add_argument(*args, **kwargs)
def wrapper(*func_args, **func_kwargs):
return func(*func_args, **func_kwargs)
return wrapper
return decorator
def call(*args, **kwargs):
"""
Calls a command in a shell.
"""
return _call(shell=True, *args, **kwargs)

View File

@ -1,11 +0,0 @@
#!/usr/bin/env python
import sys
from openslides.__main__ import main
if __name__ == "__main__":
if len(sys.argv) == 1:
sys.argv.append('--help')
exit(main())

@ -0,0 +1 @@
Subproject commit 3394f64c9022a6db630bee09e3085792b6a6d491

@ -0,0 +1 @@
Subproject commit 3db17ae68a2527ec2e694c60ae69fc0d27c1e9d0

1
openslides-backend Submodule

@ -0,0 +1 @@
Subproject commit a363c9694bb5119231df713842e51cb91240af8b

1
openslides-client Submodule

@ -0,0 +1 @@
Subproject commit fd753ea41fcff17ce2bcbc4868945bf6d3fa0afc

@ -0,0 +1 @@
Subproject commit 2c4d872bfabf6c9fcc13bb3dfc35abf3bf89a3fd

Some files were not shown because too many files have changed in this diff Show More