|
@@ -8,6 +8,8 @@ from django_tables2 import SingleTableView
|
|
|
from django.views.generic import DetailView
|
|
|
|
|
|
from django.shortcuts import render
|
|
|
+from django.http import Http404
|
|
|
+from django.db.models import Q
|
|
|
|
|
|
from webservice_running.tables import ResourcesLocalTable
|
|
|
from sharix_admin.utils import group_required
|
|
@@ -40,13 +42,6 @@ from dbsynce.docs.verbose_names.resource import Resource as ResourceVerboseNames
|
|
|
from webservice_running.docs.database.local import Local as HelpTextsLocal
|
|
|
from webservice_running.docs.verbose_names.local import Local as VerboseNameLocal
|
|
|
|
|
|
-#def _get_form(request, formcls, prefix):
|
|
|
-def _get_form(request, formcls):
|
|
|
- data = request.POST
|
|
|
- #data = request.POST if prefix in request.POST else None
|
|
|
- return formcls(data)
|
|
|
- #return formcls(data, prefix=prefix)
|
|
|
-
|
|
|
|
|
|
class ResourcesLocalListView(BaseView, UserPassesTestMixin, SingleTableView):
|
|
|
table_class = ResourcesLocalTable
|
|
@@ -98,8 +93,8 @@ def change_resource_status(request):
|
|
|
return JsonResponse({'status': 'error'})
|
|
|
|
|
|
class ResourceLocalEditView(BaseLocalView, FormView):
|
|
|
- resource_form = ResourceLocalForm
|
|
|
- resource_local_form = ResourceLocalForm
|
|
|
+ form_base = ResourceForm
|
|
|
+ form_local = ResourceLocalForm
|
|
|
template_name = "webservice_running/local/resource_local.html"
|
|
|
success_url = reverse_lazy("webservice_running:resource_local_list")
|
|
|
page_title = 'Изменить ресурс c локальными данными'
|
|
@@ -130,16 +125,7 @@ class ResourceLocalEditView(BaseLocalView, FormView):
|
|
|
# Сохраняем новые изменения
|
|
|
instance.save()
|
|
|
|
|
|
- # Создаем необходимые объекты документов по requirements указанных в созданной company
|
|
|
- # Используем bulk_create для создания всех объектов одновременно
|
|
|
- doc_codes = parse_requirements(instance.requirements)
|
|
|
- Documents.objects.bulk_create([
|
|
|
- Documents(
|
|
|
- company=instance,
|
|
|
- user=self.request.user,
|
|
|
- doc_type=doc_code
|
|
|
- ) for doc_code in doc_codes
|
|
|
- ])
|
|
|
+
|
|
|
|
|
|
# Отправляем пользователю уведомление на страницу о успехе операции
|
|
|
messages.success(
|
|
@@ -149,13 +135,18 @@ class ResourceLocalEditView(BaseLocalView, FormView):
|
|
|
|
|
|
|
|
|
#return super().form_valid(form) # Возвращаем успешный ответ
|
|
|
- return super().form_valid(resource_form, resource_local_form) # Возвращаем успешный ответ
|
|
|
+ return super().form_valid(self.form_base, self.form_local) # Возвращаем успешный ответ
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
class ResourceLocalCreate(BaseLocalView):
|
|
|
|
|
|
- resource_form = ResourceForm
|
|
|
- resource_local_form = ResourceLocalForm
|
|
|
+ form_base = ResourceForm
|
|
|
+ form_local = ResourceLocalForm
|
|
|
+
|
|
|
+ #resource_form = ResourceForm
|
|
|
+ #resource_local_form = ResourceLocalForm
|
|
|
template_name = "webservice_running/local/resource_local.html"
|
|
|
success_url = reverse_lazy("webservice_running:main_local")
|
|
|
page_title = 'Добавить ресурс с локальными данными'
|
|
@@ -163,20 +154,18 @@ class ResourceLocalCreate(BaseLocalView):
|
|
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
|
context = self.get_context_data(**kwargs)
|
|
|
- context.update({'form_base': ResourceForm(prefix='form_base'), 'form_local': ResourceLocalForm(prefix='form_local')})
|
|
|
+ context.update({'form_base': self.form_base(prefix='form_base'), 'form_local': self.form_local(prefix='form_local')})
|
|
|
return render(
|
|
|
request,
|
|
|
self.template_name,
|
|
|
context,
|
|
|
)
|
|
|
- #return self.render_to_response(context)
|
|
|
|
|
|
def post(self, request, *args, **kwargs):
|
|
|
- form_base = _get_form(request, ResourceForm)
|
|
|
- form_local = _get_form(request, ResourceLocalForm)
|
|
|
|
|
|
- #if form_base.is_valid() and form_local.is_valid():
|
|
|
- #if form_local.is_valid():
|
|
|
+ form_base = self.form_base(request.POST, prefix='form_base')
|
|
|
+ form_local = self.form_local(request.POST, prefix='form_local')
|
|
|
+
|
|
|
if form_local.is_valid() and form_base.is_valid():
|
|
|
|
|
|
instance=form_base.save(commit=False)
|
|
@@ -206,16 +195,16 @@ class ResourceLocalCreate(BaseLocalView):
|
|
|
form_local.save()
|
|
|
return redirect(self.success_url)
|
|
|
else:
|
|
|
+
|
|
|
+ context = self.get_context_data(**kwargs)
|
|
|
+ context.update({'form_base': self.form_base(prefix='form_base'), 'form_local': self.form_local(prefix='form_local')})
|
|
|
messages.error(
|
|
|
- self.request,
|
|
|
- 'Ошибка добавления, попробуйте снова!'
|
|
|
- )
|
|
|
-
|
|
|
+ 'Возникла ошибка, попробуйте снова!')
|
|
|
|
|
|
|
|
|
context = self.get_context_data(**kwargs)
|
|
|
- context.update({'form_base': form_base, 'form_local': form_local})
|
|
|
|
|
|
+ context.update({'form_base': self.form_base(prefix='form_base'), 'form_local': self.form_local(prefix='form_local')})
|
|
|
return render(
|
|
|
request,
|
|
|
self.template_name,
|