diff --git a/ietf/idrfc/tests.py b/ietf/idrfc/tests.py index ae3b8d62de..39d058c3e4 100644 --- a/ietf/idrfc/tests.py +++ b/ietf/idrfc/tests.py @@ -258,10 +258,10 @@ def test_add_draft(self): r = self.client.post(url, dict(intended_status=str(draft.intended_status_id), - status_date=str(date.today() + timedelta(2)), area_acronym=str(area.area_acronym_id), via_rfc_editor="1", job_owner=job_owner.id, + create_in_state=IDState.PUBLICATION_REQUESTED, state_change_notice_to="test@example.com", note="This is a note", telechat_date="", @@ -441,7 +441,7 @@ def test_edit_position_as_secretary(self): comments_before = draft.idinternal.comments().count() self.assertTrue(not Position.objects.filter(ballot=draft.idinternal.ballot, ad__login_name="rhousley")) - r = self.client.post(url, dict(position="discuss")) + r = self.client.post(url, dict(position="discuss",discuss_text="A non-empty discuss")) self.assertEquals(r.status_code, 302) pos = Position.objects.get(ballot=draft.idinternal.ballot, ad__login_name="rhousley") @@ -648,14 +648,6 @@ def test_edit_approval_text(self): self.assertEquals(len(q('textarea[name=approval_text]')), 1) self.assertEquals(len(q('input[type=submit][value*="Save Approval"]')), 1) - # subject error - r = self.client.post(url, dict( - last_call_text="Subject: test\r\nhello\r\n\r\n", - save_last_call_text="1")) - self.assertEquals(r.status_code, 200) - q = PyQuery(r.content) - self.assertTrue(len(q('ul.errorlist')) > 0) - # save r = self.client.post(url, dict( approval_text="This is a simple test.", diff --git a/ietf/idrfc/views_edit.py b/ietf/idrfc/views_edit.py index d5a06ebd36..ca16f9825b 100644 --- a/ietf/idrfc/views_edit.py +++ b/ietf/idrfc/views_edit.py @@ -84,11 +84,10 @@ def dehtmlify_textarea_text(s): class EditInfoForm(forms.Form): intended_status = forms.ModelChoiceField(IDIntendedStatus.objects.all(), empty_label=None, required=True) - status_date = forms.DateField(required=False, help_text="Format is YYYY-MM-DD") area_acronym = forms.ModelChoiceField(Area.active_areas(), required=True, empty_label='None Selected') via_rfc_editor = forms.BooleanField(required=False, label="Via IRTF or RFC Editor") job_owner = forms.ModelChoiceField(IESGLogin.objects.filter(user_level__in=(IESGLogin.AD_LEVEL, IESGLogin.INACTIVE_AD_LEVEL)).order_by('user_level', 'last_name'), label="Responsible AD", empty_label=None, required=True) - create_in_state = forms.ModelChoiceField(IDState.objects.filter(document_state_id__in=(IDState.PUBLICATION_REQUESTED, IDState.AD_WATCHING)), empty_label=None, required=True) + create_in_state = forms.ModelChoiceField(IDState.objects.filter(document_state_id__in=(IDState.PUBLICATION_REQUESTED, IDState.AD_WATCHING)), empty_label=None, required=False) state_change_notice_to = forms.CharField(max_length=255, label="Notice emails", help_text="Separate email addresses with commas", required=False) note = forms.CharField(widget=forms.Textarea, label="IESG note", required=False) telechat_date = forms.TypedChoiceField(coerce=lambda x: datetime.datetime.strptime(x, '%Y-%m-%d').date(), empty_value=None, required=False) @@ -136,16 +135,6 @@ def __init__(self, *args, **kwargs): # returning item is rendered non-standard self.standard_fields = [x for x in self.visible_fields() if x.name not in ('returning_item',)] - def clean_status_date(self): - d = self.cleaned_data['status_date'] - if d: - if d < date.today(): - raise forms.ValidationError("Date must not be in the past.") - if d >= date.today() + timedelta(days=365 * 2): - raise forms.ValidationError("Date must be within two years.") - - return d - def clean_note(self): # note is stored munged in the database return self.cleaned_data['note'].replace('\n', '
').replace('\r', '').replace(' ', '  ') @@ -209,6 +198,7 @@ def edit_info(request, name): old_ads=False, initial=dict(telechat_date=initial_telechat_date, area_acronym=doc.idinternal.area_acronym_id)) + if form.is_valid(): changes = [] r = form.cleaned_data @@ -239,7 +229,6 @@ def diff(obj, attr, name): setattr(obj, attr, r[attr]) diff(doc, 'intended_status', "Intended Status") - diff(doc.idinternal, 'status_date', "Status Date") if 'area_acronym' in r and r['area_acronym']: diff(doc.idinternal, 'area_acronym', 'Area acronym') diff(doc.idinternal, 'job_owner', 'Responsible AD') @@ -273,6 +262,7 @@ def diff(obj, attr, name): doc.idinternal.token_email = doc.idinternal.job_owner.person.email()[1] doc.idinternal.mark_by = login doc.idinternal.event_date = date.today() + doc.idinternal.status_date = date.today() if changes and not new_document: email_owner(request, doc, orig_job_owner, login, "\n".join(changes)) @@ -284,7 +274,6 @@ def diff(obj, attr, name): return HttpResponseRedirect(doc.idinternal.get_absolute_url()) else: init = dict(intended_status=doc.intended_status_id, - status_date=doc.idinternal.status_date, area_acronym=doc.idinternal.area_acronym_id, job_owner=doc.idinternal.job_owner_id, state_change_notice_to=doc.idinternal.state_change_notice_to, @@ -298,6 +287,8 @@ def diff(obj, attr, name): if not in_group(request.user, 'Secretariat'): form.standard_fields = [x for x in form.standard_fields if x.name != "via_rfc_editor"] + if not new_document: + form.standard_fields = [x for x in form.standard_fields if x.name != "create_in_state"] return render_to_response('idrfc/edit_info.html', dict(doc=doc, diff --git a/ietf/templates/idrfc/doc_tab_document_id.html b/ietf/templates/idrfc/doc_tab_document_id.html index 0c79de7697..9528985a43 100644 --- a/ietf/templates/idrfc/doc_tab_document_id.html +++ b/ietf/templates/idrfc/doc_tab_document_id.html @@ -91,7 +91,7 @@ IESG State: -{% if user|in_group:"Area_Director,Secretariat" %} +{% if doc.in_ietf_process and user|in_group:"Area_Director,Secretariat" %} {{ doc.friendly_state|safe }} {% else %} {{ doc.friendly_state|safe }}