diff --git a/scipost/factories.py b/scipost/factories.py index 80a4c045804aa2cf133823d882323c7d20013927..c69b975f60db3f7f1b5952012384a719ecc7c9bb 100644 --- a/scipost/factories.py +++ b/scipost/factories.py @@ -11,9 +11,9 @@ class ContributorFactory(factory.django.DjangoModelFactory): model = Contributor title = "MR" - user = factory.SubFactory(UserFactory, contributor=None) + user = factory.SubFactory('scipost.factories.UserFactory', contributor=None) status = 1 - vetted_by = factory.SubFactory(ContributorFactory) + vetted_by = factory.SubFactory('scipost.factories.ContributorFactory', vetted_by=None) class UserFactory(factory.django.DjangoModelFactory): diff --git a/theses/factories.py b/theses/factories.py index 19489c3c15babf86f0939a1a261c234fb7285560..1a12cd026941ad06ef7e4ad82c798b6947813a93 100644 --- a/theses/factories.py +++ b/theses/factories.py @@ -16,3 +16,4 @@ class ThesisLinkFactory(factory.django.DjangoModelFactory): institution = factory.Faker('company') defense_date = factory.Faker('date_time_this_century') abstract = factory.Faker('text') + domain = 'ET' diff --git a/theses/views.py b/theses/views.py index 7a2a2309d363eae341a18e0a62c4470c6f5b1cdf..1c008ab1529e30961614362769dfe2db0c5a5b5b 100644 --- a/theses/views.py +++ b/theses/views.py @@ -1,4 +1,5 @@ import datetime + from django.utils import timezone from django.shortcuts import get_object_or_404, render from django.contrib.auth import authenticate, login, logout @@ -9,6 +10,8 @@ from django.core.urlresolvers import reverse from django.http import HttpResponse, HttpResponseRedirect from django.views.decorators.csrf import csrf_protect from django.db.models import Avg +from django.views.generic.edit import CreateView +from django.utils.decorators import method_decorator from .models import * from .forms import * @@ -25,6 +28,13 @@ title_dict = dict(TITLE_CHOICES) # Convert titles for use in emails ################ +@method_decorator(permission_required( + 'scipost.can_request_thesislinks', raise_exception=True), name='dispatch') +class RequestThesisLink(CreateView): + model = ThesisLink + template_name = 'theses/request_thesislink.html' + + @permission_required('scipost.can_request_thesislinks', raise_exception=True) def request_thesislink(request): if request.method == 'POST':