#64 explorer draft view
This commit is contained in:
@@ -8,6 +8,7 @@ from django.utils.translation import gettext as _
|
||||
from django.shortcuts import render, redirect, get_object_or_404
|
||||
from django.urls import reverse_lazy
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.mixins import UserPassesTestMixin
|
||||
|
||||
from lostplaces.common import get_all_subclasses
|
||||
from lostplaces.views.base_views import IsAuthenticatedMixin
|
||||
@@ -18,7 +19,7 @@ from lostplaces.forms import ExplorerChangeForm, ExplorerUserChangeForm
|
||||
class ExplorerProfileView(IsAuthenticatedMixin, View):
|
||||
def get(self, request, explorer_id):
|
||||
explorer = get_object_or_404(Explorer, pk=explorer_id)
|
||||
place_list = explorer.places.all()
|
||||
place_list = explorer.get_place_list_to_display()
|
||||
place_count = place_list.count()
|
||||
|
||||
context={
|
||||
@@ -81,4 +82,21 @@ class ExplorerProfileUpdateView(IsAuthenticatedMixin, View):
|
||||
_('Please fill in all required fields.')
|
||||
)
|
||||
return redirect(reverse_lazy('explorer_profile_update'))
|
||||
|
||||
|
||||
class ExplorerDraftsView(IsAuthenticatedMixin, UserPassesTestMixin, View):
|
||||
|
||||
def get_explorer(self):
|
||||
return get_object_or_404(Explorer, pk=self.kwargs['explorer_id'])
|
||||
|
||||
def test_func(self):
|
||||
if not hasattr(self.request, 'user'):
|
||||
return False
|
||||
return self.request.user == self.get_explorer().user or self.request.user.is_superuser
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
context = {
|
||||
'explorer': self.get_explorer(),
|
||||
'place_list': self.get_explorer().get_drafts()
|
||||
}
|
||||
return render(request, 'explorer/drafts.html', context)
|
||||
|
||||
Reference in New Issue
Block a user