diff --git a/ietf/submit/resources.py b/ietf/submit/resources.py index 59c6344ef..192b71bdc 100644 --- a/ietf/submit/resources.py +++ b/ietf/submit/resources.py @@ -5,12 +5,11 @@ from tastypie.constants import ALL, ALL_WITH_RELATIONS from tastypie.cache import SimpleCache from ietf import api - -from ietf.submit.models import Preapproval, \ - SubmissionCheck, Submission, SubmissionEmailEvent, SubmissionEvent - - +from ietf.submit.models import ( Preapproval, SubmissionCheck, Submission, + SubmissionEmailEvent, SubmissionEvent ) from ietf.person.resources import PersonResource + + class PreapprovalResource(ModelResource): by = ToOneField(PersonResource, 'by') class Meta: diff --git a/ietf/submit/tests.py b/ietf/submit/tests.py index b55217b57..5817bc514 100644 --- a/ietf/submit/tests.py +++ b/ietf/submit/tests.py @@ -960,7 +960,7 @@ Please submit my draft at http://test.com/mydraft.txt Thank you """.format(datetime.datetime.now().ctime()) message = email.message_from_string(message_string) - submission, submission_email_event =\ + submission, submission_email_event = ( add_submission_email(request=None, remote_ip ="192.168.0.1", name = "draft-my-new-draft", @@ -968,7 +968,7 @@ Thank you submission_pk=None, message = message, by = Person.objects.get(name="(System)"), - msgtype = "msgin") + msgtype = "msgin") ) url = urlreverse('ietf.submit.views.manualpost') # Secretariat has access @@ -1005,7 +1005,7 @@ Thank you self.assertEqual(len(q('.waiting-for-draft a:contains("draft-my-new-draft")')), 0) # Should now be able to add it again - submission, submission_email_event = \ + submission, submission_email_event = ( add_submission_email(request=None, remote_ip ="192.168.0.1", name = "draft-my-new-draft", @@ -1013,7 +1013,7 @@ Thank you submission_pk=None, message = message, by = Person.objects.get(name="(System)"), - msgtype = "msgin") + msgtype = "msgin") ) def test_waiting_for_draft_with_attachment(self): @@ -1041,8 +1041,9 @@ QW4gZXhhbXBsZSBhdHRhY2htZW50IHd0aG91dCB2ZXJ5IG11Y2ggaW4gaXQuCgpBIGNvdXBs ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg== --------------090908050800030909090207-- """.format(frm, datetime.datetime.now().ctime()) + message = email.message_from_string(message_string) - submission, submission_email_event = \ + submission, submission_email_event = ( add_submission_email(request=None, remote_ip ="192.168.0.1", name = "draft-my-new-draft", @@ -1050,7 +1051,7 @@ ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg== submission_pk=None, message = message, by = Person.objects.get(name="(System)"), - msgtype = "msgin") + msgtype = "msgin") ) manualpost_page_url = urlreverse('ietf.submit.views.manualpost') # Secretariat has access @@ -1135,8 +1136,7 @@ ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg== is_secretariat): # get the page listing manual posts r, q = self.request_and_parse(the_url) - selector = "#waiting-for-draft a#add-submission-email{}:contains('Add email')". \ - format(submission.pk, submission_name_fragment) + selector = "#waiting-for-draft a#add-submission-email%s:contains('Add email')" % submission.pk if is_secretariat: # Can add an email to the submission @@ -1152,8 +1152,7 @@ ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg== # Follow the link to the status page for this submission r, q = self.request_and_parse(submission_url) - selector = "#history a#reply{}:contains('Reply')".\ - format(submission.pk) + selector = "#history a#reply%s:contains('Reply')" % submission.pk if is_secretariat: # check that reply button is visible and get the form @@ -1171,8 +1170,7 @@ ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg== if is_secretariat: # Now try to send an email using the send email link - selector = "a#send{}:contains('Send Email')". \ - format(submission.pk) + selector = "a#send%s:contains('Send Email')" % submission.pk send_url = self.get_href(q, selector) self.do_submission_email(the_url = send_url, @@ -1194,8 +1192,7 @@ ZSBvZiBsaW5lcyAtIGJ1dCBpdCBjb3VsZCBiZSBhIGRyYWZ0Cg== if is_secretariat: # check that reply button is visible - reply_href = self.get_href(q, "#email-details a#reply{}:contains('Reply')". \ - format(submission.pk)) + reply_href = self.get_href(q, "#email-details a#reply%s:contains('Reply')" % submission.pk) else: # No reply button @@ -1308,6 +1305,7 @@ From: {} Date: {} Subject: test """.format(reply_to, to, datetime.datetime.now().ctime()) + result = process_response_email(message_string) self.assertIsInstance(result, Message) diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index 6bba7e2bc..8fcfc857d 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -3,8 +3,8 @@ import datetime from django.conf import settings -from ietf.doc.models import Document, State, DocAlias, DocEvent, \ - DocumentAuthor, AddedMessageEvent +from ietf.doc.models import ( Document, State, DocAlias, DocEvent, + DocumentAuthor, AddedMessageEvent ) from ietf.doc.models import NewRevisionDocEvent from ietf.doc.models import RelatedDocument, DocRelationshipName from ietf.doc.utils import add_state_change_event, rebuild_reference_relations diff --git a/ietf/submit/views.py b/ietf/submit/views.py index 330e325b1..672dad730 100644 --- a/ietf/submit/views.py +++ b/ietf/submit/views.py @@ -8,8 +8,7 @@ from django.conf import settings from django.contrib import messages from django.core.urlresolvers import reverse as urlreverse from django.core.validators import validate_email, ValidationError -from django.http import HttpResponseRedirect, Http404, HttpResponseForbidden, \ - HttpResponse +from django.http import HttpResponseRedirect, Http404, HttpResponseForbidden, HttpResponse from django.shortcuts import get_object_or_404, redirect, render from django.utils.module_loading import import_string @@ -21,14 +20,14 @@ from ietf.group.models import Group from ietf.ietfauth.utils import has_role, role_required from ietf.mailtrigger.utils import gather_address_lists from ietf.message.models import Message, MessageAttachment -from ietf.submit.forms import SubmissionUploadForm, NameEmailForm, EditSubmissionForm, PreapprovalForm, ReplacesForm, \ - SubmissionEmailForm, MessageModelForm -from ietf.submit.mail import send_full_url, send_approval_request_to_group, \ - send_submission_confirmation, send_manual_post_request, \ - add_submission_email, get_reply_to -from ietf.submit.models import Submission, SubmissionCheck, Preapproval, DraftSubmissionStateName, \ - SubmissionEmailEvent -from ietf.submit.utils import approvable_submissions_for_user, preapprovals_for_user, recently_approved_by_user +from ietf.submit.forms import ( SubmissionUploadForm, NameEmailForm, EditSubmissionForm, + PreapprovalForm, ReplacesForm, SubmissionEmailForm, MessageModelForm ) +from ietf.submit.mail import ( send_full_url, send_approval_request_to_group, + send_submission_confirmation, send_manual_post_request, add_submission_email, get_reply_to ) +from ietf.submit.models import (Submission, SubmissionCheck, Preapproval, + DraftSubmissionStateName, SubmissionEmailEvent ) +from ietf.submit.utils import ( approvable_submissions_for_user, preapprovals_for_user, + recently_approved_by_user ) from ietf.submit.utils import validate_submission, create_submission_event from ietf.submit.utils import docevent_from_submission from ietf.submit.utils import post_submission, cancel_submission, rename_submission_files @@ -238,9 +237,14 @@ def submission_status(request, submission_id, access_token=None): can_edit = can_edit_submission(request.user, submission, access_token) and submission.state_id == "uploaded" can_cancel = (key_matched or is_secretariat) and submission.state.next_states.filter(slug="cancel") can_group_approve = (is_secretariat or is_chair) and submission.state_id == "grp-appr" - can_force_post = is_secretariat and submission.state.next_states.filter(slug="posted") and submission.state_id != "waiting-for-draft" - show_send_full_url = not key_matched and not is_secretariat and submission.state_id not in ("cancel", "posted") - + can_force_post = ( + is_secretariat + and submission.state.next_states.filter(slug="posted").exists() + and submission.state_id != "waiting-for-draft") + show_send_full_url = ( + not key_matched + and not is_secretariat + and not submission.state_id in ("cancel", "posted") ) addrs = gather_address_lists('sub_confirmation_requested',submission=submission) confirmation_list = addrs.to confirmation_list.extend(addrs.cc) @@ -637,7 +641,7 @@ def add_manualpost_email(request, submission_id=None, access_token=None): else: msgtype = 'msgout' - submission, submission_email_event = \ + submission, submission_email_event = ( add_submission_email(request=request, remote_ip=request.META.get('REMOTE_ADDR', None), name = form.draft_name, @@ -645,7 +649,7 @@ def add_manualpost_email(request, submission_id=None, access_token=None): submission_pk = submission_pk, message = message, by = request.user.person, - msgtype = msgtype) + msgtype = msgtype) ) messages.success(request, 'Email added.')