Переглянути джерело

Added "Create service" page

TonyKurts 1 рік тому
батько
коміт
1e2c0f9970
4 змінених файлів з 43 додано та 20 видалено
  1. 3 1
      apps.py
  2. 9 16
      forms/service_create.py
  3. 5 0
      templates/service_create.html
  4. 26 3
      views/service_create.py

+ 3 - 1
apps.py

@@ -1,6 +1,8 @@
 from django.apps import AppConfig
+from core.utils.AuthAPI import AuthAPI
 
+api = AuthAPI("89999999999", "1234")
 
 class PlatformrunningConfig(AppConfig):
     default_auto_field = 'django.db.models.BigAutoField'
-    name = 'platformrunning'
+    name = 'platformrunning'

+ 9 - 16
forms/service_create.py

@@ -1,20 +1,13 @@
 from django import forms
-from metaservicesynced.models.company import Company 
+from SharixAdmin.models import Metaservice 
+import requests
 
 class Service_Create__form(forms.ModelForm):
-    # def form_valid(self, form):
-    #     form.instance.user_id_who = self.request.user.pk
-    #     return super().form_valid(form)
-
     class Meta:
-        model = Company
-        fields = "__all__"
-
-        # widgets = {
-        #     "user_id_who": forms.HiddenInput(),
-        #     "user_id_whom": forms.HiddenInput(),
-        #     "id_metaservice": forms.HiddenInput(),
-        #     "status": forms.HiddenInput(),
-        #     "requirements": forms.HiddenInput(),
-        #     "status": forms.HiddenInput(),
-        # }
+        model = Metaservice
+        exclude = [
+            "representative_id",
+            "requirements",
+            "status",
+            "ticket_status",
+        ]

+ 5 - 0
templates/service_create.html

@@ -2,4 +2,9 @@
 
 {% block content %}
     <h2>Create a Service</h2>
+    <form method="POST">
+        {% csrf_token %}
+        {{ form.as_p }}
+        <input type="submit">
+    </form>
 {% endblock %}

+ 26 - 3
views/service_create.py

@@ -1,8 +1,31 @@
 from django.views.generic.edit import CreateView
-from metaservicesynced.models.company import Company
+from django.urls import reverse_lazy
+from SharixAdmin.models import Metaservice
+from tickets.models import Task
+from core.config import API_URL
+
 from ..forms.service_create import Service_Create__form
+from ..apps import api
+
+import requests
 
 class Service_Create__view(CreateView):
-    model = Company
     form_class = Service_Create__form
-    template_name = 'service_create.html'
+    template_name = 'service_create.html'
+    success_url = reverse_lazy('platformrunning:home')
+
+    def form_valid(self, form):
+        form.instance.representative_id = self.request.user
+        response = super().form_valid(form)
+        
+        new_ticket = {
+            "task_list": 1,
+            "created_by": self.request.user.pk,
+            "type": 1,
+            "title": "service_create",
+            "note": str(form.data),
+        }
+
+        requests.post(f"{API_URL}/tickets/api/tickets/", data=new_ticket, headers=api.headers)
+
+        return response