File: /home/cafsindia/allyindian_com/sbltt/application/controllers/Accounts.php
<?php if ( ! defined('BASEPATH')) exit('No direct script is allowed');
require_once("Secure_Controller.php");
class accounts extends Secure_Controller{
public function __construct(){
parent::__construct('accounts');
$this->load->model('Accounts_model');
}
public function index(){
if(!$this->Appconfig->isAppvalid()){
redirect('config');
}
$data['table_headers']=$this->xss_clean(get_accounts_headers());
$this->load->view('accounts/manage',$data);
}
public function search(){
$search=$this->input->get('search');
$limit=$this->input->get('limit');
$offset=$this->input->get('offset');
$sort=$this->input->get('sort');
$order=$this->input->get('order');
$filters = array('start_date' => $this->input->get('start_date'),'end_date' => $this->input->get('end_date'),'Follow_Up' => FALSE,'Confirm' => FALSE,'Cancelled' => FALSE,'Completed' => FALSE,'On_progress' => FALSE);
$filledup = array_fill_keys($this->input->get('filters'), TRUE);
$filters = array_merge($filters, $filledup);
$accounts=$this->Accounts_model->search($search,$filters,$limit,$offset,$sort,$order);
$TotalRows=$this->Accounts_model->get_found_rows($search,$filters);
$DataRows=array();
foreach ($accounts->result() as $person)
{
$DataRows[]=get_accounts_datarows($person,$this);
}
$DataRows=$this->xss_clean($DataRows);
echo json_encode(array('total'=>$TotalRows,'rows'=>$DataRows));
}
public function view($accounts_id=-1){
$info=$this->Accounts_model->get_info($accounts_id);
foreach (get_object_vars($info) as $property => $value){
$info->$property = $this->xss_clean($value);
}
$data['accounts'] = $info;
$getaccounts = $data['accounts'];
$operation_id = $getaccounts->operation_id;
$data['trip_summary'] = $this->Accounts_model->trip_summary($operation_id);
$data['op_line_list'] = $this->Accounts_model->get_op_line_list($operation_id);
$this->load->view("accounts/form",$data);
}
public function save($accounts_id = -1){
$accounts_data = array(
'inv_date' => date("Y-m-d", strtotime($this->input->post('inv_date'))),
'inv_number' => $this->input->post('inv_number'),
'accounts_sts' => $this->input->post('accounts_sts'),
'acc_remarks' => $this->input->post('acc_remarks'),
);
$this->Accounts_model->update_accounts($accounts_data, $accounts_id);
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('accounts_successful_adding').' '. $accounts_data['accounts_name'], 'id' => $accounts_id));
}
public function get_row($accounts_ids){
$accounts_infos = $this->Accounts_model->get_multiple_info($accounts_ids);
$result = array();
foreach($accounts_infos as $item_info){
$result[$item_info->accounts_id] = $this->xss_clean(get_item_data_row($item_info, $this));
}
echo json_encode($result);
}
public function balance_log($booking_id){
$info=$this->Accounts_model->get_balance_info($booking_id);
foreach (get_object_vars($info) as $property => $value){
$info->$property = $this->xss_clean($value);
}
$data['accounts']=$info;
$data['balance_info'] = $this->Accounts_model->balance_log_list($booking_id);
$this->load->view("accounts/balance_form",$data);
}
public function save_balance_log($booking_id){
$bal_log_id = $this->input->post('bal_log_id');
$balance_data = array(
'booking_id' => $this->input->post('bal_booking_id'),
'balance_date' => date('Y-m-d',strtotime($this->input->post('balance_date'))),
'amount' => $this->input->post('amount'),
'remarks' => $this->input->post('remarks'),
'created_by' => $this->session->userdata('emp_id'),
'created_date' => date("Y-m-d H:i:s"),
);
$balance_amount = $this->Accounts_model->balance_amount($booking_id);
$pay_amount = $this->input->post('amount');
if((int)$balance_amount >= (int)$pay_amount){
if($this->Accounts_model->save_balance_log($balance_data,$bal_log_id)){
$balance_info = $this->Accounts_model->balance_log_list($booking_id);
echo json_encode(array('success' => TRUE, 'balance_info' =>$balance_info,'sts' =>"SUCCESS"));
}
}else{
echo json_encode(array('success' => TRUE, 'sts' =>"FAIL"));
}
}
public function get_balance_log(){
$balance_log_id = $this->input->post('balance_log_id');
$balance_info = $this->Accounts_model->get_balance_log($balance_log_id);
echo json_encode(array('success' => TRUE, 'balance_info' => $balance_info));
}
public function print_acccounts($booking_id){
$data = $this->_load_print_acccounts_data($booking_id);
$this->load->view('accounts/print_acccounts',$data);
}
public function print_cash_bill($booking_id){
$data = $this->_load_acccounts_data($booking_id);
$this->load->view('accounts/print_cash_bill',$data);
}
public function group_inv(){
$inv_date = date('Y-m-d',strtotime($this->input->post('inv_date')));
$inv_number = $this->input->post('inv_number');
$ids = $this->input->post('ids');
$group_info = $this->Accounts_model->group_inv($inv_date,$inv_number,$ids);
echo json_encode(array('success' => TRUE, 'message' =>"Updated grouping / Ungrouping Successfull"));
}
private function _load_print_acccounts_data($booking_id){
$data['acccounts_info'] = $this->Accounts_model->get_load_data_print($booking_id);
$getcust = $data['acccounts_info'];
$tax = $getcust[0]->tax_precentage;
$data['hsn'] = $this->Accounts_model->get_hsn($tax);
$booking_ids = $this->Accounts_model->get_booking_ids($booking_id);
$data['catering_order'] = $this->Accounts_model->get_catering_order($booking_ids);
$data['stay_info'] = $this->Accounts_model->get_stay_list($booking_ids);
return $data;
}
private function _load_acccounts_data($booking_id){
$data['acccounts_info'] = $this->Accounts_model->get_load_data($booking_id);
$getcust = $data['acccounts_info'];
$booking_id = $getcust[0]->booking_id;
$operation_id = $getcust[0]->operation_id;
$group_id = $getcust[0]->group_id;
$tax = $getcust[0]->tax_precentage;
$data['hsn'] = $this->Accounts_model->get_hsn($tax);
$data['vehicle_list'] = $this->Accounts_model->vehicle_list($operation_id);
$data['catering_order'] = $this->Accounts_model->get_catering_order($booking_id);
$data['stay_info'] = $this->Accounts_model->get_stay_list($booking_id);
$data['balance_log'] = $this->Accounts_model->get_bal_log_amount($booking_id);
$data['extra_info'] = $this->Accounts_model->get_extra_amount($booking_id);
$data['suspence_list'] = $this->Accounts_model->get_suspence_list($operation_id);
return $data;
}
public function delete(){
$accounts_to_delete = $this->xss_clean($this->input->post('ids'));
if($this->Accounts_model->delete_list($accounts_to_delete)){
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('accounts_successful_deleted').' '. count($accounts_to_delete).' '.$this->lang->line('accounts_one_or_multiple')));
}else{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('accounts_cannot_be_deleted')));
}
}
}
?>