Skip to content
Snippets Groups Projects
Commit 02efbb03 authored by Carlos Vega's avatar Carlos Vega
Browse files

added privacy notice view

parent fd7f6e30
No related branches found
No related tags found
1 merge request!276Resolve "privacy notice and usage terms"
Pipeline #34364 failed
# coding=utf-8
import io
from wsgiref.util import FileWrapper
from django.contrib import messages
from django.http import HttpResponse
from django.shortcuts import redirect, get_object_or_404
from django.urls import reverse_lazy
from django.views.generic import DeleteView
from django.views.generic import ListView
from web.decorators import PermissionDecorator
from . import WrappedView
from . import wrap_response
from ..forms.privacy_notice import PrivacyNoticeForm
from ..models import PrivacyNotice
class PrivacyNoticeListView(ListView, WrappedView):
model = PrivacyNotice
context_object_name = "privacy_notices"
template_name = 'privacy_notice/list.html'
@PermissionDecorator('change_privacynotice', 'privacynotice')
def dispatch(self, *args, **kwargs):
return super(PrivacyNoticeListView, self).dispatch(*args, **kwargs)
@PermissionDecorator('change_privacynotice', 'privacynotice')
def privacy_notice_add(request):
if request.method == 'POST':
form = PrivacyNoticeForm(request.POST, request.FILES)
if form.is_valid():
try:
form.save()
except:
messages.add_message(request, messages.ERROR, 'There was a problem when saving privacy notice. '
'Contact system administrator.')
return redirect('web.views.privacy_notices')
else:
form = PrivacyNoticeForm()
return wrap_response(request, 'privacy_notice/add.html', {'form': form})
@PermissionDecorator('change_privacynotice', 'privacynotice')
def privacy_notice_edit(request, pk):
privacy_notice = get_object_or_404(PrivacyNotice, pk=pk)
if request.method == 'POST':
form = PrivacyNoticeForm(request.POST, request.FILES, instance=privacy_notice)
if form.is_valid():
try:
form.save()
return redirect('web.views.privacy_notices')
except:
messages.add_message(request, messages.ERROR, 'There was a problem when updating the privacy notice.'
'Contact system administrator.')
return wrap_response(request, 'privacy_notice/edit.html', {'form': form, 'privacy_notice': privacy_notice})
else:
form = PrivacyNoticeForm(instance=privacy_notice)
return wrap_response(request, 'privacy_notice/edit.html', {'form': form, 'privacy_notice': privacy_notice})
class PrivacyNoticeDeleteView(DeleteView, WrappedView):
model = PrivacyNotice
success_url = reverse_lazy('web.views.privacy_notices')
template_name = 'privacy_notice/confirm_delete.html'
@PermissionDecorator('change_privacynotice', 'privacynotice')
def delete(self, request, *args, **kwargs):
messages.success(request, "Privacy Notice deleted")
#try:
return super(PrivacyNoticeDeleteView, self).delete(request, *args, **kwargs)
#except:
# messages.add_message(request, messages.ERROR, 'There was a problem when deleting privacy notice. '
# 'Contact system administrator.')
return redirect('web.views.privacy_notices')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment