diff options
Diffstat (limited to 'archaeological_context_records/models.py')
-rw-r--r-- | archaeological_context_records/models.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index ee43183eb..3867997de 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -1056,9 +1056,10 @@ class ContextRecord( def get_extra_actions(self, request): # url, base_text, icon, extra_text, extra css class, is a quick action - actions = super(ContextRecord, self).get_extra_actions(request) + actions = super().get_extra_actions(request) + is_locked = hasattr(self, "is_locked") and self.is_locked(request.user) - # is_locked = hasattr(self, "is_locked") and self.is_locked(request.user) + can_edit_cr = self.can_do(request, "change_contextrecord") profile = get_current_profile() can_add_geo = profile.mapping and self.can_do(request, "add_geovectordata") if can_add_geo: @@ -1075,7 +1076,18 @@ class ContextRecord( False, ), ] - can_edit_cr = self.can_do(request, "change_contextrecord") + if can_edit_cr and not is_locked: + actions += [ + ( + reverse("context-record-relation-modify", args=[self.pk]), + _("Modify relations"), + "fa fa-retweet", + _("relations"), + "", + True, + ), + ] + if can_edit_cr: actions += [ ( |