feat: vise taskova po putnom nalogu i izmjena podataka dizalice

- task_management/views.py: dodaj ?work_order= filter u get_queryset
  (jedini razlog zasto putni nalog nije mogao imati vise taskova bio je
  nedostatak backend filtera; model uvijek podrzavao vise taskova)
- fleet/serializers.py: ukloni current_mileage iz read_only_fields
  kako bi se moglo azurirati putem PATCH /fleet/cranes/{id}/
- fleetDashboardStore.js: dodaj fetchTasksByWorkOrder(workOrderId)
  koji dohvaca GET tasks/tasks/?work_order={id}
- WorkOrderDetailModal.jsx:
  * import TaskCreateModal, fetchTasksByWorkOrder, updateVehicle, getStatusLabel
  * nova sekcija 'Zadaci putnog naloga' s popisom i gumbom '+ Dodaj zadatak'
  * gumb '🔧 Izmijeni podatke dizalice' otvara CraneDataModal
  * CraneDataModal: unos superstructure_working_hours, chassis_working_hours,
    current_mileage; poziva updateVehicle; prikazuje trenutne vrijednosti
    kao placeholder

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
mariomitte
2026-07-31 12:28:48 +02:00
parent 525152b817
commit 8b82481bb4
4 changed files with 226 additions and 1 deletions

View File

@@ -38,7 +38,7 @@ class VehicleSerializer(serializers.ModelSerializer):
'is_company_vehicle', 'client', 'client_name',
'assigned_servicer', 'is_active',
]
read_only_fields = ['id', 'current_mileage', 'client_name']
read_only_fields = ['id', 'client_name']
def get_client_name(self, obj):
if obj.client_id:

View File

@@ -30,6 +30,9 @@ class TaskViewSet(viewsets.ModelViewSet):
scheduled_date = self.request.query_params.get('scheduled_date')
if scheduled_date:
qs = qs.filter(scheduled_date=scheduled_date)
work_order_id = self.request.query_params.get('work_order')
if work_order_id:
qs = qs.filter(work_order_id=work_order_id)
return qs
def perform_create(self, serializer):