]> git.mjollnir.org Git - moodle.git/commitdiff
Admins can now filter events by course and set events for groups and courses
authordefacer <defacer>
Tue, 20 Apr 2004 09:21:30 +0000 (09:21 +0000)
committerdefacer <defacer>
Tue, 20 Apr 2004 09:21:30 +0000 (09:21 +0000)
regardless of whether they are course members.

calendar/event.php
calendar/event_select.html
calendar/view.php

index bd20ffae2e5298bb4ccd12e2a23102e6aa3f7a05..c35c4e3e07e3d78ad59fd4906125dd488e051333 100644 (file)
 
             print_side_block_start(get_string('newevent', 'calendar').$header, '', 'mycalendar');
             if($_REQUEST['type'] == 'select') {
+                optional_variable($_REQUEST['groupid']);
+                optional_variable($_REQUEST['courseid']);
+                $groupid = $_REQUEST['groupid'];
+                $courseid = $_REQUEST['courseid'];
                 include('event_select.html');
             }
             else {
@@ -477,8 +481,12 @@ function calendar_get_allowed_types(&$allowed) {
     $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();
-    if(!empty($USER->teacheredit)) {
+    $allowed->site = isadmin($USER->id);
+    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');
+    }
+    else if(!empty($USER->teacheredit)) {
         $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 076c482e1f32c482054ffd9dc3f88f92d7c55d97..15a9fe942c896898a149c18c11740801ac43d8b2 100644 (file)
@@ -1,5 +1,5 @@
 <table class="formtable">\r
-  <form method="post" action="event.php" name="edit">\r
+  <form method="post" action="event.php">\r
   <p>\r
   <input type="hidden" name="action" value="new" />\r
   <input type="hidden" name="timestart" value="<?php echo $form->timestart; ?>" />\r
@@ -26,7 +26,7 @@
       <select name='courseid'>\r
         <option value=''></option>\r
       <?php foreach($allowed->courses as $course) {?>\r
-        <option value='<?php echo $course->id?>' <?php if($course->id == $courseid) echo 'selected="selected"';?>><?php echo $course->fullname?></option>\r
+        <option value='<?php echo $course->id?>' <?php if($course->id == $courseid) echo 'selected="selected"';?>><?php echo $course->shortname.' - '.$course->fullname?></option>\r
       <?php }?>\r
       </select>\r
       </div>\r
index 1ca4799421465526676946667db78dfee7f58114..ed2070d78056b7f0cacca0fc30b005e94287538d 100644 (file)
@@ -549,7 +549,12 @@ function calendar_show_month_detailed($m, $y, $courses, $groups, $users) {
     }
     echo 'style="width: 8px;"></td><td><strong>'.get_string('courseevents', 'calendar').':</strong> ';
 
-    $coursesdata = get_my_courses($USER->id);
+    if(isadmin($USER->id)) {
+        $coursesdata = get_courses('all', 'c.shortname');
+    }
+    else {
+        $coursesdata = get_my_courses($USER->id);
+    }
     $coursesdata = array_diff_assoc($coursesdata, array(1 => 1));
 
     echo '<select name="course" onchange="document.location.href=\''.CALENDAR_URL.'set.php?var=setcourse&amp;'.$getvars.'&amp;id=\' + this.value;">';