Skip to content

Commit 16d45f4

Browse files
committed
Merge remote-tracking branch 'origin/master' into ogc-3264-pas-alternativ-login-entfernen
# Conflicts: # src/onegov/org/locale/de_CH/LC_MESSAGES/onegov.org.po # src/onegov/org/locale/fr_CH/LC_MESSAGES/onegov.org.po # src/onegov/org/locale/it_CH/LC_MESSAGES/onegov.org.po
2 parents 1c920b6 + 1db3353 commit 16d45f4

87 files changed

Lines changed: 5890 additions & 1361 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ repos:
1717
exclude: .pre-commit-config.yaml
1818
- id: pt_structure
1919
- repo: https://github.com/astral-sh/ruff-pre-commit
20-
rev: v0.15.20
20+
rev: v0.15.21
2121
hooks:
2222
- id: ruff-check
2323
args: [ "--fix" ]
@@ -37,7 +37,7 @@ repos:
3737
- stylelint@16.19.1
3838
- stylelint-config-standard-scss@15.0.0
3939
- repo: https://github.com/pre-commit/mirrors-eslint
40-
rev: v10.6.0
40+
rev: v10.7.0
4141
hooks:
4242
- id: eslint
4343
files: '^src/.*\.jsx?$'

CHANGES.md

Lines changed: 93 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,100 @@
11
# Changes
22

3+
## 2026.35
4+
5+
`2026-07-14` | [3ff298f50b...fd519f1fd1](https://github.com/OneGov/onegov-cloud/compare/3ff298f50b^...fd519f1fd1)
6+
7+
### Core
8+
9+
##### Switches database driver from psycopg2 to psycopg
10+
11+
`Feature` | [OGC-3039](https://linear.app/onegovcloud/issue/OGC-3039) | [ce334dafba](https://github.com/onegov/onegov-cloud/commit/ce334dafba0209adeaebd0225262350268dc8489)
12+
13+
##### Removes pglast pin [skip-ci]
14+
15+
`Feature` | [OGC-3257](https://linear.app/onegovcloud/issue/OGC-3257) | [e0d0828a40](https://github.com/onegov/onegov-cloud/commit/e0d0828a402804f6ed3ad0e3470ccce451392237)
16+
17+
##### Fix linter after removing pglast pin [skip-ci]
18+
19+
`Feature` | [NONE](#NONE) | [04fe0d184b](https://github.com/onegov/onegov-cloud/commit/04fe0d184bbd04452b85bf7845b2182283a31626)
20+
21+
### Directory
22+
23+
##### Admin notification emails for building permit workflow
24+
25+
Admins can get notified when publication starts and ends with all the details and hash to prove publication.
26+
27+
`Feature` | [OGC-3097](https://linear.app/onegovcloud/issue/OGC-3097) | [6c9360ae3a](https://github.com/onegov/onegov-cloud/commit/6c9360ae3afc6d7da91f0fbf2c1aaefaee319bf9)
28+
29+
##### Fix migration for a renamed and changed field
30+
31+
`Bugfix` | [OGC-3241](https://linear.app/onegovcloud/issue/OGC-3241) | [df86ca3a04](https://github.com/onegov/onegov-cloud/commit/df86ca3a04491500b553c051602daad20f157681)
32+
33+
### Event
34+
35+
##### Supports mapping a Guidle tag to multiple tags
36+
37+
The import tagmap now reads repeated source rows as multiple target tags, so a single Guidle/JSON tag can expand into several onegov tags. Example: 'Brauchtum / Fest': ['Brauchtum', 'Fest']. A single tag in Guidle maps to multiple tags in onegov-cloud
38+
39+
`Feature` | [OGC-3208](https://linear.app/onegovcloud/issue/OGC-3208) | [c4d89df409](https://github.com/onegov/onegov-cloud/commit/c4d89df409272bd7285ed436265e03328b631168)
40+
41+
##### Now exports fields `highlight` and `syndicate`
42+
43+
Event exports (excel, csv, json, xml) now contain the fields `highlight` and `syndicate`
44+
45+
`Feature` | [OGC-3238](https://linear.app/onegovcloud/issue/OGC-3238) | [b84abca079](https://github.com/onegov/onegov-cloud/commit/b84abca07925d3e895aa5995576e68c2ce437a3c)
46+
47+
### Fsi
48+
49+
##### Don't autmatically send mails when changing course status
50+
51+
`Feature` | [OGC-3230](https://linear.app/onegovcloud/issue/OGC-3230) | [f5725871d4](https://github.com/onegov/onegov-cloud/commit/f5725871d4aef145125c8322505102e78d19202d)
52+
53+
### Org
54+
55+
##### Allows resource URLs to be changed, like forms and pages
56+
57+
`Feature` | [OGC-3200](https://linear.app/onegovcloud/issue/OGC-3200) | [a7dd17f616](https://github.com/onegov/onegov-cloud/commit/a7dd17f616a17371bee9e3f83930b1dcf3e05756)
58+
59+
##### Displays holidays in occupancy view
60+
61+
`Feature` | [OGC-3255](https://linear.app/onegovcloud/issue/OGC-3255) | [bf4978d647](https://github.com/onegov/onegov-cloud/commit/bf4978d64734be6cdbdd8b03be47654ca3b0b46c)
62+
63+
##### Command line import for Horw
64+
65+
`Feature` | [OGC-3228](https://linear.app/onegovcloud/issue/OGC-3228) | [e94d5f19c3](https://github.com/onegov/onegov-cloud/commit/e94d5f19c3d1547453f9b9d68d41798068556e83)
66+
67+
##### Make title for event list text customizable
68+
69+
`Feature` | [OGC-3034](https://linear.app/onegovcloud/issue/OGC-3034) | [0959dfa101](https://github.com/onegov/onegov-cloud/commit/0959dfa1019e48a534e578390156f0784e89e0fb)
70+
71+
##### Adds ability to add generic link to daily newsletter.
72+
73+
`Feature` | [OGC-3239](https://linear.app/onegovcloud/issue/OGC-3239) | [17be8700ba](https://github.com/onegov/onegov-cloud/commit/17be8700ba2679eb4cfb1f89ae79edec63410222)
74+
75+
##### Select all, deselect all are spread over the full width
76+
77+
`Bugfix` | [OGC-3253](https://linear.app/onegovcloud/issue/OGC-3253) | [32d2acbdd5](https://github.com/onegov/onegov-cloud/commit/32d2acbdd50491576237274c2d39930bfc424f8a)
78+
79+
### Pas
80+
81+
##### Allow decimal places in rate sets.
82+
83+
`Bugfix` | [OGC-3242](https://linear.app/onegovcloud/issue/OGC-3242) | [4cc06c17e4](https://github.com/onegov/onegov-cloud/commit/4cc06c17e460f22bff32b60e1f3b8fa73cefad11)
84+
85+
##### Moves almost all rate set fields to Decimal.
86+
87+
`Bugfix` | [OGC-3242](https://linear.app/onegovcloud/issue/OGC-3242) | [e0bb4b3a7c](https://github.com/onegov/onegov-cloud/commit/e0bb4b3a7c3825869d30373b703f14e3b580521d)
88+
89+
### Town6
90+
91+
##### Make text options dropdown scrollable
92+
93+
`Feature` | [OGC-2953](https://linear.app/onegovcloud/issue/OGC-2953) | [e75ddd6d48](https://github.com/onegov/onegov-cloud/commit/e75ddd6d48c69150ab20d48df6963d15faf32bdb)
94+
395
## 2026.34
496

5-
`2026-07-02` | [168ae64ff2...6e560a478e](https://github.com/OneGov/onegov-cloud/compare/168ae64ff2^...6e560a478e)
97+
`2026-07-02` | [168ae64ff2...8a49c335f8](https://github.com/OneGov/onegov-cloud/compare/168ae64ff2^...8a49c335f8)
698

799
### Agency
8100

@@ -5117,19 +5209,3 @@ JSONDecodeError: Expecting value: line 1 column 1 (char 0)
51175209

51185210
`Feature` | [OGC-1878](https://linear.app/onegovcloud/issue/OGC-1878) | [9bafe68736](https://github.com/onegov/onegov-cloud/commit/9bafe687361c7160c869fd0269b656b9d82d2e16)
51195211

5120-
## 2025.6
5121-
5122-
`2025-02-13` | [4a8ed94cb1...952fb7d12f](https://github.com/OneGov/onegov-cloud/compare/4a8ed94cb1^...952fb7d12f)
5123-
5124-
### Agency
5125-
5126-
##### Clean up previous implementation.
5127-
5128-
Uses a meta field for the external_user_id (So we don't have a specific column
5129-
in org for a specific feature of agency)
5130-
Make sure the api uses it's own mutation form such that it's seperated form
5131-
public facing mutations.
5132-
Make sure hidden_people_fields is honoured everywhere
5133-
5134-
`Bugfix` | [OGC-2061](https://linear.app/onegovcloud/issue/OGC-2061) | [4a8ed94cb1](https://github.com/onegov/onegov-cloud/commit/4a8ed94cb12db893dc3de0fb73fb4b3c7d1db309)
5135-

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ RUN git rev-parse --short HEAD > .commit \
9595
&& mkdir -p /var/cache/wheels \
9696
&& mkdir -p /var/cache/pip \
9797
&& bin/pip install --cache-dir /var/cache/pip --upgrade pip setuptools wheel --quiet \
98-
&& bin/pip install --find-links /var/cache/wheels --cache-dir /var/cache/pip ./src --quiet \
98+
# build pycurl against the system OpenSSL libcurl so that NTLM auth (Winterthur roadwork) is available
99+
&& PYCURL_SSL_LIBRARY=openssl bin/pip install --find-links /var/cache/wheels --cache-dir /var/cache/pip --no-binary pycurl ./src --quiet \
99100
&& find lib -type d -iname assets -print0 | xargs -0 chmod a+w -R \
100101
&& find /app -regex '^.*\(__pycache__\|\.py[co]\)$' -delete \
101102
&& rm -rf /app/src \

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ install_requires =
114114
pdfdocument
115115
pdfrw2
116116
pdftotext
117-
pglast
117+
pglast==7.16
118118
phonenumbers
119119
polib
120120
psycopg[c]

src/onegov/core/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#
88
from __future__ import annotations
99

10-
__version__ = '2026.34'
10+
__version__ = '2026.35'
1111

1212
# The module levels used for dependency tests and to have a well defined
1313
# onegov core upgrade order.

src/onegov/core/html.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
'pre',
3333
'strong',
3434
'sup',
35+
'sub',
3536
'span',
3637
'ul',
3738
'h1',
@@ -54,7 +55,8 @@
5455
'abbr': ['title', ],
5556
'acronym': ['title', ],
5657
'img': ['src', 'alt', 'title'],
57-
'p': ['class']
58+
'p': ['class'],
59+
'ol': ['class']
5860
}
5961

6062
# lines without these plaintext characters are excluded in html_to_text

src/onegov/core/orm/mixins/publication.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,13 @@ def published(self) -> bool:
5454
@classmethod
5555
def _published_expression(cls) -> ColumnElement[bool]:
5656
return and_(cls.publication_started, not_(cls.publication_ended))
57+
58+
def published_as_of(self, moment: datetime) -> bool:
59+
""" Like :attr:`published`, but evaluated against an arbitrary
60+
moment instead of the current time. """
61+
return (
62+
(self.publication_start is None
63+
or self.publication_start <= moment)
64+
and (self.publication_end is None
65+
or self.publication_end >= moment)
66+
)

src/onegov/directory/models/directory_entry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,6 @@ def update_content_hash(self) -> None:
165165
def content_hash_observer(
166166
self,
167167
content: dict[str, Any] | None,
168-
files: set[Any]
168+
files: set[Any],
169169
) -> None:
170170
self.update_content_hash()

src/onegov/org/app.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -829,6 +829,7 @@ def get_editor_asset() -> Iterator[str]:
829829
yield 'filemanager.js'
830830
yield 'imagemanager.js'
831831
yield 'table.js'
832+
yield 'alphalist.js'
832833
yield 'redactor.de.js'
833834
yield 'redactor.fr.js'
834835
yield 'redactor.it.js'

src/onegov/org/assets/css/redactor.css

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ body .redactor-box-fullscreen {
160160
display: block;
161161
color: #333;
162162
text-align: center;
163-
padding: 9px 10px;
163+
padding: 9px 9px;
164164
outline: none;
165165
border: none;
166166
text-decoration: none;
@@ -750,8 +750,11 @@ body .redactor-box-fullscreen {
750750
##############################################
751751
*/
752752
.redactor-dropdown .redactor-formatting-blockquote {
753-
color: rgba(0, 0, 0, 0.4);
754-
font-style: italic;
753+
margin: .2rem;
754+
padding: .5rem 1rem;
755+
color: #777;
756+
background-color: #f7f8f8;
757+
border-left: 1px solid #cacaca;
755758
}
756759
.redactor-dropdown .redactor-formatting-pre {
757760
font-family: monospace, sans-serif;
@@ -840,11 +843,10 @@ body .redactor-box-fullscreen {
840843
margin-bottom: 15px;
841844
}
842845
.redactor-editor blockquote {
843-
margin-left: 1.6em !important;
844-
padding: 0;
845-
text-align: left;
846+
padding: .5rem 1rem;
846847
color: #777;
847-
font-style: italic;
848+
background-color: #f7f8f8;
849+
border-left: 1px solid #cacaca;
848850
}
849851
.redactor-editor blockquote:before,
850852
.redactor-editor blockquote:after {

0 commit comments

Comments
 (0)