Skip to content

Commit e037841

Browse files
committed
Merged changes from current trunk to Py3 branch.
- Legacy-Id: 16468
2 parents bdc73e7 + c51e211 commit e037841

32 files changed

Lines changed: 13719 additions & 11077 deletions

PLAN

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@ Planned work in rough order
1515
* Transition to Python 3. This will make it easier to add add support for
1616
internationalsed email, and also other i18n enhancements.
1717

18+
* Change the draft submission form so that an email address is required for
19+
each author in order to complete self-service draft submission. Missing
20+
email address(es) will lead to failure, and require submission via the
21+
secretariat (where email addresses for all will also be required).
22+
23+
* Simplify submission if submitter is logged into the datatracker, skipping the
24+
email verification step.
25+
1826
* Polish the htmlization pages, making the style identical with tools.ietf.org.
1927

2028
* Revisit the review tool, work through the accumulated tickets.

changelog

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,71 @@
1+
ietfdb (6.98.4) ietf; urgency=medium
2+
3+
This is a small bugfix release, to clear the slate before merging
4+
in the Python 2/3 conversion. From the commit log:
5+
6+
* Added a validation step for SearchablePersonField, to avoid later
7+
server 500 errors on bad input.
8+
9+
* Merged in [16404] from rjsparks@nostrum.com:
10+
Only look for ietf/datatracker-env images when extracting the most
11+
recent build to tag as latest.
12+
13+
* Merged in [16359] from rcross@amsl.com:
14+
Fix registration import, use user.person if it exists.
15+
16+
* Merged in [16096] from rcross@amsl.com:
17+
Update admin permissions. Grant secretariat change permissions on
18+
dbtemplate so they can update proceedings pages.
19+
20+
* Turned off html autoescape in IPR email templates. This fixes
21+
inappropriate html escapes that occurred in various IPR-related
22+
emails.
23+
24+
* Added missing code to skip coverage measurement for skippable tests.
25+
26+
-- Henrik Levkowetz <henrik@levkowetz.com> 16 Jul 2019 14:14:12 +0000
27+
28+
29+
ietfdb (6.98.3) ietf; urgency=medium
30+
31+
* Increased the length of the list Subscribed email field from 64 to 128,
32+
updated the import_mailman_listinfo management command, and added a
33+
migration for the model change.
34+
35+
-- Henrik Levkowetz <henrik@levkowetz.com> 04 Jul 2019 16:07:14 +0000
36+
37+
38+
ietfdb (6.98.2) ietf; urgency=medium
39+
40+
This is a minor release that fixes some bugs and tweaks some settings.
41+
From the commit log:
42+
43+
* Changed some tests to match production group type changes for some special
44+
groups.
45+
46+
* Made the bin/daily cron script quiteter.
47+
48+
* Various changes to make yang-related management commands quieter
49+
50+
* Added a fix for an issue in get_meeting_registration_data() which could
51+
happen if we tried to create a Person record for with a user of an
52+
existing Person.
53+
54+
* Changed the permitted length of patent_title from 127 to 255.
55+
56+
* Added additional guards against duplicate m2m entries.
57+
58+
* Added a utility to check copyright statements in specified files.
59+
60+
* Updated some functions and views in secr/srec/ to use GroupFeatures
61+
instead of hardcoded lists of group types.
62+
63+
* Made session requests also work for ad-hoc groups, which may not have a
64+
parent area.
65+
66+
-- Henrik Levkowetz <henrik@levkowetz.com> 03 Jul 2019 20:27:54 +0000
67+
68+
169
ietfdb (6.98.1) ietf; urgency=medium
270

371
This is a bugfix release that cleans up some remaining issues from the

docker/build

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,6 @@ fi
123123

124124
docker rmi -f ietf/datatracker-environment:trunk || true
125125
docker build -t ietf/datatracker-environment:$TAG docker/
126-
docker tag $(docker images -q | head -n 1) ietf/datatracker-environment:latest
126+
docker tag $(docker images -q ietf/datatracker-environment | head -n 1) ietf/datatracker-environment:latest
127127
docker push ietf/datatracker-environment:latest
128-
docker push ietf/datatracker-environment:$TAG
128+
docker push ietf/datatracker-environment:$TAG

ietf/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
from . import checks # pyflakes:ignore
88

99
# Don't add patch number here:
10-
__version__ = "6.98.2.dev0"
10+
__version__ = "6.98.5.dev0"
1111

1212
# set this to ".p1", ".p2", etc. after patching
1313
__patch__ = ""
1414

1515
__date__ = "$Date$"
1616

17-
__rev__ = "$Rev$ (dev) Latest release: Rev. 16294 "
17+
__rev__ = "$Rev$ (dev) Latest release: Rev. 16464 "
1818

1919
__id__ = "$Id$"

ietf/bin/set_admin_permissions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ def main():
5555

5656
# Set Auth Group Admin Permissions
5757
names = ['auth.add_user','auth.change_user','auth.delete_user',
58+
'dbtemplate.change_dbtemplate',
5859
'group.add_group','group.change_group','group.delete_group',
5960
'group.add_role','group.change_role','group.delete_role',
6061
'group.add_groupevent','group.change_groupevent','group.delete_groupevent',

ietf/community/tests.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ def test_view_list(self):
8888

8989
# with list
9090
clist = CommunityList.objects.create(user=User.objects.get(username="plain"))
91-
clist.added_docs.add(draft)
91+
if not draft in clist.added_docs.all():
92+
clist.added_docs.add(draft)
9293
SearchRule.objects.create(
9394
community_list=clist,
9495
rule_type="name_contains",
@@ -250,7 +251,8 @@ def test_csv(self):
250251

251252
# with list
252253
clist = CommunityList.objects.create(user=User.objects.get(username="plain"))
253-
clist.added_docs.add(draft)
254+
if not draft in clist.added_docs.all():
255+
clist.added_docs.add(draft)
254256
SearchRule.objects.create(
255257
community_list=clist,
256258
rule_type="name_contains",
@@ -285,7 +287,8 @@ def test_feed(self):
285287

286288
# with list
287289
clist = CommunityList.objects.create(user=User.objects.get(username="plain"))
288-
clist.added_docs.add(draft)
290+
if not draft in clist.added_docs.all():
291+
clist.added_docs.add(draft)
289292
SearchRule.objects.create(
290293
community_list=clist,
291294
rule_type="name_contains",
@@ -326,7 +329,8 @@ def test_subscription(self):
326329

327330
# subscription with list
328331
clist = CommunityList.objects.create(user=User.objects.get(username="plain"))
329-
clist.added_docs.add(draft)
332+
if not draft in clist.added_docs.all():
333+
clist.added_docs.add(draft)
330334
SearchRule.objects.create(
331335
community_list=clist,
332336
rule_type="name_contains",
@@ -369,7 +373,8 @@ def test_notification(self):
369373
draft = WgDraftFactory()
370374

371375
clist = CommunityList.objects.create(user=User.objects.get(username="plain"))
372-
clist.added_docs.add(draft)
376+
if not draft in clist.added_docs.all():
377+
clist.added_docs.add(draft)
373378

374379
EmailSubscription.objects.create(community_list=clist, email=Email.objects.filter(person__user__username="plain").first(), notify_on="significant")
375380

ietf/community/views.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ def manage_list(request, username=None, acronym=None, group_type=None):
5959
clist.save()
6060

6161
for d in add_doc_form.cleaned_data['documents']:
62-
clist.added_docs.add(d)
62+
if not d in clist.added_docs.all():
63+
clist.added_docs.add(d)
6364

6465
return HttpResponseRedirect("")
6566
else:
@@ -136,7 +137,8 @@ def track_document(request, name, username=None, acronym=None):
136137
if clist.pk is None:
137138
clist.save()
138139

139-
clist.added_docs.add(doc)
140+
if not doc in clist.added_docs.all():
141+
clist.added_docs.add(doc)
140142

141143
if request.is_ajax():
142144
return HttpResponse(json.dumps({ 'success': True }), content_type='application/json')

ietf/doc/tests_review.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,6 @@ def test_request_review(self):
101101

102102
self.assertEqual(len(outbox),2)
103103
self.assertTrue('reviewteam Early' in outbox[0]['Subject'])
104-
if not 'reviewsecretary@' in outbox[0]['To']:
105-
print(outbox[0].as_string())
106104
self.assertTrue('reviewsecretary@' in outbox[0]['To'])
107105
self.assertTrue('reviewteam3 Early' in outbox[1]['Subject'])
108106
if not 'reviewsecretary3@' in outbox[1]['To']:

ietf/ipr/fields.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
from django import forms
1212
from django.urls import reverse as urlreverse
1313

14+
import debug # pyflakes:ignore
15+
1416
from ietf.ipr.models import IprDisclosureBase
1517

1618
def select2_id_ipr_title_json(value):

ietf/ipr/forms.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ class GenericDisclosureForm(forms.Form):
160160
patent_number = forms.CharField(max_length=127, required=False, validators=[ validate_patent_number ],
161161
help_text = "Patent publication or application number (2-letter country code followed by serial number)")
162162
patent_inventor = forms.CharField(max_length=63, required=False, validators=[ validate_name ], help_text="Inventor name")
163-
patent_title = forms.CharField(max_length=127, required=False, validators=[ validate_title ], help_text="Title of invention")
163+
patent_title = forms.CharField(max_length=255, required=False, validators=[ validate_title ], help_text="Title of invention")
164164
patent_date = forms.DateField(required=False, help_text="Date granted or applied for")
165165
patent_notes = forms.CharField(max_length=1024, required=False, widget=forms.Textarea)
166166

@@ -229,7 +229,7 @@ class IprDisclosureFormBase(forms.ModelForm):
229229
patent_number = forms.CharField(max_length=127, required=True, validators=[ validate_patent_number ],
230230
help_text = "Patent publication or application number (2-letter country code followed by serial number)")
231231
patent_inventor = forms.CharField(max_length=63, required=True, validators=[ validate_name ], help_text="Inventor name")
232-
patent_title = forms.CharField(max_length=127, required=True, validators=[ validate_title ], help_text="Title of invention")
232+
patent_title = forms.CharField(max_length=255, required=True, validators=[ validate_title ], help_text="Title of invention")
233233
patent_date = forms.DateField(required=True, help_text="Date granted or applied for")
234234
patent_notes = forms.CharField(max_length=1024, required=False, widget=forms.Textarea)
235235

0 commit comments

Comments
 (0)