|
7 | 7 | from django.contrib import messages |
8 | 8 | from django.urls import reverse as urlreverse |
9 | 9 | from django.db.models import Q |
10 | | -from django.forms.models import inlineformset_factory |
| 10 | +from django.forms.models import inlineformset_factory, model_to_dict |
11 | 11 | from django.forms.formsets import formset_factory |
12 | 12 | from django.http import HttpResponse, Http404, HttpResponseRedirect |
13 | 13 | from django.shortcuts import render, get_object_or_404, redirect |
|
30 | 30 | RelatedIpr,IprEvent) |
31 | 31 | from ietf.ipr.utils import (get_genitive, get_ipr_summary, |
32 | 32 | iprs_from_docs, related_docs) |
| 33 | +from ietf.mailtrigger.utils import gather_address_lists |
33 | 34 | from ietf.message.models import Message |
34 | 35 | from ietf.message.utils import infer_message |
35 | 36 | from ietf.name.models import IprLicenseTypeName |
36 | 37 | from ietf.person.models import Person |
37 | 38 | from ietf.secr.utils.document import get_rfc_num, is_draft |
38 | 39 | from ietf.utils.draft_search import normalize_draftname |
39 | 40 | from ietf.utils.mail import send_mail, send_mail_message |
40 | | -from ietf.mailtrigger.utils import gather_address_lists |
| 41 | +from ietf.utils.text import text_to_dict |
41 | 42 |
|
42 | 43 | # ---------------------------------------------------------------- |
43 | 44 | # Globals |
@@ -531,7 +532,16 @@ def new(request, type, updates=None): |
531 | 532 |
|
532 | 533 | else: |
533 | 534 | if updates: |
534 | | - form = ipr_form_mapping[type](initial={'updates':str(updates)}) |
| 535 | + original = IprDisclosureBase(id=updates).get_child() |
| 536 | + initial = model_to_dict(original) |
| 537 | + initial.update({'updates':str(updates), }) |
| 538 | + patent_info = text_to_dict(initial['patent_info']) |
| 539 | + if patent_info.keys(): |
| 540 | + patent_dict = dict([ ('patent_'+k.lower(), v) for k,v in patent_info.items() ]) |
| 541 | + else: |
| 542 | + patent_dict = {'patent_notes': initial['patent_info']} |
| 543 | + initial.update(patent_dict) |
| 544 | + form = ipr_form_mapping[type](initial=initial) |
535 | 545 | else: |
536 | 546 | form = ipr_form_mapping[type]() |
537 | 547 | disclosure = IprDisclosureBase() # dummy disclosure for inlineformset |
@@ -764,8 +774,8 @@ def show(request, id): |
764 | 774 | 'in_force_ipr_rfc': ipr_rfc_number(ipr.time, ipr.is_thirdparty), |
765 | 775 | 'tabs': get_details_tabs(ipr, 'Disclosure'), |
766 | 776 | 'choices_abc': [ i.desc for i in IprLicenseTypeName.objects.filter(slug__in=['no-license', 'royalty-free', 'reasonable', ]) ], |
767 | | - 'updates_iprs': ipr.relatedipr_source_set.all(), |
768 | | - 'updated_by_iprs': ipr.relatedipr_target_set.filter(source__state="posted") |
| 777 | + 'updates_iprs': ipr.relatedipr_source_set.all().order_by('source__time'), |
| 778 | + 'updated_by_iprs': ipr.relatedipr_target_set.filter(source__state="posted").order_by('target__time') |
769 | 779 | }) |
770 | 780 |
|
771 | 781 | def showlist(request): |
|
0 commit comments