diff options
| -rw-r--r-- | archaeological_finds/ishtar_menu.py | 4 | ||||
| -rw-r--r-- | archaeological_finds/models_treatments.py | 24 | ||||
| -rw-r--r-- | archaeological_finds/urls.py | 9 | ||||
| -rw-r--r-- | archaeological_finds/views.py | 28 | ||||
| -rw-r--r-- | ishtar_common/views_item.py | 2 | 
5 files changed, 60 insertions, 7 deletions
| diff --git a/archaeological_finds/ishtar_menu.py b/archaeological_finds/ishtar_menu.py index 38110edad..48e12c79d 100644 --- a/archaeological_finds/ishtar_menu.py +++ b/archaeological_finds/ishtar_menu.py @@ -184,11 +184,11 @@ MENU_SECTIONS = [                       MenuItem('treatment_admacttreatment_search',                                _(u"Search"),                                model=AdministrativeAct, -                              access_controls=['change_administrativeact']), +                              access_controls=['view_administrativeact']),                       MenuItem('treatment_admacttreatment',                                _(u"Creation"),                                model=AdministrativeAct, -                              access_controls=['change_administrativeact']), +                              access_controls=['add_administrativeact']),                       MenuItem(                           'treatment_admacttreatment_modification',                           _(u"Modification"), model=AdministrativeAct, diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index 15ef64040..080d2cc50 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -267,6 +267,17 @@ class Treatment(DashboardFormItem, ValueGetter, BaseHistorizedItem,      upstream_lbl.short_description = _(u"Upstream finds")      upstream_lbl.admin_order_field = 'upstream__cached_label' +    def get_extra_actions(self, request): +        # url, base_text, icon, extra_text, extra css class, is a quick action +        actions = [] +        if self.can_do(request, 'add_administrativeact'): +            actions += [ +                (reverse('treatment-add-adminact', args=[self.pk]), +                 _(u"Add associated administrative act"), "fa fa-plus", +                 _(u"admin. act"), "", False), +            ] +        return actions +      def get_values(self, prefix=''):          values = super(Treatment, self).get_values(prefix=prefix)          values[prefix + "upstream_finds"] = u" ; ".join( @@ -843,13 +854,20 @@ class TreatmentFile(DashboardFormItem, ClosedItem, BaseHistorizedItem,                                        'name') if getattr(self, attr)])      def get_extra_actions(self, request): +        # url, base_text, icon, extra_text, extra css class, is a quick action +        actions = [] +        if self.can_do(request, 'add_administrativeact'): +            actions += [ +                (reverse('treatmentfile-add-adminact', args=[self.pk]), +                 _(u"Add associated administrative act"), "fa fa-plus", +                 _(u"admin. act"), "", False), +            ]          if not self.associated_basket: -            return [] +            return actions          if self.type.treatment_type and self.treatments.filter(                  treatment_types__pk=self.type.treatment_type.pk).count():              # a treatment of this type already exists -            return [] -        actions = [] +            return actions          can_edit_find = self.can_do(request, 'change_find')          if can_edit_find:              actions += [ diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index 7e27221a0..fe7b2acd2 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -101,6 +101,15 @@ urlpatterns = [          check_rights(['change_find', 'change_own_find'])(              views.treatmentfile_treatment_add),          name='treatmentfile-add-treatment'), +    url(r'^treatment-add-adminact/(?P<pk>[0-9-]+)/$', +        check_rights(['add_administrativeact'])( +            views.treatment_adminact_add), +        name='treatment-add-adminact'), + +    url(r'^treatmentfile-add-adminact/(?P<pk>[0-9-]+)/$', +        check_rights(['add_administrativeact'])( +            views.treatmentfile_adminact_add), +        name='treatmentfile-add-adminact'),      url(r'^find-qa-bulk-update/(?P<pks>[0-9-]+)?/$',          check_rights(['change_find', 'change_own_find'])( diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index a0964fa47..20fb8299d 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -660,6 +660,20 @@ def treatment_administrativeacttreatment_modify(request, pk):              })) +def treatment_adminact_add(request, pk, current_right=None): +    try: +        models.Treatment.objects.get(pk=pk) +    except models.Treatment.DoesNotExist: +        raise Http404() +    treatment_administrativeact_wizard(request) + +    wizards.TreatmentAdministrativeActWizard.session_set_value( +        request, 'selec-treatment_admacttreatment', 'pk', pk, reset=True) +    return redirect(reverse( +        'treatment_admacttreatment', +        kwargs={'step': 'administrativeact-treatment_admacttreatment'})) + +  # treatment request  treatmentfile_search_wizard = wizards.TreatmentFileSearch.as_view([ @@ -755,6 +769,20 @@ def treatmentfile_administrativeacttreatmentfile_modify(request, pk):              })) +def treatmentfile_adminact_add(request, pk, current_right=None): +    try: +        models.TreatmentFile.objects.get(pk=pk) +    except models.TreatmentFile.DoesNotExist: +        raise Http404() +    treatmentfile_admacttreatmentfile_wizard(request) + +    wizards.TreatmentFileAdministrativeActWizard.session_set_value( +        request, 'selec-treatmentfle_admacttreatmentfle', 'pk', pk, reset=True) +    return redirect(reverse( +        'treatmentfle_admacttreatmentfle', +        kwargs={'step': 'admact-treatmentfle_admacttreatmentfle'})) + +  def reset_wizards(request):      for wizard_class, url_name in (              (wizards.FindWizard, 'find_creation'), diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 1203d717d..3e34d1d50 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -593,7 +593,6 @@ def _manage_dated_fields(dated_fields, dct):                              days = int(value[1:])                          except ValueError:                              days = 0 -                        print(days)                          if days:                              if sign == u"-":                                  base_date = base_date - datetime.timedelta( @@ -602,7 +601,6 @@ def _manage_dated_fields(dated_fields, dct):                                  base_date = base_date + datetime.timedelta(                                      days=days)                      dct[k] = base_date.strftime('%Y-%m-%d') -                    print(dct[k])                      has_today = True                      break              if has_today: | 
