Add missing resource and missing test review secretary settings

- Legacy-Id: 12313
This commit is contained in:
Ole Laursen 2016-11-09 10:07:49 +00:00
parent ceec1254f2
commit 39d674b4ca
6 changed files with 56 additions and 5 deletions

View file

@ -407,6 +407,36 @@ class ReviewTests(TestCase):
self.assertTrue(start_date.isoformat(), msg_content)
self.assertTrue(end_date.isoformat(), msg_content)
def test_change_review_secretary_settings(self):
doc = make_test_data()
review_req = make_review_data(doc)
secretary = Person.objects.get(user__username="reviewsecretary")
url = urlreverse(ietf.group.views_review.change_review_secretary_settings, kwargs={
"acronym": review_req.team.acronym,
})
login_testing_unauthorized(self, secretary.user.username, url)
url = urlreverse(ietf.group.views_review.change_review_secretary_settings, kwargs={
"group_type": review_req.team.type_id,
"acronym": review_req.team.acronym,
})
# get
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
# set settings
r = self.client.post(url, {
"remind_days_before_deadline": "6"
})
self.assertEqual(r.status_code, 302)
settings = ReviewSecretarySettings.objects.get(person=secretary, team=review_req.team)
self.assertEqual(settings.remind_days_before_deadline, 6)
def test_review_reminders(self):
doc = make_test_data()

View file

@ -35,6 +35,6 @@ urlpatterns = patterns('',
(r'^reviews/email-assignments/$', views_review.email_open_review_assignments),
(r'^reviewers/$', views_review.reviewer_overview),
(r'^reviewers/(?P<reviewer_email>[\w%+-.@]+)/settings/$', views_review.change_reviewer_settings),
(r'^secretarysettings/$', views_review.change_secretary_settings),
(r'^secretarysettings/$', views_review.change_review_secretary_settings),
url(r'^email-aliases/$', RedirectView.as_view(pattern_name='ietf.group.views.email',permanent=False),name='old_group_email_aliases'),
)

View file

@ -217,7 +217,7 @@ def construct_group_menu_context(request, group, selected, group_type, others):
actions.append((u"Manage assigned reviews", urlreverse(ietf.group.views_review.manage_review_requests, kwargs=dict(assignment_status="assigned", **kwargs))))
if Role.objects.filter(name="secr", group=group, person__user=request.user).exists():
actions.append((u"Secretary settings", urlreverse(ietf.group.views_review.change_secretary_settings, kwargs=kwargs)))
actions.append((u"Secretary settings", urlreverse(ietf.group.views_review.change_review_secretary_settings, kwargs=kwargs)))
if group.state_id != "conclude" and (is_admin or can_manage):

View file

@ -572,7 +572,7 @@ class ReviewSecretarySettingsForm(forms.ModelForm):
@login_required
def change_secretary_settings(request, acronym, group_type=None):
def change_review_secretary_settings(request, acronym, group_type=None):
group = get_group_or_404(acronym, group_type)
if not group.features.has_reviews:
raise Http404

View file

@ -9,7 +9,8 @@ from ietf.api import ToOneField # pyflakes:ignore
from ietf.review.models import (ReviewerSettings, ReviewRequest,
ResultUsedInReviewTeam, TypeUsedInReviewTeam,
UnavailablePeriod, ReviewWish, NextReviewerInTeam)
UnavailablePeriod, ReviewWish, NextReviewerInTeam,
ReviewSecretarySettings)
from ietf.person.resources import PersonResource
@ -164,3 +165,23 @@ class TypeUsedInReviewTeamResource(ModelResource):
}
api.review.register(TypeUsedInReviewTeamResource())
from ietf.person.resources import PersonResource
from ietf.group.resources import GroupResource
class ReviewSecretarySettingsResource(ModelResource):
team = ToOneField(GroupResource, 'team')
person = ToOneField(PersonResource, 'person')
class Meta:
queryset = ReviewSecretarySettings.objects.all()
serializer = api.Serializer()
cache = SimpleCache()
#resource_name = 'reviewsecretarysettings'
filtering = {
"id": ALL,
"remind_days_before_deadline": ALL,
"team": ALL_WITH_RELATIONS,
"person": ALL_WITH_RELATIONS,
}
api.review.register(ReviewSecretarySettingsResource())

View file

@ -886,7 +886,7 @@ def email_secretary_reminder(review_request, secretary_role):
subject = "Reminder: deadline for review of {} in {} is {}".format(review_request.doc_id, team.acronym, review_request.deadline.isoformat())
import ietf.group.views_review
settings_url = urlreverse(ietf.group.views_review.change_secretary_settings, kwargs={ "acronym": team.acronym, "group_type": team.type_id })
settings_url = urlreverse(ietf.group.views_review.change_review_secretary_settings, kwargs={ "acronym": team.acronym, "group_type": team.type_id })
import ietf.doc.views_review
request_url = urlreverse(ietf.doc.views_review.review_request, kwargs={ "name": review_request.doc_id, "request_id": review_request.pk })