Adsense
Popular Posts
- MySQL workbench -"Could not decrypt password cache"
- peer review (3)
- PHP, dump varailbes in a format way
- "Unusual traffic from your computer network" from blogger
- Install APXS in Redhat Linux
- JavaScript, remove trailing insignificant zeros after toFixed function
- Update member directory
- Set Windows path command line
- JavaScript: add days to current date
- DataTable table order by numeric, not by text
Tuesday, October 15, 2013
Rewrite peer review process (1)
Under admin/edu/pr_manage_new.php, add a button "Primary peer review is done." If it is done,
then disable the button.
admin/edu/pr_manage_new.php,
line 22 add
$sub_level_pages[3] = Array('url'=>'select_committee_members.php','title'=>'Manage Committee Review');
line 59 add
function submitReviewDone(){
document.forms['revisons'].action = 'submit_reviewDone.php';
document.forms['revisons'].submit();
}
function submitChair(){
document.forms['revisons'].action = 'submit_emailChair.php';
document.forms['revisons'].submit();
}
line 118 add:
$sql = "SELECT review_done, email_chair FROM cesei_review_done WHERE module_id=$module_id";
$result = mysql_query($sql,$db);
$review_result = mysql_result($result, 0, 0);
$email_chair = mysql_result($result, 0, 1);
if($review_result ==1) echo "Primary peer review is done. <br /><br />";
line 153 add:
<input type="submit" class="input-button" name="reviewDone" value="Review is done" <?php if($review_result ==1) echo 'disabled="disabled"'; ?> onclick="submitReviewDone()"/>
<input type="submit" class="input-button" name="emailChair" value="Email notification to committee chair" <?php if(($review_result ==0)||($email_chair==1))
echo 'disabled="disabled"'; ?> onclick="submitChair()"/>
In MySQL,create a new table cesei_review_done
CREATE TABLE `cesei_new1`.`cesei_review_done` (
`module_id` mediumint(8) unsigned NOT NULL default '0',
`creation_date` datetime NOT NULL default '0000-00-00 00:00:00',
`review_done` mediumint(8) unsigned NOT NULL default '0',
`email_chair` mediumint(8) unsigned NOT NULL default '0',
`voting_method` mediumint(8) unsigned NOT NULL default '0',
PRIMARY KEY (`module_id`)
) ENGINE=MyISAM
Create new file: submit_reviewDone.php, copy from delete_review.php and modify:
line 37 change
$sql = "DELETE FROM cesei_review_new WHERE id=$rid";
to
$creation_date = date('Y-m-d H:i:s');
$sql = "REPLACE INTO cesei_review_done VALUES ('$module_id','$creation_date', 1, 0, 0)";
line 40 comment out
$msg->addFeedback('RESULT_DELETED');
line 49 changed to
$title = '';
$sql = "SELECT C.title,C.status FROM edu_courses C WHERE C.course_id = $module_id";
$result = mysql_query($sql,$db);
if($row = mysql_fetch_assoc($result)){
if($row['status'] == 'approved'){
$msg->addError('This module is already approved.<br />Only modules that are not in approved stage can be submited for final approval.');
header('Location: pr_manage_new.php?module_id='.$module_id);
exit;
}else{
$title = $row['title'];
}
}else{
$msg->addError('Module not found');
header('Location: pr_manage_new.php?module_id='.$module_id);
exit;
}
$sql = "UPDATE edu_courses SET hide=0,status='review' WHERE course_id = $module_id";
@mysql_query($sql,$db);
//check to see if this is a first timer
$sql = "SELECT revision_cycle FROM cesei_module_reviews WHERE module_id=$module_id ORDER BY revision_cycle DESC";
$result = mysql_query($sql,$db);
$num_rows = mysql_num_rows($result);
$revision_cycle = 1;
//add it to module_reviews
if($num_rows<1)
$sql = "INSERT INTO cesei_module_reviews VALUES($module_id,$revision_cycle,'in_review','pending','',NOW(),'0000-00-00','0000-00-00','0000-00-00')";
else
$sql = "UPDATE cesei_module_reviews SET state='in_review',date_in_review=NOW() WHERE module_id=$module_id AND state='submitted'";
$creation_date = date('Y-m-d H:i:s');
$sql = "REPLACE INTO cesei_review_done VALUES ('$module_id','$creation_date', 1, 0)";
$result = mysql_query($sql, $db);
header('Location: pr_manage_new.php?module_id='.$module_id);
exit;
Create new file: submit_emailChair.php:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
define('PORTAL_ID', 0);
require_once($_SERVER['DOCUMENT_ROOT'].'/_includes/cesei_globals.inc.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/_lib/peer_review_tools.inc.php');
validate_cesei_access(STATUS_ADMIN);
$savant->assign('section_title', 'CESEI Administration');
$savant->assign('section_href', '/admin/');
$savant->assign('page_title', 'Email Notification to Chiar');
$savant->assign('path', Array(Array('url'=>'index.php','title'=>'Education Administration')) );
$sub_level_pages = Array();
$sub_level_pages[0] = Array('url'=>'pr_manage_new.php','title'=>'Manage Peer Review (new)');
$sub_level_pages[1] = Array('url'=>'','title'=>'Delete Review');
$back_to_page = Array('url'=>$_PORTALS[PORTAL_ID]['root'].'/admin/edu/','title'=>'Educational Administration');
$savant->assign('sub_level_pages', $sub_level_pages);
$savant->assign('back_to_page', $back_to_page);
$module_id = intval($_POST['module_id']);
$module_title = $_POST['module_title'];
$rid = intval($_POST['rid']);
if (isset($_POST['submit_no'])) {
$msg->addFeedback('CANCELLED');
header('Location: pr_manage_new.php?module_id='.$module_id.'&rid='.$rid);
exit;
} else if (isset($_POST['submit_yes'])) {
include($_SERVER['DOCUMENT_ROOT'].'/_includes/email_content.inc.php');
$committee_members = get_pr_members();
foreach($committee_members as $member){
if($member['is_chair'] == 1) $email = $member['email'];
}
$sql_1 = "UPDATE cesei_review_new set prefix='$prefix', first_name='$first_name', last_name='$last_name', email='$email',
review_date='$review_date',creation_date='$creation_date',module_id='$module_id',author='$author',comment='$comment'
WHERE id=".$_POST['rid'];
$sql = "UPDATE cesei_review_done set email_chair=1 WHERE module_id=".$module_id;
$result = mysql_query($sql, $db);
$mail = new PHPMailer();
$mail->AddAddress($email);
$mail->Subject = "Module ".$module_title." has requested for education committee approval";
$_mail_body ="Dear Education Committee Chair,
A new module, %1s, has been submitted to the ".INSTITUTION_SHORT_NAME." Education Committee for final approval.
Please log-in to ".INSTITUTION_SHORT_NAME."'s peer review area to assign committee members to review this module.
http://".$_SERVER_NAME."/education/peer_review/
";
$mail->Body = vsprintf($_mail_body.$_mail_cesei_ftr.$_mail_inquiry_ftr,$module_title);
if(!$mail->Send()) {
$msg->addError('There was an error sending the email message. Please try again in a few minutes.');
}
else{
$msg->addFeedback('Email to committee chair for module final approval is sent.');
}
unset($mail);
header('Location: pr_manage_new.php?module_id='.$module_id);
exit;
}
$savant->display('document_top.tmpl.php');
unset($hidden_vars);
$hidden_vars['rid'] = $rid;
$hidden_vars['module_id'] = $module_id;
$hidden_vars['module_title'] = $module_title;
//$msg->addConfirm('DELETE_TEST_RESULTS_ALL', $hidden_vars);
$msg->addConfirm('Are you sure to send an email notification to committee chair for module final approval?', $hidden_vars);
$msg->printConfirm();
$savant->display('document_bottom.tmpl.php');
?>
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment