summaryrefslogtreecommitdiff
path: root/includes/classes
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2010-12-08 22:01:46 +0000
committerfisharebest <fisharebest@gmail.com>2010-12-08 22:01:46 +0000
commitc1fe1569d442b2687c4a6d2e4161836ca06df912 (patch)
tree6e6f0d7b014c3e39cd3b6ef06617ed623fc3b6a4 /includes/classes
parent155b67ee023c023e344e0c3a63e804a9739e4520 (diff)
downloadwebtrees-c1fe1569d442b2687c4a6d2e4161836ca06df912.tar.gz
webtrees-c1fe1569d442b2687c4a6d2e4161836ca06df912.tar.bz2
webtrees-c1fe1569d442b2687c4a6d2e4161836ca06df912.zip
1) Only managers can edit "1 RESN" records
2) If a fact contains multiple restrictions, take the most restrictive one.
Diffstat (limited to 'includes/classes')
-rw-r--r--includes/classes/class_event.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/includes/classes/class_event.php b/includes/classes/class_event.php
index 70c99b754b..2dcb91824b 100644
--- a/includes/classes/class_event.php
+++ b/includes/classes/class_event.php
@@ -137,7 +137,13 @@ class Event {
// Check whether this fact is protected against edit
public function canEdit() {
- return WT_USER_GEDCOM_ADMIN || strpos($this->gedcomRecord, "\n2 RESN locked")===false;
+ // Managers can edit anything
+ // Members cannot edit RESN, CHAN and locked records
+ return
+ WT_USER_GEDCOM_ADMIN ||
+ strpos($this->gedcomRecord, "\n2 RESN locked")===false &&
+ $this->getTag()!='RESN' &&
+ $this->getTag()!='CHAN';
}
/**