Добавил формы создания и пофиксил баг с пользователями
This commit is contained in:
@@ -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."""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user