diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-12-13 19:03:38 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-12-13 19:03:38 +0100 |
commit | 8013cdaddc1c9b87c843a9ca857caba9d1fd20f2 (patch) | |
tree | 53bbd0940385c35842abb86b331e477b0de1356e /archaeological_finds | |
parent | 651985660e22e3569d450ebe3cfda9f55d54fbbf (diff) | |
download | Ishtar-8013cdaddc1c9b87c843a9ca857caba9d1fd20f2.tar.bz2 Ishtar-8013cdaddc1c9b87c843a9ca857caba9d1fd20f2.zip |
Fix rights for finds and contextrecords
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/ishtar_menu.py | 24 | ||||
-rw-r--r-- | archaeological_finds/models.py | 10 |
2 files changed, 21 insertions, 13 deletions
diff --git a/archaeological_finds/ishtar_menu.py b/archaeological_finds/ishtar_menu.py index ae684397c..8034d96e7 100644 --- a/archaeological_finds/ishtar_menu.py +++ b/archaeological_finds/ishtar_menu.py @@ -31,18 +31,18 @@ MENU_SECTIONS = [ MenuItem( 'find_search', _(u"Search"), model=models.Find, - access_controls=['view_item', - 'view_own_item']), + access_controls=['view_find', + 'view_own_find']), MenuItem( 'find_creation', _(u"Creation"), model=models.Find, - access_controls=['add_item', - 'add_own_item']), + access_controls=['add_find', + 'add_own_find']), MenuItem( 'find_modification', _(u"Modification"), model=models.Find, - access_controls=['change_item', - 'change_own_item']), + access_controls=['change_find', + 'change_own_find']), # MenuItem('treatment_creation', _(u"Add a treatment"), # model=models.Treatment, # access_controls=['add_treatment', @@ -53,18 +53,18 @@ MENU_SECTIONS = [ MenuItem('find_source_creation', _(u"Creation"), model=models.FindSource, - access_controls=['change_item', - 'change_own_item']), + access_controls=['change_find', + 'change_own_find']), MenuItem('find_source_modification', _(u"Modification"), model=models.FindSource, - access_controls=['change_item', - 'change_own_item']), + access_controls=['change_find', + 'change_own_find']), MenuItem('find_source_deletion', _(u"Deletion"), model=models.FindSource, - access_controls=['change_item', - 'change_own_item']), + access_controls=['change_find', + 'change_own_find']), ]) ])) ] diff --git a/archaeological_finds/models.py b/archaeological_finds/models.py index e4a247941..32b4334ff 100644 --- a/archaeological_finds/models.py +++ b/archaeological_finds/models.py @@ -22,7 +22,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 +from django.db.models import Max, Q from django.utils.translation import ugettext_lazy as _, ugettext from ishtar_common.models import GeneralType, ImageModel, BaseHistorizedItem, \ @@ -479,6 +479,14 @@ class Find(BaseHistorizedItem, ImageModel, OwnPerms, ShortMenuItem): new.base_finds.add(base_find) return new + @classmethod + def get_query_owns(cls, user): + return Q(base_finds__context_record__operation__scientist=user. + ishtaruser.person) |\ + Q(base_finds__context_record__operation__in_charge=user. + ishtaruser.person) |\ + Q(history_creator=user) + def save(self, *args, **kwargs): super(Find, self).save(*args, **kwargs) q = self.base_finds |