Bläddra i källkod

order creation was made workable for testing

ShariX Developer 9 timmar sedan
förälder
incheckning
6a01ca7a95

+ 8 - 1
sharix_admin/forms/order.py

@@ -1,5 +1,12 @@
 from django import forms
 from dbsynce.models import Orders
+from dbsynce.models import Client
+from dbsynce.models import Company
+from dbsynce.models import Service
+from dbsynce.models import ServiceCategory
+from dbsynce.models import Provider
+from tickets.models import Ticket
+from django.contrib.auth import get_user_model
 
 class OrderForm(forms.ModelForm):
     def __init__(self, *args, **kwargs):
@@ -34,4 +41,4 @@ class OrderForm(forms.ModelForm):
         self.fields['provider'].queryset = Provider.objects.all()
         self.fields['service'].queryset = Service.objects.all()
         self.fields['service_category'].queryset = ServiceCategory.objects.all()
-        self.fields['ticket'].queryset = Ticket.objects.all()
+        self.fields['ticket'].queryset = Ticket.objects.all()

+ 9 - 0
sharix_admin/templates/sharix_admin/order.html

@@ -0,0 +1,9 @@
+{% extends 'sharix_admin/base_admin.html' %}
+
+{% block view %}
+<form method="post" class="d-flex flex-column align-items-end">
+	    {% csrf_token %}
+	        {% include 'sharix_admin/include/form.html' %}
+		    <button class="btn btn-primary" type="submit">Отправить</button>
+</form>
+{% endblock %}

+ 35 - 1
sharix_admin/templates/sharix_admin/orders.html

@@ -6,7 +6,41 @@
 {% block view %}
 {% block contenthome %}
 
+<p>
+Список заказов (полный).
+</p>
+
+<div class="dropdown mb-3">
+        <button class="btn btn-secondary dropdown-toggle" type="button" id="howToUseDropdown" data-bs-toggle="dropdown" aria-expanded="false">
+            Как пользоваться?
+        </button>
+        <div class="dropdown-menu" aria-labelledby="howToUseDropdown">
+            <p class="dropdown-item-text custom-dropdown-text">
+            Просто смотрите на заказы и размещайте новые.
+            </p>
+        </div>
+</div>
+
+
+    <div class="mb-3 d-flex justify-content-between align-items-center">
+      <form method="get" action="" class="d-flex align-items-center">
+          <input type="text" name="q" class="form-control" placeholder="Поиск" value="{{ request.GET.q }}" style="width: 300px; height: 38px;">
+          <button type="submit" class="btn btn-primary ms-2" style="height: 38px;">Поиск</button>
+      </form>
+      </div>
+
+{% if "CLIENT" in user_groups %}
+<h1></h1>
+  <div class="container text-end mt-2">
+          <a class="btn btn-primary" id="bord" href={% url "sharix_admin:order/add/" %}>{% trans 'Add' %}</a>
+  </div>
+{% endif %}
+
+    <div class="row justify-content-start">
+          <div class="maintable" id="maintable">
 {% render_table table %}
-    
+          </div>
+      </div>
+
 {% endblock contenthome %}
 {% endblock view %}

+ 23 - 21
sharix_admin/views/order.py

@@ -20,6 +20,7 @@ from sharix_admin.utils import *
 from dbsynce.lib.data import *
 from .base import BaseView
 from django.db.models import Q
+from django.contrib.auth import get_user_model
 
 class OrdersListView(BaseView, SingleTableView):
 #class OrdersListView(UserPassesTestMixin, SingleTableView):
@@ -75,7 +76,7 @@ def change_order_local_status(request):
 class OrdersEditView(BaseView, FormView):
     form_class = OrderForm
     template_name = "sharix_admin/order.html"
-    success_url = reverse_lazy("sharix_admin:order")
+    success_url = reverse_lazy("sharix_admin:orders")
     page_title = 'Изменить заказ'
     page_name = 'order_edit'
 
@@ -87,45 +88,46 @@ class OrdersEditView(BaseView, FormView):
             instance = form.save(commit=False)
             instance.repr = self.request.user
             instance.save()
-            instance.ticket_status = create_ticket_order_local_activation_by_metaservice_supervisor(self.request.user, instance)
+            #instance.ticket_status = create_ticket_order_local_activation_by_metaservice_supervisor(self.request.user, instance)
             instance.save()
             doc_codes = parse_requirements(instance.requirements)
-            Documents.objects.bulk_create([
-                Documents(
-                    order_local=instance, 
-                    user=self.request.user,
-                    doc_type=doc_code
-                ) for doc_code in doc_codes
-            ])
+#            Documents.objects.bulk_create([
+#                Documents(
+#                    order_local=instance, 
+#                    user=self.request.user,
+#                    doc_type=doc_code
+#                ) for doc_code in doc_codes
+#            ])
         messages.success(self.request, 'Заказ успешно обновлён!')
         return super().form_valid(form)
 
 class OrdersCreate(BaseView, FormView):
     form_class = OrderForm
     template_name = "sharix_admin/order.html"
-    success_url = reverse_lazy("sharix_admin:order")
+    success_url = reverse_lazy("sharix_admin:orders")
     page_title = 'Добавить заказ'
     page_name = 'order/add/'
 
     def test_func(self):
-        return not "CLIENT" in self.user_groups
+        return "CLIENT" in self.user_groups
+        #return not "CLIENT" in self.user_groups
 
     def form_valid(self, form):
         with transaction.atomic():
             instance = form.save(commit=False)
             instance.repr = self.request.user
             instance.save()
-            instance.ticket_status = create_ticket_order_local_activation_by_metaservice_supervisor(self.request.user, instance)
-            create_ticket_order_local_activation_by_partner_admin(self.request.user, instance)
+            instance.ticket_status = create_ticket_order(self.request.user, instance)
+            #create_ticket_order_local_activation_by_partner_admin(self.request.user, instance)
             instance.save()
-            doc_codes = parse_requirements(instance.requirements)
-            Documents.objects.bulk_create([
-                Documents(
-                    order_local=instance,
-                    user=self.request.user,
-                    doc_type=doc_code
-                ) for doc_code in doc_codes
-            ])
+#            doc_codes = parse_requirements(instance.requirements)
+#            Documents.objects.bulk_create([
+#                Documents(
+#                    order_local=instance,
+#                    user=self.request.user,
+#                    doc_type=doc_code
+#                ) for doc_code in doc_codes
+#            ])
         messages.success(self.request, 'Заказ успешно создан!')
         return super().form_valid(form)