]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-14424 - approval icon is bigger again, it is possible to sort by Approved status...
authorskodak <skodak>
Sat, 19 Apr 2008 20:48:48 +0000 (20:48 +0000)
committerskodak <skodak>
Sat, 19 Apr 2008 20:48:48 +0000 (20:48 +0000)
lang/en_utf8/data.php
mod/data/lib.php
mod/data/view.php

index 22bd37f88e6338811e960fd0357096facd6a3be0..88449126bc2d39b739d0fc31d99adf08013a1ee5 100644 (file)
@@ -13,6 +13,7 @@ $string['allowcomments'] = 'Allow comments?';
 $string['allowratings'] = 'Allow posts to be rated?';
 $string['alttext'] = 'Alternative text';
 $string['approve'] = 'Approve';
+$string['approved'] = 'Approved';
 $string['ascending'] = 'Ascending';
 $string['asearchtemplate'] = 'Advanced search template';
 $string['atmaxentry'] = 'You have entered the maximum number of entries allowed!';
index c187a7485ed301971ef47bfc8e2f3de8ce3a3637..48ed9a56b22836683711d20d2205da8bd8c75209 100755 (executable)
@@ -28,6 +28,7 @@ define ('DATA_PERPAGE_SINGLE', 1);
 
 define ('DATA_FIRSTNAME', -1);
 define ('DATA_LASTNAME', -2);
+define ('DATA_APPROVED', -3);
 
 class data_field_base {     /// Base class for Database Field Types (see field/*/field.class.php)
 
@@ -981,7 +982,7 @@ function data_print_template($template, $records, $data, $search='',$page=0, $re
 
         $patterns[]='##approve##';
         if (has_capability('mod/data:approve', $context) && ($data->approval) && (!$record->approved)){
-            $replacement[] = '<a href="'.$CFG->wwwroot.'/mod/data/view.php?d='.$data->id.'&amp;approve='.$record->id.'&amp;sesskey='.sesskey().'"><img src="'.$CFG->pixpath.'/i/approve.gif" class="iconsmall" alt="'.get_string('approve').'" /></a>';
+            $replacement[] = '<a href="'.$CFG->wwwroot.'/mod/data/view.php?d='.$data->id.'&amp;approve='.$record->id.'&amp;sesskey='.sesskey().'"><img src="'.$CFG->pixpath.'/i/approve.gif" class="icon" alt="'.get_string('approve').'" /></a>';
         } else {
             $replacement[] = '';
         }
@@ -1070,6 +1071,9 @@ function data_print_preference_form($data, $perpage, $search, $sort='', $order='
     }
     $options[DATA_FIRSTNAME] = get_string('authorfirstname', 'data');
     $options[DATA_LASTNAME] = get_string('authorlastname', 'data');
+    if ($data->approval and has_capability('mod/data:approve', $context)) {
+        $options[DATA_APPROVED] = get_string('approved', 'data');
+    }
     echo '<select name="sort" id="pref_sortby"><option value="0">'.get_string('dateentered','data').'</option>';
     foreach ($options as $key => $name) {
         if ($key == $sort) {
index d17159619fd60645c39f931f45ef23320e8eecb4..e67ede258d874b8c824638b1fe348398f85401be 100755 (executable)
     } else {
     /// Approve any requested records
 
-        if ($approve && confirm_sesskey() && has_capability('mod/data:approve', $context)) {
+        $approvecap = has_capability('mod/data:approve', $context); 
+
+        if ($approve && confirm_sesskey() && $approvecap) {
             if ($approverecord = get_record('data_records', 'id', $approve)) {   // Need to check this is valid
                 if ($approverecord->dataid == $data->id) {                       // Must be from this database
                     $newrecord->id = $approverecord->id;
             $requiredentries_allowed = false;
         }
 
-    /// We need to examine the whole dataset to produce the correct paging
-
-        if ((!has_capability('mod/data:managetemplates', $context)) && ($data->approval)) {
+    /// setup group and approve restrictions
+        if (!$approvecap && $data->approval) {
             if (isloggedin()) {
                 $approveselect = ' AND (r.approved=1 OR r.userid='.$USER->id.') ';
             } else {
         $ilike = sql_ilike(); //Be case-insensitive
 
     /// Find the field we are sorting on
-        if ($sort == DATA_FIRSTNAME or $sort == DATA_LASTNAME or empty($sort)) {
-
-            if ($sort == DATA_LASTNAME) {
-                $ordering = "u.lastname $order, u.firstname $order";
-            } else if ($sort == DATA_FIRSTNAME) {
-                $ordering = "u.firstname $order, u.lastname $order";
-            } else {
-                $ordering = "r.timecreated $order";
+        if ($sort <= 0) {
+
+            switch ($sort) {
+                case DATA_LASTNAME:
+                    $ordering = "u.lastname $order, u.firstname $order";
+                    break;
+                case DATA_FIRSTNAME:
+                    $ordering = "u.firstname $order, u.lastname $order";
+                    break;
+                case DATA_APPROVED:
+                    $ordering = "r.approved $order, r.timecreated $order";
+                    break;
+                default:
+                    $ordering = "r.timecreated $order";
             }
 
             $what = ' DISTINCT r.id, r.approved, r.timecreated, r.timemodified, r.userid, u.firstname, u.lastname';