From a61d8178c548cc71ffceea01ade31b5b4f4f0422 Mon Sep 17 00:00:00 2001 From: Emilie Date: Mon, 2 Jan 2017 10:10:36 +0100 Subject: [PATCH] [Timesheet] : login required on timesheet --- app/organization/network/urls.py | 2 +- app/organization/network/views.py | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/organization/network/urls.py b/app/organization/network/urls.py index e139349f..19ab3264 100644 --- a/app/organization/network/urls.py +++ b/app/organization/network/urls.py @@ -31,7 +31,7 @@ from mezzanine.conf import settings from organization.network.views import * urlpatterns = [ - url(r'^person/(?P.*)/timesheet/(?P[0-9]{4})/(?P[0-9]{2})/create/$', TimeSheetCreateView.as_view(), name="organization-network-timesheet-create-view"), + url(r'^person/(?P.*)/timesheet/(?P[0-9]{4})/(?P[0-9]{1,2})/create/$', TimeSheetCreateView.as_view(), name="organization-network-timesheet-create-view"), url(r'^person/(?P.*)/timesheet/dashboard/$', PersonActivityTimeSheetListView.as_view(), name="organization-network-timesheet-list-view" ), url(r'^person/(?P.*)/$', PersonDetailView.as_view(), name="organization-network-person-detail"), url("^person-list-block-autocomplete/$", permission_required('person.can_edit')(PersonListBlockAutocompleteView.as_view()), name='person-list-block-autocomplete'), diff --git a/app/organization/network/views.py b/app/organization/network/views.py index c91c2947..b2000160 100644 --- a/app/organization/network/views.py +++ b/app/organization/network/views.py @@ -21,6 +21,9 @@ from django.shortcuts import render from django.views.generic.edit import CreateView +from django.contrib.auth.mixins import LoginRequiredMixin +from mezzanine.conf import settings +from django.core.urlresolvers import reverse from dal import autocomplete from organization.network.models import * from organization.core.views import * @@ -119,7 +122,15 @@ class OrganizationLinkedView(autocomplete.Select2QuerySetView): return qs -class TimeSheetCreateView(CreateView): + +class TimesheetAbstractView(LoginRequiredMixin): + login_url = settings.LOGIN_URL + + class Meta: + abstract = True + + +class TimeSheetCreateView(TimesheetAbstractView, CreateView): model = PersonActivityTimeSheet template_name='network/person_activity_timesheet/person_activity_timesheet_create.html' context_object_name = 'timesheet' @@ -138,7 +149,7 @@ class TimeSheetCreateView(CreateView): return context -class PersonActivityTimeSheetListView(ListView): +class PersonActivityTimeSheetListView(TimesheetAbstractView, ListView): model = PersonActivityTimeSheet template_name='network/person_activity_timesheet/person_activity_timesheet_list.html' context_object_name = 'timesheet' -- 2.39.5