From: defacer Date: Fri, 14 May 2004 14:15:24 +0000 (+0000) Subject: Fix for bug 1330: X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=f36e581d60ec4f9e42884783b9862c1566972420;p=moodle.git Fix for bug 1330: Now when creating a new event you only have to select a group. And you are always limited to the current course and its groups. --- diff --git a/calendar/event.php b/calendar/event.php index 3293065a41..ef4deed844 100644 --- a/calendar/event.php +++ b/calendar/event.php @@ -260,6 +260,9 @@ print_side_block_start(get_string('editevent', 'calendar'), '', 'mycalendar'); include('event_edit.html'); print_side_block_end(); + if ($usehtmleditor) { + use_html_editor(); + } break; case 'new': @@ -380,14 +383,24 @@ print_side_block_start(get_string('newevent', 'calendar').$header, '', 'mycalendar'); if($_REQUEST['type'] == 'select') { - optional_variable($_REQUEST['groupid']); - optional_variable($_REQUEST['courseid'], $SESSION->cal_course_referer); + $defaultcourse = $SESSION->cal_course_referer; + if(isteacheredit($defaultcourse, $USER->id)) { + $defaultgroup = 0; + } + else { + $defaultgroup = user_group($defaultcourse, $USER->id); + } + optional_variable($_REQUEST['groupid'], $defaultgroup->id); + optional_variable($_REQUEST['courseid'], $defaultcourse); $groupid = $_REQUEST['groupid']; $courseid = $_REQUEST['courseid']; include('event_select.html'); } else { include('event_new.html'); + if ($usehtmleditor) { + use_html_editor(); + } } print_side_block_end(); break; @@ -426,10 +439,6 @@ echo ''; - if ($usehtmleditor) { - use_html_editor(); - } - print_footer(); @@ -481,12 +490,20 @@ function calendar_add_event_allowed($courseid, $groupid, $userid) { } function calendar_get_allowed_types(&$allowed) { - global $USER, $CFG; + global $USER, $CFG, $SESSION; $allowed->user = true; // User events always allowed $allowed->groups = false; // This may change just below $allowed->courses = false; // This may change just below $allowed->site = isadmin($USER->id); + + if(!empty($SESSION->cal_course_referer)) { + $allowed->courses = array($SESSION->cal_course_referer => 1); + $allowed->groups = get_groups($SESSION->cal_course_referer); + } + + //[pj]: This was used when we wanted to display all legal choices + /* if($allowed->site) { $allowed->courses = get_courses('all', 'c.shortname'); $allowed->groups = get_records_sql('SELECT g.*, c.fullname FROM '.$CFG->prefix.'groups g LEFT JOIN '.$CFG->prefix.'course c ON g.courseid = c.id ORDER BY c.shortname'); @@ -495,6 +512,7 @@ function calendar_get_allowed_types(&$allowed) { $allowed->courses = get_records_select('course', 'id != 1 AND id IN ('.implode(',', array_keys($USER->teacheredit)).')'); $allowed->groups = get_records_sql('SELECT g.*, c.fullname FROM '.$CFG->prefix.'groups g LEFT JOIN '.$CFG->prefix.'course c ON g.courseid = c.id WHERE g.courseid IN ('.implode(',', array_keys($USER->teacheredit)).')'); } + */ } ?> diff --git a/calendar/event_select.html b/calendar/event_select.html index 47c2c3de93..4070760608 100644 --- a/calendar/event_select.html +++ b/calendar/event_select.html @@ -9,16 +9,13 @@ user)) { ?>

- groups)) { ?>

-
- : + groups)) { ?>

-

courses)) { ?>

diff --git a/lang/en/moodle.php b/lang/en/moodle.php index d90da1a08f..2bc8278252 100644 --- a/lang/en/moodle.php +++ b/lang/en/moodle.php @@ -426,6 +426,7 @@ $string['groupaddusers'] = 'Add selected to group'; $string['groupinfo'] = 'Info about selected group'; $string['groupinfomembers'] = 'Info about selected members'; $string['groupinfopeople'] = 'Info about selected people'; +$string['groupfor'] = 'for group'; $string['groupmemberssee'] = 'See group members'; $string['groupmembersselected'] = 'Members of selected group'; $string['groupmode'] = 'Group mode';