Dasko
a591680c0a
BUGFIX: migracija 085 — ispravlja izvor 'prodaja'→'servis' za SN- naloge i briše duplikate
2026-06-26 01:11:27 +02:00
Dasko
10553f4e8a
Migracija 084: retroaktivni upis u KIR za postojeće Preuzeto servisne naloge
2026-06-26 01:09:38 +02:00
Dasko
e82d8c88d9
Servis: automatski upis u KIR pri preuzimanju (ako je firma PDV obveznik)
...
Pri prelasku u Preuzeto, radovi i delovi se automatski knjiže u KIR (20% PDV, opšta stopa). Preskaču se predložene stavke i odbijene popravke.
2026-06-26 01:07:41 +02:00
Dasko
7882b70500
Servis: prikaz fiskalnog računa u detaljima naloga (PFR broj + QR kod)
...
Dodat FiskalRepository.DohvatiPoServisu (repo + interfejs)
PodaciDetaljiNaloga.FiskalniRacun — učitava se pri otvaranju detalja
Kartica u servis_detalji.html — PFR broj, vreme, brojač, QR, link ka PURS-u
2026-06-26 01:04:34 +02:00
Dasko
afde0850bb
BUGFIX: fiskalni_racuni — dodata podrška za servisne naloge (servis_id kolona)
...
Migracija 083: rekreira fiskalni_racuni tabelu sa servis_id (nullable) i bez FK constraint-a
Model: dodat ServisID int64 polje
Repo: INSERT/SELECT sada koristi i servis_id
Handler: fiskalizujServis koristi ServisID umesto negativnog ProdajaID
2026-06-26 01:00:22 +02:00
Dasko
94037757f5
Servis: Otpremnica i Garantni list vidljivi i za Preuzeto (ne samo Završeno)
2026-06-26 00:58:50 +02:00
Dasko
192af29107
Servis: fiskalizacija pri preuzimanju — način plaćanja + iznos + PFR račun
...
Migracija 082: nacin_placanja i naplaceno na servisni_nalog
Model, repo, handler — pun lanac za čuvanje naplate
fiskalizujServis helper — šalje radove+delove ka PFR serveru
Modal za Preuzeto dobio izbor načina plaćanja (Gotovina/Kartica/Virman)
2026-06-26 00:54:13 +02:00
Dasko
dcee077593
Dockerfile: dodat za Docker deployment
2026-06-26 00:43:45 +02:00
Dasko
6f10934c7f
Čišćenje: izbačeni Fisk/data/counters/ fajlovi iz gita, dodati u .gitignore
2026-06-26 00:38:47 +02:00
Dasko
ac53423c78
Merge grane feature/fiskalizacija-migracija: fiskalizacija + servis unapređenja + pravni status
2026-06-26 00:36:39 +02:00
Dasko
1619d9b920
Javni status: dodat datum završetka i cena dijagnostike u karticu odbijene popravke
2026-06-26 00:34:56 +02:00
Dasko
49d8460fd5
BUGFIX: javni status — kad klijent odbije popravku, ne prikazuju se radovi/delovi; crvena poruka umesto njih
2026-06-26 00:33:36 +02:00
Dasko
176e42bd42
Servis: ✕ Klijent je odbio popravku — istaknut kao naslov ispod SN broja, sa objašnjenjem
2026-06-26 00:24:01 +02:00
Dasko
5136fc12e9
Otpremnica: kad je popravka odbijena — opis radova prikazuje da je urađena samo dijagnostika
2026-06-26 00:21:26 +02:00
Dasko
ed8046f43f
BUGFIX: otpremnica — kad klijent odbije popravku, prikazuje se samo dijagnostika (ne delovi i radovi)
2026-06-26 00:20:09 +02:00
Dasko
1930473eb5
Servis: crveni badge ✕ Klijent odbio popravku pored statusa
2026-06-26 00:17:21 +02:00
Dasko
875fc46c39
Servis: uklonjeni prazni redovi — ako nema radova/delova, ne prikazuje se ništa (samo UKUPNO)
2026-06-26 00:15:13 +02:00
Dasko
9d0e00169e
Servis: badge stilizacija naslova — Obavljeni radovi (plavo) i Ugrađeni delovi (zeleno) sa ikonicama 🔧 💾
2026-06-26 00:13:07 +02:00
Dasko
21bbc10dd1
Servis: reorganizovana Ukupno kartica — listing radova i delova sa subtotalima, finalni total boldiran
2026-06-26 00:10:14 +02:00
Dasko
81956b9aa4
Servis: listing radova i delova iznad Ukupno, ne ispod
2026-06-26 00:06:24 +02:00
Dasko
fea95b73d2
Servis: ispravka — .Delovi→.ServisniDelovi, .Radovi→.ServisniRadovi (pogrešna imena promenljivih)
2026-06-26 00:04:45 +02:00
Dasko
ad3b4d9dcf
Servis: listing ugrađenih delova i obavljenih radova u Ukupno kartici kad je status Završeno/Preuzeto
2026-06-25 23:30:08 +02:00
Dasko
5f4e657d93
Podešavanja: uputstvo za režime Pun i Samo evidencija
2026-06-25 23:26:09 +02:00
Dasko
1caaa8de49
Podešavanja: JS logika zaključavanja — PDV se gasi uz Fiskalizaciju u režimu „Samo evidencija"
...
Proširena postojeća JS logika: sada i PDV i Fiskalizacija idu na „Ne" i zasive se kad je režim „samo evidencija". Refaktorisano u lockGrupa/unlockGrupa helper-e.
2026-06-25 23:23:13 +02:00
Dasko
b0188fd069
Profil firme: preduzetnik_knjige pokriven u modulima + informativna tabela
...
ModulKpo sada obuhvata i preduzetnik_knjige (proste knjige)
Dodata tabela sa pregledom svih kombinacija pravnog oblika, PDV-a, fiskalizacije, KPO i dvojnog
Napomene: PDV prag 8M, paušalni limit 6M, fiskalizacija obavezna za sve
2026-06-25 23:13:14 +02:00
Dasko
1f6efc8986
Servis: kanban kolone proporcionalno raširene po širini ekrana
...
Pre: flex: 0 0 250px (fiksna širina, prazan prostor desno)
Posle: flex: 1 1 0 + min-width: 220px (ravnomerno popunjavaju širinu)
2026-06-25 23:02:28 +02:00
Dasko
90674b0118
Bezbednost: SSRF — proširena whitelist na privatne mreže (192.168.x, 10.x, 172.16-31.x)
...
Pre: samo 127.0.0.1 i localhost — nije radilo sa Fisk serverom na drugoj mašini u LAN-u
Posle: jePrivatnaAdresa() dozvoljava sve privatne IPv4 opsege + localhost
Hostname se koristi direktno (iz validiranog URL-a), port kao integer
2026-06-25 22:59:17 +02:00
Dasko
b7a37ee419
Fiskalizacija: inicijalna implementacija (8 koraka)
...
1. migracija 081 — tabela fiskalni_racuni + podešavanja pfr_api_key/pfr_kasir
2. model FiskalniRacun (internal/model/fiskal.go)
3. FiskalRepository interfejs (repository.go)
4. SQLite repozitorijum (sqlite/fiskal.go — Kreiraj, DohvatiPoProdaji)
5. Paket internal/fiskal/ — HTTP klijent + mapiranje prodaja→invoiceRequest
6. Handler proširenje — FiskalRepo + fiskalKlijent() dinamički helper
7. Inicijalizacija kroz Novi() / reinicializuj — klijent se čita dinamički iz podešavanja
8. Prodaja integracija — fiskalizacija u SacuvajProdaju + QR prikaz u prodaja_detalji.html
2026-06-25 22:51:59 +02:00
Dasko
4433ed5edc
Bezbednost: SSRF — port iz URL-a se izvlači kao integer da preseče CodeQL taint
...
Pre: parsedURL.Host je i dalje nosio korisnički unos u mrežni poziv
Posle: port → strconv.Atoi → validiran int → fmt.Sprintf("%d") — čist URL bez taint-a
2026-06-25 21:42:58 +02:00
Dasko
a2a80bb04c
Bezbednost: SSRF ispravka za CodeQL — URL se rekonstruiše iz validiranih delova
...
Pre: pfrURL + "/api/status" (CodeQL alarm: taint od korisnika do mreže)
Posle: url.URL{Scheme:"http", Host:parsedURL.Host, Path:"/api/status"} — korisnički unos samo u Host nakon validacije
2026-06-25 21:36:49 +02:00
Dasko
5430a9015b
Bezbednost: SSRF i XSS ispravka u TestFiskalizacije
2026-06-25 02:58:10 +02:00
Dasko
a82f8a03fc
Servis: custom dropdown za usluge i artikle (naziv+cena), live preračun na javnoj stranici
2026-06-25 02:45:30 +02:00
Dasko
74cbb9e619
Servis: cene u dropdownu usluga i artikala
2026-06-25 02:11:44 +02:00
Dasko
e30432c1a3
Servis: zamena svih tipografskih navodnika u odbij-popravku formi
2026-06-25 02:09:29 +02:00
Dasko
35bfe40eac
Servis: ispravka tipografskih navodnika u data-potvrda (lomili HTML parser)
2026-06-25 02:07:32 +02:00
Dasko
3cbb28d4ff
Servis: odbij-popravku data-full-reload, AJAX ne sme da ostane na stranici posle promene statusa
2026-06-25 01:53:46 +02:00
Dasko
318b9bcc92
Servis: ispravka predlozeno-blok (sadrzaj bio u pogresnoj if grani)
2026-06-25 01:47:32 +02:00
Dasko
2484c91e15
Servis: predlozeno-blok se pojavljuje odmah pri dodavanju prve predlozene stavke
2026-06-25 01:44:34 +02:00
Dasko
16cdee0ee1
Servis: garantni list, radovi na otpremnici, selektivno prihvatanje predloga po stavkama
2026-06-25 01:39:56 +02:00
Dasko
d960a5b67b
Servis: garantni list pri preuzimanju, ispravka datuma garancije na otpremnici
2026-06-25 00:37:56 +02:00
Dasko
6a5827a65e
Podešavanja: QR URL primer kao domen umesto lokalne IP adrese
2026-06-24 23:37:18 +02:00
Dasko
4b821c9dff
Fisk compose: external mreža ntech-net, bez izloženog porta
2026-06-24 23:32:18 +02:00
Dasko
df032a0db2
Uklonjen fisk-test.sh, .gitignore cleanup
2026-06-24 23:27:48 +02:00
Dasko
6af70d5962
Podešavanja: uklonjen konkretan IP iz placeholder teksta QR URL polja
2026-06-24 23:26:49 +02:00
Dasko
8d2ad77d5b
Fiskalizacija: test veze koristi URL iz forme, ne iz baze
2026-06-24 23:26:12 +02:00
Dasko
b5a84513b7
Fiskalizacija: podešavanja L-PFR veze, test konekcije (HTMX)
2026-06-24 23:18:26 +02:00
Dasko
606c45d765
README: samostalni docker-compose za Fisk mock server
2026-06-24 23:06:07 +02:00
Dasko
0972ccecfa
Build: paralelni UPX u odvojenim tmp folderima (bez race condition)
2026-06-24 22:47:46 +02:00
Dasko
520f5e5b8f
Build: sekvencijalni UPX kad se grade obe platforme (race condition fix)
2026-06-24 22:47:01 +02:00
Dasko
fd69b93782
Build alat: opcija za build i push ntech-fisk Docker slike
2026-06-24 22:35:48 +02:00