Knjigovodstvo i fiskalizacija: dashboard upozorenje za praznine, KPO dozvole, pojednostavljen storno, ispravke verifikacije i kasira
- Dashboard kartica prikazuje naloge bez KIR/KPO/fiskalnog upisa i sumnjive duplikate (double-submit), sa zaštitom od automatskog dupliranja prihoda pri bulk dopuni - Registrovane nedostajuće KPO dozvole (kpo.pregled/dodaj/obrisi) — modul je bio potpuno nedostupan - Uklonjen suvišan/nefunkcionalan 'Ukloni nalog' (duplirao Storno bez stvarne razlike); Storno u listi prodaje sad vodi direktno na formu - Kasir na fiskalnom računu koristi ime prijavljenog korisnika umesto fiksnog podešavanja - Fiskalni računi za nalog uvek prikazuju najnoviji zapis (original vs. refund posle storna) - Verifikaciona stranica (/v/) jasno označena kao lokalna test simulacija, ne prava provera kod PURS-a; dodat prikaz kusura - Mock brojač fiskalnih računa (kartica emulator) sad preživljava restart servera
This commit is contained in:
@@ -26,7 +26,6 @@ var sveAkcije = []string{
|
||||
"servis.obrisi",
|
||||
"prodaja.pregled",
|
||||
"prodaja.dodaj",
|
||||
"prodaja.obrisi",
|
||||
"prodaja.storno",
|
||||
"klijent.pregled",
|
||||
"klijent.dodaj",
|
||||
@@ -43,6 +42,9 @@ var sveAkcije = []string{
|
||||
"pdv.pregled",
|
||||
"pdv.dodaj",
|
||||
"pdv.obrisi",
|
||||
"kpo.pregled",
|
||||
"kpo.dodaj",
|
||||
"kpo.obrisi",
|
||||
}
|
||||
|
||||
// SveAkcije vraća listu svih poznatih akcija — koristi se pri inicijalizaciji baze i resetu
|
||||
@@ -78,7 +80,7 @@ func ImaDozvolu(uloga, akcija string) bool {
|
||||
"servis.izmeni", "servis.obrisi":
|
||||
return true
|
||||
// prodaja
|
||||
case "prodaja.pregled", "prodaja.dodaj", "prodaja.obrisi", "prodaja.storno":
|
||||
case "prodaja.pregled", "prodaja.dodaj", "prodaja.storno":
|
||||
return true
|
||||
// klijent
|
||||
case "klijent.pregled", "klijent.dodaj",
|
||||
@@ -103,6 +105,9 @@ func ImaDozvolu(uloga, akcija string) bool {
|
||||
// PDV evidencija (KIR/KPR) — administrativno, radnik nema
|
||||
case "pdv.pregled", "pdv.dodaj", "pdv.obrisi":
|
||||
return true
|
||||
// KPO (knjiga o ostvarenom prometu) — administrativno, radnik nema
|
||||
case "kpo.pregled", "kpo.dodaj", "kpo.obrisi":
|
||||
return true
|
||||
}
|
||||
return false
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ func TestImaDozvoluRadnik(t *testing.T) {
|
||||
}
|
||||
}
|
||||
// radnik NE sme: brisanje, storno, izveštaje, podešavanja, backup
|
||||
neSme := []string{"prodaja.obrisi", "prodaja.storno", "servis.obrisi", "klijent.obrisi",
|
||||
neSme := []string{"prodaja.storno", "servis.obrisi", "klijent.obrisi",
|
||||
"dobavljac.obrisi", "izvestaj.pregled", "podesavanja.izmeni", "backup.pokreni", "dashboard.prihod"}
|
||||
for _, a := range neSme {
|
||||
if ImaDozvolu("radnik", a) {
|
||||
|
||||
Reference in New Issue
Block a user