]> git.mjollnir.org Git - moodle.git/commitdiff
Fix for bug 1330:
authordefacer <defacer>
Fri, 14 May 2004 14:15:24 +0000 (14:15 +0000)
committerdefacer <defacer>
Fri, 14 May 2004 14:15:24 +0000 (14:15 +0000)
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.

calendar/event.php
calendar/event_select.html
lang/en/moodle.php

index 3293065a41f218b442123990ca6e5c38da4b38ce..ef4deed84477dd1459013b5135081eb7b180d31e 100644 (file)
             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':
 
             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;
 
     echo '</tr></table>';
 
-    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)).')');
     }
+    */
 }
 
 ?>
index 47c2c3de9333a57da196c5ffa10ea2facd08a990..40707606081b374216364b612e639f181360d336 100644 (file)
@@ -9,16 +9,13 @@
     <td>\r
     <?php if(!empty($allowed->user)) { ?><p><input type='radio' name='type' value='user' id='type_user' checked='checked' /><label for='type_user'><?php print_string('typeuser', 'calendar') ?></label></p>\r
     <?php } ?>\r
-    <?php if(!empty($allowed->groups)) { ?><p><input type='radio' name='type' value='group' id='type_group' /><label for='type_group'><?php print_string('typegroup', 'calendar') ?></label></p>\r
-      <div style="padding-left: 1.5em;">\r
-      <?php print_string('course'); echo ' / '; print_string('group'); ?>:\r
+    <?php if(!empty($allowed->groups)) { ?><p><input type='radio' name='type' value='group' id='type_group' /><label for='type_group'><?php echo get_string('typegroup', 'calendar').' '.get_string('groupfor'); ?></label>\r
       <select name='groupid'>\r
         <option value=''></option>\r
       <?php foreach($allowed->groups as $group) {?>\r
-        <option value='<?php echo $group->id?>' <?php if($group->id == $groupid) echo 'selected="selected"';?>><?php echo $group->fullname.' - '.$group->name?></option>\r
+        <option value='<?php echo $group->id?>' <?php if($group->id == $groupid) echo 'selected="selected"';?>><?php echo $group->name?></option>\r
       <?php }?>\r
       </select>\r
-      </div>\r
     <?php } ?>\r
     <?php if(!empty($allowed->courses)) { ?>\r
       <p><input type='radio' name='type' value='course' id='type_course' /><input type="hidden" name="courseid" value="<?php echo($courseid) ?>" /><label for='type_course'><?php print_string('typecourse', 'calendar') ?></label></p>\r
index d90da1a08f9a11621a741caccc5ef135d2b58301..2bc82782527711f3df1e64e3373fc497cc6aebad 100644 (file)
@@ -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';