diff options
| -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 | ||||
| -rw-r--r-- | ishtar/templates/sheet_file.html | 4 | ||||
| -rw-r--r-- | ishtar/templates/sheet_operation.html | 8 | 
5 files changed, 27 insertions, 8 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")) diff --git a/ishtar/templates/sheet_file.html b/ishtar/templates/sheet_file.html index ea5842991..88ef1b3a2 100644 --- a/ishtar/templates/sheet_file.html +++ b/ishtar/templates/sheet_file.html @@ -91,7 +91,7 @@      <th>{% trans "Type" %}</th>      <th>{% trans "In charge" %}</th>      <th>{% trans "Start date" %}</th> -    <th>{% trans "End date" %}</th> +    <th>{% trans "Excavation end date" %}</th>      <th class='link'> </th>    </tr>    {% for operation in item.operations.all %} @@ -102,7 +102,7 @@      <td class='string'>{{operation.operation_type}}</td>      <td class='string'>{{operation.in_charge|default:""}}</td>      <td>{{operation.start_date|default:""}}</td> -    <td>{{operation.end_date|default:""}}</td> +    <td>{{operation.excavation_end_date|default:""}}</td>      <td class='link'><a href="#" onclick='load_window("{%url show-operation operation.pk ''%}")'>{% trans "Details" %}</a></td>    </tr>    {% empty %} diff --git a/ishtar/templates/sheet_operation.html b/ishtar/templates/sheet_operation.html index 0005ca82c..aa571d20c 100644 --- a/ishtar/templates/sheet_operation.html +++ b/ishtar/templates/sheet_operation.html @@ -13,10 +13,10 @@  <p><label>{%trans "Edition date:"%}</label> <span class='value'>{{ item.history.all.0.history_date }}</span></p> <!-- date = now --> -{% if item.start_date %}<p><label>{%trans "Begining date:"%}</label> <span class='value'>{{ item.start_date }}</span></p>{%endif%} -{% if item.end_date %}<p><label>{%trans "Field work end date:"%}</label> <span class='value'>{{ item.end_date|default:"-" }}</span></p>{%endif%} - -<p><label>{%trans "Head scientist:"%}</label> <span class='value'>{{ item.in_charge.full_label }}</span></p> +{% if item.start_date %}<p><label>{%trans "Begining date:"%}</label> <span class='value'>{{ item.start_date }}</span></p> +<p><label>{%trans "Excavation end date:"%}</label> <span class='value'>{{ item.excavation_end_date|default:"-" }}</span></p> +{%endif%} +{% if item.in_charge %}<p><label>{%trans "Head scientist:"%}</label> <span class='value'>{{ item.in_charge.full_label }}</span></p>{%endif%}  <p><label>{%trans "State:"%}</label> <span class='value'>{% if item.is_active %}{%trans "Active file"%}</span></p>  {% else %}{%trans "Closed operation"%}</span></p>  <p><label>{%trans "Closing date:"%}</label> <span class='value'>{{ item.closing.date }} <strong>{%trans "by" %}</strong> {{ item.closing.user }}</span></p> | 
