68d020248c
improve(company): hide form buttons on team tab, show login status, resend invite
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Hide "Zapisz zmiany" and preview panel when team tab is active
- Show last login date or "Nie zalogował/a się jeszcze" per member
- Add "Wyślij ponownie zaproszenie" button for inactive accounts
- New endpoint POST /firma/<id>/zespol/<user_id>/zaproszenie
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:23:04 +02:00
003136331f
improve(company): clearer permission labels and role descriptions in team tab
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Permission checkboxes now show descriptive labels with hints explaining
what each permission controls. Role descriptions visible under each member.
Dropdown options in add form also more descriptive.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:09:47 +02:00
33be4ce205
fix(company): fix nordaConfirm callback in team member removal
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
nordaConfirm(message, callback) signature requires callback as 2nd arg,
not 3rd. The description text is now part of the message HTML.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:03:13 +02:00
49555f6a2e
feat(company): add team management for company MANAGERs
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Allow company MANAGERs to add/remove users, change roles,
and manage granular permissions from the company edit page.
New "Zespół" tab with AJAX-based team CRUD.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 14:44:05 +02:00
c5efd4056c
fix(ux): update guest button label to include 'gościa'
...
NordaBiz Tests / Unit & Integration Tests (push) Has been cancelled
NordaBiz Tests / E2E Tests (Playwright) (push) Has been cancelled
NordaBiz Tests / Smoke Tests (Production) (push) Has been cancelled
NordaBiz Tests / Send Failure Notification (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:32:11 +02:00
e0fbd8ce9a
fix(ux): extend nordaConfirm to support callback mode for AJAX actions
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
nordaConfirm now accepts both (form, message, options) for form submission
and (message, callback, options) for AJAX-based confirmations like guest deletion.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:26:58 +02:00
4f07acb051
fix(calendar): use native confirm() for guest deletion dialog
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
nordaConfirm() expects (form, message, options) for form submission,
not a callback. Using native confirm() for AJAX-based guest deletion.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:25:22 +02:00
18de6aa42d
feat(calendar): add guest form and updated attendee list in event template
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 14:03:24 +02:00
2a9f6fbf1f
feat(calendar): add guest API endpoints (POST/PATCH/DELETE)
2026-03-31 14:00:23 +02:00
afee91e52c
feat(calendar): add EventGuest model and total_attendee_count property
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 13:58:31 +02:00
96cb134d1f
feat(calendar): add event_guests migration 096
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 13:58:27 +02:00
492ca1b01b
docs: implementation plan for event guests feature
...
7 tasks: migration, model, API endpoints, template, local test, staging deploy, production deploy.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:28:19 +02:00
3a266f504e
fix(ux): fix user dropdown menu positioning on desktop
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Menu was placed outside header (for iOS z-index stacking) but used
position:absolute relative to body, rendering it below viewport.
Changed to position:fixed with dynamic top calculated from trigger
button position via getBoundingClientRect.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:13:13 +02:00
0b13d80164
feat(ux): add 'Moja firma' link to user dropdown menu
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Adds direct shortcut to company edit (MANAGER) or company profile (EMPLOYEE)
in the user avatar dropdown. Addresses feedback that editing company data
required searching for own company in the directory.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:09:27 +02:00
3171ea001a
feat(reports): add membership structure breakdown to fees report
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Shows: total active, paying members, subsidiaries (fee in parent),
resignations, standard vs premium fee tier counts.
All dynamic from database.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 11:48:57 +02:00
0936e11fe8
feat(membership): fix Pelmar parent (TTM not P&P), add missing companies and subsidiaries
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Migration 095:
- Fix Pelmar parent: TTM (not P&P) based on Excel positioning
- New TTM subsidiaries: ARD Invest, Progress Optima
- N33/STUDIO N°33 → TERMO
- Fiume Studio + Alter Energy → Pacific Sun (new)
- Radio Norda FM, Nadmorski24.pl: set fee_included_in_parent
- New companies: Pacific Sun, Ultramare, IBET, Prospoland, Ekonsul,
Steamset, Goodwill, Orlex Invest
- Rename: Iwona Spaleniak → Coach 4 You
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 11:41:18 +02:00
4b930ba1b2
feat(membership): add membership_status, resignation_date, fee_included_in_parent
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- New columns on companies: membership_status (active/resigned/suspended/exempt),
resignation_date, fee_included_in_parent (boolean)
- Migration 094: sets KORNIX as resigned, PZU resignation_date=2026-03-02,
links subsidiaries (Pelmar→P&P, Chopin TV→TTM), adds missing companies
(Maciej Hałas, Markisol as resigned; Fresh Bike, Jantar, WW Glass as
active subsidiaries)
- Admin fees panel and board view now exclude fee_included_in_parent companies
- Added source Excel file: data/skladki_czlonkowskie_2022_2025.xlsx
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 11:11:56 +02:00
4157138c2a
docs: spec for event guest registration feature
...
Allows users to register accompanying guests (non-portal users) for events.
Covers data model, API endpoints, UI design, and migration plan.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 10:31:18 +02:00
66582626a8
fix(gbp): use company word count as denominator in name matching
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
When Google returns a longer name (e.g. "Sprzedaż i Wynajem Wózków
Widłowych" for "Sprzedaż Wózków"), max(company_words, google_words)
penalized the score unfairly (2/4 = 0.5 < 1.0 threshold). Now we
check what fraction of OUR words appear in Google (2/2 = 1.0).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 09:14:09 +02:00
015423cfbe
fix(gbp): use website_url instead of url for CompanyWebsiteAnalysis
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
The constructor used 'url' which doesn't exist on the model — the
correct column name is 'website_url'. This caused GBP audit to fail
for companies without a prior website analysis record.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 08:59:07 +02:00
1c05becccc
fix(migration): 090 use last_updated instead of updated_at for companies table
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 08:55:47 +02:00
4b69edd57a
fix(gbp): render source tags as HTML in audit modal + add migration 090
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
GBP audit modal displayed raw <span> tags instead of rendered HTML
because updateStep() used textContent instead of innerHTML.
Migration 090: Lord Alkohole NIP update (company transformation).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 08:55:17 +02:00
9e6af89ae4
fix(messages): allow data: protocol in bleach for base64 images + img width/height/style attrs
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Images pasted as base64 had their src stripped by bleach (only http/https
allowed by default). Now data: protocol is whitelisted.
Also allow width/height/style on img for resize support.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 16:18:11 +02:00
f793522ab4
fix(messages): override Quill clipboard.onPaste for single image insert + resize CSS
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Root cause of double paste: Quill's internal clipboard handler AND my DOM
handler both processed the image. Fix: override clipboard.onPaste directly
to intercept images before Quill processes them.
- uploadAndInsertImage() extracted as reusable method
- CSS: img.selected gets resize:both for native browser resize handle
- Removed complex DOM resize hack (didn't work with Quill contenteditable)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 16:06:50 +02:00
2145a73bf3
fix(messages): single image paste + drag-to-resize handles
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Block Quill's default IMG clipboard matcher (prevents double paste)
- Click on image in editor shows blue border + resize handle (bottom-right)
- Drag handle to resize image
- Click outside removes resize wrapper
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 16:01:41 +02:00
7c8fd90a21
fix(messages): send images via Enter — case-insensitive img check, setContents([]) to clear
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 15:58:00 +02:00
51c80c78a4
feat(messages): paste images into chat + responsive image display
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Paste handler: Ctrl+V image → uploads to /api/messages/upload-image → inserts <img>
- Fallback to base64 if upload fails
- Enter sends messages with images (even without text)
- CSS: responsive images in messages (max 300px height, rounded)
- CSS: images in Quill editor resizable
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 15:52:29 +02:00
18e4990db5
fix(membership): unified colors — tracker and history use same blue/yellow/green/red
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 15:32:47 +02:00
3d14d3860e
fix(membership): set reviewed_at in start_review + backfill for app 11
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 15:28:24 +02:00
7c3daaa4f2
feat(membership): dates on tracker steps + fallback history from DB dates
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 15:15:52 +02:00
8441dc47db
feat(membership): visual tracker + event history — parcel tracking style
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 15:08:26 +02:00
73abb76c9e
refactor(email): remove dead Graph API/Azure/MSAL code — SMTP only
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
EmailService now uses SMTP (OVH Zimbra) exclusively. Removed msal/requests
imports, MSAL_AVAILABLE guard, _get_access_token(), Azure credential fields
(tenant_id, client_id, client_secret, authority, scope, graph_endpoint),
Graph API send_mail() body, and Azure-based init_email_service() logic.
__init__ now takes only mail_from; init_email_service() checks SMTP_USER only.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 15:03:52 +02:00
8c62571099
fix(messages): update DOM with server content after send — fixes visual glitch on optimistic messages
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 14:36:18 +02:00
a52c52863e
fix(messages): tempId-based dedup (not content) + clickable profile in chat header
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Dedup: sendContent passes tempId through queue to _doSend, which
replaces optimistic msg by matching tempId (not content). Eliminates
false negatives from HTML sanitization differences.
Profile: clicking avatar or name in chat header opens /profil/<user_id>.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 14:24:44 +02:00
3931b1466c
feat(membership): record workflow history for all status changes
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Added workflow_history entries to all membership application status transitions:
- submitted (user submits form) — blueprints/membership/routes.py
- start_review, approved, rejected, changes_requested — blueprints/admin/routes_membership.py
Each entry includes event name, action_label (Polish display text), timestamp,
user_id/user_name, and relevant details (comment, member_number, category, IP).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 13:39:55 +02:00
cd26c11ec8
fix(membership): remove signature lines from PDF — not needed for council distribution
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 13:27:48 +02:00
6b586911a1
refactor(email): SMTP is now primary for ALL domains, Graph API is legacy fallback only
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 13:22:05 +02:00
44031dd031
fix(email): init email service with SMTP-only when Azure credentials missing
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 13:16:53 +02:00
63f87ee951
fix(email): remove undefined sender_name references in SMTP fallback
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 12:40:27 +02:00
933e062196
feat(email): SMTP fallback via OVH Zimbra + direct SMTP for @nordabiznes.pl
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Domain nordabiznes.pl removed from M365 (moved to OVH Zimbra).
Graph API can no longer send as @nordabiznes.pl.
- Added _send_via_smtp() method using SMTP_HOST/SMTP_USER/SMTP_PASSWORD
- @nordabiznes.pl sender goes directly to SMTP (skips Graph API)
- Other domains still try Graph API first, SMTP as fallback
- .env updated with OVH Zimbra SMTP credentials
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 12:37:27 +02:00
cb1409bf09
fix(membership): legal form from business_type_label + blue print button
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 12:26:26 +02:00
8538fdac1a
feat(membership): redesigned PDF — cleaner layout, no IP, workflow history
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Removed IP address from declaration box
- Merged address + contact into one section (less sections = cleaner)
- Removed duplicate company name (already in header)
- Added workflow history section (review stages)
- Wider spacing between sections (14pt), fields with subtle bottom border
- Consent as grid with colored check icons
- Description truncated to 800 chars
- Larger, more readable header with company name prominent
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 12:24:09 +02:00
0f22093f00
fix(membership): correct field names + Polish chars in PDF template
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- krs → krs_number, contact_email → email, contact_phone → phone,
contact_website → website, address_postal → address_postal_code,
address_building → address_number, declaration_ip → declaration_ip_address,
business_description → description
- legal_form: read from registry_data JSONB dict (legal_form / forma_prawna)
- ✓/✗ → Unicode ✓/✗ for WeasyPrint compatibility
- Polish text: Przystąpienia, złożenia, Źródło, Miejscowość, skrócona,
oświadczenia, komunikację, działalności, przystąpienia, przyjmującą, główny
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 12:17:51 +02:00
86090a7d33
feat(membership): PDF generation for declarations via WeasyPrint
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- New route: /admin/membership/<id>/print → generates PDF
- Professional A4 layout with chamber header, data sections, signatures
- Button changed from window.print() to PDF link (opens in new tab)
- No browser headers/footers — clean PDF output
- Signature lines for applicant and reviewer
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 12:13:21 +02:00
9079610ea4
fix(membership): nuclear print CSS + hide browser headers via empty title
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 12:07:59 +02:00
5fd5342a88
fix(membership): compact print layout, hide detail header, reduce spacing
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 12:03:34 +02:00
a6d6186cc2
fix(membership): comprehensive print CSS — hide staging banner, registry panel, PWA prompt, nav
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-30 11:54:14 +02:00
d889444fab
feat(membership): print button + print-optimized CSS for declarations
...
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Blue "Drukuj deklarację" button in action sidebar (submitted + under_review)
- @media print CSS: hides nav, sidebar, buttons; full-width main content
- Print header with chamber name, declaration number, date, status
- Clean data sections for paper output
- Uses native window.print() — browser shows printer selection dialog
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 11:45:22 +02:00
77f5277372
fix(messages): remove tempId reference in _doSend, use content matching, no alert
NordaBiz Tests / Unit & Integration Tests (push) Has been cancelled
NordaBiz Tests / E2E Tests (Playwright) (push) Has been cancelled
NordaBiz Tests / Smoke Tests (Production) (push) Has been cancelled
NordaBiz Tests / Send Failure Notification (push) Has been cancelled
2026-03-28 17:48:00 +01:00
406752fca2
fix(messages): restore polling for own messages + content-based dedup for optimistic
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
2026-03-28 17:43:31 +01:00