Merged in [13532] from rjsparks@nostrum.com:

Add an expertise field to reviewer settings. Fixes . ,
 - Legacy-Id: 13539
Note: SVN reference [13532] has been migrated to Git commit d845fba8bec765f2f81ae1a4bbca52c9bceb6e02
This commit is contained in:
Henrik Levkowetz 2017-06-06 07:54:03 +00:00
parent fb93a8c293
commit e19290e98d
5 changed files with 26 additions and 3 deletions

View file

@ -374,7 +374,8 @@ class ReviewTests(TestCase):
"action": "change_settings",
"min_interval": "7",
"filter_re": "test-[regexp]",
"remind_days_before_deadline": "6"
"remind_days_before_deadline": "6",
"expertise": "Some expertise",
})
self.assertEqual(r.status_code, 302)
settings = ReviewerSettings.objects.get(person=reviewer, team=review_req.team)
@ -382,6 +383,7 @@ class ReviewTests(TestCase):
self.assertEqual(settings.filter_re, "test-[regexp]")
self.assertEqual(settings.skip_next, 0)
self.assertEqual(settings.remind_days_before_deadline, 6)
self.assertEqual(settings.expertise, "Some expertise")
self.assertEqual(len(outbox), 1)
self.assertTrue("reviewer availability" in outbox[0]["subject"].lower())
msg_content = outbox[0].get_payload(decode=True).decode("utf-8").lower()

View file

@ -446,7 +446,7 @@ def email_open_review_assignments(request, acronym, group_type=None):
class ReviewerSettingsForm(forms.ModelForm):
class Meta:
model = ReviewerSettings
fields = ['min_interval', 'filter_re', 'skip_next', 'remind_days_before_deadline']
fields = ['min_interval', 'filter_re', 'skip_next', 'remind_days_before_deadline','expertise']
def __init__(self, *args, **kwargs):
exclude_fields = kwargs.pop('exclude_fields', [])

View file

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2017-06-06 00:29
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('review', '0011_add_review_doc_authors'),
]
operations = [
migrations.AddField(
model_name='reviewersettings',
name='expertise',
field=models.TextField(blank=True, default=b'', help_text=b"Describe the reviewer's expertise in this team's area", max_length=2048, verbose_name=b"Reviewer's expertise in this team's area"),
),
]

View file

@ -25,6 +25,7 @@ class ReviewerSettings(models.Model):
help_text="Draft names matching this regular expression should not be assigned")
skip_next = models.IntegerField(default=0, verbose_name="Skip next assignments")
remind_days_before_deadline = models.IntegerField(null=True, blank=True, help_text="To get an email reminder in case you forget to do an assigned review, enter the number of days before review deadline you want to receive it. Clear the field if you don't want a reminder.")
expertise = models.TextField(verbose_name="Reviewer's expertise in this team's area", max_length=2048, blank=True, help_text="Describe the reviewer's expertise in this team's area", default='')
def __unicode__(self):
return u"{} in {}".format(self.person, self.team)

View file

@ -39,7 +39,7 @@
{% elif person.busy %}class="busy"
{% elif person.settings.skip_next %}class="skip-next"
{% endif %}>
<td>{% if person.settings_url %}<a href="{{ person.settings_url }}">{% endif %}{{ person }}{% if person.settings_url %}</a>{% endif %}</td>
<td>{% if person.settings_url %}<a href="{{ person.settings_url }}" title="{{person.settings.expertise}}">{% endif %}{{ person }}{% if person.settings_url %}</a>{% endif %}</td>
<td>
<table class="simple-table">
{% for req_pk, doc_name, reviewed_rev, assigned_time, deadline, state, assignment_to_closure_days in person.latest_reqs %}