id = $context['id']; $this->status_table = $context['status_table']; $this->status_id = $context['status']; $this->department_id = $context['dept_id']; $this->sign_counter = 0; } public function set() { global $database; $id = $this->id; $status_id = $this->status_id; $this->client_type = 1; $_SESSION['line_counter'] = (empty($_SESSION['line_counter'])) ? 1500000 : $_SESSION['line_counter']; if(!empty($id) && !isset($_POST['Submit'])) { $request = common_jobs::get_details($id); //bug::formatted_this("request",$request); $this->id = $request['id']; $this->quote_id = $request['quote_id']; $this->client_id = $request['client_id']; $this->job_name = $request['job_name']; $this->description = $request['description']; $this->location_id = $request['location_id']; $this->parent_job = $request['parent_job']; $this->parent_job_id = $request['parent_job_id']; $this->jobtype = $request['jobtype']; $this->labours = $request['labours']; $this->myob_number = $request['myob_number']; $this->priority = $request['priority']; $this->status = $request['status']; $this->flag = $request['flag']; $this->job_tag = $request['job_tag']; $this->creator = $request['creator']; $this->date_created = $request['date_created']; $this->submitter = $request['submitter']; $this->date_submitted = $request['date_submitted']; $this->client_type = $request['client_type']; $this->company_name = $request['company_name']; $this->site_address_nice = $request['site_address_nice']; $this->site_address = $request['site_address']; $this->site_suburb = $request['site_suburb']; $this->site_state = $request['site_state']; $this->site_post_code = $request['site_post_code']; $this->description_clean = $request['description_clean']; $this->location_site_address = $request['location_site_address']; $this->location_site_suburb = $request['location_site_suburb']; $this->location_site_state = $request['location_site_state']; $this->location_site_post_code = $request['location_site_post_code']; $contacts = $request['contacts']; foreach($contacts AS $key => $contact) { $suffix = $key; $contact_id = $contact['id']; $first_name = $contact['first_name']; $last_name = $contact['last_name']; $phone = $contact['business_phone']; $email = $contact['email']; $this->config['contact_id_'.$suffix] = array("id"=> $id,"value"=> $contact_id, "input_name" => 'contact_id_'.$suffix, "name" => "Contact ID","rule" => ""); $this->config['first_name_'.$suffix] = array("id"=> $id,"value"=> $first_name, "input_name" => 'first_name_'.$suffix, "name" => "First Name","rule" => "required"); $this->config['last_name_'.$suffix] = array("id"=> $id,"value"=> $last_name, "input_name" => 'last_name_'.$suffix, "name" => "Last Name","rule" => "required"); $this->config['phone_'.$suffix] = array("id"=> $id,"value"=> $phone, "input_name" => 'phone_'.$suffix, "name" => "Phone","rule" => ""); $this->config['email_'.$suffix] = array("id"=> $id,"value"=> $email, "input_name" => 'email_'.$suffix, "name" => "Email","rule" => "required|valid_email"); } } if($_POST['Submit'] == "Save") { $this->myob_number =$_POST['myob_number']; $this->job_name =$_POST['job_name']; $this->description =$_POST['description']; $this->priority =$_POST['priority']; $this->company_name = $_POST['company_name']; $this->site_address = $_POST['site_address']; $this->site_post_code = $_POST['site_post_code']; $this->site_state = $_POST['site_state']; $this->site_suburb = $_POST['site_suburb']; foreach($_POST AS $key => $value) { $split = explode("_",$key); $name = $split[0]."_".$split[1]."_"; if($name == "first_name_") { $suffix = $split[2]; $contact_id = $_POST['contact_id_'.$suffix]; $first_name = $_POST['first_name_'.$suffix]; $last_name = $_POST['last_name_'.$suffix]; $phone = $_POST['phone_'.$suffix]; $email = $_POST['email_'.$suffix]; $this->config['contact_id_'.$suffix] = array("id"=> $id,"value"=> $contact_id, "input_name" => 'contact_id_'.$suffix, "name" => "Contact ID","rule" => ""); $this->config['first_name_'.$suffix] = array("id"=> $id,"value"=> $first_name, "input_name" => 'first_name_'.$suffix, "name" => "First Name","rule" => "required"); $this->config['last_name_'.$suffix] = array("id"=> $id,"value"=> $last_name, "input_name" => 'last_name_'.$suffix, "name" => "Last Name","rule" => "required"); $this->config['phone_'.$suffix] = array("id"=> $id,"value"=> $phone, "input_name" => 'phone_'.$suffix, "name" => "Phone","rule" => ""); $this->config['email_'.$suffix] = array("id"=> $id,"value"=> $email, "input_name" => 'email_'.$suffix, "name" => "Email","rule" => "required|valid_email"); } } } $this->config['company_name'] = array("id"=> $id,"value"=> $this->company_name, "input_name" => "company_name", "name" => "Company Name","rule" => "required"); $this->config['myob_number'] = array("id"=> $id,"value"=> $this->myob_number, "input_name" => "myob_number", "name" => "MYOB Number","rule" => ""); $this->config['description'] = array("id"=> $id,"value"=> $this->description, "input_name" => "description", "name" => "Description","rule" => "required"); $this->config['job_name'] = array("id"=> $id,"value"=> $this->job_name, "input_name" => "job_name", "name" => "Job Name","rule" => "required"); $this->config['priority'] = array("id"=> $id,"value"=> $this->priority, "input_name" => "priority", "name" => "Priority","rule" => "required|numeric"); $this->config['site_address'] = array("id"=> $id,"value"=> $this->site_address, "input_name" => "site_address", "name" => "Site Address","rule" => "required"); $this->config['site_post_code'] = array("id"=> $id,"value"=> $this->site_post_code, "input_name" => "site_post_code", "name" => "Site Post Code","rule" => "required|integer|exact_length[4]"); $this->config['site_state'] = array("id"=> $id,"value"=> $this->site_state, "input_name" => "site_state", "name" => "Site State","rule" => "required"); $this->config['site_suburb'] = array("id"=> $id,"value"=> $this->site_suburb, "input_name" => "site_suburb", "name" => "Site Suburb","rule" => "required"); self::run_validation(); } public function run_validation() { $static_function = (($_POST['Submit'] == "")) ? "initial" : "validate"; $this->validation['description'] = validation::$static_function($this->config['description']); $this->validation['myob_number'] = validation::$static_function($this->config['myob_number']); $this->validation['job_name'] = validation::$static_function($this->config['job_name']); $this->validation['priority'] = validation::$static_function($this->config['priority']); $this->validation['company_name'] = validation::initial($this->config['company_name']); $this->validation['site_address'] = validation::initial($this->config['site_address']); $this->validation['site_post_code'] = validation::initial($this->config['site_post_code']); $this->validation['site_state'] = validation::initial($this->config['site_state']); $this->validation['site_suburb'] = validation::initial($this->config['site_suburb']); foreach($this->config AS $key => $value) { $split = explode("_",$key); $name = $split[0]."_".$split[1]."_"; if($name == "first_name_") { $suffix = $split[2]; $this->validation['contact_id_'.$suffix] = validation::initial($this->config['contact_id_'.$suffix]); $this->validation['first_name_'.$suffix] = validation::$static_function($this->config['first_name_'.$suffix]); $this->validation['last_name_'.$suffix] = validation::$static_function($this->config['last_name_'.$suffix]); $this->validation['phone_'.$suffix] = validation::$static_function($this->config['phone_'.$suffix]); $this->validation['email_'.$suffix] = validation::$static_function($this->config['email_'.$suffix]); } } $this->reasons = validation::formalise($this->validation); } public function form() { global $database; $id = $this->id; $form_type = $this->form_type; $config = $this->config; $validation = $this->validation; $options = array("class" => "medium"); $options_large = array("class" => "large"); $options_checkbox = array("class" => "checkbox"); $options_select = array("class" => "medium form"); $table_class = (empty($form_type)) ? "tab_form" : ""; $client_type = $this->client_type; $options_address = array("class" => "medium","attr" => array("readonly" => "readonly")); $options_select = array("class" => "medium form"); $options_select_small = array("class" => "small form"); $options_text_medium = array("class" => "medium"); $options_text_small = array("class" => "small"); $options_description = array("class" => "large","attr" => array("rows" => "5")); $clients['results'] = common_clients::get_all_clients(); ?>