$context['id'] = $project_workflow_id;
$context['direction'] = $direction;
$is_processed_sql="SELECT * FROM project_workflow WHERE direction = ''AND id='$project_workflow_id'";
$result=$database->getRow($is_processed_sql);
if(!$result){
$status = "false";
$reason ="This task has been processed.";
}else{
$database->startTrans();
common_triggers::update_action($context);
$submitter = $_SESSION['user']['id'];
$date_submitted = date('Y-m-d G:i:s');
$get_task_id = "
SELECT workflow_id,foreign_id
FROM project_workflow
WHERE id = '$project_workflow_id'
";
list($workflow_id,$foreign_id) = $database->getRow($get_task_id);
$get_current_task_sql = "
SELECT *
FROM workflow
WHERE id = '$workflow_id'
";
$current_decision = $database->getRow($get_current_task_sql);
if($current_decision){
if($direction=="yes"){
$next_workflow_id = $current_decision['yes_dir'];
}else{
$next_workflow_id = $current_decision['no_dir'];
}
if($next_workflow_id!=0){
$get_next_task_sql = "
SELECT *
FROM workflow
WHERE id = '$next_workflow_id'
";
$next_decision = $database->getRow($get_next_task_sql);
if($current_decision['table']=="quotes"&&$next_decision['table']=="jobs"){
$quote = common_quotes::get_details($foreign_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 = '$foreign_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 = '$foreign_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 = '$foreign_id'
";
$database->query($close_quote);
logs::submit_logs(array(
"table" => "quotes",
"action_type" => 3,
"foreign_id" => $foreign_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 = '$foreign_id' AND workflow_id = '$next_workflow_id' AND `table` = 'jobs'
";
$database->query($update_workflow);
}
}
}
if($direction == "no")
{
$context_notes['ajax'] = true;
$context_notes['table'] = "project_workflow";
$context_notes['db_name'] = DB_CLIENT;
$context_notes['user_db_name'] = DB_CLIENT_SETTINGS;
$context_notes['id'] = $project_workflow_id;
$context_notes['notes_description'] = $reasons;
form_notes::submit_notes_ajax($context_notes);
}
$result = $database->completeTrans();
$status = "false";
if($result)
$status = "true";
$reason ="Unknown error";
}
$results = array("status" => $status,"reasons"=>$reason);
$json = json_encode($results);
echo $json;
?>