class form_job_materials
{
public $id;
public $db_name;
public $config;
public $validation;
public $reasons;
public $suffix;
public function __construct($context)
{
$this->id = $context['id'];
$this->db_name = $context['db_name'];
}
public function set()
{
global $database;
//$suffix="1";
//print $suffix;
$id = $this->id;
$db_name = $this->db_name;
if($_POST['Submit'] == "Save")
{
foreach($_POST AS $name => $value)
{
$splitter = explode("_",$name);
$post_name = $splitter[0];
$suffix = $splitter[1];
if($post_name == "materials")
{
$this->item = mysql_real_escape_string($_POST['item_'.$suffix]);
$this->materials = mysql_real_escape_string($_POST['materials_'.$suffix]);
$this->supplier = mysql_real_escape_string($_POST['supplier_'.$suffix]);
$this->quantity = mysql_real_escape_string($_POST['quantity_'.$suffix]);
$this->price = mysql_real_escape_string($_POST['price_'.$suffix]);
$this->total = mysql_real_escape_string($_POST['total_'.$suffix]);
$this->material_no = mysql_real_escape_string($_POST['id_'.$suffix]);
}
}
}
$this->config['item'] = array("id"=> $id,"value"=> $this->item, "input_name" => "item", "name" => "Item","rule" => "required");
$this->config['materials'] = array("id"=> $id,"value"=> $this->materials, "input_name" => "materials", "name" => "Materials","rule" => "required");
$this->config['supplier'] = array("id"=> $id,"value"=> $this->supplier, "input_name" => "supplier", "name" => "Supplier","rule" => "");
$this->config['quantity'] = array("id"=> $id,"value"=> $this->quantity, "input_name" => "quantity", "name" => "Quantity","rule" => "required|numeric");
$this->config['price'] = array("id"=> $id,"value"=> $this->price, "input_name" => "price", "name" => "Price","rule" => "required|numeric");
$this->config['total'] = array("id"=> $id,"value"=> $this->total, "input_name" => "total", "name" => "Total","rule" => "required|numeric");
$this->config['material_no'] = array("id"=> $id,"value"=> $this->material_no, "input_name" => "id", "name" => "Material","rule" => "");
self::run_validation();
}
public function run_validation()
{
$id = $this->id;
$static_function = (($_POST['Submit'] == "")) ? "initial" : "validate";
$this->validation['item'] = validation::$static_function($this->config['item']);
$this->validation['materials'] = validation::$static_function($this->config['materials']);
$this->validation['supplier'] = validation::$static_function($this->config['supplier']);
$this->validation['quantity'] = validation::$static_function($this->config['quantity']);
$this->validation['price'] = validation::$static_function($this->config['price']);
$this->validation['total'] = validation::$static_function($this->config['total']);
$this->validation['material_no'] = validation::$static_function($this->config['material_no']);
$this->reasons = validation::formalise($this->validation);
}
public function form()
{
global $database;
$id = $this->id;
$config = $this->config;
$validation = $this->validation;
$text_options = array("class" => "medium");
$text_options_small = array("class" => "small");
$text_area_options = array("class" => "medium");
$select_options = array("class" => "medium form");
$text_options_small_readonly['class'] = "small";
$text_options_small_readonly['attr'] = "readonly";
?>
}
public function edit_submit()
{
global $database;
$db_name = $this->db_name;
$reasons = "
";
$reasons .= trim($this->reasons);
$check_reasons = strip_tags($reasons);
$results = false;
$sql_string = "";
if($check_reasons == "")
{
$submitter = $_SESSION['user']['id'];
$current_date_time = date('Y-m-d G:i:s');
foreach($_POST AS $name => $value)
{
$splitter = explode("_",$name);
$post_name = $splitter[0];
$suffix = $splitter[1];
if($post_name == "materials")
{
$item = mysql_real_escape_string($_POST['item_'.$suffix]);
$materials = mysql_real_escape_string($_POST['materials_'.$suffix]);
$supplier = mysql_real_escape_string($_POST['supplier_'.$suffix]);
$quantity = mysql_real_escape_string($_POST['quantity_'.$suffix]);
$price = mysql_real_escape_string($_POST['price_'.$suffix]);
$total = mysql_real_escape_string($_POST['total_'.$suffix]);
$id = mysql_real_escape_string($_POST['id']);
$sql_string .= "('$id','$item','$materials','$supplier','$quantity','$price','$total','$submitter','$current_date_time'), ";
}
}
if(!empty($sql_string))
{
//print_r($sql_string);
//$database->debug = true;
//bug::bug_array("sql_string",$sql_string);
/* $sql_string = substr($sql_string,0, strlen($sql_string) - 2);
$database->StartTrans();
$sql = "
UPDATE $db_name"."quotes_materials
(request_id, materials, supplier, quantity, price,total, submitter, date_submitted)
VALUES ".$sql_string;
$results = $database->query($sql);
$results = $database->CompleteTrans();*/
}
}
/* if($check_reasons == "")
{
$submitter = $_SESSION['user']['id'];
$materials = mysql_real_escape_string($_POST['materials_'.$suffix]);
$supplier = mysql_real_escape_string($_POST['supplier_'.$suffix]);
$quantity = mysql_real_escape_string($_POST['quantity_'.$suffix]);
$price = mysql_real_escape_string($_POST['price_'.$suffix]);
$total = mysql_real_escape_string($_POST['total_'.$suffix]);
$id = mysql_real_escape_string($_POST['id']);
$current_date_time = date('Y-m-d G:i:s');
$update = "
UPDATE $db_name"."quotes_materials
SET
submitter = '$submitter',
date_submitted = '$current_date_time'
WHERE id ='$id'
";
$results = $database->query($update);
}*/
/* if(!$results)
{
confirmation::error_temp("Edit a Material".$reasons);
return false;
}
else
{
confirmation::success_temp("Edited a Material");
return true;
}*/
}
public function new_submit()
{
global $database;
$db_name = $this->db_name;
$id = $this->id;
$reasons = "
";
$reasons .= trim($this->reasons);
$check_reasons = strip_tags($reasons);
$results = false;
$sql_string = "";
if($check_reasons == "")
{
$submitter = $_SESSION['user']['id'];
$current_date_time = date('Y-m-d G:i:s');
foreach($_POST AS $name => $value)
{
$splitter = explode("_",$name);
$post_name = $splitter[0];
$suffix = $splitter[1];
// $id = $_GET['id'];
if($post_name == "materials")
{
$item = mysql_real_escape_string($_POST['item_'.$suffix]);
$materials = addslashes(mysql_real_escape_string($_POST['materials_'.$suffix]));
$supplier = addslashes(mysql_real_escape_string($_POST['supplier_'.$suffix]));
$quantity = mysql_real_escape_string($_POST['quantity_'.$suffix]);
$price = mysql_real_escape_string($_POST['price_'.$suffix]);
$total = mysql_real_escape_string($_POST['total_'.$suffix]);
$material_no = mysql_real_escape_string($_POST['id_'.$suffix]);
$exclude = mysql_real_escape_string($_POST['exclude_'.$suffix]);
$id = mysql_real_escape_string($_POST['id']);
$quote_id = common_materials::get_quote_id($id);
$job_flag ='1';
if($material_no ==0){
$exclude = 1;
}else{
$exclude = 0;
}
//$sql_string .= "('$quote_id','$item','$materials','$supplier','$quantity','$price','$total',$job_flag,'$submitter','$current_date_time'), ";
$sql_string .= "('$quote_id','$material_no','$item','$materials','$supplier','$quantity','$price','$total','$exclude',$job_flag,'$submitter','$current_date_time'), ";
$materials_desc[] = 'Added Material - ' .$materials. ' x '.$quantity;
}
}
if(!empty($sql_string))
{
//print_r($sql_string);
//$database->debug = true;
//bug::bug_array("sql_string",$sql_string);
$sql_string = substr($sql_string,0, strlen($sql_string) - 2);
$results=common_materials::create_new_material($sql_string);
logs::submit_logs(array("table" => "quotes_materials", "action_type" => 2,"foreign_id" => $results, "description" => "Created"));
//$quotes_materials_desc = mysql_escape_string("Added ".$material_name." x $actual");
foreach($materials_desc as $desc)
{
logs::submit_logs(array("table" => "jobs", "action_type" => 8,"foreign_id" => $id, "description" => $desc));
}
}
}
if(!$results)
{
return array("status" => false,"reasons" => "Failed to add materials because of the following reasons".$reasons);
// confirmation::error_temp("Add a scoring category".$reasons);
// return false;
}
else
{
return array("status" => true,"reasons" => $reasons);
// confirmation::success_temp("Added a scoring category");
// return true;
}
}
}
?>