# Generated by Django 5.2.15 on 2026-07-12 from django.db import migrations def seed_task_templates(apps, schema_editor): TaskTemplate = apps.get_model('task_management', 'TaskTemplate') TaskTemplateEntry = apps.get_model('task_management', 'TaskTemplateEntry') templates = [ { 'code': 'zamjena-ulja-500h', 'title': 'Zamjena ulja nakon 500h', 'description': 'Redovni servis uljnog sustava nakon 500 radnih sati.', 'status': 'aktivan', 'entries': [ ('Provjera razine i stanja ulja', 'Izvršena kontrola razine i vizualna kontrola kontaminacije ulja.', 'Nema aktivnih grešaka.', 'Sustav uredan, bez upozorenja.'), ('Ispuštanje starog ulja', 'Sigurno ispušteno staro ulje prema servisnoj proceduri.', 'Nema aktivnih grešaka.', 'Ulje zamijenjeno prema uputama proizvođača.'), ('Zamjena filtera ulja', 'Demontiran stari i ugrađen novi filter ulja.', 'Nema aktivnih grešaka.', 'Filter promijenjen i sustav pripremljen za punjenje.'), ('Punjenje i test sustava', 'Sustav napunjen novim uljem i odrađen probni rad.', 'Nema aktivnih grešaka.', 'Nakon testa nema curenja ni grešaka.'), ], }, { 'code': 'zamjena-ulja-1000h', 'title': 'Zamjena ulja nakon 1000h', 'description': 'Veliki servis uljnog sustava nakon 1000 radnih sati.', 'status': 'aktivan', 'entries': [ ('Dijagnostika sustava prije servisa', 'Očitani parametri rada i zabilježeno početno stanje.', 'Provjeriti povremeni pad tlaka.', 'Prijevod poruke greške i potvrda simptoma na hrvatskom.'), ('Zamjena ulja i glavnih filtera', 'Zamijenjeno ulje i svi pripadajući filter elementi.', 'Nema kritičnih aktivnih grešaka.', 'Servisni interval resetiran.'), ('Kontrola brtvi i spojeva', 'Pregledani spojevi i brtve na mogućnost curenja.', 'Nema aktivnih grešaka.', 'Spojevi su suhi i ispravni.'), ('Test pod opterećenjem', 'Izvršen funkcionalni test pod radnim opterećenjem.', 'Nema aktivnih grešaka.', 'Sustav stabilan pri opterećenju.'), ], }, { 'code': 'promjena-senzora', 'title': 'Promjena senzora', 'description': 'Zamjena neispravnog senzora i verifikacija rada.', 'status': 'aktivan', 'entries': [ ('Identifikacija neispravnog senzora', 'Dijagnostikom potvrđena neispravnost senzora.', 'Aktivna greška senzora.', 'Greška prevedena s engleskog i objašnjena korisniku.'), ('Demontaža i montaža novog senzora', 'Neispravan senzor uklonjen i ugrađen novi originalni dio.', 'Nema novih aktivnih grešaka.', 'Montaža izvedena prema specifikaciji.'), ('Kalibracija senzora', 'Izvršena kalibracija i sinkronizacija s upravljačkom jedinicom.', 'Nema aktivnih grešaka.', 'Kalibracija uspješna.'), ('Završno testiranje', 'Provjeren odziv sustava tijekom rada.', 'Nema aktivnih grešaka.', 'Senzor radi unutar tolerancije.'), ], }, { 'code': 'aktivna-osovina-ukoso', 'title': 'Aktivna osovina ide ukoso', 'description': 'Dijagnostika i otklanjanje kvara aktivne osovine.', 'status': 'aktivan', 'entries': [ ('Dijagnostika geometrije osovine', 'Provjereni kutovi i odstupanja geometrije osovine.', 'Aktivna greška upravljanja osovinom.', 'Opis greške preveden i pojašnjen na hrvatskom.'), ('Pregled hidrauličkih komponenti', 'Provjeren tlak i stanje hidrauličkih vodova.', 'Mogući pad tlaka na upravljačkom krugu.', 'Predložena zamjena kritičnog ventila.'), ('Korekcija i podešavanje', 'Izvršeno mehaničko/hidrauličko podešavanje osovine.', 'Nema aktivnih grešaka nakon podešavanja.', 'Osovina vraćena u radne tolerancije.'), ('Probna vožnja i završna potvrda', 'Izvršena probna vožnja i kontrola stabilnosti pravca.', 'Nema aktivnih grešaka.', 'Kvar otklonjen, vozilo spremno za rad.'), ], }, ] for template_data in templates: entries = template_data.pop('entries') template, _ = TaskTemplate.objects.update_or_create( code=template_data['code'], defaults=template_data, ) TaskTemplateEntry.objects.filter(task_template=template).delete() for idx, entry in enumerate(entries, start=1): title, work_description, active_faults, explanation_hr = entry TaskTemplateEntry.objects.create( task_template=template, sort_order=idx, title=title, work_description=work_description, active_faults=active_faults, explanation_hr=explanation_hr, ) def reverse_seed_task_templates(apps, schema_editor): TaskTemplate = apps.get_model('task_management', 'TaskTemplate') TaskTemplate.objects.filter( code__in=[ 'zamjena-ulja-500h', 'zamjena-ulja-1000h', 'promjena-senzora', 'aktivna-osovina-ukoso', ] ).delete() class Migration(migrations.Migration): dependencies = [ ('task_management', '0004_tasktemplate_taskworkentry'), ] operations = [ migrations.RunPython(seed_task_templates, reverse_seed_task_templates), ]