$context['id'] = $project_workflow_id;
$context['status'] = 1;
$is_processed_sql = "SELECT * FROM project_tasks WHERE status = '0' AND id='$project_workflow_id'";
$result=$database->getRow($is_processed_sql);
if(!$result){
$status = "false";
$reason ="This task has been processed.";
}else{
$database->startTrans();
$project_task = common_project_tasks::get_details($project_workflow_id);
if(empty($project_task['allow_approval']))
$context['main_status'] = 1;
common_triggers::update_task($context);
$submitter = $_SESSION['user']['id'];
$date_submitted = date('Y-m-d G:i:s');
$project_task_update = common_project_tasks::get_details($project_workflow_id);
$task_id = $project_task_update['workflow_task_id'];
$project_workflow_id = $project_task_update['project_workflow_id'];
$forward_action_id = $project_task_update['forward_to'];
$backward_action_id = $project_task_update['workflow_id'];
//if($task_id == 14)
//close thejob in ihub, change status of quote and job
if(($task_id == 14) || ($task_id == 567) || ($task_id == 675)|| ($task_id == 757))
{
if($project_task_update['main_status'] == 1)
{
$status_ref = common_ref_status::get_status("quotes");
$get_quote_id = "
SELECT foreign_id
FROM project_workflow
WHERE id = '$project_workflow_id'
";
$quote_id = $database->getOne($get_quote_id);
/**Kai 2013-04-05 change status from complete 3 to deleted 5*/
$close_quote = "
UPDATE quotes
SET
`status` = '5',
submitter = '$submitter',
date_submitted = '$date_submitted'
WHERE id = '$quote_id'
";
$database->query($close_quote);
logs::submit_logs(array("table" => "quotes", "action_type" => 5,"foreign_id" => $quote_id, "description" => "Changed Status from ".$status_ref[1]['name']." to ".$status_ref[3]['name'].""));
$check_job = "
SELECT count(id)
FROM jobs
WHERE quote_id = '$quote_id'
";
$num_jobs = $database->getOne($check_job);
/**Kai 2013-04-05 change status from complete 52 to deleted 3*/
if($num_jobs > 0)
{
$status_ref = common_ref_status::get_status("jobs");
$close_job = "
UPDATE jobs
SET
`status` = '3',
submitter = '$submitter',
date_submitted = '$date_submitted'
WHERE quote_id = '$quote_id'
";
$database->query($close_job);
logs::submit_logs(array("table" => "jobs", "action_type" => 3,"foreign_id" => $quote_id, "description" => "Changed Status from ".$status_ref[1]['name']." to ".$status_ref[52]['name'].""));
}
}
}
//Ronald 26-04-2012
$close_array= array(54,614,719,748);
if(in_array($task_id,$close_array))
{
if($project_task_update['main_status'] == 1)
{
$get_job_id = "
SELECT foreign_id
FROM project_workflow
WHERE id = '$project_workflow_id'
";
$job_id = $database->getOne($get_job_id);
$status_ref = common_ref_status::get_status("jobs");
$close_job = "
UPDATE jobs
SET
`status` = '52',
submitter = '$submitter',
date_submitted = '$date_submitted'
WHERE id = '$job_id'
";
$database->query($close_job);
logs::submit_logs(array("table" => "jobs", "action_type" => 52,"foreign_id" => $job_id, "description" => "Changed Status from ".$status_ref[1]['name']." to ".$status_ref[52]['name'].""));
}
}
$action_before = common_workflow::get_details($backward_action_id);
$action_after = common_workflow::get_details($forward_action_id);
if($action_before&&$action_after){
//quote to job such as at task_id=784
if($action_before['table']=="quotes"&&$action_after['table']=="jobs"){
$get_quote_id = "
SELECT foreign_id
FROM project_workflow
WHERE id = '$project_workflow_id'
";
$quote_id = $database->getOne($get_quote_id);
$quote = common_quotes::get_details($quote_id);
$client_id = mysql_escape_string($quote['client_id']);
$description = mysql_escape_string($quote['description']);
$location_id = mysql_escape_string($quote['location_id']);
$jobtype = mysql_escape_string($quote['jobtype']);
$labours = mysql_escape_string($quote['labours']);
$myob_number = mysql_escape_string($quote['myob_number']);
$job_name = mysql_escape_string($quote['job_name']);
$contacts = $quote['contacts'];
$current_date_time = date('Y-m-d G:i:s');
$submitter = $_SESSION['user']['id'];
$check_job_exist = "
SELECT count(id),id
FROM jobs
WHERE quote_id = '$quote_id'
LIMIT 1
";
list($num_job,$job_id) = $database->getRow($check_job_exist);
if($num_job == 0) {
$my_client_id = $_SESSION['my_client_id'];
$get_start = "
SELECT normal_jobs_numbers ,led_numbers
FROM ".DB_CLIENT_ACCOUNTS."account_settings
WHERE account_id = '$my_client_id'
";
list($start_range,$end_range) = $database->getRow($get_start);
$end_range -= 1;
$job_id = common_jobs::get_last_job_id($start_range,$end_range);
$insert_job = "
INSERT INTO jobs
SET
quote_id = '$quote_id',
client_id = '$client_id',
description = '$description',
job_name = '$job_name',
location_id = '$location_id',
jobtype = '$jobtype',
labours = '$labours',
myob_number = '$myob_number',
status = '1',
creator = '$submitter',
date_created = '$current_date_time',
submitter = '$submitter',
date_submitted = '$current_date_time',
id = '$job_id'
";
$database->query($insert_job);
foreach($contacts AS $key => $value)
{
$insert_contact = "
INSERT INTO jobs_contacts
SET
contact_id = '".$value['id']."',
job_id = '$job_id'
";
$database->query($insert_contact);
}
logs::submit_logs(array("table" => "jobs", "action_type" => 1,"foreign_id" => $job_id, "description" => "Created"));
} else {
if($num_job == 1) {
$update_job = "
UPDATE jobs
SET
status = '1',
submitter = '$submitter',
date_submitted = '$current_date_time'
WHERE id = '$job_id'
";
$database->query($update_job);
} else {
$update_job = "
UPDATE jobs
SET
status = '1',
submitter = '$submitter',
date_submitted = '$current_date_time'
WHERE id = '$job_id' AND `parent_job` = '1'
";
$database->query($update_job);
}
}
$status_ref = common_ref_status::get_status("quotes");
$close_quote = "
UPDATE quotes
SET
`status` = '3',
submitter = '$submitter',
date_submitted = '$date_submitted'
WHERE id = '$quote_id'
";
$database->query($close_quote);
logs::submit_logs(array(
"table" => "quotes",
"action_type" => 3,
"foreign_id" => $quote_id,
"description" => "Changed Status from ".$status_ref[1]['name']." to ".$status_ref[3]['name'].""));
//@todo workflow_id
$update_workflow = "
UPDATE project_workflow
SET foreign_id = '$job_id'
WHERE foreign_id = '$quote_id' AND workflow_id = '$forward_action_id' AND `table` = 'jobs'
";
$database->query($update_workflow);
}
}
//End Ronald
$result = $database->completeTrans();
$status = "false";
if($result)
$status = "true";
$reason ="Unknown error";
}
$results = array("status" => $status,"reasons"=>$reason);
$json = json_encode($results);
echo $json;
?>