diff options
Diffstat (limited to 'ishtar/ishtar_base')
| -rw-r--r-- | ishtar/ishtar_base/admin.py | 3 | ||||
| -rw-r--r-- | ishtar/ishtar_base/forms_operations.py | 18 | ||||
| -rw-r--r-- | ishtar/ishtar_base/models.py | 2 |
3 files changed, 21 insertions, 2 deletions
diff --git a/ishtar/ishtar_base/admin.py b/ishtar/ishtar_base/admin.py index ace959295..e2388a86a 100644 --- a/ishtar/ishtar_base/admin.py +++ b/ishtar/ishtar_base/admin.py @@ -69,7 +69,8 @@ class FileAdmin(HistorizedObjectAdmin): admin.site.register(models.File, FileAdmin) class OperationAdmin(HistorizedObjectAdmin): - list_display = ['year', 'operation_code', 'start_date', 'end_date', + list_display = ['year', 'operation_code', 'start_date', + 'excavation_end_date', 'end_date', 'operation_type'] list_filter = ("year", "operation_type",) search_fields = ['towns__name', 'operation_code'] diff --git a/ishtar/ishtar_base/forms_operations.py b/ishtar/ishtar_base/forms_operations.py index 6e6cdc03e..5ed882530 100644 --- a/ishtar/ishtar_base/forms_operations.py +++ b/ishtar/ishtar_base/forms_operations.py @@ -232,6 +232,8 @@ class OperationFormGeneral(forms.Form): choices=[]) start_date = forms.DateField(label=_(u"Start date"), required=False, widget=widgets.JQueryDate) + excavation_end_date = forms.DateField(label=_(u"Excavation end date"), + required=False, widget=widgets.JQueryDate) surface = forms.IntegerField(required=False, widget=widgets.AreaWidget, label=_(u"Total surface (m²)"), validators=[validators.MinValueValidator(0), @@ -248,6 +250,20 @@ class OperationFormGeneral(forms.Form): self.fields['operation_type'].choices = models.OperationType.get_types() self.fields['operation_type'].help_text = models.OperationType.get_help() + def clean(self): + # verify the logic between start date and excavation end date + if not self.cleaned_data['excavation_end_date']: + return self.cleaned_data + if self.cleaned_data['excavation_end_date'] and \ + not self.cleaned_data['start_date']: + raise forms.ValidationError(_(u"If you want to set an excavation \ +end date you have to provide a start date.")) + if self.cleaned_data['excavation_end_date'] < \ + self.cleaned_data['start_date']: + raise forms.ValidationError(_(u"The excavation end date cannot be \ +before the start date.")) + return self.cleaned_data + class OperationFormReference(forms.Form): form_label = _("References") associated_models = {'in_charge':models.Person, @@ -470,7 +486,7 @@ class OperationDateFormSelection(forms.Form): class OperationClosingWizard(ClosingWizard): model = models.Operation fields = ['year', 'operation_code', 'operation_type', 'associated_file', - 'in_charge', 'start_date', 'end_date', 'comment', 'towns', 'remains'] +'in_charge', 'start_date', 'excavation_end_date', 'comment', 'towns', 'remains'] class FinalOperationClosingForm(FinalForm): confirm_msg = " " diff --git a/ishtar/ishtar_base/models.py b/ishtar/ishtar_base/models.py index 4c4cdfc2e..8c4c91dae 100644 --- a/ishtar/ishtar_base/models.py +++ b/ishtar/ishtar_base/models.py @@ -629,6 +629,8 @@ class Operation(BaseHistorizedItem, OwnPerms): TABLE_COLS = ['operation_code', 'year', 'operation_type', 'remains', 'towns', 'associated_file', 'start_date'] start_date = models.DateField(_(u"Start date"), null=True, blank=True) + excavation_end_date = models.DateField(_(u"Excavation end date"), null=True, + blank=True) end_date = models.DateField(_(u"Closing date"), null=True, blank=True) in_charge = models.ForeignKey('Person', related_name='+', null=True, blank=True, verbose_name=_(u"In charge")) |
