Сброс
@@ -36,6 +50,7 @@
{% csrf_token %}
+
{% for card in report_cards %}
diff --git a/shiftflow/views.py b/shiftflow/views.py
index 1120b4b..1136993 100644
--- a/shiftflow/views.py
+++ b/shiftflow/views.py
@@ -5148,6 +5148,7 @@ class LegacyWriteOffsView(LoginRequiredMixin, TemplateView):
start_date = (self.request.GET.get('start_date') or '').strip()
end_date = (self.request.GET.get('end_date') or '').strip()
+ is_synced = (self.request.GET.get('is_synced') or '').strip()
reset = self.request.GET.get('reset')
if not start_date or not end_date or reset:
@@ -5158,6 +5159,8 @@ class LegacyWriteOffsView(LoginRequiredMixin, TemplateView):
ctx['start_date'] = start_date
ctx['end_date'] = end_date
+ ctx['is_synced'] = is_synced if is_synced in ['0', '1'] else ''
+ ctx['is_synced'] = is_synced if is_synced in ['0', '1'] else ''
reports_qs = (
CuttingSession.objects.select_related('machine', 'operator')
@@ -5165,6 +5168,12 @@ class LegacyWriteOffsView(LoginRequiredMixin, TemplateView):
.order_by('-date', '-id')
)
+ if is_synced in ['0', '1']:
+ reports_qs = reports_qs.filter(is_synced_1c=bool(int(is_synced)))
+
+ if is_synced in ['0', '1']:
+ reports_qs = reports_qs.filter(is_synced_1c=bool(int(is_synced)))
+
reports = list(
reports_qs.prefetch_related(
'tasks__task__deal',
@@ -6149,6 +6158,7 @@ class WriteOffsView(LoginRequiredMixin, TemplateView):
start_date = (self.request.GET.get('start_date') or '').strip()
end_date = (self.request.GET.get('end_date') or '').strip()
+ is_synced = (self.request.GET.get('is_synced') or '').strip()
reset = self.request.GET.get('reset')
if not start_date or not end_date or reset:
@@ -6159,6 +6169,7 @@ class WriteOffsView(LoginRequiredMixin, TemplateView):
ctx['start_date'] = start_date
ctx['end_date'] = end_date
+ ctx['is_synced'] = is_synced if is_synced in ['0', '1'] else ''
reports_qs = (
CuttingSession.objects.select_related('machine', 'operator')
@@ -6166,6 +6177,9 @@ class WriteOffsView(LoginRequiredMixin, TemplateView):
.order_by('-date', '-id')
)
+ if is_synced in ['0', '1']:
+ reports_qs = reports_qs.filter(is_synced_1c=bool(int(is_synced)))
+
reports = list(
reports_qs.prefetch_related(
'tasks__task__deal',
@@ -6218,6 +6232,9 @@ class WriteOffsView(LoginRequiredMixin, TemplateView):
.filter(status__in=['done', 'partial'], date__gte=start_date, date__lte=end_date)
.order_by('-date', '-id')
)
+
+ if is_synced in ['0', '1']:
+ items_qs = items_qs.filter(is_synced_1c=bool(int(is_synced)))
ctx['items'] = list(items_qs)
return ctx
@@ -6241,4 +6258,9 @@ class WriteOffsView(LoginRequiredMixin, TemplateView):
start_date = (request.POST.get('start_date') or '').strip()
end_date = (request.POST.get('end_date') or '').strip()
- return redirect(f"{reverse_lazy('writeoffs')}?start_date={start_date}&end_date={end_date}")
\ No newline at end of file
+ is_synced = (request.POST.get('is_synced') or '').strip()
+
+ url = f"{reverse_lazy('writeoffs')}?start_date={start_date}&end_date={end_date}"
+ if is_synced in ['0', '1']:
+ url += f"&is_synced={is_synced}"
+ return redirect(url)
\ No newline at end of file