diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-01-21 13:10:08 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-01-21 13:10:08 +0100 |
commit | e4a12afea42605bebce83c415b00ff761284cb8a (patch) | |
tree | 216b360ebe0ed01e2dcb31002d3b91659c62b8cf | |
parent | 6194bcdf380d8bd91a9965f8801e63813cc84954 (diff) | |
download | Ishtar-e4a12afea42605bebce83c415b00ff761284cb8a.tar.bz2 Ishtar-e4a12afea42605bebce83c415b00ff761284cb8a.zip |
Add a view to display items. Display find view.
-rw-r--r-- | archaeological_finds/tests.py | 15 | ||||
-rw-r--r-- | archaeological_finds/urls.py | 2 | ||||
-rw-r--r-- | archaeological_finds/views.py | 5 | ||||
-rw-r--r-- | ishtar_common/templates/ishtar/display_item.html | 7 | ||||
-rw-r--r-- | ishtar_common/views.py | 9 |
5 files changed, 32 insertions, 6 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 18744ea3d..2d1367c58 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -20,8 +20,11 @@ import datetime from django.conf import settings +from django.contrib.auth.models import User from django.core.files.uploadedfile import SimpleUploadedFile +from django.core.urlresolvers import reverse from django.test import TestCase +from django.test.client import Client from ishtar_common.models import ImporterType, IshtarUser, ImporterColumn,\ FormaterType, ImportTarget @@ -294,6 +297,11 @@ class FindTest(FindInit, TestCase): def setUp(self): self.create_finds(force=True) + password = 'mypassword' + my_admin = User.objects.create_superuser( + 'myuser', 'myemail@test.com', password) + self.client = Client() + self.client.login(username=my_admin.username, password=password) def testExternalID(self): find = self.finds[0] @@ -309,6 +317,13 @@ class FindTest(FindInit, TestCase): base_find.context_record.external_id, base_find.label)) + def testShowFind(self): + find = self.finds[0] + response = self.client.get(reverse('display-find', args=[find.pk])) + self.assertEqual(response.status_code, 200) + self.assertIn('load_window("/show-find/{}/");'.format(find.pk), + response.content) + class PackagingTest(FindInit, TestCase): fixtures = [settings.ROOT_PATH + diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index 7be07d015..4a8dec030 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -269,6 +269,8 @@ urlpatterns += patterns( name='show-findbasket'), url(r'^show-find(?:/(?P<pk>.+))?/(?P<type>.+)?$', 'show_find', name=models.Find.SHOW_URL), + url(r'^display-find/(?P<pk>.+)/$', 'display_find', + name='display-' + models.Find.SLUG), url(r'^show-historized-find/(?P<pk>.+)?/(?P<date>.+)?$', 'show_find', name='show-historized-find'), url(r'^revert-find/(?P<pk>.+)/(?P<date>.+)$', diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index 01e88c1b7..084f15d13 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -38,8 +38,8 @@ from archaeological_operations.forms import FinalAdministrativeActDeleteForm from archaeological_context_records.forms \ import RecordFormSelection as RecordFormSelectionTable -from ishtar_common.views import get_item, show_item, revert_item, \ - get_autocomplete_generic, IshtarMixin, LoginRequiredMixin +from ishtar_common.views import get_item, show_item, display_item, \ + revert_item, get_autocomplete_generic, IshtarMixin, LoginRequiredMixin from ishtar_common.wizards import SearchWizard from archaeological_operations.wizards import AdministrativeActDeletionWizard @@ -108,6 +108,7 @@ show_findsource = show_item(models.FindSource, 'findsource') get_findsource = get_item(models.FindSource, 'get_findsource', 'findsource') show_find = show_item(models.Find, 'find') +display_find = display_item(models.Find, 'find') revert_find = revert_item(models.Find) show_findbasket = show_item(models.FindBasket, 'findbasket') diff --git a/ishtar_common/templates/ishtar/display_item.html b/ishtar_common/templates/ishtar/display_item.html index 87dda6dcf..e00fef05b 100644 --- a/ishtar_common/templates/ishtar/display_item.html +++ b/ishtar_common/templates/ishtar/display_item.html @@ -1,11 +1,10 @@ {% extends "base.html" %} {% load i18n %} -{% load url from future %} {% block content %} -<h2>{{page_name}}</h2> <script type='text/javascript'> -$(function() { - load_window("{% url item_url pk %}"); +$(document).ready( +function(){ + load_window("/show-{{item_type}}/{{pk}}/"); }); </script> {% endblock %} diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 42ebdf277..b0817fc59 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1112,6 +1112,15 @@ def get_by_importer(request, slug, data_type='json', full=False, )(request, data_type, full, force_own, **dct) +def display_item(model, name, extra_dct=None): + def func(request, pk, **dct): + dct['item_type'] = name + dct['pk'] = pk + return render_to_response('ishtar/display_item.html', dct, + context_instance=RequestContext(request)) + return func + + def show_item(model, name, extra_dct=None): def func(request, pk, **dct): try: |