From 85e7537c10579ee0f48b8df6e3f5d9280e135211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Mon, 13 Jul 2026 16:12:06 +0200 Subject: [PATCH] uprawnienia do stacji i usuwanie firm --- app/api.py | 10 +++++++--- app/templates/stations.html | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/api.py b/app/api.py index 3b28d19..9b079dc 100644 --- a/app/api.py +++ b/app/api.py @@ -371,15 +371,19 @@ def stations_sync(): @api.put('/stations/') @role_required('boss','admin') def update_station(station_id): - s=FuelStationCompany.query.get_or_404(station_id);d=payload();region=(d.get('selected_region') or '').strip().lower() - if region and region not in s.region_list:return fail('Wybrane województwo nie występuje w danych tej firmy') + s=FuelStationCompany.query.get_or_404(station_id);d=payload() + region=None + if 'selected_region' in d: + region=(d.get('selected_region') or '').strip().lower() + if region and region not in s.region_list:return fail('Wybrane województwo nie występuje w danych tej firmy') try: company_id=int(d.get('company_id') or current_user.company_id or 0) except (TypeError,ValueError): return fail('Nieprawidłowa firma') settings=CompanySettings.query.get_or_404(company_id) if current_user.role=='boss' and current_user.company_id!=settings.id:return fail('Brak uprawnień',403) - s.selected_region=region;s.active=boolv(d,'active');allowed=boolv(d,'allowed') + if region is not None: s.selected_region=region + s.active=boolv(d,'active');allowed=boolv(d,'allowed') if allowed and s not in settings.allowed_stations: settings.allowed_stations.append(s) if not allowed and s in settings.allowed_stations: settings.allowed_stations.remove(s) db.session.commit();socketio.emit('app_changed',{'resource':'stations','company_id':settings.id});return response(station_dict(s),f'Zapisano ustawienia stacji dla firmy {settings.name}') diff --git a/app/templates/stations.html b/app/templates/stations.html index 63cd03a..e80970e 100644 --- a/app/templates/stations.html +++ b/app/templates/stations.html @@ -15,7 +15,7 @@ {% if s.station_count > 1 %}{% else %}{{s.display_name}}{% endif %}{% if s.company_name != s.display_name %}
{{s.company_name}}
{% endif %}
NIP: {{s.nip or '—'}} · REGON: {{s.regon or '—'}}
{{s.station_count}}
{% if s.has_petrol %}benzyna{% endif %}{% if s.has_diesel %}diesel{% endif %}{% if s.has_lpg %}LPG{% endif %}
-
{% if current_user.role == 'admin' %}
{% else %}{% endif %}
+
{% for card in fuel_cards %}{% set rule=card_rules.get((card.id,s.id)) %}
{{card.name}}
{% else %}Najpierw dodaj kartę w ustawieniach firmy.{% endfor %} {% else %}Brak firm. Pobierz katalog z URE.{% endfor %}