Skip to content

Commit cf455f5

Browse files
committed
Add a warning when submitting a draft that belongs to a non active WG. Fixes ietf-tools#607
- Legacy-Id: 2877
1 parent 3bd2097 commit cf455f5

5 files changed

Lines changed: 25 additions & 17 deletions

File tree

ietf/submit/utils.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import datetime
44

55
from django.conf import settings
6-
from ietf.idtracker.models import InternetDraft, PersonOrOrgInfo
6+
from ietf.idtracker.models import InternetDraft, PersonOrOrgInfo, IETFWG
77

88

99
# Some usefull states
@@ -124,6 +124,11 @@ def validate_metadata(self):
124124
self.validate_authors()
125125
self.validate_abstract()
126126
self.validate_creation_date()
127+
self.validate_wg()
128+
129+
def validate_wg(self):
130+
if self.wg and not self.wg.status.pk == IETFWG.ACTIVE:
131+
self.add_warning('group', 'Working Group exists but is not an active WG')
127132

128133
def validate_abstract(self):
129134
if not self.draft.abstract:

ietf/submit/views.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
from ietf.utils.mail import send_mail
1919

2020

21-
2221
def submit_index(request):
2322
if request.method == 'POST':
2423
form = UploadForm(request=request, data=request.POST, files=request.FILES)
@@ -27,7 +26,7 @@ def submit_index(request):
2726
return HttpResponseRedirect(reverse(draft_status, None, kwargs={'submission_id': submit.submission_id}))
2827
else:
2928
form = UploadForm(request=request)
30-
return render_to_response('submit/submit_index.html',
29+
return render_to_response('submit/submit_index.html',
3130
{'selected': 'index',
3231
'form': form},
3332
context_instance=RequestContext(request))
@@ -42,12 +41,11 @@ def submit_status(request):
4241
if detail:
4342
return HttpResponseRedirect(reverse(draft_status, None, kwargs={'submission_id': detail[0].submission_id}))
4443
error = 'No valid history found for %s' % filename
45-
return render_to_response('submit/submit_status.html',
44+
return render_to_response('submit/submit_status.html',
4645
{'selected': 'status',
4746
'error': error,
4847
'filename': filename},
4948
context_instance=RequestContext(request))
50-
5149

5250

5351
def _can_approve(user, detail):
@@ -58,14 +56,15 @@ def _can_approve(user, detail):
5856
return True
5957
return False
6058

59+
6160
def _can_force_post(user, detail):
62-
person = get_person_for_user(user)
6361
if detail.status_id != MANUAL_POST_REQUESTED:
6462
return None
6563
if is_secretariat(user):
6664
return True
6765
return False
6866

67+
6968
def draft_status(request, submission_id, message=None):
7069
detail = get_object_or_404(IdSubmissionDetail, submission_id=submission_id)
7170
validation = DraftValidation(detail)
@@ -76,11 +75,11 @@ def draft_status(request, submission_id, message=None):
7675
can_approve = _can_approve(request.user, detail)
7776
if detail.status_id != UPLOADED:
7877
if detail.status_id == CANCELED:
79-
message=('error', 'This submission has been canceled, modification is no longer possible')
78+
message = ('error', 'This submission has been canceled, modification is no longer possible')
8079
status = detail.status
8180
allow_edit = None
8281

83-
if request.method=='POST' and allow_edit:
82+
if request.method == 'POST' and allow_edit:
8483
if request.POST.get('autopost', False):
8584
auto_post_form = AutoPostForm(draft=detail, validation=validation, data=request.POST)
8685
if auto_post_form.is_valid():
@@ -111,7 +110,7 @@ def draft_status(request, submission_id, message=None):
111110
return HttpResponseRedirect(reverse(draft_edit, None, kwargs={'submission_id': detail.submission_id}))
112111
else:
113112
auto_post_form = AutoPostForm(draft=detail, validation=validation)
114-
return render_to_response('submit/draft_status.html',
113+
return render_to_response('submit/draft_status.html',
115114
{'selected': 'status',
116115
'detail': detail,
117116
'validation': validation,
@@ -139,14 +138,15 @@ def draft_edit(request, submission_id):
139138
if detail.status_id != UPLOADED:
140139
raise Http404
141140
validation = DraftValidation(detail)
142-
if request.method=='POST':
141+
validation.validate_wg()
142+
if request.method == 'POST':
143143
form = MetaDataForm(draft=detail, validation=validation, data=request.POST)
144144
if form.is_valid():
145145
form.save(request)
146146
return HttpResponseRedirect(reverse(draft_status, None, kwargs={'submission_id': detail.submission_id}))
147147
else:
148148
form = MetaDataForm(draft=detail, validation=validation)
149-
return render_to_response('submit/draft_edit.html',
149+
return render_to_response('submit/draft_edit.html',
150150
{'selected': 'status',
151151
'detail': detail,
152152
'validation': validation,
@@ -170,7 +170,6 @@ def draft_confirm(request, submission_id, auth_key):
170170

171171
def draft_approve(request, submission_id, check_function=_can_approve):
172172
detail = get_object_or_404(IdSubmissionDetail, submission_id=submission_id)
173-
person = get_person_for_user(request.user)
174173
can_perform = check_function(request.user, detail)
175174
if not can_perform:
176175
if can_perform == None:

ietf/templates/submit/draft_edit.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,11 @@ <h2>Adjust External Meta-Data</h2>
9292
{% show_submission_files detail %}
9393
</td></tr>
9494
<tr><th>Submission date</th><td>{{ detail.submission_date }}</td></tr>
95-
<tr><th>WG</th><td>{{ validation.wg|default:"Individual Submission" }}</td></tr>
95+
<tr{% if validation.warnings.group %} class="warning"{% endif %}><th>WG</th><td>{{ validation.wg|default:"Individual Submission" }}
96+
{% if validation.warnings.group %}
97+
<div class="warn_message">The secretariat will be notified that the working group is not active</div>
98+
{% endif %}
99+
</td></tr>
96100
<tr><th>File size</th><td>{{ detail.filesize|filesizeformat }}</td></tr>
97101
</table>
98102

ietf/templates/submit/manual_post_mail.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ I-D Submission Tool URL: http://{{ domain }}/submit/status/{{ draft.submission_i
44

55
File name: {{ draft.filename }}
66
Submission date: {{ draft.submission_date }}
7-
WG: {{ draft.wg|default:"Individual Submission" }}
7+
WG: {{ draft.group_acronym|default:"Individual Submission" }} {% if form.validation.warnings.group %}*Please note that this WG is not an active one*{% endif %}
88
File size: {{ draft.filesize|filesizeformat }}
99

1010
Title: {{ draft.id_document_name }}
1111
Version: {{ draft.revision }}
12-
Creation date: {{ draft.id_document_name }}
12+
Creation date: {{ draft.creation_date }}
1313
Pages: {{ draft.txt_page_count }}
1414
Abstract: {{ draft.abstract }}
1515
Submitter: {{ form.cleaned_data.first_name }} {{ form.cleaned_data.last_name }} <{{ form.cleaned_data.email }}>

ietf/templates/submit/submission_approval.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ I-D Submission Tool URL: http://{{ domain }}/submit/status/{{ draft.submission_i
44

55
File name: {{ draft.filename }}
66
Submission date: {{ draft.submission_date }}
7-
WG: {{ draft.wg|default:"Individual Submission" }}
7+
WG: {{ draft.group_acronym|default:"Individual Submission" }}
88
File size: {{ draft.filesize|filesizeformat }}
99

1010
Title: {{ draft.id_document_name }}
1111
Version: {{ draft.revision }}
12-
Creation date: {{ draft.id_document_name }}
12+
Creation date: {{ draft.creation_date }}
1313
Pages: {{ draft.txt_page_count }}
1414
Abstract: {{ draft.abstract }}
1515
Submitter: {{ submitter.first_name }} {{ submitter.last_name }} <{{ submitter.email_address }}>

0 commit comments

Comments
 (0)