5 Angajamente e3455ef45e ... 7e9d8efd6e

Autor SHA1 Permisiunea de a trimite mesaje. Dacă este dezactivată, utilizatorul nu va putea trimite nici un fel de mesaj Data
  ShariX Developer 7e9d8efd6e resource adaptation for resource local 1 lună în urmă
  ShariX Developer f5eeefce56 page loading rule fixed for service tariff 1 lună în urmă
  ShariX Developer aca0fb54e2 fix service tariff template - button placement 1 lună în urmă
  ShariX Developer f661f080fb placement of add button on service category page fixed 1 lună în urmă
  ShariX Developer c144462499 normal open logo returned 1 lună în urmă

+ 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'}),

BIN
sharix_admin/static/sharix_admin/img/logo-old.png


BIN
sharix_admin/static/sharix_admin/img/logo.png


+ 5 - 2
sharix_admin/templates/sharix_admin/service_categories.html

@@ -35,15 +35,18 @@
           <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 "METASERVICE-ADMIN" in user_groups %}
-<h1></h1>
+
   <div class="container text-end mt-2">
           <a class="btn btn-primary" id="bord" href={% url "sharix_admin:service_category/add/" %}>{% trans 'Add' %}</a>
   </div>
 {% endif %}
 
+      </div>
+
+
+
     <div class="row justify-content-start">
           <div class="maintable" id="maintable">
             {% render_table table %}

+ 2 - 3
sharix_admin/templates/sharix_admin/service_tariffs.html

@@ -24,14 +24,13 @@
           <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 "PARTNER-ADMIN" or "PARTNER-SUPERVISOR" in user_groups %}
+{% if "PARTNER-ADMIN" or "PARTNER-SUPERVISOR" or "METASERVICE-ADMIN" or "METASERVICE-SUPERVISOR" in user_groups %}
     <div class="container text-end mt-2">
 	    <a class="btn btn-primary" href={% url "sharix_admin:service_tariff/add/" %}>{% trans 'Add' %}</a>
     </div>
 {% endif %}
-
+      </div>
     <div class="container text-center mt-2">
           {% render_table table %}
 

+ 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

+ 10 - 11
sharix_admin/views/service.py

@@ -51,12 +51,12 @@ class ServiceTariffCreate(BaseView, FormView):
 
     # Проверяем не состояит ли текущий пользователь в группе METASERVICE-ADMIN
     def test_func(self):
-        group_names = ('PARTNER-ADMIN')
-        #group_names = ('PARTNER-ADMIN', 'PARTNER-SUPERVISOR')
-        if bool(self.request.user.groups.filter(name=group_names)): #or self.request.user.is_superuser:
+        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
-            #return not "METASERVICE-ADMIN" in self.user_groups
+        else:
+            return False
+           
 
     def form_valid(self, form):
         with transaction.atomic():
@@ -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