From efcd84bf57cdecd73d635dc1853acbffa1c917c6 Mon Sep 17 00:00:00 2001
From: Jayaram Pai
Date: Wed, 9 Apr 2014 10:40:03 +0530
Subject: added feature for admins to edit status
---
js/tbc_external_review.js | 6 +++-
tbc_external_review.module | 79 +++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 79 insertions(+), 6 deletions(-)
diff --git a/js/tbc_external_review.js b/js/tbc_external_review.js
index 2533b17..80ba144 100755
--- a/js/tbc_external_review.js
+++ b/js/tbc_external_review.js
@@ -168,10 +168,14 @@ $(document).ready(function() {
e.preventDefault();
});
- $jq("#edit-cancel").click(function(e) {
+ $jq("#review-completion-form #edit-cancel").click(function(e) {
window.location = modPath + "status";
e.preventDefault();
});
+ $jq("#status-edit-form #edit-cancel").click(function(e) {
+ window.location = modPath + "manage_status";
+ e.preventDefault();
+ });
$(document).ajaxStart(function() {
$ajax_loader.show();
});
diff --git a/tbc_external_review.module b/tbc_external_review.module
index 26184ec..5e1f277 100755
--- a/tbc_external_review.module
+++ b/tbc_external_review.module
@@ -487,10 +487,7 @@
$query = "
SELECT DISTINCT(review) FROM external_review_comments
WHERE preference_id = %d
- ORDER BY review DESC
- ";
- $result = db_query($query, $preference_id);
- $tmp = $review; // for active class in case of 0
+ ORDER BY review DESC "; $result = db_query($query, $preference_id); $tmp = $review; // for active class in case of 0
while($row = db_fetch_object($result)) {
$option["attributes"]["class"] = "review-links";
if($review == $row->review) {
@@ -828,6 +825,65 @@
return $books;
}
+ function tbc_external_review_status_edit_form($form_state, $preference_id=0) {
+ $query = "
+ SELECT * FROM external_review_details
+ WHERE preference_id = %d
+ ";
+ $result = db_query($query, $preference_id);
+ $row = db_fetch_object($result);
+
+ $form = array();
+ $form["wrapper"] = array(
+ "#prefix" => "
",
+ "#suffix" => "
"
+ );
+ $form["wrapper"]["review"] = array(
+ "#type" => "select",
+ "#title" => "Review Number",
+ "#options" => range(0,10),
+ "#default_value" => $row->review
+ );
+ $form["wrapper"]["status"] = array(
+ "#type" => "radios",
+ "#title" => "Status",
+ "#options" => array(
+ t("Ongoing"),
+ t("Completed")
+ ),
+ "#default_value" => 0
+ );
+ $form["wrapper"]["preference_id"] = array(
+ "#type" => "hidden",
+ "#value" => $preference_id
+ );
+ $form["wrapper"]["submit"] = array(
+ "#type" => "submit",
+ "#value" => "Update"
+ );
+ $form["wrapper"]["cancel"] = array(
+ "#type" => "button",
+ "#value" => "Cancel",
+ );
+ return $form;
+ }
+
+ function tbc_external_review_status_edit_form_submit($form, &$form_state) {
+ $query = "
+ UPDATE external_review_details
+ SET
+ review = {$form_state['values']['review']},
+ status = {$form_state['values']['status']}
+ WHERE preference_id = {$form_state['values']['preference_id']}
+ ";
+ $result = db_query($query);
+ if(!$result) {
+ drupal_set_message("An error occured during updation.", "error");
+ } else {
+ drupal_set_message("Updated successfully.", "status");
+ }
+ }
+
function tbc_external_review_manage_status_all($action="", $preference_id=0, $confirm="") {
global $base_url;
$page_content = "";
@@ -904,6 +960,19 @@
$page_content .= l("Yes", "tbc_external_review/manage_status/next/{$preference_id}/yes");
$page_content .= " | ";
$page_content .= l("Cancel", "tbc_external_review/manage_status");
+ } else if($action = "edit" && $preference_id) {
+ $query = "
+ SELECT * FROM external_review_details erd
+ LEFT JOIN textbook_companion_preference pre ON erd.preference_id = pre.id
+ WHERE preference_id = {$preference_id}
+ ";
+ $result = db_query($query);
+ $row = db_fetch_object($result);
+ $page_content .= "Status Edit Form
";
+ $page_content .= "Book: {$row->book}
";
+ $page_content .= "Author: {$row->author}
";
+ $page_content .= drupal_get_form("tbc_external_review_status_edit_form", $preference_id);
+ return $page_content;
} else {
$query = "
SELECT * from textbook_companion_preference tcp INNER JOIN external_review_details erd
@@ -923,7 +992,7 @@
suffix($row->review),
($row->completed?"Completed":"Ongoing"),
"{$row->name}",
- ($row->completed?l("Next", "tbc_external_review/manage_status/next/" . $row->preference_id):"---")
+ ($row->completed?l("Next", "tbc_external_review/manage_status/next/" . $row->preference_id):"---") . " | " . l("Edit", "tbc_external_review/manage_status/edit/{$row->preference_id}")
);
array_push($rows, $item);
}
--
cgit