gofmt -s -w . — formatiranje celog projekta

This commit is contained in:
2026-06-22 02:05:46 +02:00
parent afbc0b6083
commit 63a5c72ca9
13 changed files with 70 additions and 69 deletions
+4 -2
View File
@@ -49,7 +49,8 @@ func nadjiLokalneAdrese() []string {
func PokreniSetup(fsys fs.FS, envFajl string) {
port := NadjiSlobodanPort()
if port == 0 {
slog.Error("setup: nije pronađen nijedan slobodan port"); os.Exit(1)
slog.Error("setup: nije pronađen nijedan slobodan port")
os.Exit(1)
}
gotov := make(chan struct{})
@@ -103,7 +104,8 @@ func PokreniSetup(fsys fs.FS, envFajl string) {
go func() {
if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
slog.Error("setup server", "error", err); os.Exit(1)
slog.Error("setup server", "error", err)
os.Exit(1)
}
}()
+2 -2
View File
@@ -19,8 +19,8 @@ func TestIzvestajArtikliBrojaci(t *testing.T) {
}
}
dodaj(&model.Artikal{Naziv: "A", Kolicina: 10, KolicinMin: 5})
dodaj(&model.Artikal{Naziv: "B", Kolicina: 2, KolicinMin: 5}) // kritičan
dodaj(&model.Artikal{Naziv: "C", Kolicina: 0, KolicinMin: 5}) // kritičan, nula
dodaj(&model.Artikal{Naziv: "B", Kolicina: 2, KolicinMin: 5}) // kritičan
dodaj(&model.Artikal{Naziv: "C", Kolicina: 0, KolicinMin: 5}) // kritičan, nula
if n, err := izv.BrojArtikala(ctx); err != nil || n != 3 {
t.Fatalf("BrojArtikala = %d, err=%v; očekivano 3", n, err)
+1 -1
View File
@@ -129,7 +129,7 @@ func (h *Handler) Dashboard(w http.ResponseWriter, r *http.Request) {
ps.NaslovStranice = "Dashboard"
podaci := model.PodaciDashboarda{
PodaciStranice: ps,
PodaciStranice: ps,
BrojArtikala: brojArtikala,
AktivniServisi: aktivniServisi,
PrihodOvogMeseca: prihodOvogMeseca,
+6 -6
View File
@@ -209,10 +209,10 @@ func (h *Handler) Izvestaji(w http.ResponseWriter, r *http.Request) {
// PodaciPrometногLista su podaci za prometni list magacina
type PodaciPrometногLista struct {
model.PodaciStranice
Promene []model.PrometniRed
Od string
Do string
Ukupno int
Promene []model.PrometniRed
Od string
Do string
Ukupno int
}
// PrometniListMagacina renderuje prometni list magacina za odabrani period
@@ -264,9 +264,9 @@ func (h *Handler) PrometniListMagacina(w http.ResponseWriter, r *http.Request) {
// PodaciStanjaZaliha su podaci za izveštaj o stanju zaliha
type PodaciStanjaZaliha struct {
model.PodaciStranice
Zalihe []model.StanjeZalihaRed
Zalihe []model.StanjeZalihaRed
UkupnaVrednost float64
BrojArtikala int
BrojArtikala int
}
// StanjeZalihaIzvestaj renderuje izveštaj o trenutnom stanju zaliha
+1 -1
View File
@@ -66,7 +66,7 @@ func artikalUJSON(artikli []model.ArtikalSaKategorijom, vezeDobavljaca map[int64
ID: a.ID, Naziv: a.Naziv, PdvStopa: a.PdvStopa,
NabavnaCena: a.NabavnaCena,
Marza: a.Marza, KategorijaMarza: a.KategorijaMarza,
Dobavljaci: dob,
Dobavljaci: dob,
})
}
b, _ := json.Marshal(lista)
-1
View File
@@ -15,7 +15,6 @@ import (
"github.com/go-chi/chi/v5"
)
// podaciPodsetnici su podaci za stranicu sa listom podsetnika
type podaciPodsetnici struct {
model.PodaciStranice
+3 -3
View File
@@ -56,9 +56,9 @@ func (h *Handler) ProfilTema(w http.ResponseWriter, r *http.Request) {
ps.NaslovStranice = "Moja tema"
podaci := podaciProfilTema{
PodaciStranice: ps,
LokalnaTema: svezi.LokalnaTema,
KoristiLokalnuTemu: svezi.KoristiLokalnuTemu,
PodaciStranice: ps,
LokalnaTema: svezi.LokalnaTema,
KoristiLokalnuTemu: svezi.KoristiLokalnuTemu,
LokalnaPozadina: svezi.LokalnaPozadina,
LokalnaPozadinaOpacity: svezi.LokalnaPozadinaOpacity,
LokalnaPozadinaBlur: svezi.LokalnaPozadinaBlur,
+7 -7
View File
@@ -73,12 +73,12 @@ type PrometniRed struct {
// StanjeZalihaRed je jedan red izveštaja o stanju zaliha
type StanjeZalihaRed struct {
Naziv string
Sifra string
Kategorija string
Kolicina int
KolicinMin int
NabavnaCena float64
ProdajnaCena float64
Naziv string
Sifra string
Kategorija string
Kolicina int
KolicinMin int
NabavnaCena float64
ProdajnaCena float64
VrednostZalihe float64 // kolicina × nabavna_cena
}
+18 -18
View File
@@ -4,24 +4,24 @@ import "time"
// Korisnik predstavlja nalog korisnika u sistemu
type Korisnik struct {
ID int64
KorisnickoIme string
LozinkaHash string
Uloga string // "superadmin" | "admin" | "radnik"
Aktivan bool
TotpTajna string
LokalnaTema string // "tamna" | "svetla" | ""
KoristiLokalnuTemu bool
DatumKreiranja time.Time
LokalnaPozadina string
LokalnaPozadinaOpacity string
LokalnaPozadinaBlur string
LokalnaPozadinaBlurPozadine string
LokalnaPozadinaGlassOpacity string
AvatarPutanja string
LokalnaAnimacija string // "" | "fadeInUp" | "fadeIn" | "scaleIn" | "slideLeft"
LokalniHover string // "" | "bez" | "podizanje" | "svetlost"
LokalnaBrzinaAnimacije string // "" | "0.2" | "0.4" | "0.6" | "0.8" | "1.2" (sekunde)
ID int64
KorisnickoIme string
LozinkaHash string
Uloga string // "superadmin" | "admin" | "radnik"
Aktivan bool
TotpTajna string
LokalnaTema string // "tamna" | "svetla" | ""
KoristiLokalnuTemu bool
DatumKreiranja time.Time
LokalnaPozadina string
LokalnaPozadinaOpacity string
LokalnaPozadinaBlur string
LokalnaPozadinaBlurPozadine string
LokalnaPozadinaGlassOpacity string
AvatarPutanja string
LokalnaAnimacija string // "" | "fadeInUp" | "fadeIn" | "scaleIn" | "slideLeft"
LokalniHover string // "" | "bez" | "podizanje" | "svetlost"
LokalnaBrzinaAnimacije string // "" | "0.2" | "0.4" | "0.6" | "0.8" | "1.2" (sekunde)
}
// Sesija predstavlja aktivnu sesiju prijavljenog korisnika
+1 -1
View File
@@ -4,7 +4,7 @@ import "time"
// Tipovi magacinskih promena
const (
PromenaUlazNabavka = "ulaz_nabavka"
PromenaUlazNabavka = "ulaz_nabavka"
PromenaIzlazProdaja = "izlaz_prodaja"
PromenaIzlazServis = "izlaz_servis"
PromenaPovracaj = "povracaj"
+3 -3
View File
@@ -40,9 +40,9 @@ func TestArtikalCenaBezPdvIPdvIznos(t *testing.T) {
func TestKlijentPunoIme(t *testing.T) {
testovi := []struct {
naziv string
k Klijent
ocek string
naziv string
k Klijent
ocek string
}{
{"pravno lice", Klijent{Tip: "pravno", NazivFirme: "Firma DOO", Ime: "x", Prezime: "y"}, "Firma DOO"},
{"fizičko lice", Klijent{Tip: "fizicko", Ime: "Petar", Prezime: "Petrović"}, "Petar Petrović"},
+8 -8
View File
@@ -7,14 +7,14 @@ const TipOpsti = "opsti"
// Podsetnik predstavlja jedan podsetnik
type Podsetnik struct {
ID int64
Naslov string
Napomena string
DatumPodsecanja time.Time
Zavrseno bool
Tip string
DatumUnosa time.Time
KorisnikID *int64 // ako nil — podsetnik nije dodeljen konkretnom korisniku
ID int64
Naslov string
Napomena string
DatumPodsecanja time.Time
Zavrseno bool
Tip string
DatumUnosa time.Time
KorisnikID *int64 // ako nil — podsetnik nije dodeljen konkretnom korisniku
}
// JePrekoracen vraća true ako datum podsećanja je prošao a podsetnik nije završen
+16 -16
View File
@@ -31,22 +31,22 @@ type FlashPoruka struct {
// PodaciStranice su zajednički podaci koje svaka stranica prima
type PodaciStranice struct {
Stranica string
NaslovStranice string
Tema string
NazivFirme string
Podnazlov string
LogoPutanja string // putanja do slike loga firme
TopbarLogoSlika bool // prikaži logo sliku u topbaru
AvatarPutanja string // putanja do lične avatar slike korisnika
Korisnik string
KorisnikIme string // korisničko ime prijavljenog korisnika
KorisnikUloga string // uloga: "superadmin", "admin", "radnik"
CsrfToken string // CSRF zaštitni token za forme
AssetV string // verzija statičkih fajlova (cache-busting za CSS/JS)
Dozvole map[string]bool // mapa akcija → dozvoljeno/nije
Moduli map[string]bool // mapa zakonskih modula → uključen za firmu (profil firme)
Flash *FlashPoruka // jednokratna poruka nakon redirecta
Stranica string
NaslovStranice string
Tema string
NazivFirme string
Podnazlov string
LogoPutanja string // putanja do slike loga firme
TopbarLogoSlika bool // prikaži logo sliku u topbaru
AvatarPutanja string // putanja do lične avatar slike korisnika
Korisnik string
KorisnikIme string // korisničko ime prijavljenog korisnika
KorisnikUloga string // uloga: "superadmin", "admin", "radnik"
CsrfToken string // CSRF zaštitni token za forme
AssetV string // verzija statičkih fajlova (cache-busting za CSS/JS)
Dozvole map[string]bool // mapa akcija → dozvoljeno/nije
Moduli map[string]bool // mapa zakonskih modula → uključen za firmu (profil firme)
Flash *FlashPoruka // jednokratna poruka nakon redirecta
// app pozadina — popunjava se iz podešavanja za sve stranice
AppPozadina string
AppPozadinaOpacity string // vrednost 0-80 (% overlay zatamnjivanja)