diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-02 19:38:09 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-02 19:38:09 +0100 |
commit | 315c877745b604bc4d36c56be5efe6b9f072ab8e (patch) | |
tree | 1578f864f76522190fd5de88a9ae4e227fefa9c1 /archaeological_finds/models_treatments.py | |
parent | 07935c570053e6a4cefe07de3967c53c038f4fe3 (diff) | |
download | Ishtar-315c877745b604bc4d36c56be5efe6b9f072ab8e.tar.bz2 Ishtar-315c877745b604bc4d36c56be5efe6b9f072ab8e.zip |
Treatment file sheet: add treatment action
Diffstat (limited to 'archaeological_finds/models_treatments.py')
-rw-r--r-- | archaeological_finds/models_treatments.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index 1083b479b..15ef64040 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -21,6 +21,7 @@ import datetime from django.conf import settings from django.contrib.gis.db import models +from django.core.urlresolvers import reverse from django.db.models import Max, Q from django.db.models.signals import post_save, post_delete, pre_delete from django.template.defaultfilters import slugify @@ -699,6 +700,8 @@ class FindTreatments(AbsFindTreatments): class TreatmentFileType(GeneralType): + treatment_type = models.ForeignKey(TreatmentType, blank=True, null=True) + class Meta: verbose_name = _(u"Treatment request type") verbose_name_plural = _(u"Treatment request types") @@ -839,6 +842,23 @@ class TreatmentFile(DashboardFormItem, ClosedItem, BaseHistorizedItem, for attr in ('year', 'index', 'internal_reference', 'name') if getattr(self, attr)]) + def get_extra_actions(self, request): + if not self.associated_basket: + return [] + 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 = [] + can_edit_find = self.can_do(request, 'change_find') + if can_edit_find: + actions += [ + (reverse('treatmentfile-add-treatment', args=[self.pk]), + _(u"Add associated treatment"), "fa fa-exchange", "", "", + False), + ] + return actions + @classmethod def get_owns(cls, user, menu_filtr=None, limit=None, values=None, get_short_menu_class=None): |