11# Copyright The IETF Trust 2007, All Rights Reserved
2+ import datetime
3+
24from django .conf import settings
3- from django .core .urlresolvers import reverse
5+ from django .core .urlresolvers import reverse as urlreverse
46from django .contrib .sites .models import Site
57from django .http import HttpResponseRedirect , Http404 , HttpResponseForbidden , HttpResponseNotAllowed
68from django .shortcuts import get_object_or_404
79from django .shortcuts import render_to_response
810from django .template import RequestContext
9- from django .core .exceptions import ObjectDoesNotExist
1011
11- from ietf .submit .models import IdSubmissionDetail , Preapproval
12- from ietf .submit .forms import UploadForm , AutoPostForm , MetaDataForm , PreapprovalForm
13- from ietf .submit .utils import *
12+ from ietf .group .models import Group
1413from ietf .utils .mail import send_mail
1514from ietf .ietfauth .decorators import has_role , role_required
16-
15+ from ietf .submit .models import IdSubmissionDetail , Preapproval
16+ from ietf .submit .forms import UploadForm , AutoPostForm , MetaDataForm , PreapprovalForm
17+ from ietf .submit .utils import UPLOADED , AWAITING_AUTHENTICATION , MANUAL_POST_REQUESTED , CANCELLED , POSTED , INITIAL_VERSION_APPROVAL_REQUESTED
18+ from ietf .submit .utils import is_secretariat , get_approvable_submissions , get_preapprovals , get_recently_approved , get_person_for_user , perform_post , remove_docs , request_full_url
19+ from ietf .submit .utils import DraftValidation
1720
1821def submit_index (request ):
1922 if request .method == 'POST' :
2023 try :
2124 form = UploadForm (request = request , data = request .POST , files = request .FILES )
2225 if form .is_valid ():
2326 submit = form .save ()
24- return HttpResponseRedirect (reverse (draft_status , None , kwargs = {'submission_id' : submit .submission_id , 'submission_hash' : submit .get_hash ()}))
27+ return HttpResponseRedirect (urlreverse (draft_status , None , kwargs = {'submission_id' : submit .submission_id , 'submission_hash' : submit .get_hash ()}))
2528 except IOError , e :
2629 if "Client read error" in str (e ): # The server got an IOError when trying to read POST data
2730 form = UploadForm (request = request )
@@ -44,7 +47,7 @@ def submit_status(request):
4447 filename = request .POST .get ('filename' , '' )
4548 detail = IdSubmissionDetail .objects .filter (filename = filename ).order_by ('-pk' )
4649 if detail :
47- return HttpResponseRedirect (reverse (draft_status , None , kwargs = {'submission_id' : detail [0 ].submission_id }))
50+ return HttpResponseRedirect (urlreverse (draft_status , None , kwargs = {'submission_id' : detail [0 ].submission_id }))
4851 error = 'No valid history found for %s' % filename
4952 return render_to_response ('submit/submit_status.html' ,
5053 {'selected' : 'status' ,
@@ -64,14 +67,14 @@ def _can_approve(user, detail):
6467
6568def _can_force_post (user , detail ):
6669 if detail .status_id not in [MANUAL_POST_REQUESTED ,
67- WAITING_AUTHENTICATION , INITIAL_VERSION_APPROVAL_REQUESTED ]:
70+ AWAITING_AUTHENTICATION , INITIAL_VERSION_APPROVAL_REQUESTED ]:
6871 return None
6972 if is_secretariat (user ):
7073 return True
7174 return False
7275
7376def _can_cancel (user , detail , submission_hash ):
74- if detail .status_id in [CANCELED , POSTED ]:
77+ if detail .status_id in [CANCELLED , POSTED ]:
7578 return None
7679 if is_secretariat (user ):
7780 return True
@@ -100,8 +103,8 @@ def draft_status(request, submission_id, submission_hash=None, message=None):
100103 can_approve = _can_approve (request .user , detail )
101104 can_cancel = _can_cancel (request .user , detail , submission_hash )
102105 if detail .status_id != UPLOADED :
103- if detail .status_id == CANCELED :
104- message = ('error' , 'This submission has been canceled , modification is no longer possible' )
106+ if detail .status_id == CANCELLED :
107+ message = ('error' , 'This submission has been cancelled , modification is no longer possible' )
105108 status = detail .status
106109 allow_edit = None
107110
@@ -127,7 +130,7 @@ def draft_status(request, submission_id, submission_hash=None, message=None):
127130 send_mail (request , to_email , from_email , subject , 'submit/submission_approval.txt' ,
128131 {'submitter' : submitter , 'authors' : authors ,
129132 'draft' : detail , 'domain' : Site .objects .get_current ().domain })
130- return HttpResponseRedirect (reverse (draft_status , None , kwargs = {'submission_id' : detail .submission_id }))
133+ return HttpResponseRedirect (urlreverse (draft_status , None , kwargs = {'submission_id' : detail .submission_id }))
131134 else :
132135 auto_post_form .save (request )
133136 detail = get_object_or_404 (IdSubmissionDetail , submission_id = submission_id )
@@ -142,9 +145,9 @@ def draft_status(request, submission_id, submission_hash=None, message=None):
142145 else :
143146 submission_hash = detail .get_hash ()
144147 if submission_hash :
145- return HttpResponseRedirect (reverse ('draft_edit_by_hash' , None , kwargs = {'submission_id' : detail .submission_id , 'submission_hash' : submission_hash }))
148+ return HttpResponseRedirect (urlreverse ('draft_edit_by_hash' , None , kwargs = {'submission_id' : detail .submission_id , 'submission_hash' : submission_hash }))
146149 else :
147- return HttpResponseRedirect (reverse (draft_edit , None , kwargs = {'submission_id' : detail .submission_id }))
150+ return HttpResponseRedirect (urlreverse (draft_edit , None , kwargs = {'submission_id' : detail .submission_id }))
148151 else :
149152 auto_post_form = AutoPostForm (draft = detail , validation = validation )
150153
@@ -180,10 +183,10 @@ def draft_cancel(request, submission_id, submission_hash=None):
180183 if can_cancel == None :
181184 raise Http404
182185 return HttpResponseForbidden ('You have no permission to perform this action' )
183- detail .status_id = CANCELED
186+ detail .status_id = CANCELLED
184187 detail .save ()
185188 remove_docs (detail )
186- return HttpResponseRedirect (reverse (draft_status , None , kwargs = {'submission_id' : submission_id }))
189+ return HttpResponseRedirect (urlreverse (draft_status , None , kwargs = {'submission_id' : submission_id }))
187190
188191
189192def draft_edit (request , submission_id , submission_hash = None ):
@@ -199,7 +202,7 @@ def draft_edit(request, submission_id, submission_hash=None):
199202 form = MetaDataForm (draft = detail , validation = validation , data = request .POST )
200203 if form .is_valid ():
201204 form .save (request )
202- return HttpResponseRedirect (reverse (draft_status , None , kwargs = {'submission_id' : detail .submission_id }))
205+ return HttpResponseRedirect (urlreverse (draft_status , None , kwargs = {'submission_id' : detail .submission_id }))
203206 else :
204207 form = MetaDataForm (draft = detail , validation = validation )
205208 return render_to_response ('submit/draft_edit.html' ,
@@ -217,7 +220,7 @@ def draft_confirm(request, submission_id, auth_key):
217220 message = None
218221 if auth_key != detail .auth_key :
219222 message = ('error' , 'Incorrect authorization key' )
220- elif detail .status_id != WAITING_AUTHENTICATION :
223+ elif detail .status_id != AWAITING_AUTHENTICATION :
221224 message = ('error' , 'The submission can not be autoposted because it is in state: %s' % detail .status .status_value )
222225 else :
223226 if request .method == 'POST' :
@@ -240,7 +243,7 @@ def draft_approve(request, submission_id, check_function=_can_approve):
240243 raise Http404
241244 return HttpResponseForbidden ('You have no permission to perform this action' )
242245 perform_post (request , detail )
243- return HttpResponseRedirect (reverse (draft_status , None , kwargs = {'submission_id' : submission_id }))
246+ return HttpResponseRedirect (urlreverse (draft_status , None , kwargs = {'submission_id' : submission_id }))
244247
245248
246249def draft_force (request , submission_id ):
0 commit comments