Browse Source

resource adaptation for resource local

ShariX Developer 3 hours ago
parent
commit
7e9d8efd6e

+ 5 - 0
core/settings.py

@@ -563,5 +563,10 @@ LOGGING = {
             'level': 'DEBUG',
             'propagate': True,
         },
+        "django": {
+            "handlers": ["file"],
+            "level": "DEBUG",  # Or "DEBUG", "WARNING", "ERROR", "CRITICAL"
+            "propagate": True,
+        },
     },
 }

+ 1 - 0
sharix_admin/forms/resource.py

@@ -2,6 +2,7 @@ from dbsynce.models import Resource
 from django import forms
 
 
+
 class ResourceForm(forms.ModelForm):
     def __init__(self, *args, **kwargs):
         super(ResourceForm, self).__init__(*args, **kwargs)

+ 1 - 1
sharix_admin/forms/service.py

@@ -50,7 +50,7 @@ class ServiceTariffUpdateForm(forms.ModelForm):
             'ticket_status': forms.TextInput(attrs={'readonly': True}),
             'requirements': forms.TextInput(attrs={'readonly': True}),
             'resource_type': forms.TextInput(attrs={'readonly': True}),
-#            'price_type': forms.TextInput(attrs={'readonly': True}),
+    #        'price_type': forms.TextInput(attrs={'readonly': True}),
 
             'service_category': forms.Select(attrs={'class': 'form-select', 'readonly': True}),
             #'resource': forms.Select(attrs={'class': 'form-select'}),

+ 57 - 32
sharix_admin/views/resource.py

@@ -113,49 +113,74 @@ class ResourceEditView(BaseView, UpdateView):
         context['docs'] = docs
         return context
 
-    # Проверяем состояит ли текущий пользователь в группе PARTNER-ADMIN
-    def test_func(self):
-        return "PARTNER-ADMIN" in self.user_groups
+    def get_form_kwargs(self):
+        kwargs = super().get_form_kwargs()
+        #docs = Documents.objects.filter(resource=self.object.id)
+        #kwargs['instance'] = get_object_or_404(Company, repr=self.request.user)
+        kwargs['instance'] = get_object_or_404(Resource, id=self.object.id)
+        return kwargs
 
     def form_valid(self, form):
         with transaction.atomic():
-            # Сохраняем форму, чтобы получить объект ресурса
-            instance = form.save(commit=False)
+            # Сохраняем изменения
+            form.save()
 
-            # Присваиваем полю user идентификатор текущего пользователя
-            instance.user = self.request.user
+            # Получаем текущий объект компании и деактивируем ее
+            current_resource = form.instance
+            current_resource.deactivate()
 
-            # Создаем новую запись в БД, чтобы иметь доступ к ID
-            instance.save()
+            # Выполняем пересоздание тикета на активацию партнера
+            current_resource.ticket_status.archive()
+            current_resource.ticket_status = create_ticket_resource_activation_by_metaservice_supervisor(self.request.user, current_resource)
 
-            # Создание тикета на активацию ресурса.
-            # Создаем объект тикета и присваиваем его полю ticket_status
-            instance.ticket_status = create_ticket_resource_activation_by_metaservice_supervisor(self.request.user, instance)
+        # Отправляем полAьзователю уведомление на страницу об успехе операции
+        messages.success(self.request, 'Данные успешно изменены и теперь проходят проверку!')
+        return super().form_valid(form)
 
-            # Создание тикета на утверждение прав пользователя
-            # create_ticket_role_activation_partner_admin(self.request.user, instance)
 
-            # Сохраняем новые изменения
-            instance.save()
+    # # Проверяем состояит ли текущий пользователь в группе PARTNER-ADMIN
+    # def test_func(self):
+    #     return "PARTNER-ADMIN" in self.user_groups
 
-            # Создаем необходимые объекты документов по requirements указанных в созданной company
-            # Используем bulk_create для создания всех объектов одновременно
-            doc_codes = parse_requirements(instance.requirements)
-            Documents.objects.bulk_create([
-                Documents(
-                    resource=instance,
-                    user=self.request.user,
-                    doc_type=doc_code
-                ) for doc_code in doc_codes
-            ])
+    # def form_valid(self, form):
+    #     with transaction.atomic():
+    #         # Сохраняем форму, чтобы получить объект ресурса
+    #         instance = form.save(commit=False)
 
-        # Отправляем пользователю уведомление на страницу о успехе операции
-        messages.success(
-            self.request,
-            'Ваша заявка на становление партнером успешно отправлена и теперь проходит проверку!'
-        )
+    #         # Присваиваем полю user идентификатор текущего пользователя
+    #         instance.user = self.request.user
 
-        return super().form_valid(form)  # Возвращаем успешный ответ
+    #         # Создаем новую запись в БД, чтобы иметь доступ к ID
+    #         instance.save()
+
+    #         # Создание тикета на активацию ресурса.
+    #         # Создаем объект тикета и присваиваем его полю ticket_status
+    #         instance.ticket_status = create_ticket_resource_activation_by_metaservice_supervisor(self.request.user, instance)
+
+    #         # Создание тикета на утверждение прав пользователя
+    #         # create_ticket_role_activation_partner_admin(self.request.user, instance)
+
+    #         # Сохраняем новые изменения
+    #         instance.save()
+
+    #         # Создаем необходимые объекты документов по requirements указанных в созданной company
+    #         # Используем bulk_create для создания всех объектов одновременно
+    #         doc_codes = parse_requirements(instance.requirements)
+    #         Documents.objects.bulk_create([
+    #             Documents(
+    #                 resource=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 ResourceCreate(BaseView, FormView):
     form_class = ResourceForm

+ 5 - 6
sharix_admin/views/service.py

@@ -158,13 +158,12 @@ class ServiceTariffUpdateView(BaseView, UpdateView):
         })
         return context
 
-    def test_func(self) -> bool or None:
-        #TODO: Add a check a user belongs to a company!
-        group_names = ('PARTNER-ADMIN')
-        #group_names = ('METASERVICE-SUPERVISOR','PARTNER-ADMIN')
-        if bool(self.request.user.groups.filter(name=group_names)):
+    def test_func(self):
+        group_names =('PARTNER-ADMIN', 'PARTNER-SUPERVISOR', 'METASERVICE-ADMIN', 'METASERVICE-SUPERVISOR')
+        if any(item in group_names for item in self.user_groups):
             return True
-        return False
+        else:
+            return False
 
     #def get_success_url(self):
     #    return success_url