summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/models.py')
-rw-r--r--ishtar/furnitures/models.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py
index 7ac548165..41990e2b8 100644
--- a/ishtar/furnitures/models.py
+++ b/ishtar/furnitures/models.py
@@ -33,6 +33,13 @@ from simple_history.models import HistoricalRecords
from ishtar import settings
+class OwnPerms:
+ """
+ Manage special permissions for object's owner
+ """
+ def is_own(self, user):
+ return False
+
class GeneralType(models.Model):
"""
Abstract class for "types"
@@ -95,7 +102,7 @@ class OrganizationType(GeneralType):
verbose_name = _(u"Organization type")
verbose_name_plural = _(u"Organization types")
-class Organization(Address):
+class Organization(Address, OwnPerms):
name = models.CharField(_(u"Name"), max_length=100)
organization_type = models.ForeignKey(OrganizationType,
verbose_name=_(u"Type"))
@@ -115,7 +122,7 @@ class PersonType(GeneralType):
verbose_name = _(u"Person type")
verbose_name_plural = _(u"Person types")
-class Person(Address) :
+class Person(Address, OwnPerms) :
TYPE = (('Mr', _(u'Mr')),
('Ms', _(u'Miss')),
('Md', _(u'Mrs')),
@@ -168,7 +175,7 @@ if settings.COUNTRY == 'fr':
verbose_name = u"Saisine"
verbose_name_plural = u"Saisines"
-class File(BaseHistorizedItem):
+class File(BaseHistorizedItem, OwnPerms):
year = models.IntegerField(_(u"Year"),
default=lambda:datetime.datetime.now().year)
internal_reference = models.CharField(_(u"Internal reference"),
@@ -210,7 +217,7 @@ class VestigeType(GeneralType):
verbose_name = _(u"Vestige type")
verbose_name_plural = _(u"Vestige types")
-class Operation(BaseHistorizedItem):
+class Operation(BaseHistorizedItem, OwnPerms):
name = models.CharField(_(u"Name"), max_length=120)
start_date = models.DateField(_(u"Start date"))
end_date = models.DateField(_(u"End date"))
@@ -292,7 +299,7 @@ class Dating(models.Model):
verbose_name = _(u"Dating")
verbose_name_plural = _(u"Datings")
-class RegistrationUnit(BaseHistorizedItem):
+class RegistrationUnit(BaseHistorizedItem, OwnPerms):
parcel = models.ForeignKey(Parcel, verbose_name=_(u"Parcel"))
label = models.CharField(_(u"Label"), max_length=200)
description = models.TextField(_("Description"))
@@ -342,7 +349,7 @@ class MaterialType(GeneralType):
verbose_name = _(u"Material type")
verbose_name_plural = _(u"Material types")
-class BaseItem(BaseHistorizedItem):
+class BaseItem(BaseHistorizedItem, OwnPerms):
label = models.CharField(_(u"Label"), max_length=60)
description = models.TextField(_(u"Description"))
registration_unit = models.ForeignKey(RegistrationUnit,
@@ -364,7 +371,7 @@ class BaseItem(BaseHistorizedItem):
def __unicode__(self):
return self.label
-class Item(BaseHistorizedItem):
+class Item(BaseHistorizedItem, OwnPerms):
base_items = models.ManyToManyField(BaseItem, verbose_name=_(u"Base item"))
order = models.IntegerField(_(u"Order"))
label = models.CharField(_(u"Label"), max_length=60)
@@ -412,7 +419,7 @@ class WarehouseType(GeneralType):
verbose_name = _(u"Warehouse type")
verbose_name_plural = _(u"Warehouse types")
-class Warehouse(Address):
+class Warehouse(Address, OwnPerms):
name = models.CharField(_(u"Name"), max_length=40)
warehouse_type = models.ForeignKey(WarehouseType,
verbose_name=_(u"Warehouse type"))
@@ -438,7 +445,7 @@ class ActType(GeneralType):
verbose_name = _(u"Act type")
verbose_name_plural = _(u"Act types")
-class AdministrativeAct(BaseHistorizedItem):
+class AdministrativeAct(BaseHistorizedItem, OwnPerms):
act_type = models.ForeignKey(ActType, verbose_name=_(u"Act type"))
in_charge = models.ForeignKey(Person, blank=True, null=True,
related_name='+', verbose_name=_(u"Person in charge of the operation"))
@@ -528,7 +535,7 @@ class TreatmentType(GeneralType):
verbose_name = _(u"Treatment type")
verbose_name_plural = _(u"Treatment types")
-class Treatment(BaseHistorizedItem):
+class Treatment(BaseHistorizedItem, OwnPerms):
container = models.ForeignKey(Container, verbose_name=_(u"Container"))
treatment_type = models.ForeignKey(TreatmentType,
verbose_name=_(u"Treatment type"))