summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commite654c582583416b67e5c12447df4224ee205da45 (patch)
tree216b360ebe0ed01e2dcb31002d3b91659c62b8cf
parentd006f284d408ccc00ba5f93ddd845ef2950f0ea3 (diff)
downloadIshtar-e654c582583416b67e5c12447df4224ee205da45.tar.bz2
Ishtar-e654c582583416b67e5c12447df4224ee205da45.zip
Add a view to display items. Display find view.
-rw-r--r--archaeological_finds/tests.py15
-rw-r--r--archaeological_finds/urls.py2
-rw-r--r--archaeological_finds/views.py5
-rw-r--r--ishtar_common/templates/ishtar/display_item.html7
-rw-r--r--ishtar_common/views.py9
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: