diff options
| -rw-r--r-- | archaeological_operations/forms.py | 22 | ||||
| -rw-r--r-- | archaeological_operations/models.py | 3 | ||||
| -rw-r--r-- | archaeological_operations/views.py | 2 | 
3 files changed, 26 insertions, 1 deletions
| diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 3d679d555..8c3650c21 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -335,6 +335,28 @@ ParcelFormSet = formset_factory(ParcelForm, can_delete=True,                                  formset=ParcelFormSet)  ParcelFormSet.form_label = _(u"Parcels") + +class RecordRelationsForm(forms.Form): +    base_model = 'right_relation' +    associated_models = {'right_record': models.Operation, +                         'relation_type': models.RelationType} +    relation_type = forms.ChoiceField(label=_(u"Relation type"), +                                      choices=[], required=False) +    right_record = forms.IntegerField( +        label=_(u"Operation"), +        widget=widgets.JQueryAutoComplete( +            reverse_lazy('autocomplete-operation'), +            associated_model=models.Operation), +        validators=[valid_id(models.Operation)], required=False) + +    def __init__(self, *args, **kwargs): +        super(RecordRelationsForm, self).__init__(*args, **kwargs) +        self.fields['relation_type'].choices = \ +            models.RelationType.get_types() + +RecordRelationsFormSet = formset_factory(RecordRelationsForm, can_delete=True) +RecordRelationsFormSet.form_label = _(u"Relations") +  SRA_AGENT, created = PersonType.objects.get_or_create(txt_idx='sra_agent')  HEAD_SCIENTIST, created = PersonType.objects.get_or_create(      txt_idx='head_scientist') diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index a1cd43b58..58281250f 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -257,7 +257,7 @@ class Operation(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,      @property      def short_label(self):          if settings.COUNTRY == 'fr': -            return self.code_patriarche +            return self.reference          return unicode(self)      @property @@ -457,6 +457,7 @@ class RelationType(GeneralRelationType):  class RecordRelations(GeneralRecordRelations, models.Model): +    MAIN_ATTR = 'left_record'      left_record = models.ForeignKey(Operation,                                      related_name='right_relations')      right_record = models.ForeignKey(Operation, diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index d3d50d791..bde48b1b6 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -211,6 +211,7 @@ wizard_steps = [      ('parcels-operation_creation', SelectedParcelFormSet),      ('remains-operation_creation', RemainForm),      ('periods-operation_creation', PeriodForm), +    ('relations-operation_creation', RecordRelationsFormSet),      ('final-operation_creation', FinalForm)]  if FILES_AVAILABLE:      wizard_steps.insert(0, ('filechoice-operation_creation', @@ -250,6 +251,7 @@ operation_modification_wizard = OperationModificationWizard.as_view([      ('parcelsgeneral-operation_modification', SelectedParcelGeneralFormSet),      ('remains-operation_modification', RemainForm),      ('periods-operation_modification', PeriodForm), +    ('relations-operation_modification', RecordRelationsFormSet),      ('final-operation_modification', FinalForm)],      label=_(u"Operation modification"),      condition_dict={ | 
