|
@@ -6,10 +6,14 @@ from django.http import JsonResponse
|
|
|
from django.utils.translation import gettext as _
|
|
|
from django_tables2 import SingleTableView
|
|
|
from django.views.generic import DetailView
|
|
|
+from django.views.generic import UpdateView
|
|
|
+
|
|
|
|
|
|
from django.shortcuts import render
|
|
|
from django.http import Http404
|
|
|
from django.db.models import Q
|
|
|
+from django.shortcuts import get_object_or_404, redirect
|
|
|
+
|
|
|
|
|
|
from webservice_running.tables import ResourcesLocalTable
|
|
|
from sharix_admin.utils import group_required
|
|
@@ -92,51 +96,41 @@ def change_resource_status(request):
|
|
|
else:
|
|
|
return JsonResponse({'status': 'error'})
|
|
|
|
|
|
-class ResourceLocalEditView(BaseLocalView, FormView):
|
|
|
- form_base = ResourceForm
|
|
|
- form_local = ResourceLocalForm
|
|
|
- template_name = "webservice_running/local/resource_local.html"
|
|
|
- success_url = reverse_lazy("webservice_running:resource_local_list")
|
|
|
+#class ResourceLocalEditView(BaseLocalView, FormView):
|
|
|
+class ResourceLocalEditView(BaseView, UpdateView):
|
|
|
+ #form_base = ResourceForm
|
|
|
+ #form_local = ResourceLocalForm
|
|
|
+ form_class = ResourceLocalForm
|
|
|
+ model = ResourceLocal
|
|
|
+ template_name = "webservice_running/local/resource_local_edit.html"
|
|
|
+ success_url = reverse_lazy("webservice_running:resources_local")
|
|
|
page_title = 'Изменить ресурс c локальными данными'
|
|
|
page_name = 'resource_local_edit'
|
|
|
|
|
|
# Проверяем состояит ли текущий пользователь в группе PARTNER-ADMIN
|
|
|
- def test_func(self):
|
|
|
- return "PARTNER-ADMIN" in self.user_groups
|
|
|
+ def get_form_kwargs(self):
|
|
|
+ kwargs = super().get_form_kwargs()
|
|
|
+ kwargs['instance'] = get_object_or_404(ResourceLocal, id=self.object.id)
|
|
|
+ return kwargs
|
|
|
|
|
|
def form_valid(self, form):
|
|
|
with transaction.atomic():
|
|
|
- # Сохраняем форму, чтобы получить объект ресурса
|
|
|
- instance = form.save(commit=False)
|
|
|
-
|
|
|
- # Присваиваем полю repr идентификатор текущего пользователя
|
|
|
- instance.repr = self.request.user
|
|
|
-
|
|
|
- # Создаем новую запись в БД, чтобы иметь доступ к 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()
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- # Отправляем пользователю уведомление на страницу о успехе операции
|
|
|
- messages.success(
|
|
|
- self.request,
|
|
|
- 'Ваша заявка на становление партнером успешно отправлена и теперь проходит проверку!'
|
|
|
- )
|
|
|
-
|
|
|
-
|
|
|
- #return super().form_valid(form) # Возвращаем успешный ответ
|
|
|
- return super().form_valid(self.form_base, self.form_local) # Возвращаем успешный ответ
|
|
|
-
|
|
|
+ # Сохраняем изменения
|
|
|
+ form.save()
|
|
|
+
|
|
|
+ # Получаем текущий объект компании и деактивируем ее
|
|
|
+ current_local_resource = form.instance
|
|
|
+ #current_local.deactivate()
|
|
|
+ current_local_resource.resource.deactivate()
|
|
|
+
|
|
|
+ # Выполняем пересоздание тикета на активацию партнера
|
|
|
+ #TODO - тикет для партнера?
|
|
|
+ current_local_resource.resource.ticket_status.archive()
|
|
|
+ current_local_resource.resource.ticket_status = create_ticket_resource_activation_by_metaservice_supervisor(self.request.user, current_local_resource.resource)
|
|
|
+
|
|
|
+ # Отправляем полAьзователю уведомление на страницу об успехе операции
|
|
|
+ messages.success(self.request, 'Данные успешно изменены и теперь проходят проверку!')
|
|
|
+ return super().form_valid(form)
|
|
|
|
|
|
|
|
|
|