Magacin premeštanje, backup podešavanja, čišćenje RBAC sistema
Magacin:
- Dodato premeštanje artikla u drugu kategoriju (dugme + nativni
<details> meni, bez JS-a; radi na desktopu i mobilnom)
- Endpoint POST /magacin/premesti/{id} uz proveru dozvole artikal.premesti
Backup:
- Nova podešavanja: interval automatskog backupa i broj kopija (rotacija)
- Periodični backup uz onaj pri pokretanju; interval se čita iz baze
- Migracija 037_backup_podesavanja.sql
Dozvole (RBAC):
- Dodate kartice koje su nedostajale (dashboard.prihod, prodaja.storno,
podesavanja.login_pozadina, tema.lokalno) — popravljen i bug gde su se
gasile pri svakom čuvanju matrice
- Aktivirana kontrola pregleda za prodaju, servis, klijente i dobavljače
(provera u handlerima + skrivanje iz sidebara)
- Uklonjene mrtve/obmanjujuće dozvole iz matrice i sveAkcije (korisnici,
podsetnici, artikal.pregled, kategorija.izmeni, tema.globalno,
podesavanja.app_pozadina); sveAkcije 47 -> 34
- Čišćenje zastarelih redova (siročića) u tabeli dozvola pri startu
Ostalo:
- Statički fajlovi: embed celog web/static i ispravan MIME za .js/.css
- Keš šablona: dodat admin_dozvole (stranica Dozvole se nije otvarala)
- Sidebar accordion: radi i skupljen i proširen, međusobno isključiv
This commit is contained in:
@@ -35,6 +35,33 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- automatski backup — interval i broj kopija -->
|
||||
<div style="margin-top:16px;border-top:0.5px solid var(--ivica);padding-top:16px;">
|
||||
<div style="font-size:13px;font-weight:500;color:var(--tekst-glavni);margin-bottom:10px;">Automatski backup</div>
|
||||
<form method="POST" action="/podesavanja/sacuvaj">
|
||||
<input type="hidden" name="_next" value="/admin/podesavanja/sistem">
|
||||
<div style="display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;">
|
||||
<div>
|
||||
<label for="backup_interval_sati" style="font-size:13px;color:var(--tekst-sporedni);display:block;margin-bottom:6px;">Razmak između backupa (sati)</label>
|
||||
<input type="number" id="backup_interval_sati" name="backup_interval_sati" min="1" max="720" value="{{.BackupIntervalSati}}"
|
||||
style="width:140px;padding:8px 12px;background:var(--pozadina);border:0.5px solid var(--ivica);border-radius:8px;color:var(--tekst-glavni);font-size:14px;">
|
||||
</div>
|
||||
<div>
|
||||
<label for="backup_broj_kopija" style="font-size:13px;color:var(--tekst-sporedni);display:block;margin-bottom:6px;">Broj kopija koje se čuvaju</label>
|
||||
<input type="number" id="backup_broj_kopija" name="backup_broj_kopija" min="1" max="100" value="{{.BackupBrojKopija}}"
|
||||
style="width:140px;padding:8px 12px;background:var(--pozadina);border:0.5px solid var(--ivica);border-radius:8px;color:var(--tekst-glavni);font-size:14px;">
|
||||
</div>
|
||||
<button type="submit"
|
||||
style="padding:9px 18px;background:var(--sb-akcent);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;">
|
||||
Sačuvaj
|
||||
</button>
|
||||
</div>
|
||||
<div style="font-size:12px;color:var(--tekst-sporedni);margin-top:8px;">
|
||||
Backup se pravi pri pokretanju programa i zatim na svakih {{.BackupIntervalSati}} h. Najstarije kopije se brišu kad ih ima više od zadatog broja.
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- panel sa listom backupa -->
|
||||
<div id="backup-panel" style="display:none;margin-top:16px;border-top:0.5px solid var(--ivica);padding-top:16px;">
|
||||
<div style="font-size:13px;font-weight:500;color:var(--tekst-glavni);margin-bottom:10px;">Dostupne rezervne kopije</div>
|
||||
|
||||
Reference in New Issue
Block a user