allowing submissions to be canceled. Closes #591.

- Legacy-Id: 2846
This commit is contained in:
Jacobo Tarragón 2011-02-10 19:08:29 +00:00
parent 7c79a4d707
commit 04c4043e25
5 changed files with 58 additions and 51 deletions

View file

@ -16,28 +16,28 @@ class IdSubmissionDetail(models.Model):
temp_id_document_tag = models.IntegerField(null=True, blank=True)
status = models.ForeignKey(IdSubmissionStatus, db_column='status_id', null=True, blank=True)
last_updated_date = models.DateField(null=True, blank=True)
last_updated_time = models.CharField(blank=True, max_length=25)
id_document_name = models.CharField(blank=True, max_length=255)
last_updated_time = models.CharField(null=True, blank=True, max_length=25)
id_document_name = models.CharField(null=True, blank=True, max_length=255)
group_acronym = models.ForeignKey(IETFWG, null=True, blank=True)
filename = models.CharField(blank=True, max_length=255)
filename = models.CharField(null=True, blank=True, max_length=255)
creation_date = models.DateField(null=True, blank=True)
submission_date = models.DateField(null=True, blank=True)
remote_ip = models.CharField(blank=True, max_length=100)
revision = models.CharField(blank=True, max_length=3)
remote_ip = models.CharField(null=True, blank=True, max_length=100)
revision = models.CharField(null=True, blank=True, max_length=3)
submitter_tag = models.IntegerField(null=True, blank=True)
auth_key = models.CharField(blank=True, max_length=255)
idnits_message = models.TextField(blank=True)
file_type = models.CharField(blank=True, max_length=50)
comment_to_sec = models.TextField(blank=True)
abstract = models.TextField(blank=True)
auth_key = models.CharField(null=True, blank=True, max_length=255)
idnits_message = models.TextField(null=True, blank=True)
file_type = models.CharField(null=True, blank=True, max_length=50)
comment_to_sec = models.TextField(null=True, blank=True)
abstract = models.TextField(null=True, blank=True)
txt_page_count = models.IntegerField(null=True, blank=True)
error_message = models.CharField(blank=True, max_length=255)
warning_message = models.TextField(blank=True)
error_message = models.CharField(null=True, blank=True, max_length=255)
warning_message = models.TextField(null=True, blank=True)
wg_submission = models.IntegerField(null=True, blank=True)
filesize = models.IntegerField(null=True, blank=True)
man_posted_date = models.DateField(null=True, blank=True)
man_posted_by = models.CharField(blank=True, max_length=255)
first_two_pages = models.TextField(blank=True)
man_posted_by = models.CharField(null=True, blank=True, max_length=255)
first_two_pages = models.TextField(null=True, blank=True)
sub_email_priority = models.IntegerField(null=True, blank=True)
invalid_version = models.IntegerField(null=True, blank=True)
idnits_failed = models.IntegerField(null=True, blank=True)

View file

@ -6,7 +6,7 @@ urlpatterns = patterns('ietf.submit.views',
url(r'^status/$', 'submit_status', name='submit_status'),
url(r'^status/(?P<submission_id>\d+)/$', 'draft_status', name='draft_status'),
url(r'^status/(?P<submission_id>\d+)/edit/$', 'draft_edit', name='draft_edit'),
url(r'^status/(?P<submission_id>\d+)/confirm/(?P<auth_key>[a-f\d]+)/$', 'draft_confirm', name='draft_confirm'),
url(r'^status/(?P<submission_id>\d+)/cancel/$', 'draft_cancel', name='draft_cancel'),
)
urlpatterns += patterns('django.views.generic.simple',

View file

@ -11,6 +11,7 @@ WAITING_AUTHENTICATION = 4
MANUAL_POST_REQUESTED = 5
POSTED = -1
POSTED_BY_SECRETARIAT = -2
CANCELED = -4
# Not a real WG

View file

@ -7,7 +7,7 @@ from django.template import RequestContext
from ietf.submit.models import IdSubmissionDetail
from ietf.submit.forms import UploadForm, AutoPostForm, MetaDataForm
from ietf.submit.utils import (DraftValidation, UPLOADED, WAITING_AUTHENTICATION,
from ietf.submit.utils import (DraftValidation, UPLOADED, WAITING_AUTHENTICATION, CANCELED,
perform_post)
@ -67,13 +67,18 @@ def draft_status(request, submission_id, message=None):
'validation': validation,
'auto_post_form': auto_post_form,
'is_valid': is_valid,
'status': status,
'allow_edit': allow_edit,
'message': message,
'canceled': detail.status_id == CANCELED
},
context_instance=RequestContext(request))
def draft_cancel(request, submission_id):
detail = get_object_or_404(IdSubmissionDetail, submission_id=submission_id)
detail.status_id = CANCELED
detail.save()
return HttpResponseRedirect(reverse(draft_status, None, kwargs={'submission_id': submission_id}))
def draft_edit(request, submission_id):
detail = get_object_or_404(IdSubmissionDetail, submission_id=submission_id)
if detail.status_id != UPLOADED:

View file

@ -20,6 +20,11 @@ table.metadata-table ul.errorlist { color: red; padding: 0px; margin: 0px; list-
{% block pagehead %}
<script type="text/javascript" src="/js/lib/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function confirmCancelation(){
if (confirm("Cancel this submission?"))
document.location = "cancel";
}
(function ($) {
$(document).ready(function () {
@ -62,12 +67,12 @@ table.metadata-table ul.errorlist { color: red; padding: 0px; margin: 0px; list-
{% endblock %}
{% block submit_content %}
{% if status %}
<h2>Status of the submission: {{ status.status_value }}</h2>
{% endif %}
{% if message %}
<div class="info-message-{{ message.0 }}">{{ message.1 }}</div>
{% if canceled %}
<h2>Submission Canceled</h2>
<div class="metadata-errors">
<p>This submission has been canceled, modification is no longer possible.</p>
</div>
{% endif %}
<h2>Check Page</h2>
@ -138,33 +143,29 @@ returned to the submitter.
<tr{% if validation.warnings.pages %} class="warning"{% endif %}><th>Pages</th><td>{{ detail.txt_page_count }}<div class="warn_message">{{ validation.warnings.pages }}</div></td></tr>
<tr{% if validation.warnings.abstract %} class="warning"{% endif %}><th>Abstract</th><td>{{ detail.abstract|linebreaksbr }}<div class="warn_message">{{ validation.warnings.abstract }}</div></td></tr>
</table>
{% if validation.submitter %}
<h3>Submitter information</h3>
<table class="metadata-table">
<tr><th>First name</th><td>{{ validation.submitter.first_name }}</td></tr>
<tr><th>Last name</th><td>{{ validation.submitter.last_name }}</td></tr>
<tr><th>Email addres</th><td>{{ validation.submitter.email_address }}</td></tr>
</table>
{% endif %}
{% if allow_edit %}
<form method="post" action="" name="auto_post_form">
<input type="submit" value="Adjust Meta-Data" value="adjust" /> (Leads to manual post by the Secretariat)
</form>
{% if is_valid %}
<h2>Please edit the following meta-data before proceeding to Auto-Post</h2>
<p>
If you are one of the authors of this document, then please click the button with your name on it to automatically fill in the submitter information as requested below. Otherwise, please manually enter your information.
</p>
<form method="post" action="">
{{ auto_post_form.get_author_buttons|safe }}
<table class="metadata-table">
{{ auto_post_form }}
</table>
<input type="submit" value="Post" name="autopost" />
</form>
{% endif %}
{% if not canceled %}
<form method="post" action="" name="auto_post_form">
<input type="submit" value="Adjust Meta-Data" value="adjust" /> (Leads to manual post by the Secretariat)
</form>
{% if is_valid %}
<h2>Please edit the following meta-data before proceeding to Auto-Post</h2>
<p>
If you are one of the authors of this document, then please click the button with your name on it to automatically fill in the submitter information as requested below. Otherwise, please manually enter your information.
</p>
<form method="post" action="">
{{ auto_post_form.get_author_buttons|safe }}
<table class="metadata-table">
{{ auto_post_form }}
</table>
<input type="submit" value="Post" name="autopost" />
</form>
{% endif %}
<h2>Cancel submission</h2>
<p>
<input type="button" onclick="confirmCancelation();" value="Cancel Submission" /><br>
This submission will be canceled, and its uploaded document(s) permanently deleted.
</p>
{% endif %}
<p>