diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-05-11 17:33:47 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-06-12 08:44:34 +0200 |
commit | 7c9a9d586e5255b60179807934e780b3d38cd30e (patch) | |
tree | 9730565001c023b38104b04fafad2ec1ff183373 /archaeological_context_records | |
parent | 11e557cc8a28628ae777415fa5c04196c555e749 (diff) | |
download | Ishtar-7c9a9d586e5255b60179807934e780b3d38cd30e.tar.bz2 Ishtar-7c9a9d586e5255b60179807934e780b3d38cd30e.zip |
Adapt forms and wizards to manage M2M images (refs #4076)
Diffstat (limited to 'archaeological_context_records')
-rw-r--r-- | archaeological_context_records/forms.py | 18 | ||||
-rw-r--r-- | archaeological_context_records/views.py | 20 |
2 files changed, 26 insertions, 12 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py index 481ec3353..fc865ba25 100644 --- a/archaeological_context_records/forms.py +++ b/archaeological_context_records/forms.py @@ -26,7 +26,6 @@ from django import forms from django.conf import settings from django.core import validators from django.forms.formsets import formset_factory -from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ from ishtar_common.models import valid_id, IshtarSiteProfile @@ -38,10 +37,10 @@ from ishtar_common import widgets from bootstrap_datepicker.widgets import DatePicker from archaeological_operations.widgets import OAWidget from ishtar_common.forms import FinalForm, FormSet, \ - reverse_lazy, get_form_selection, TableSelect, ManageOldType, CustomForm,\ - FieldType, IshtarForm + reverse_lazy, get_form_selection, TableSelect, ManageOldType, CustomForm, \ + FieldType from ishtar_common.forms_common import get_town_field, SourceSelect, \ - get_image_help + BaseImageForm, BaseImageFormset from archaeological_operations.forms import OperationSelect, ParcelField,\ RecordRelationsForm as OpeRecordRelationsForm, RecordRelationsFormSetBase @@ -182,9 +181,6 @@ class RecordFormGeneral(CustomForm, ManageOldType): location = forms.CharField( label=_(u"Location"), widget=forms.Textarea, required=False, validators=[validators.MaxLengthValidator(200)]) - image = forms.ImageField( - label=_(u"Image"), help_text=mark_safe(get_image_help()), - max_length=255, required=False, widget=widgets.ImageFileInput()) TYPES = [ FieldType('unit', models.Unit), @@ -267,6 +263,14 @@ class RecordFormGeneral(CustomForm, ManageOldType): return cleaned_data +ImagesFormset = formset_factory(BaseImageForm, can_delete=True, + formset=BaseImageFormset) +ImagesFormset.file_upload = True +ImagesFormset.form_label = _(u"Images") +ImagesFormset.form_admin_name = _(u"Context record - 025 - Images") +ImagesFormset.form_slug = "contextrecord-025-images" + + class DatingForm(ManageOldType, forms.Form): form_label = _("Dating") base_model = 'dating' diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py index 9c2f14406..d8c19a287 100644 --- a/archaeological_context_records/views.py +++ b/archaeological_context_records/views.py @@ -74,6 +74,7 @@ def autocomplete_contextrecord(request): for item in items]) return HttpResponse(data, content_type='text/plain') + get_contextrecord = get_item( models.ContextRecord, 'get_contextrecord', 'contextrecord') @@ -107,26 +108,35 @@ record_search_wizard = SearchWizard.as_view([ record_creation_steps = [ ('selec-record_creation', OperationRecordFormSelection), ('general-record_creation', RecordFormGeneral), + ('images-record_creation', ImagesFormset), ('datings-record_creation', DatingFormSet), ('interpretation-record_creation', RecordFormInterpretation), ('relations-record_creation', RecordRelationsFormSet), ('final-record_creation', FinalForm) ] -record_creation_wizard = RecordWizard.as_view(record_creation_steps, +record_creation_wizard = RecordWizard.as_view( + record_creation_steps, label=_(u"New context record"), - url_name='record_creation',) + url_name='record_creation', +) -record_modification_wizard = RecordModifWizard.as_view([ +record_modification_steps = [ ('selec-record_modification', RecordFormSelection), ('operation-record_modification', OperationFormSelection), ('general-record_modification', RecordFormGeneral), + ('images-record_modification', ImagesFormset), ('datings-record_modification', DatingFormSet), ('interpretation-record_modification', RecordFormInterpretation), ('relations-record_modification', RecordRelationsFormSet), - ('final-record_modification', FinalForm)], + ('final-record_modification', FinalForm) +] + +record_modification_wizard = RecordModifWizard.as_view( + record_modification_steps, label=_(u"Context record modification"), - url_name='record_modification',) + url_name='record_modification', +) def record_modify(request, pk): |