Javno odobravanje predloga: Prihvati/Odbij sa komentarom
- Dodati handleri za prihvatanje i odbijanje predloga sa mobilnog
- Prihvatanje: predložene stavke prelaze u ugrađene (predlozeno 1→0)
- Odbijanje: brišu se predložene stavke
- Komentar klijenta uz odluku (textarea na mobilnom, prikaz u detaljima)
- Oznaka na kanbanu za naloge sa predlozima (narandžasta tačka + leva ivica)
- Oznaka na kanbanu za poruku klijenta (💬 dugme, tap za prikaz)
- Spojene kartice Radovi/Predložene usluge i Delovi/Predloženi delovi
- Auto-detekcija predlozeno=1 kad status != Primljeno
- Obrisana Otključaj/Zaključaj dugmad
- Ukupno sa predlogom na javnoj status stranici
- CSRF middleware premešten u zaštićenu grupu
- Migracija 078: komentar_klijenta
- Repo metode: ObrisiPredlozene, AzurirajKomentarKlijenta
- Popravljeno: 405 na odbij, duple rute, razmak između kartica
This commit is contained in:
@@ -54,6 +54,7 @@ type ServisniNalog struct {
|
||||
Uradjeno string // šta je serviser stvarno uradio tokom popravke
|
||||
CenaDijagnostike float64 // taksa kad klijent ne prihvati popravku; 0 = ne naplaćuje se
|
||||
PopravkaOdbijena bool // klijent odbio popravku posle dijagnostike → naplaćuje se samo dijagnostika
|
||||
KomentarKlijenta string // poruka klijenta uz prihvatanje/odbijanje predloga
|
||||
JavniToken string
|
||||
}
|
||||
|
||||
@@ -65,6 +66,7 @@ type ServisniDeo struct {
|
||||
Kolicina int
|
||||
CenaKomada float64
|
||||
Datum time.Time
|
||||
Predlozeno bool // true = serviser predložio posle dijagnostike; čeka odobrenje klijenta
|
||||
}
|
||||
|
||||
// Ukupno vraća ukupnu vrednost dela (kolicina × cena)
|
||||
@@ -88,6 +90,7 @@ type ServisniPotrazivaniDeo struct {
|
||||
Kolicina int
|
||||
CenaKomada float64
|
||||
Datum time.Time
|
||||
Predlozeno bool
|
||||
// za prikaz:
|
||||
ArtikalNaziv string
|
||||
}
|
||||
@@ -102,6 +105,7 @@ type ServisniRad struct {
|
||||
Kolicina float64
|
||||
CenaKomada float64
|
||||
Datum string
|
||||
Predlozeno bool // true = serviser predložio posle dijagnostike; čeka odobrenje klijenta
|
||||
}
|
||||
|
||||
// Ukupno vraća ukupnu vrednost rada (kolicina × cena)
|
||||
@@ -113,6 +117,7 @@ func (r ServisniRad) Ukupno() float64 {
|
||||
type ServisniNalogSaKlijentom struct {
|
||||
ServisniNalog
|
||||
KlijentNaziv string
|
||||
ImaPredlog bool // ima predloženih stavki koje čekaju odobrenje klijenta
|
||||
}
|
||||
|
||||
// KlijentIDVrednost vraća vrednost KlijentID pointera, ili 0 ako je nil
|
||||
|
||||
Reference in New Issue
Block a user