Compare commits

...

7 Commits

Author SHA1 Message Date
f134948685 Merge branch 'master' into Docker 2026-03-01 14:31:45 +01:00
9863807ad6 Merge pull request '# QRCode fix' (#533) from django_6_upgrade into master
Reviewed-on: #533
2026-03-01 13:30:49 +00:00
62e02d745f # QRCode fix
* fixes bug where svg qr code would not be created properly since an upgrade of the package
2026-03-01 14:30:30 +01:00
1e525b90a9 # Dockerfile upgrade
* upgrade baseimage to python 3.13
2026-03-01 14:04:58 +01:00
63a516e7d6 Merge branch 'master' into Docker
# Conflicts:
#	requirements.txt
2026-03-01 14:04:21 +01:00
1a9de7f874 Merge pull request '# Requirements update' (#531) from django_6_upgrade into master
Reviewed-on: #531
2026-03-01 13:02:52 +00:00
46b66eb95d # Requirements update
* updates requirements.txt
* fixes deprecated usage of certain functions brought by Django6.x
2026-03-01 14:02:33 +01:00
8 changed files with 73 additions and 67 deletions

View File

@@ -1,5 +1,5 @@
# Nutze ein schlankes Python-Image
FROM python:3.11-slim-bullseye
FROM python:3.13-slim-bullseye
ENV PYTHONUNBUFFERED 1

View File

@@ -124,7 +124,7 @@ class CompensationTable(BaseTable, TableRenderMixin, TableOrderMixin):
html += self.render_previously_checked_star(
tooltip=tooltip,
)
return format_html(html)
return format_html(html, None)
def render_r(self, value, record: Compensation):
""" Renders the registered column for a compensation
@@ -146,5 +146,5 @@ class CompensationTable(BaseTable, TableRenderMixin, TableOrderMixin):
tooltip=tooltip,
icn_filled=recorded,
)
return format_html(html)
return format_html(html, None)

View File

@@ -95,7 +95,7 @@ class EcoAccountTable(BaseTable, TableRenderMixin, TableOrderMixin):
txt=value,
new_tab=False,
)
return format_html(html)
return format_html(html, None)
def render_av(self, value, record: EcoAccount):
""" Renders the available column for an eco account
@@ -113,7 +113,7 @@ class EcoAccountTable(BaseTable, TableRenderMixin, TableOrderMixin):
value_relative = 0
html = render_to_string("konova/widgets/progressbar.html", {"value": value_relative})
html += f"{number_format(record.deductable_rest, decimal_pos=2)}"
return format_html(html)
return format_html(html, None)
def render_r(self, value, record: EcoAccount):
""" Renders the recorded column for an eco account
@@ -135,4 +135,4 @@ class EcoAccountTable(BaseTable, TableRenderMixin, TableOrderMixin):
tooltip=tooltip,
icn_filled=checked,
)
return format_html(html)
return format_html(html, None)

View File

@@ -88,7 +88,7 @@ class EmaTable(BaseTable, TableRenderMixin, TableOrderMixin):
txt=value,
new_tab=False,
)
return format_html(html)
return format_html(html, None)
def render_r(self, value, record: Ema):
""" Renders the registered column for a EMA
@@ -110,4 +110,4 @@ class EmaTable(BaseTable, TableRenderMixin, TableOrderMixin):
tooltip=tooltip,
icn_filled=recorded,
)
return format_html(html)
return format_html(html, None)

View File

@@ -127,7 +127,7 @@ class InterventionTable(BaseTable, TableRenderMixin, TableOrderMixin):
html += self.render_previously_checked_star(
tooltip=tooltip,
)
return format_html(html)
return format_html(html, None)
def render_r(self, value, record: Intervention):
""" Renders the recorded column for an intervention
@@ -149,5 +149,5 @@ class InterventionTable(BaseTable, TableRenderMixin, TableOrderMixin):
tooltip=tooltip,
icn_filled=checked,
)
return format_html(html)
return format_html(html, None)

View File

@@ -30,15 +30,17 @@ class QrCode:
Returns:
qrcode_svg (str): The qr code as svg
"""
img_factory = svg.SvgImage
qrcode_img = qrcode.make(
content,
image_factory=img_factory,
qr = qrcode.QRCode(
image_factory=qrcode.image.svg.SvgPathImage,
box_size=size
)
stream = BytesIO()
qrcode_img.save(stream)
return stream.getvalue().decode()
qr.add_data(content)
qr.make(
fit=True
)
img = qr.make_image()
return img.to_string(encoding="unicode")
def get_img(self):
return self._img

View File

@@ -178,7 +178,9 @@ class TableRenderMixin:
if len(value) > max_length:
value = f"{value[:max_length]}..."
value = format_html(
f'<div title="{value_orig}">{value}</div>'
'<div title="{}">{}</div>',
value_orig,
value
)
return value
@@ -222,7 +224,7 @@ class TableRenderMixin:
tooltip=_("Full access granted") if is_entry_shared else _("Access not granted"),
icn_class="fas fa-edit rlp-r-inv" if is_entry_shared else "far fa-edit",
)
return format_html(html)
return format_html(html, None)
class TableOrderMixin:

View File

@@ -1,63 +1,65 @@
amqp==5.3.1
asgiref==3.8.1
asgiref==3.11.1
async-timeout==5.0.1
beautifulsoup4==4.13.0b2
billiard==4.2.1
beautifulsoup4==4.14.3
billiard==4.2.4
cached-property==2.0.1
celery==5.4.0
certifi==2024.12.14
cffi==1.17.1
chardet==5.2.0
charset-normalizer==3.4.0
click==8.1.8
celery==5.6.2
certifi==2026.2.25
cffi==2.0.0
chardet==6.0.0.post1
charset-normalizer==3.4.4
click==8.3.1
click-didyoumean==0.3.1
click-plugins==1.1.1
click-plugins==1.1.1.2
click-repl==0.3.0
coverage==7.6.9
cryptography==44.0.0
Deprecated==1.2.15
Django==5.1.4
django-autocomplete-light==3.11.0
coverage==7.13.4
cryptography==46.0.5
Deprecated==1.3.1
Django==6.0.2
django-autocomplete-light==3.12.1
django-bootstrap-modal-forms==3.0.5
django-bootstrap4==24.4
django-environ==0.11.2
django-filter==24.3
django-bootstrap4==26.1
django-environ==0.13.0
django-filter==25.2
django-fontawesome-5==1.0.18
django-oauth-toolkit==3.0.1
django-tables2==2.7.1
django-oauth-toolkit==3.2.0
django-tables2==2.8.0
et_xmlfile==2.0.0
gunicorn==23.0.0
idna==3.10
importlib_metadata==8.5.0
gunicorn==25.1.0
idna==3.11
importlib_metadata==8.7.1
itsdangerous==2.2.0
jwcrypto==1.5.6
kombu==5.4.0rc1
oauthlib==3.2.2
kombu==5.6.2
oauthlib==3.3.1
openpyxl==3.2.0b1
packaging==24.2
packaging==26.0
pika==1.3.2
pillow==11.0.0
prompt_toolkit==3.0.48
psycopg==3.2.3
psycopg-binary==3.2.3
pycparser==2.22
pyparsing==3.2.0
pillow==12.1.1
prompt_toolkit==3.0.52
psycopg==3.3.3
psycopg-binary==3.3.3
pycparser==3.0
pyparsing==3.3.2
pypng==0.20220715.0
pyproj==3.7.0
pyproj==3.7.2
python-dateutil==2.9.0.post0
pytz==2024.2
PyYAML==6.0.2
qrcode==7.3.1
redis==5.1.0b6
requests<2.32.0
six==1.16.0
soupsieve==2.5
sqlparse==0.5.1
typing_extensions==4.12.2
tzdata==2024.2
urllib3==2.3.0
pytz==2025.2
PyYAML==6.0.3
qrcode==8.2
redis==7.2.1
requests==2.32.5
six==1.17.0
soupsieve==2.8.3
sqlparse==0.5.5
typing_extensions==4.15.0
tzdata==2025.3
tzlocal==5.3.1
urllib3==2.6.3
vine==5.1.0
wcwidth==0.2.13
wcwidth==0.6.0
webservices==0.7
wrapt==1.16.0
xmltodict==0.14.2
zipp==3.21.0
wrapt==2.1.1
xmltodict==1.0.4
zipp==3.23.0