From 5905c693e63b612c431f815bad0f512a80abaf68 Mon Sep 17 00:00:00 2001 From: ske087 Date: Mon, 1 Dec 2025 23:48:09 +0200 Subject: [PATCH] udpdated vier and checked some documentation --- py_app/app/routes.py | 11 +- py_app/app/static/docs/daily_mirror.md | 297 +++++++++++++++++ py_app/app/static/docs/etichete.md | 331 +++++++++++++++++++ py_app/app/templates/daily_mirror.html | 7 + py_app/app/templates/docs/help_viewer.html | 4 +- py_app/app/templates/main_page_etichete.html | 7 + py_app/app/templates/settings.html | 4 +- py_app/requirements.txt | 3 +- py_app/static/style.css | 67 ---- 9 files changed, 653 insertions(+), 78 deletions(-) create mode 100644 py_app/app/static/docs/daily_mirror.md create mode 100644 py_app/app/static/docs/etichete.md delete mode 100755 py_app/static/style.css diff --git a/py_app/app/routes.py b/py_app/app/routes.py index e9e6209..3e135b1 100755 --- a/py_app/app/routes.py +++ b/py_app/app/routes.py @@ -3976,19 +3976,18 @@ def api_daily_mirror_history_data(): # Help/Documentation Routes @bp.route('/help') @bp.route('/help/') -def help(page='index'): +def help(page='dashboard'): """Display help documentation from Markdown files""" import markdown import os # Map page names to markdown files doc_files = { - 'index': 'index.md', 'dashboard': 'dashboard.md', 'print_module': 'print_module.md', - 'upload_data': 'upload_data.md', - 'view_orders': 'view_orders.md', - 'print_lost_labels': 'print_lost_labels.md' + 'print_lost_labels': 'print_lost_labels.md', + 'daily_mirror': 'daily_mirror.md', + 'etichete': 'etichete.md' } # Get the markdown file path @@ -3996,7 +3995,7 @@ def help(page='index'): return render_template('docs/help_viewer.html', error=f"Documentația pentru '{page}' nu a fost găsită.") - doc_path = os.path.join(current_app.static_folder, 'docs', doc_files[page]) + doc_path = os.path.join(current_app.root_path, 'static', 'docs', doc_files[page]) try: # Read and convert markdown to HTML diff --git a/py_app/app/static/docs/daily_mirror.md b/py_app/app/static/docs/daily_mirror.md new file mode 100644 index 0000000..773a3b7 --- /dev/null +++ b/py_app/app/static/docs/daily_mirror.md @@ -0,0 +1,297 @@ +# Daily Mirror - Ghid de Utilizare + +## Prezentare Generală + +Daily Mirror este modulul de raportare și analiză a producției care oferă o vedere de ansamblu completă asupra activităților zilnice, performanței operatorilor și indicatorilor cheie de producție. + +## Cum să Accesați Daily Mirror + +1. Din dashboard, accesați **Daily Mirror** din meniul lateral +2. Sau folosiți butonul de acces rapid "Daily Mirror Dashboard" + +**Notă**: Trebuie să aveți permisiuni pentru modulul Daily Mirror pentru a-l accesa. + +--- + +## Secțiuni Principale + +### 1. Dashboard Principal (Daily Mirror Main) + +Ecranul principal oferă o vedere de ansamblu zilnică cu: + +#### Indicatori Cheie (KPIs) + +- **📦 Comenzi Totale**: Numărul total de comenzi procesate în ziua curentă +- **🚀 Producție Lansată**: Cantitatea de produse lansate în producție +- **✅ Producție Finalizată**: Cantitatea de produse finalizate +- **📤 Comenzi Livrate**: Numărul de comenzi livrate către clienți +- **👥 Operatori Activi**: Numărul de operatori care au lucrat în ziua respectivă + +#### Grafice Interactive + +**Grafic Producție pe Oră** +- Vizualizează volumul de producție pe parcursul zilei +- Identifică orele de vârf de producție +- Monitorizează tendințele de performanță + +**Grafic Eficiență Producție** +- Rata de lansare în producție +- Rata de finalizare +- Rata de livrare +- Comparație cu obiectivele stabilite + +**Grafic Performanță Operatori** +- Top operatori după cantitate procesată +- Analiza productivității individuale +- Identificarea operatorilor cu performanță ridicată + +### 2. Istoric Producție (Daily Mirror History) + +Această secțiune permite analiza datelor istorice: + +#### Filtrare Date + +1. **Selectați Perioada**: + - Utilizați selectorii de dată pentru început și sfârșit + - Opțiuni rapide: Astăzi, Ultima săptămână, Luna curentă + +2. **Filtre Avansate**: + - Filtrare după operator + - Filtrare după comandă + - Filtrare după client + - Filtrare după status + +#### Vizualizare Tendințe + +- **Grafic Trend Producție**: Vezi evoluția producției în timp +- **Comparație Perioade**: Compară performanța între diferite perioade +- **Analiza Sezonieră**: Identifică fluctuații sezoniere + +#### Export Date + +- **Export Excel**: Descarcă rapoarte complete în format Excel +- **Export PDF**: Generează rapoarte printabile +- **Export CSV**: Exportă date brute pentru analiză + +### 3. Construire Bază de Date (Build Database) + +Funcție administrativă pentru gestionarea datelor: + +#### Când să Utilizați + +- Dacă datele nu se afișează corect +- După o resetare de sistem +- Pentru rebuild complet al datelor de raportare + +#### Cum să Utilizați + +1. Accesați secțiunea "Build Database" +2. Selectați tipul de rebuild: + - **Rebuild Complet**: Reconstruiește toate datele + - **Rebuild Incremental**: Actualizează doar datele noi +3. Confirmați acțiunea +4. Așteptați finalizarea procesului (poate dura câteva minute) + +**⚠️ ATENȚIE**: Această operațiune poate dura timp îndelungat pentru volume mari de date. + +--- + +## Interpretarea Datelor + +### Indicatori de Performanță + +#### Rata de Lansare +``` +Rata de Lansare = (Producție Lansată / Comenzi Totale) × 100% +``` +- **Verde (>90%)**: Performanță excelentă +- **Galben (70-90%)**: Performanță acceptabilă +- **Roșu (<70%)**: Necesită atenție + +#### Rata de Finalizare +``` +Rata de Finalizare = (Producție Finalizată / Producție Lansată) × 100% +``` +- **Verde (>85%)**: Eficiență ridicată +- **Galben (60-85%)**: Necesită îmbunătățiri +- **Roșu (<60%)**: Probleme semnificative + +#### Rata de Livrare +``` +Rata de Livrare = (Comenzi Livrate / Producție Finalizată) × 100% +``` +- **Verde (>95%)**: Livrări la timp +- **Galben (80-95%)**: Întârzieri minore +- **Roșu (<80%)**: Probleme de livrare + +### Cod Culori pentru Grafice + +- 🟦 **Albastru**: Comenzi procesate +- 🟩 **Verde**: Producție finalizată +- 🟨 **Galben**: Producție în curs +- 🟥 **Roșu**: Comenzi cu probleme + +--- + +## Funcții Avansate + +### 1. Alerte Automate + +Sistemul generează alerte automate pentru: + +- ⚠️ **Scăderea producției**: Când producția scade sub pragul normal +- ⚠️ **Întârzieri**: Când comenzile depășesc termenul de livrare +- ⚠️ **Calitate**: Când rata de reject crește +- ⚠️ **Operatori**: Când performanța scade semnificativ + +### 2. Comparație cu Obiectivele + +Setați obiective zilnice/lunare și monitorizați: + +- Progresul față de obiectiv în timp real +- Estimări pentru îndeplinirea obiectivelor +- Sugestii pentru îmbunătățire + +### 3. Rapoarte Programate + +Configurați rapoarte automate: + +1. Accesați Settings > Daily Mirror Settings +2. Selectați "Scheduled Reports" +3. Configurați: + - Frecvența (zilnic, săptămânal, lunar) + - Destinatarii email + - Tipul de raport + - Format (PDF/Excel) + +--- + +## Best Practices + +### Pentru Operatori + +✅ **Actualizați statusul comenzilor prompt** +- Marcați comenzile ca "În producție" imediat ce începeți lucrul +- Actualizați progresul regulat +- Marcați finalizarea imediat după terminare + +✅ **Verificați datele introduse** +- Asigurați-vă că cantitățile sunt corecte +- Verificați codurile de produs +- Confirmați datele clientului + +### Pentru Manageri + +✅ **Monitorizați dashboard-ul zilnic** +- Verificați indicatorii cheie dimineața +- Monitorizați progresul pe parcursul zilei +- Analizați rezultatele la sfârșitul zilei + +✅ **Analizați tendințele săptămânal** +- Identificați pattern-uri de performanță +- Ajustați planificarea producției +- Oferiți feedback operatorilor + +✅ **Generați rapoarte lunar** +- Raport complet de performanță +- Comparație cu lunile anterioare +- Planificare pentru luna următoare + +--- + +## Rezolvare Probleme + +### Problema: Date Lipsă pe Dashboard + +**Soluții**: +1. ✓ Verificați conexiunea la internet +2. ✓ Reîncărcați pagina (F5) +3. ✓ Verificați dacă datele au fost introduse corect +4. ✓ Rulați "Build Database" pentru a regenera datele +5. ✓ Contactați administratorul dacă problema persistă + +### Problema: Graficele Nu Se Încarcă + +**Soluții**: +1. ✓ Curățați cache-ul browserului (CTRL+SHIFT+DEL) +2. ✓ Verificați conexiunea la internet +3. ✓ Încercați un alt browser +4. ✓ Dezactivați extensiile de browser temporar +5. ✓ Verificați firewall-ul companiei + +### Problema: Export-ul Nu Funcționează + +**Soluții**: +1. ✓ Verificați permisiunile de descărcare în browser +2. ✓ Asigurați-vă că nu blocați pop-up-uri +3. ✓ Verificați spațiul disponibil pe disc +4. ✓ Încercați alt format de export (Excel → PDF) + +### Problema: Cifre Incorecte în Rapoarte + +**Soluții**: +1. ✓ Verificați perioada selectată +2. ✓ Confirmați filtrele aplicate +3. ✓ Rulați "Build Database" pentru refresh +4. ✓ Verificați datele sursă în modulul de comenzi +5. ✓ Contactați administratorul pentru verificare + +--- + +## Tips & Tricks + +💡 **Sfat**: Folosiți filtrele rapide pentru a accesa rapid date specifice (Astăzi, Săptămâna asta, Luna asta). + +💡 **Sfat**: Exportați rapoartele zilnice la sfârșitul fiecărei zile pentru evidență. + +💡 **Sfat**: Setați alerte personalizate pentru indicatorii care vă interesează cel mai mult. + +💡 **Sfat**: Folosiți graficele interactive - click pe elemente pentru detalii suplimentare. + +💡 **Sfat**: Adăugați Daily Mirror la favorite în browser pentru acces rapid. + +--- + +## Întrebări Frecvente + +**Î: Cât de des se actualizează datele?** +R: Datele se actualizează în timp real. Dashboard-ul se reîmprospătează automat la fiecare 30 de secunde. + +**Î: Pot vedea date de acum o lună?** +R: Da, folosiți secțiunea "Daily Mirror History" și selectați perioada dorită. + +**Î: Cum export datele pentru mai multe luni?** +R: Selectați perioada dorită în History și folosiți butonul "Export Excel" pentru export complet. + +**Î: Pot compara performanța între operatori?** +R: Da, graficul "Performanță Operatori" afișează comparație directă. Pentru analiză detaliată, exportați datele în Excel. + +**Î: Ce fac dacă datele nu corespund cu realitatea?** +R: Rulați "Build Database" pentru a regenera datele. Dacă problema persistă, contactați administratorul. + +**Î: Pot seta alerte personalizate?** +R: Da, accesați Settings > Daily Mirror > Alerts și configurați alertele dorite. + +**Î: Cum printez un raport?** +R: Exportați raportul ca PDF și apoi printați folosind opțiunile standard ale browserului (CTRL+P). + +--- + +## Suport Tehnic + +Pentru asistență suplimentară sau raportarea problemelor: + +- 📧 Email: support@quality-app.com +- 📞 Telefon: Contact administratorul de sistem +- 💬 Chat: Folosiți funcția de chat din aplicație (dacă este disponibilă) + +--- + +## Actualizări și Noutăți + +**Versiunea 2.0 (Decembrie 2025)** +- ✨ Dashboard îmbunătățit cu grafice interactive +- ✨ Export în multiple formate (Excel, PDF, CSV) +- ✨ Alerte automate configurabile +- ✨ Analiză avansată a tendințelor +- ✨ Suport pentru mod întunecat (dark mode) diff --git a/py_app/app/static/docs/etichete.md b/py_app/app/static/docs/etichete.md new file mode 100644 index 0000000..b454665 --- /dev/null +++ b/py_app/app/static/docs/etichete.md @@ -0,0 +1,331 @@ +# Modul Etichete - Ghid de Utilizare + +## Prezentare Generală + +Modulul Etichete este centrul de comandă pentru gestionarea completă a etichetelor de producție. Acesta oferă acces rapid la toate funcționalitățile necesare pentru procesarea comenzilor și generarea etichetelor. + +## Cum să Accesați Modulul Etichete + +1. Din dashboard principal, accesați **Etichete** din meniul lateral +2. Sau folosiți butonul de acces rapid "Labels Module" + +**Notă**: Trebuie să aveți permisiuni pentru modulul de etichete pentru a-l accesa. + +--- + +## Secțiuni Principale + +Modulul Etichete este organizat în carduri funcționale care oferă acces rapid la diferite operațiuni: + +### 1. View Orders (Vizualizare Comenzi) + +Această secțiune vă permite să gestionați comenzile și datele pentru etichete. + +#### Upload Orders (Încărcare Comenzi) + +**Descriere**: Încărcați comenzi noi în sistem din fișiere Excel sau CSV. + +**Cum să utilizați**: + +1. Click pe butonul **"Upload Orders"** +2. Selectați fișierul cu comenzile (format: `.xlsx`, `.xls`, sau `.csv`) +3. Verificați preview-ul datelor +4. Confirmați încărcarea + +**Câmpuri Necesare în Fișier**: +- `comanda_productie` - Număr comandă de producție +- `cod_articol` - Cod articol produs +- `descr_com_prod` - Descriere comandă producție +- `cantitate` - Cantitate comandată +- `data_livrare` - Data livrare +- `customer_name` - Nume client +- `customer_article_number` - Număr articol client + +**Formate Acceptate**: +- 📊 **Excel**: `.xlsx`, `.xls` +- 📄 **CSV**: `.csv` (UTF-8) + +**Tips**: +- 💡 Verificați întotdeauna preview-ul înainte de confirmare +- 💡 Asigurați-vă că toate coloanele necesare sunt prezente +- 💡 Datele duplicate vor fi ignorate + +#### View Orders (Vizualizare Comenzi) + +**Descriere**: Vizualizați și gestionați comenzile existente în sistem. + +**Funcționalități**: +- 📋 Lista completă a tuturor comenzilor +- 🔍 Căutare și filtrare avansată +- ✏️ Editare comenzi existente +- 🗑️ Ștergere comenzi +- 📊 Vizualizare status producție + +**Filtre Disponibile**: +- Filtrare după număr comandă +- Filtrare după client +- Filtrare după data livrare +- Filtrare după status (activ/inactiv) + +**Acțiuni Disponibile**: +- ✏️ **Edit**: Modificați detaliile comenzii +- 🖨️ **Print**: Generați etichete pentru comandă +- 🗑️ **Delete**: Ștergeți comanda din sistem +- 👁️ **View**: Vedeți detalii complete + +--- + +### 2. Printing Module (Modul de Printare) + +Centrul pentru toate operațiunile de printare a etichetelor. + +#### Launch Printing Module + +**Descriere**: Deschide modulul principal de printare pentru generarea etichetelor standard. + +**Când să utilizați**: +- Pentru printarea etichetelor pentru comenzi noi +- Pentru reprintarea etichetelor existente +- Pentru generarea etichetelor în lot + +**Pași de utilizare**: + +1. **Click pe "Launch Printing Module"** +2. **Selectați comanda** din lista disponibilă +3. **Configurați opțiunile de printare**: + - Selectați produsele + - Specificați cantitățile + - Alegeți formatul etichetelor +4. **Generați etichetele** +5. **Printați** automat sau descărcați PDF + +**Opțiuni de Printare**: +- 🖨️ **Printare Automată**: Trimite direct la imprimantă +- 💾 **Download PDF**: Salvează ca PDF pentru printare ulterioară +- 📄 **Preview**: Vizualizează înainte de printare + +#### Launch Lost Labels Printing Module + +**Descriere**: Modul special pentru reprintarea etichetelor pierdute sau deteriorate. + +**Când să utilizați**: +- Etichete pierdute în producție +- Etichete deteriorate sau ilizibile +- Etichete printate incorect + +**Caracteristici Speciale**: +- 🔍 Căutare rapidă după număr comandă +- 🎯 Selectare precisă a etichetelor necesare +- 📝 Tracking pentru etichete reprinate +- ⚠️ Alertă pentru printări multiple + +**Pași de utilizare**: + +1. **Click pe "Launch lost labels printing module"** +2. **Introduceți numărul comenzii** +3. **Selectați produsele** pentru care aveți nevoie de etichete +4. **Specificați motivul** reprintării (opțional) +5. **Generați și printați** etichetele + +--- + +## Fluxul de Lucru Recomandat + +### Pentru Comenzi Noi + +``` +1. Upload Orders → 2. View Orders (verificare) → 3. Printing Module → 4. Printare +``` + +**Detaliat**: + +1. **Încărcați comenzile** folosind "Upload Orders" + - Pregătiți fișierul cu comenzile noi + - Încărcați și verificați preview-ul + - Confirmați încărcarea + +2. **Verificați comenzile** în "View Orders" + - Asigurați-vă că toate datele sunt corecte + - Editați dacă este necesar + - Verificați cantitățile + +3. **Generați etichetele** în "Printing Module" + - Selectați comenzile pentru printare + - Configurați opțiunile + - Generați etichetele + +4. **Printați etichetele** + - Printare automată sau download PDF + - Verificați calitatea printării + - Atașați etichetele la produse + +### Pentru Etichete Pierdute + +``` +1. Lost Labels Module → 2. Căutare Comandă → 3. Selectare → 4. Reprintare +``` + +**Detaliat**: + +1. **Accesați modulul** de etichete pierdute +2. **Căutați comanda** specifică +3. **Selectați produsele** necesare +4. **Reprintați** etichetele + +--- + +## Funcționalități Avansate + +### 1. Procesare în Lot (Batch Processing) + +Pentru comenzi multiple: + +1. Accesați "View Orders" +2. Selectați multiple comenzi (checkbox-uri) +3. Click pe "Batch Actions" +4. Alegeți acțiunea dorită: + - 🖨️ Print All + - ✏️ Bulk Edit + - 🗑️ Delete Selected + +### 2. Export și Raportare + +Exportați date pentru analiză: + +- **Export Excel**: Date complete comenzi +- **Export CSV**: Pentru procesare externă +- **Print Reports**: Rapoarte printabile +- **Statistics**: Statistici de utilizare + + +## Integrări și Automatizări + + + +### QZ Tray + +QZ Tray este necesar pentru comunicarea cu imprimanta: + +1. Descărcați și instalați QZ Tray +2. Verificați că rulează (iconiță în system tray) +3. Extensia Chrome se va conecta automat + +--- + +## Rezolvare Probleme + +### Problema: Nu pot încărca fișierul cu comenzi + +**Soluții**: +1. ✓ Verificați formatul fișierului (Excel sau CSV) +2. ✓ Asigurați-vă că toate coloanele necesare există +3. ✓ Verificați că fișierul nu este corupt +4. ✓ Încercați să salvați fișierul din nou +5. ✓ Verificați dimensiunea fișierului (max 10MB) + +### Problema: Comenzile nu apar în listă + +**Soluții**: +1. ✓ Reîmprospătați pagina (F5) +2. ✓ Verificați filtrele aplicate +3. ✓ Asigurați-vă că încărcarea s-a finalizat cu succes +4. ✓ Verificați conexiunea la baza de date +5. ✓ Contactați administratorul + +### Problema: Nu pot printa etichete + +**Soluții**: +1. ✓ Verificați că imprimanta este pornită +2. ✓ Verificați instalarea extensiei Chrome +3. ✓ Verificați că QZ Tray rulează +4. ✓ Testați cu download PDF mai întâi +5. ✓ Restartați browserul + +### Problema: Etichete printate incorect + +**Soluții**: +1. ✓ Verificați setările imprimantei +2. ✓ Verificați formatul etichetelor selectat +3. ✓ Testați cu o singură etichetă mai întâi +4. ✓ Verificați template-ul utilizat +5. ✓ Recalibrați imprimanta + +--- + +## Tips & Tricks + +💡 **Sfat**: Folosiți preview-ul înainte de fiecare încărcare pentru a evita erorile. + +💡 **Sfat**: Folosiți căutarea rapidă (CTRL+F) în lista de comenzi pentru a găsi rapid comenzile. + +💡 **Sfat**: Exportați lista de comenzi săptămânal pentru evidență. + +💡 **Sfat**: Verificați zilnic comenzile cu status "pending" pentru a evita întârzierile. + +💡 **Sfat**: Folosiți modulul de etichete pierdute pentru tracking-ul reprintărilor. + +--- + +## Scurtături de Tastatură + +Accelerați lucrul cu aceste scurtături: + +- **CTRL + U**: Deschide Upload Orders +- **CTRL + V**: Deschide View Orders +- **CTRL + P**: Deschide Printing Module +- **CTRL + L**: Deschide Lost Labels Module +- **CTRL + F**: Căutare în lista de comenzi +- **ESC**: Închide dialog-uri/ferestre + +--- + +## Întrebări Frecvente + +**Î: Ce format trebuie să aibă fișierul cu comenzi?** +R: Acceptăm Excel (.xlsx, .xls) și CSV (.csv). Fișierul trebuie să conțină coloanele standard: comanda_productie, cod_articol, cantitate, etc. + +**Î: Pot edita o comandă după încărcare?** +R: Da, accesați "View Orders", găsiți comanda și click pe butonul "Edit". + +**Î: Cât timp rămân comenzile în sistem?** +R: Comenzile rămân permanent până sunt șterse manual sau arhivate de administrator. + +**Î: Pot printa etichete pentru multiple comenzi simultan?** +R: Da, folosiți funcția "Batch Print" din View Orders. + +**Î: Ce fac dacă o etichetă s-a deteriorat?** +R: Folosiți "Lost Labels Printing Module" pentru reprintare rapidă. + +**Î: Pot personaliza template-urile de etichete?** +R: Momentan nu, dar funcționalitatea este în dezvoltare. Contactați administratorul pentru cerințe speciale. + +**Î: Cum verific câte etichete am printat pentru o comandă?** +R: În "View Orders", click pe comandă pentru a vedea istoricul complet de printare. + +--- + +## Suport și Asistență + +Pentru ajutor suplimentar: + +- 📚 Consultați documentația detaliată a fiecărui modul +- 💬 Contactați administratorul de sistem +- 📧 Email: support@quality-app.com +- 📞 Telefon: Verificați în Settings pentru numărul de contact + +--- + +## Actualizări Recente + +**Decembrie 2025** +- ✨ Interfață îmbunătățită pentru modul etichete +- ✨ Suport pentru formate multiple de fișiere +- ✨ Funcție de reprintare etichete pierdute +- ✨ Integrare îmbunătățită cu QZ Tray +- ✨ Validare automată date la încărcare + +**Viitor** +- 🔜 Gestionare template-uri personalizate +- 🔜 Printare QR codes +- 🔜 Integrare cu sistem WMS +- 🔜 Aplicație mobilă pentru scanare diff --git a/py_app/app/templates/daily_mirror.html b/py_app/app/templates/daily_mirror.html index 89009cc..dfe702b 100644 --- a/py_app/app/templates/daily_mirror.html +++ b/py_app/app/templates/daily_mirror.html @@ -331,6 +331,13 @@ {% endblock %} {% block content %} + + +
diff --git a/py_app/app/templates/docs/help_viewer.html b/py_app/app/templates/docs/help_viewer.html index 9c54218..02d99dd 100644 --- a/py_app/app/templates/docs/help_viewer.html +++ b/py_app/app/templates/docs/help_viewer.html @@ -169,10 +169,10 @@
diff --git a/py_app/app/templates/main_page_etichete.html b/py_app/app/templates/main_page_etichete.html index 757ee19..d7ee172 100755 --- a/py_app/app/templates/main_page_etichete.html +++ b/py_app/app/templates/main_page_etichete.html @@ -3,6 +3,13 @@ {% block title %}Modul Etichete{% endblock %} {% block content %} + + +

Modul Etichete

Aceasta este pagina pentru gestionarea etichetelor.

diff --git a/py_app/app/templates/settings.html b/py_app/app/templates/settings.html index 5e3a6dc..a82f2b7 100755 --- a/py_app/app/templates/settings.html +++ b/py_app/app/templates/settings.html @@ -367,7 +367,7 @@ {% if session.role == 'superadmin' %} -
+

🔄 Full Database Restore SUPERADMIN @@ -400,7 +400,7 @@ {% endif %} -
+
💾 Location: /srv/quality_app/backups
diff --git a/py_app/requirements.txt b/py_app/requirements.txt index e27d0cb..85bad6c 100755 --- a/py_app/requirements.txt +++ b/py_app/requirements.txt @@ -8,4 +8,5 @@ reportlab requests pandas openpyxl -APScheduler \ No newline at end of file +APScheduler +Markdown \ No newline at end of file diff --git a/py_app/static/style.css b/py_app/static/style.css deleted file mode 100755 index e8e3466..0000000 --- a/py_app/static/style.css +++ /dev/null @@ -1,67 +0,0 @@ -/* Theme variables for popup and cards */ -:root { - --app-overlay-bg: rgba(30,41,59,0.85); - --app-card-bg: #f8fafc; - --app-card-text: #1e293b; - --app-input-bg: #e2e8f0; - --app-input-text: #1e293b; - --app-label-text: #334155; -} - -body.light-mode { - background: #f8fafc; - color: #1e293b; -} -body.dark-mode { - background: #1e293b; - color: #f8fafc; -} - -.popup { - background: var(--app-overlay-bg) !important; -} -.popup-content { - background: var(--app-card-bg) !important; - color: var(--app-card-text) !important; -} -.popup-content label, -#user-popup-title { - color: var(--app-label-text) !important; -} -.popup-content input, -.popup-content select { - background: var(--app-input-bg) !important; - color: var(--app-input-text) !important; - border: 1px solid #cbd5e1; - border-radius: 4px; - padding: 8px; - margin-bottom: 12px; - width: 90%; - font-size: 1em; -} - -.card { - background: var(--app-card-bg); - color: var(--app-card-text); - box-shadow: 0 2px 8px #333; - border-radius: 8px; -} - -.btn { - background: #1e293b; - color: #f8fafc; - border: none; - border-radius: 4px; - padding: 8px 16px; - cursor: pointer; -} -.btn.cancel-btn { - background: #e11d48; - color: #fff; -} - -/* Label preview card title theme styles */ -.label-view-title { - color: var(--app-card-text) !important; - transition: color 0.2s; -}