summaryrefslogtreecommitdiff
path: root/archaeological_context_records
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-06-14 00:06:50 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-06-14 00:06:50 +0200
commit925d922c76979aab57acb2c704bf37214c081748 (patch)
tree798e513566e218efcb149e02edcddd8617c6f64e /archaeological_context_records
parent9b7629324fe6bfcf912259c31176da81a015559f (diff)
parentd8dbe942763ca621a6ae91ecfe70d1cd749e793f (diff)
downloadIshtar-925d922c76979aab57acb2c704bf37214c081748.tar.bz2
Ishtar-925d922c76979aab57acb2c704bf37214c081748.zip
Merge branch 'master' into v0.9
Diffstat (limited to 'archaeological_context_records')
-rw-r--r--archaeological_context_records/forms.py6
-rw-r--r--archaeological_context_records/models.py2
-rw-r--r--archaeological_context_records/tests.py68
-rw-r--r--archaeological_context_records/views.py7
4 files changed, 77 insertions, 6 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py
index 91effb397..77b42b609 100644
--- a/archaeological_context_records/forms.py
+++ b/archaeological_context_records/forms.py
@@ -59,7 +59,8 @@ class RecordSelect(TableSelect):
label = forms.CharField(label=_(u"ID"), max_length=100)
parcel__town = get_town_field()
if settings.COUNTRY == 'fr':
- operation__code_patriarche = forms.IntegerField(
+ operation__code_patriarche = forms.CharField(
+ max_length=500,
widget=OAWidget,
label=_(u"Code PATRIARCHE"))
operation__year = forms.IntegerField(label=_(u"Operation's year"))
@@ -366,7 +367,8 @@ class RecordSourceSelect(SourceSelect):
context_record__operation__operation_code = forms.IntegerField(
label=_(u"Numeric reference"))
if settings.COUNTRY == 'fr':
- context_record__operation__code_patriarche = forms.IntegerField(
+ context_record__operation__code_patriarche = forms.CharField(
+ max_length=500,
widget=OAWidget,
label="Code PATRIARCHE")
context_record__parcel__town = get_town_field(
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 855ea7d5c..940330d86 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -390,7 +390,7 @@ class ContextRecord(BaseHistorizedItem, ImageModel, OwnPerms,
def _real_label(self):
if not self.operation.code_patriarche:
return
- return settings.JOINT.join((unicode(self.operation.code_patriarche),
+ return settings.JOINT.join((self.operation.code_patriarche,
self.label))
def _temp_label(self):
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py
index df05f4898..07360f73a 100644
--- a/archaeological_context_records/tests.py
+++ b/archaeological_context_records/tests.py
@@ -27,13 +27,16 @@ from django.core.urlresolvers import reverse
from django.test.client import Client
from ishtar_common.models import IshtarSiteProfile, ImporterModel
-from ishtar_common.tests import create_superuser, TestCase
from archaeological_operations.tests import OperationInitTest, \
ImportTest, ImportOperationTest
from archaeological_operations import models as models_ope
from archaeological_context_records import models
+from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \
+ create_superuser, TestCase
+
+from archaeological_context_records import views
class ImportContextRecordTest(ImportTest, TestCase):
@@ -527,3 +530,66 @@ class RecordRelationsTest(ContextRecordInit, TestCase):
self.assertEqual(models.RecordRelations.objects.filter(
left_record=cr_2, right_record=cr_1,
relation_type=rel_type_2).count(), 1)
+
+
+class ContextRecordWizardCreationTest(WizardTest, ContextRecordInit, TestCase):
+ fixtures = ImportOperationTest.fixtures
+ url_name = 'record_creation'
+ wizard_name = 'record_wizard'
+ steps = views.record_creation_steps
+ form_datas = [
+ FormData(
+ "Create a simple context record",
+ form_datas={
+ 'selec-record_creation': {},
+ 'general-record_creation': {
+ 'label': "First"
+ },
+ },
+ ignored=('datings-record_creation',
+ 'interpretation-record_creation',
+ 'relations-record_creation',)
+ ),
+ FormData(
+ "Create a context record with a relation",
+ form_datas={
+ 'selec-record_creation': {},
+ 'general-record_creation': {
+ 'label': "Second"
+ },
+ 'relations-record_creation': []
+ },
+ ignored=('datings-record_creation',
+ 'interpretation-record_creation',)
+ ),
+ ]
+
+ def pre_wizard(self):
+ profile, created = IshtarSiteProfile.objects.get_or_create(
+ slug='default', active=True)
+ profile.context_record = True
+ profile.save()
+
+ ope = self.get_default_operation()
+ parcel = self.get_default_parcel()
+ for form_data in self.form_datas:
+ form_data.form_datas['selec-record_creation']['operation_id'] = \
+ ope.pk
+ form_data.form_datas['general-record_creation']['parcel'] = \
+ parcel.pk
+
+ self.related_cr = self.create_context_record(data={'operation': ope})[0]
+ self.form_datas[1].form_datas['relations-record_creation'].append(
+ {'right_record': self.related_cr.pk,
+ 'relation_type': models.RelationType.objects.create(
+ label="Test").pk}
+ )
+
+ self.cr_nb = models.ContextRecord.objects.count()
+ super(ContextRecordWizardCreationTest, self).pre_wizard()
+
+ def post_wizard(self):
+ self.assertEqual(models.ContextRecord.objects.count(),
+ self.cr_nb + 2)
+ self.assertEqual(self.related_cr.left_relations.count(),
+ 1)
diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py
index cf3a13b3b..250fdafc0 100644
--- a/archaeological_context_records/views.py
+++ b/archaeological_context_records/views.py
@@ -92,13 +92,16 @@ record_search_wizard = SearchWizard.as_view([
label=_(u"Context record search"),
url_name='record_search',)
-record_creation_wizard = RecordWizard.as_view([
+record_creation_steps = [
('selec-record_creation', OperationRecordFormSelection),
('general-record_creation', RecordFormGeneral),
('datings-record_creation', DatingFormSet),
('interpretation-record_creation', RecordFormInterpretation),
('relations-record_creation', RecordRelationsFormSet),
- ('final-record_creation', FinalForm)],
+ ('final-record_creation', FinalForm)
+]
+
+record_creation_wizard = RecordWizard.as_view(record_creation_steps,
label=_(u"New context record"),
url_name='record_creation',)