diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-03 13:46:43 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-03 13:46:43 +0100 |
commit | caa17af48916f075183e85a0e24dc4a9f919fa95 (patch) | |
tree | 187d99571a172a9944be5855f0d5c325ee43e028 | |
parent | ec4a9c91cbdfdfb904a123fc0270e8bf3e951ed2 (diff) | |
download | Ishtar-caa17af48916f075183e85a0e24dc4a9f919fa95.tar.bz2 Ishtar-caa17af48916f075183e85a0e24dc4a9f919fa95.zip |
QA sheet: administrative act action
-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: |