11# Copyright The IETF Trust 2007, All Rights Reserved
22
3- import re
3+ import re , datetime
44
55from django .shortcuts import render_to_response as render , get_object_or_404
66from django .template import RequestContext
1010
1111from ietf .utils import log
1212from ietf .utils .mail import send_mail
13+ from ietf .doc .models import Document , DocAlias
1314from ietf .ipr .models import IprDetail , IprDocAlias , IprContact , LICENSE_CHOICES , IprUpdate
1415from ietf .ipr .view_sections import section_table
1516
@@ -61,8 +62,6 @@ def new(request, type, update=None, submitter=None):
6162 one form containing fields from 4 tables -- don't build something like this again...
6263
6364 """
64- debug = ""
65-
6665 section_list = section_table [type ].copy ()
6766 section_list .update ({"title" :False , "new_intro" :False , "form_intro" :True ,
6867 "form_submit" :True , "form_legend" : True , })
@@ -131,7 +130,7 @@ def clean_rfclist(self):
131130 for rfc in rfclist :
132131 try :
133132 DocAlias .objects .get (name = "rfc%s" % int (rfc ))
134- except :
133+ except ( DocAlias . DoesNotExist , DocAlias . MultipleObjectsReturned , ValueError ) :
135134 raise forms .ValidationError ("Unknown RFC number: %s - please correct this." % rfc )
136135 rfclist = " " .join (rfclist )
137136 return rfclist
@@ -145,19 +144,19 @@ def clean_draftlist(self):
145144 if draft .endswith (".txt" ):
146145 draft = draft [:- 4 ]
147146 if re .search ("-[0-9][0-9]$" , draft ):
148- filename = draft [:- 3 ]
147+ name = draft [:- 3 ]
149148 rev = draft [- 2 :]
150149 else :
151- filename = draft
150+ name = draft
152151 rev = None
153152 try :
154- doc = Document .objects .get (docalias__name = filename )
155- except Exception as e :
153+ doc = Document .objects .get (docalias__name = name )
154+ except ( Document . DoesNotExist , Document . MultipleObjectsReturned ) as e :
156155 log ("Exception: %s" % e )
157- raise forms .ValidationError ("Unknown Internet-Draft: %s - please correct this." % filename )
156+ raise forms .ValidationError ("Unknown Internet-Draft: %s - please correct this." % name )
158157 if rev and doc .rev != rev :
159- raise forms .ValidationError ("Unexpected revision '%s' for draft %s - the current revision is %s. Please check this." % (rev , filename , id . revision ))
160- drafts .append ("%s-%s" % (filename , doc .rev ))
158+ raise forms .ValidationError ("Unexpected revision '%s' for draft %s - the current revision is %s. Please check this." % (rev , name , doc . rev ))
159+ drafts .append ("%s-%s" % (name , doc .rev ))
161160 return " " .join (drafts )
162161 return ""
163162 def clean_licensing_option (self ):
@@ -178,11 +177,8 @@ def is_valid(self):
178177 # POST of the "get updater" form, so we don't want to validate
179178 # this one. When we're posting *this* form, submitter is None,
180179 # even when updating.
181- if (request .method == 'POST' or '_testpost' in request .REQUEST ) and not submitter :
182- if request .method == 'POST' :
183- data = request .POST .copy ()
184- else :
185- data = request .GET .copy ()
180+ if request .method == 'POST' and not submitter :
181+ data = request .POST .copy ()
186182 data ["submitted_date" ] = datetime .datetime .now ().strftime ("%Y-%m-%d" )
187183 data ["third_party" ] = section_list ["third_party" ]
188184 data ["generic" ] = section_list ["generic" ]
@@ -205,13 +201,13 @@ def is_valid(self):
205201 # Save IprDetail
206202 instance = form .save (commit = False )
207203
208- legal_name_genitive = data ['legal_name' ] + "'" if data ['legal_name' ].endswith ('s' ) else data ['legal_name' ] + "'s"
204+ legal_name_genitive = data ['legal_name' ] + "'" if data ['legal_name' ].endswith ('s' ) else data ['legal_name' ] + "'s"
209205 if type == "generic" :
210206 instance .title = legal_name_genitive + " General License Statement"
211- if type == "specific" :
207+ elif type == "specific" :
212208 data ["ipr_summary" ] = get_ipr_summary (form .cleaned_data )
213209 instance .title = legal_name_genitive + """ Statement about IPR related to %(ipr_summary)s""" % data
214- if type == "third-party" :
210+ elif type == "third-party" :
215211 data ["ipr_summary" ] = get_ipr_summary (form .cleaned_data )
216212 ietf_name_genitive = data ['ietf_name' ] + "'" if data ['ietf_name' ].endswith ('s' ) else data ['ietf_name' ] + "'s"
217213 instance .title = ietf_name_genitive + """ Statement about IPR related to %(ipr_summary)s belonging to %(legal_name)s""" % data
@@ -294,7 +290,7 @@ def is_valid(self):
294290 form .unbound_form = True
295291
296292 # log(dir(form.ietf_contact_is_submitter))
297- return render ("ipr/details_edit.html" , {"ipr" : form , "section_list" :section_list , "debug" : debug }, context_instance = RequestContext (request ))
293+ return render ("ipr/details_edit.html" , {"ipr" : form , "section_list" :section_list }, context_instance = RequestContext (request ))
298294
299295def update (request , ipr_id = None ):
300296 """Update a specific IPR disclosure"""
@@ -320,9 +316,7 @@ def __init__(self, *args, **kwargs):
320316
321317 if request .method == 'POST' :
322318 form = UpdateForm (request .POST )
323- elif '_testpost' in request .REQUEST :
324- form = UpdateForm (request .GET )
325- else :
319+ else :
326320 form = UpdateForm ()
327321
328322 if not (form .is_valid ()):
0 commit comments