Skip to content

Commit

Permalink
(no-ticket) Explicitly silence some NoReverseMatch exceptions
Browse files Browse the repository at this point in the history
In Django 1.5, when a NoReverseMatch exception was raised from a method
when rendering a template, it was silenced and the method returned
"(None)". It is no longer being silenced in Django 1.6, so we must
do it explicitly.
https://docs.djangoproject.com/en/1.6/releases/1.6/#miscellaneous
The "Upgrade to Django 1.6" commit fixed this partially, but some places
where NoReverseMatch was thrown were missed.

Change-Id: I230a9d809c1133c01716ee621348d4d2a5ce6a1c
  • Loading branch information
kbr- authored and Gerrit Code Review committed Dec 3, 2014
1 parent 0bfb8f2 commit bbd432d
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 19 deletions.
18 changes: 11 additions & 7 deletions oioioi/contestlogo/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@ class ContestLogoInline(admin.TabularInline):
exclude = ['updated_at']

def logo_link(self, instance):
href = reverse('oioioi.contestlogo.views.logo_image_view',
kwargs={'contest_id': str(instance.contest.id)})
return make_html_link(href, instance.filename)
if instance.id is not None:
href = reverse('oioioi.contestlogo.views.logo_image_view',
kwargs={'contest_id': str(instance.contest.id)})
return make_html_link(href, instance.filename)
return None
logo_link.short_description = _("Filename")


Expand All @@ -33,10 +35,12 @@ class ContestIconInline(admin.TabularInline):
exclude = ['updated_at']

def icon_link(self, instance):
href = reverse('oioioi.contestlogo.views.icon_image_view',
kwargs={'icon_id': str(instance.id),
'contest_id': str(instance.contest.id)})
return make_html_link(href, instance.filename)
if instance.id is not None:
href = reverse('oioioi.contestlogo.views.icon_image_view',
kwargs={'icon_id': str(instance.id),
'contest_id': str(instance.contest.id)})
return make_html_link(href, instance.filename)
return None
icon_link.short_description = _("Filename")


Expand Down
10 changes: 6 additions & 4 deletions oioioi/contests/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,12 @@ def has_delete_permission(self, request, obj=None):
return True

def content_link(self, instance):
href = reverse('oioioi.contests.views.contest_attachment_view',
kwargs={'contest_id': str(instance.contest),
'attachment_id': str(instance.id)})
return make_html_link(href, instance.content.name)
if instance.id is not None:
href = reverse('oioioi.contests.views.contest_attachment_view',
kwargs={'contest_id': str(instance.contest),
'attachment_id': str(instance.id)})
return make_html_link(href, instance.content.name)
return None
content_link.short_description = _("Content file")

def formfield_for_foreignkey(self, db_field, request, **kwargs):
Expand Down
10 changes: 6 additions & 4 deletions oioioi/prizes/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,12 @@ def state_with_link(self, instance):
if not instance.report:
return instance.state

href = reverse('oioioi.prizes.views.download_report_view',
kwargs={'pg_id': instance.id,
'contest_id': instance.contest.id})
return make_html_link(href, instance.state)
if instance.id is not None:
href = reverse('oioioi.prizes.views.download_report_view',
kwargs={'pg_id': instance.id,
'contest_id': instance.contest.id})
return make_html_link(href, instance.state)
return None
state_with_link.short_description = _("state")

def formfield_for_choice_field(self, db_field, request, **kwargs):
Expand Down
10 changes: 6 additions & 4 deletions oioioi/testspackages/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,12 @@ def has_delete_permission(self, request, obj=None):
return True

def package_link(self, instance):
href = reverse('oioioi.testspackages.views.test_view',
kwargs={'package_id': instance.id, 'contest_id':
instance.problem.contest.id})
return make_html_link(href, instance.package.file.name)
if instance.id is not None:
href = reverse('oioioi.testspackages.views.test_view',
kwargs={'package_id': instance.id, 'contest_id':
instance.problem.contest.id})
return make_html_link(href, instance.package.file.name)
return None
package_link.short_description = _("Package file")


Expand Down

0 comments on commit bbd432d

Please sign in to comment.