diff options
| 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 |
| commit | 925d922c76979aab57acb2c704bf37214c081748 (patch) | |
| tree | 798e513566e218efcb149e02edcddd8617c6f64e /archaeological_context_records | |
| parent | 9b7629324fe6bfcf912259c31176da81a015559f (diff) | |
| parent | d8dbe942763ca621a6ae91ecfe70d1cd749e793f (diff) | |
| download | Ishtar-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.py | 6 | ||||
| -rw-r--r-- | archaeological_context_records/models.py | 2 | ||||
| -rw-r--r-- | archaeological_context_records/tests.py | 68 | ||||
| -rw-r--r-- | archaeological_context_records/views.py | 7 |
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',) |
