Source code for proceedings.views

__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from django.contrib.auth.decorators import login_required, permission_required
from django.shortcuts import get_object_or_404, render
from django.views.generic.edit import CreateView, UpdateView

from scipost.mixins import PermissionsMixin

from .forms import ProceedingsForm
from .models import Proceedings


[docs]@login_required @permission_required('scipost.can_draft_publication', raise_exception=True) def proceedings(request): """ List all Proceedings """ context = { 'proceedings': Proceedings.objects.all() } return render(request, 'proceedings/proceedings.html', context)
[docs]@login_required @permission_required('scipost.can_draft_publication', raise_exception=True) def proceedings_details(request, id): """ Show Proceedings details """ proceedings = get_object_or_404(Proceedings, id=id) context = { 'proceedings': proceedings } return render(request, 'proceedings/proceedings_details.html', context)
[docs]class ProceedingsAddView(PermissionsMixin, CreateView): models = Proceedings form_class = ProceedingsForm permission_required = 'scipost.can_draft_publication' template_name = 'proceedings/proceedings_add.html'
[docs]class ProceedingsUpdateView(PermissionsMixin, UpdateView): models = Proceedings form_class = ProceedingsForm permission_required = 'scipost.can_draft_publication' template_name = 'proceedings/proceedings_edit.html'
[docs] def get_object(self): return get_object_or_404(Proceedings, id=self.kwargs['id'])