Добавил формы создания и пофиксил баг с пользователями

This commit is contained in:
2025-11-24 23:47:00 +03:00
parent 1c18ae96f7
commit 7879c3d9b5
19 changed files with 448 additions and 183 deletions

View File

@@ -752,6 +752,48 @@ class AdminModeratorMixin(UserPassesTestMixin):
return redirect('mainapp:source_list')
class SourceCreateView(LoginRequiredMixin, AdminModeratorMixin, View):
"""View for creating new Source."""
def get(self, request):
form = SourceForm()
context = {
'object': None,
'form': form,
'objitems': [],
'full_width_page': True,
}
return render(request, 'mainapp/source_form.html', context)
def post(self, request):
form = SourceForm(request.POST)
if form.is_valid():
source = form.save(commit=False)
# Set created_by and updated_by to current user
if hasattr(request.user, 'customuser'):
source.created_by = request.user.customuser
source.updated_by = request.user.customuser
source.save()
messages.success(request, f'Источник #{source.id} успешно создан.')
# Redirect to edit page
return redirect('mainapp:source_update', pk=source.id)
# If form is invalid, re-render with errors
context = {
'object': None,
'form': form,
'objitems': [],
'full_width_page': True,
}
return render(request, 'mainapp/source_form.html', context)
class SourceUpdateView(LoginRequiredMixin, AdminModeratorMixin, View):
"""View for editing Source with 4 coordinate fields and related ObjItems."""