prvi kod za live uporabu
Some checks failed
ERP CI Pipeline / test (push) Has been cancelled

This commit is contained in:
mariomitte
2026-07-09 21:21:17 +02:00
parent 857bb65d52
commit 5d39e048ba
239 changed files with 25151 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
# backend/modules/task_management/tasks.py
from celery import shared_task
from .models import Task
from django.contrib.auth import get_user_model
from modules.fleet.models import Vehicle, WorkOrder
@shared_task
def create_task_from_invoice(invoice_data):
"""
Ovaj zadatak se poziva asinkrono.
"""
User = get_user_model()
# Logika: dodijeli zadatak adminu ako je račun veći od 1000
amount = float(invoice_data.get('amount', 0))
admin_user = User.objects.filter(is_staff=True).first()
work_order = None
vehicle = None
work_order_id = invoice_data.get('work_order_id')
vehicle_id = invoice_data.get('vehicle_id')
if work_order_id:
work_order = WorkOrder.objects.filter(pk=work_order_id).first()
if work_order:
vehicle = work_order.vehicle
if vehicle is None and vehicle_id:
vehicle = Vehicle.objects.filter(pk=vehicle_id).first()
if amount > 1000:
Task.objects.create(
title=f"Provjera računa: {invoice_data['invoice_number']}",
description=f"Račun iznosi {amount}, potrebna revizija.",
assigned_to=admin_user,
status='aktivan',
vehicle=vehicle,
work_order=work_order,
)