aboutsummaryrefslogtreecommitdiff
path: root/mod/groups/lib
diff options
context:
space:
mode:
Diffstat (limited to 'mod/groups/lib')
-rw-r--r--mod/groups/lib/discussion.php11
1 files changed, 8 insertions, 3 deletions
diff --git a/mod/groups/lib/discussion.php b/mod/groups/lib/discussion.php
index fb70d6c00..1813c87aa 100644
--- a/mod/groups/lib/discussion.php
+++ b/mod/groups/lib/discussion.php
@@ -67,7 +67,7 @@ function discussion_handle_list_page($guid) {
'filter' => '',
);
- if (!$group->isMember() && !$group->canEdit()) {
+ if (!$group->canWriteToContainer()) {
$params['buttons'] = '';
}
@@ -91,7 +91,12 @@ function discussion_handle_edit_page($type, $guid) {
register_error(elgg_echo('group:notfound'));
forward();
}
- group_gatekeeper();
+
+ // make sure user has permissions to write to container
+ if (!$group->canWriteToContainer()) {
+ register_error(elgg_echo('groups:permissions:error'));
+ forward($group->getURL());
+ }
$title = elgg_echo('groups:addtopic');
@@ -169,7 +174,7 @@ function discussion_handle_view_page($guid) {
'show_add_form' => false,
));
$content .= elgg_view('discussion/closed');
- } elseif ($group->isMember() || elgg_is_admin_logged_in()) {
+ } elseif ($group->canWriteToContainer() || elgg_is_admin_logged_in()) {
$content .= elgg_view('discussion/replies', array(
'entity' => $topic,
'show_add_form' => true,