This is some interesting text.
Draft Name | +IESG state | +RFC Editor state | +IANA Action state | +
{{ d.name }} | +{{ d.iesg_state|default:"-" }} | +{{ d.rfc_state|default:"-" }} | +{{ d.iana_action_state|default:"-" }} | +
None found.
+{% endif %} + +{% endfor %} +{% endblock %} diff --git a/ietf/templates/sync/discrepancies_report.txt b/ietf/templates/sync/discrepancies_report.txt new file mode 100644 index 000000000..0fb324668 --- /dev/null +++ b/ietf/templates/sync/discrepancies_report.txt @@ -0,0 +1,18 @@ +{% autoescape off %} +This is an automated report of current Datatracker sync discrepancies, +also available at: + +{{ url }} +{% for title, docs in sections %} + +{{ title|wordwrap:73 }} +{% if docs %}{% for d in docs %} + {{ d.name }} + IESG: {{ d.iesg_state|default:"-" }} + RFC Ed: {{ d.rfc_state|default:"-" }} + IANA: {{ d.iana_action_state|default:"-" }} + {{ base_url }}{{ d.get_absolute_url }} +{% endfor %}{% else %} +None found. +{% endif %}{% endfor %} +{% endautoescape %} diff --git a/ietf/templates/sync/update.html b/ietf/templates/sync/update.html new file mode 100644 index 000000000..86b6a73f8 --- /dev/null +++ b/ietf/templates/sync/update.html @@ -0,0 +1,27 @@ +{% extends "base.html" %} + +{% block title %}Trigger sync for {{ org }}{% endblock %} + +{% block morecss %} +.sync-form .help { font-style: italic; padding-left: 2em; } +.sync-form input[type=submit] { margin-top: 1em; } +{% endblock %} + + +{% block content %} +Update the Datatracker with information from {{ org }}. Select +which parts to trigger a sync for:
+ + +{% endblock %} diff --git a/ietf/urls.py b/ietf/urls.py index 3edfa9388..0f2bce922 100644 --- a/ietf/urls.py +++ b/ietf/urls.py @@ -66,6 +66,7 @@ urlpatterns = patterns('', (r'^submit/', include('ietf.submit.urls')), (r'^streams/', include('ietf.ietfworkflows.urls')), (r'^community/', include('ietf.community.urls')), + (r'^sync/', include('ietf.sync.urls')), (r'^$', 'ietf.idrfc.views.main'), (r'^admin/doc/', include('django.contrib.admindocs.urls')), diff --git a/ietf/utils/test_data.py b/ietf/utils/test_data.py index 7e22f88cf..1c8fd9bfe 100644 --- a/ietf/utils/test_data.py +++ b/ietf/utils/test_data.py @@ -114,6 +114,22 @@ def make_test_data(): ascii="(System)", address="", ) + + # IANA and RFC Editor groups + iana = Group.objects.create( + name="IANA", + acronym="iana", + state_id="active", + type_id="ietf", + parent=None, + ) + rfc_editor = Group.objects.create( + name="RFC Editor", + acronym="rfc-edit", + state_id="active", + type_id="ietf", + parent=None, + ) if system_person.id != 0: # work around bug in Django Person.objects.filter(id=system_person.id).update(id=0) @@ -248,6 +264,42 @@ def make_test_data(): email=email, ) + # IANA user + u = User.objects.create(username="iana") + p = Person.objects.create( + name="Ina Iana", + ascii="Ina Iana", + user=u) + Alias.objects.create( + name=p.name, + person=p) + email = Email.objects.create( + address="iana@ia.na", + person=p) + Role.objects.create( + name_id="auth", + group=iana, + email=email, + person=p, + ) + + # RFC Editor user + u = User.objects.create(username="rfc") + p = Person.objects.create( + name="Rfc Editor", + ascii="Rfc Editor", + user=u) + email = Email.objects.create( + address="rfc@edit.or", + person=p) + Role.objects.create( + name_id="auth", + group=rfc_editor, + email=email, + person=p, + ) + + # draft draft = Document.objects.create( name="draft-ietf-mars-test",