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 | e654c582583416b67e5c12447df4224ee205da45 (patch) | |
| tree | 216b360ebe0ed01e2dcb31002d3b91659c62b8cf | |
| parent | d006f284d408ccc00ba5f93ddd845ef2950f0ea3 (diff) | |
| download | Ishtar-e654c582583416b67e5c12447df4224ee205da45.tar.bz2 Ishtar-e654c582583416b67e5c12447df4224ee205da45.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:  | 
