From 3b052367667596c66fbb0af7f7088afc135ce2eb Mon Sep 17 00:00:00 2001
From: Paul Holden <pholden@greenhead.ac.uk>
Date: Tue, 27 Mar 2012 14:56:32 +0800
Subject: [PATCH] MDL-19651: course setting:  prevent changes to course's group setting if user doesn't has moodle/course:managegroups capability

---
 course/edit_form.php |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/course/edit_form.php b/course/edit_form.php
index 44ed742..c263d46 100644
--- a/course/edit_form.php
+++ b/course/edit_form.php
@@ -209,6 +209,18 @@ class course_edit_form extends moodleform {
         $options[0] = get_string('none');
         $mform->addElement('select', 'defaultgroupingid', get_string('defaultgrouping', 'group'), $options);
 
+        if (!has_capability('moodle/course:managegroups', $coursecontext)) {
+            $mform->hardFreeze('groupmode');
+            $mform->hardFreeze('groupmodeforce');
+            $mform->hardFreeze('defaultgroupingid');
+
+            if (!empty($course->id)) {
+                $mform->setConstant('groupmode', $course->groupmode);
+                $mform->setConstant('groupmodeforce', $course->groupmodeforce);
+                $mform->setConstant('defaultgroupingid', $course->defaultgroupingid);
+            }
+        }
+
 //--------------------------------------------------------------------------------
         $mform->addElement('header','', get_string('availability'));
 
-- 
1.7.1

