from organization.network.views import *
urlpatterns = [
- url(r'^person/(?P<slug>.*)/timesheet/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/create/$', TimeSheetCreateView.as_view(), name="organization-network-timesheet-create-view"),
+ url(r'^person/(?P<slug>.*)/timesheet/(?P<year>[0-9]{4})/(?P<month>[0-9]{1,2})/create/$', TimeSheetCreateView.as_view(), name="organization-network-timesheet-create-view"),
url(r'^person/(?P<slug>.*)/timesheet/dashboard/$', PersonActivityTimeSheetListView.as_view(), name="organization-network-timesheet-list-view" ),
url(r'^person/(?P<slug>.*)/$', 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'),
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 *
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'
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'