Added small orange or green yang symbols to draft info- and list-pages, signifying fail or pass for the submission yang validation.
- Legacy-Id: 10994
This commit is contained in:
parent
2dc0745d9d
commit
be2a2285bc
|
@ -521,6 +521,11 @@ class Document(DocumentInfo):
|
|||
else:
|
||||
return None
|
||||
|
||||
def submission(self):
|
||||
s = self.submission_set.filter(rev=self.rev)
|
||||
s = s.first()
|
||||
return s
|
||||
|
||||
class RelatedDocHistory(models.Model):
|
||||
source = models.ForeignKey('DocHistory')
|
||||
target = models.ForeignKey('DocAlias', related_name="reversely_related_document_history_set")
|
||||
|
|
|
@ -124,7 +124,6 @@ def process_files(request,draft):
|
|||
file_size=txt_size,
|
||||
document_date=wrapper.get_creation_date(),
|
||||
submission_date=datetime.date.today(),
|
||||
idnits_message='idnits bypassed by manual posting',
|
||||
group_id=draft.group.id,
|
||||
remote_ip=request.META['REMOTE_ADDR'],
|
||||
first_two_pages=''.join(wrapper.pages[:2]),
|
||||
|
|
|
@ -5,10 +5,10 @@ from django.contrib import admin
|
|||
from ietf.submit.models import Preapproval, Submission, SubmissionCheck
|
||||
|
||||
class SubmissionAdmin(admin.ModelAdmin):
|
||||
list_display = ['id', 'draft_link', 'status_link', 'submission_date',]
|
||||
list_display = ['id', 'rev', 'draft_link', 'status_link', 'submission_date',]
|
||||
ordering = [ '-id' ]
|
||||
search_fields = ['name', ]
|
||||
raw_id_fields = ['group']
|
||||
raw_id_fields = ['group', 'draft']
|
||||
|
||||
def status_link(self, instance):
|
||||
url = urlreverse('submit_submission_status_by_hash',
|
||||
|
|
|
@ -44,6 +44,11 @@ class DraftIdnitsChecker(object):
|
|||
"""
|
||||
name = "idnits check"
|
||||
|
||||
# start using this when we provide more in the way of warnings during
|
||||
# submission checking:
|
||||
# symbol = '<span class="fa fa-check-square"></span>'
|
||||
symbol = ""
|
||||
|
||||
def check_file_txt(self, path):
|
||||
"""
|
||||
Run an idnits check, and return a passed/failed indication, a message,
|
||||
|
@ -107,6 +112,7 @@ class DraftIdnitsChecker(object):
|
|||
class DraftYangChecker(object):
|
||||
|
||||
name = "yang validation"
|
||||
symbol = u'<span class="large">\u262f</span>'
|
||||
|
||||
def check_file_txt(self, path):
|
||||
name = os.path.basename(path)
|
||||
|
|
|
@ -45,7 +45,7 @@ class Submission(models.Model):
|
|||
|
||||
submitter = models.CharField(max_length=255, blank=True, help_text="Name and email of submitter, e.g. \"John Doe <john@example.org>\".")
|
||||
|
||||
idnits_message = models.TextField(blank=True)
|
||||
draft = models.ForeignKey(Document, null=True, blank=True)
|
||||
|
||||
def __unicode__(self):
|
||||
return u"%s-%s" % (self.name, self.rev)
|
||||
|
@ -76,6 +76,7 @@ class SubmissionCheck(models.Model):
|
|||
errors = models.IntegerField(null=True, blank=True, default=None)
|
||||
warnings = models.IntegerField(null=True, blank=True, default=None)
|
||||
items = jsonfield.JSONField(null=True, blank=True, default='{}')
|
||||
symbol = models.CharField(max_length=64, default='')
|
||||
#
|
||||
def __unicode__(self):
|
||||
return "%s submission check: %s: %s" % (self.checker, 'Passed' if self.passed else 'Failed', self.message[:48]+'...')
|
||||
|
|
|
@ -25,9 +25,11 @@ api.submit.register(PreapprovalResource())
|
|||
|
||||
from ietf.group.resources import GroupResource
|
||||
from ietf.name.resources import DraftSubmissionStateNameResource
|
||||
from ietf.doc.resources import DocumentResource
|
||||
class SubmissionResource(ModelResource):
|
||||
state = ToOneField(DraftSubmissionStateNameResource, 'state')
|
||||
group = ToOneField(GroupResource, 'group', null=True)
|
||||
draft = ToOneField(DocumentResource, 'draft', null=True)
|
||||
class Meta:
|
||||
queryset = Submission.objects.all()
|
||||
serializer = api.Serializer()
|
||||
|
@ -53,6 +55,7 @@ class SubmissionResource(ModelResource):
|
|||
"submitter": ALL,
|
||||
"state": ALL_WITH_RELATIONS,
|
||||
"group": ALL_WITH_RELATIONS,
|
||||
"draft": ALL_WITH_RELATIONS,
|
||||
}
|
||||
api.submit.register(SubmissionResource())
|
||||
|
||||
|
|
|
@ -212,6 +212,7 @@ def post_submission(request, submission):
|
|||
if new_possibly_replaces:
|
||||
send_review_possibly_replaces_request(request, draft, submitter_info)
|
||||
|
||||
submission.draft = draft
|
||||
submission.save()
|
||||
|
||||
def update_replaces_from_submission(request, submission, draft):
|
||||
|
|
|
@ -121,7 +121,7 @@ def upload_submission(request):
|
|||
def apply_check(submission, checker, method, fn):
|
||||
func = getattr(checker, method)
|
||||
passed, message, errors, warnings, items = func(fn)
|
||||
check = SubmissionCheck(submission=submission, checker=checker.name, passed=passed, message=message, errors=errors, warnings=warnings, items=items)
|
||||
check = SubmissionCheck(submission=submission, checker=checker.name, passed=passed, message=message, errors=errors, warnings=warnings, items=items, symbol=checker.symbol)
|
||||
check.save()
|
||||
|
||||
for checker_path in settings.IDSUBMIT_CHECKER_CLASSES:
|
||||
|
|
|
@ -76,6 +76,13 @@
|
|||
{% if latest_revision and latest_revision.time.date != doc.time.date %}
|
||||
(latest revision {{ latest_revision.time|date:"Y-m-d" }})
|
||||
{% endif %}
|
||||
{% for check in doc.submission.checks.all %}
|
||||
{% if check.errors or check.warnings %}
|
||||
<span class="checker-warning" title="Submission {{check.checker|title}} returned warnings or errors.">{{ check.symbol|safe }}</span>
|
||||
{% else %}
|
||||
<span class="checker-success" title="Submission {{check.checker|title}} passed">{{ check.symbol|safe }}</span>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
|
|
@ -59,13 +59,22 @@
|
|||
{% if doc.latest_revision_date|timesince_days|new_enough:request and doc.get_state_slug != "rfc" %}</a>{% endif %}
|
||||
</span>
|
||||
|
||||
{% for check in doc.submission.checks.all %}
|
||||
{% if check.symbol.strip %}
|
||||
{% if check.errors or check.warnings %}
|
||||
<span class="checker-warning pull-right" title="{{check.checker|title}} returned warnings or errors.">{{ check.symbol|safe }}</span>
|
||||
{% else %}
|
||||
<span class="checker-success pull-right" title="{{check.checker|title}} passed">{{ check.symbol|safe }}</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% if doc.pages %}
|
||||
<br><small class="text-muted">{{doc.pages}} page{{ doc.pages|pluralize }}</small>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if doc.latest_revision_date|timesince_days|new_enough:request %}
|
||||
<wbr><span class="label label-success pull-right">New</span>
|
||||
<wbr><span class="label label-success">New</span>
|
||||
{% endif %}
|
||||
|
||||
{% if doc.get_state_slug == "active" and doc.expirable and doc.expires|timesince_days|expires_soon:request %}
|
||||
|
|
Loading…
Reference in a new issue