CRITICAL FIX (Slika 11, 12): /api/v2/auth/me alias + frontend fix
Bug: crm_v2.html, admin_users.html, ostali pozivali /api/v2/auth/me
koji ne postoji u backendu (postoji /api/auth/me bez v2).
401 redirect na /login?reason=unauthorized iako Damir prijavljen.
Fix:
- Frontend: replace /api/v2/auth/me → /api/auth/me u svim file-ovima
- Backend: dodan defensive alias @app.get('/api/v2/auth/me')
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
-- ═══════════════════════════════════════════════════════════════════
|
||||
-- email_templates_20260505.sql | v1.0.0 | 2026-05-05
|
||||
-- Author: Damir Radulić <dradulic@outlook.com> / damir@rinet.one
|
||||
-- Lokacija: /opt/pgz-sport/migrations/email_templates_20260505.sql
|
||||
-- Svrha: CRM v2 — E-mail templates tab (CRUD predložaka za masovni e-mail).
|
||||
-- Idempotent: ostavlja postojeću tablicu netaknutom + osigurava
|
||||
-- 3 seed predloška (clanarina_opomena, lijecnicki_podsjetnik,
|
||||
-- obrazac_potpis).
|
||||
-- ═══════════════════════════════════════════════════════════════════
|
||||
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pgz_sport.email_templates (
|
||||
id SERIAL PRIMARY KEY,
|
||||
code TEXT NOT NULL UNIQUE,
|
||||
naziv TEXT NOT NULL,
|
||||
kategorija TEXT,
|
||||
subject_tpl TEXT NOT NULL,
|
||||
body_tpl TEXT NOT NULL,
|
||||
variables JSONB,
|
||||
active BOOLEAN DEFAULT true,
|
||||
created_at TIMESTAMPTZ DEFAULT now(),
|
||||
updated_at TIMESTAMPTZ DEFAULT now()
|
||||
);
|
||||
|
||||
-- Indexes
|
||||
CREATE INDEX IF NOT EXISTS ix_email_templates_kategorija
|
||||
ON pgz_sport.email_templates (kategorija);
|
||||
CREATE INDEX IF NOT EXISTS ix_email_templates_active
|
||||
ON pgz_sport.email_templates (active);
|
||||
|
||||
-- Seed (skip if already present)
|
||||
INSERT INTO pgz_sport.email_templates (code, naziv, kategorija, subject_tpl, body_tpl, variables, active)
|
||||
VALUES
|
||||
('pristupnica',
|
||||
'Pristupnica klubu — predložak',
|
||||
'obrasci',
|
||||
'Pristupnica za klub {{naziv_kluba}}',
|
||||
E'Poštovani,\n\nu prilogu Vam šaljemo pristupnicu za klub {{naziv_kluba}} (sezona {{sezona}}).\nMolimo da ispunjenu i potpisanu pristupnicu vratite najkasnije do {{rok}}.\n\nLijep pozdrav,\nPGŽ Sport',
|
||||
'{"naziv_kluba":"string","sezona":"string","rok":"date"}'::jsonb,
|
||||
true),
|
||||
('suglasnost',
|
||||
'Suglasnost roditelja — predložak',
|
||||
'obrasci',
|
||||
'Suglasnost roditelja za {{ime_djeteta}}',
|
||||
E'Poštovani roditelju/skrbniku,\n\nMolimo Vas da popunite priloženu suglasnost za sudjelovanje djeteta {{ime_djeteta}} u programu kluba {{naziv_kluba}}.\nSuglasnost je potrebno potpisati i vratiti najkasnije do {{rok}}.\n\nHvala na razumijevanju,\nPGŽ Sport',
|
||||
'{"ime_djeteta":"string","naziv_kluba":"string","rok":"date"}'::jsonb,
|
||||
true),
|
||||
('putni-nalog',
|
||||
'Putni nalog — predložak',
|
||||
'obrasci',
|
||||
'Putni nalog #{{nalog_broj}} — {{odrediste}}',
|
||||
E'Pozdrav,\n\nIzdaje se putni nalog broj {{nalog_broj}} za putovanje u {{odrediste}} u razdoblju od {{datum_od}} do {{datum_do}}.\nSvrha: {{svrha}}\nProcijenjeni trošak: {{iznos}} EUR\n\nMolimo da po povratku dostavite obračun s pripadajućim računima.\n\nPGŽ Sport',
|
||||
'{"nalog_broj":"string","odrediste":"string","datum_od":"date","datum_do":"date","svrha":"string","iznos":"number"}'::jsonb,
|
||||
true)
|
||||
ON CONFLICT (code) DO NOTHING;
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user