MDL-57921 mod_data: Move approval code to new function
authorJuan Leyva <juanleyvadelgado@gmail.com>
Mon, 13 Feb 2017 14:54:48 +0000 (15:54 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Thu, 30 Mar 2017 00:11:46 +0000 (02:11 +0200)
mod/data/locallib.php
mod/data/view.php

index f23bc1b..070d1ec 100644 (file)
@@ -1166,3 +1166,19 @@ function data_build_search_array($data, $paging, $searcharray, $defaults = null,
     }
     return [$searcharray, $search];
 }
+
+/**
+ * Approves or unapproves an entry.
+ *
+ * @param  int $entryid the entry to approve or unapprove.
+ * @param  bool $approve Whether to approve or unapprove (true for approve false otherwise).
+ * @since  Moodle 3.3
+ */
+function data_approve_entry($entryid, $approve) {
+    global $DB;
+
+    $newrecord = new stdClass();
+    $newrecord->id = $entryid;
+    $newrecord->approved = $approve ? 1 : 0;
+    $DB->update_record('data_records', $newrecord);
+}
index 1f8399d..f530a11 100644 (file)
@@ -387,14 +387,11 @@ if ($showactivity) {
         $approvecap = has_capability('mod/data:approve', $context);
 
         if (($approve || $disapprove) && confirm_sesskey() && $approvecap) {
-            $newapproved = $approve ? 1 : 0;
+            $newapproved = $approve ? true : false;
             $recordid = $newapproved ? $approve : $disapprove;
             if ($approverecord = $DB->get_record('data_records', array('id' => $recordid))) {   // Need to check this is valid
                 if ($approverecord->dataid == $data->id) {                       // Must be from this database
-                    $newrecord = new stdClass();
-                    $newrecord->id = $approverecord->id;
-                    $newrecord->approved = $newapproved;
-                    $DB->update_record('data_records', $newrecord);
+                    data_approve_entry($approverecord->id, $newapproved);
                     $msgkey = $newapproved ? 'recordapproved' : 'recorddisapproved';
                     echo $OUTPUT->notification(get_string($msgkey, 'data'), 'notifysuccess');
                 }