$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);
if(($direction == "yes"&& $workflow_id == 8 )||($direction == "no"&& $workflow_id == 439 ))
{
$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'].""));
$update_workflow = "
UPDATE project_workflow
SET foreign_id = '$job_id'
WHERE foreign_id = '$foreign_id' AND workflow_id = '28' AND `table` = 'jobs'
";
$database->query($update_workflow);
}
/** Kai 29-10-2012
* create a job for QUICK JOB when the workflow reaches workflow 433 -Does the Client Accept the Quote
* end of quote stage, prepare job stage tasks
* */
if(($direction == "yes") && ($workflow_id == 433)){
$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'].""));
$update_workflow = "
UPDATE project_workflow
SET foreign_id = '$job_id'
WHERE foreign_id = '$foreign_id' AND workflow_id = '435' AND `table` = 'jobs'
";
$database->query($update_workflow);
}
if($workflow_id == 25)
{
$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)
{
$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'];
$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 = '53',
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"));
}
}
/* if(($direction == "yes") && ($workflow_id == 42))
{
$status_ref = common_ref_status::get_status("jobs");
$close_quote = "
UPDATE jobs
SET
`status` = '52',
submitter = '$submitter',
date_submitted = '$date_submitted'
WHERE id = '$foreign_id'
";
$database->query($close_quote);
logs::submit_logs(array(
"table" => "jobs",
"action_type" => 52,
"foreign_id" => $foreign_id,
"description" => "Changed Status from ".$status_ref[1]['name']." to ".$status_ref[52]['name'].""));
}
*/
if(($direction == "yes"&& $workflow_id == 361)||($direction == "no"&& $workflow_id == 440))
{
//$database->debug = true;
$get_parent_job = "
SELECT id
FROM jobs
WHERE quote_id = '$foreign_id' AND `parent_job` = '1'
";
$job_id = $database->getOne($get_parent_job);
$current_date_time = date('Y-m-d G:i:s');
$submitter = $_SESSION['user']['id'];
$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'].""));
$update_workflow = "
UPDATE project_workflow
SET
foreign_id = '$job_id'
WHERE foreign_id = '$foreign_id' AND workflow_id = '366' AND `table` = 'jobs'
";
$database->query($update_workflow);
}
if(($direction == "no") && ($workflow_id == 32))
{
$get_quote_id = "
SELECT quote_id
FROM jobs
WHERE id = '$foreign_id'
";
$quote_id = $database->getOne($get_quote_id);
$close_quote = "
UPDATE quotes
SET
`status` = '1',
submitter = '$submitter',
date_submitted = '$date_submitted'
WHERE id = '$quote_id'
";
$database->query($close_quote);
$update_workflow = "
UPDATE project_workflow
SET
foreign_id = '$quote_id',
`table` = 'quotes'
WHERE foreign_id = '$foreign_id' AND workflow_id = '32' 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;
?>