bbone/application/modules/Business/controllers/Business.php
2023-07-14 23:08:00 +05:30

253 lines
6.8 KiB
PHP

<?php defined('BASEPATH') or exit('No direct script access allowed');
/**
* AMS
*
* @package HMVC
* @author Venba
* @copyright 2022 Venba
* @license https://venbainfotech.com/licenses/MIT MIT License
* @link <URI> (description)
* @version GIT: $Id$
* @since Version 0.0.1
* @filesource
*
*/
class Business extends Admin_Controller
{
/**
* [__construct description]
*
* @method __construct
*/
public function __construct()
{
// To inherit directly the attributes of the parent class.
parent::__construct();
### Syntax : $this->load->model('Model Path' , 'Alias name');
### The second parameter (optional) is used to call the method.
$this->load->model('MY_Model','MY_Model');
$this->load->model('Business_model','Business_model');
$this->load->helper(array('form', 'url'));
}
public function index()
{
}
public function business_list()
{
$business_list = $this->Business_model->get_business_details();
$this->layout->set('tableData', $business_list);
$this->layout->buffer('main_content', 'Business/business_list');
$this->layout->render('default_layout');
}
public function add_business()
{
$this->layout->set('stateData', $this->MY_Model->select('state'));
$this->layout->set('ModuleData', $this->MY_Model->select('modules'));
$this->layout->buffer('main_content', 'Business/add_business');
$this->layout->render('default_layout');
}
public function create_business()
{
$data = $this->input->post();
$data['created_by'] = user()->id;
//file upload confic
$logo_file['upload_path'] = APPPATH. '../assets/uploads/logo';
$logo_file['allowed_types'] = 'gif|jpg|png|jpeg';
$logo_file['max_size'] = 80000;
//upload
$this->load->library('upload', $logo_file);
$this->upload->initialize($logo_file);
if ( ! $this->upload->do_upload('logo'))
{
$error = array('error' => $this->upload->display_errors());
} else{
$upload_logo = $this->upload->data();
$data['logo'] = $upload_logo['file_name'];
}
$table="business";
$add_admin = 0;
if($this->input->post('add_admin'))
{
$add_admin = $this->input->post('add_admin');
unset($data['add_admin']);
}
$mtable = "permit_modules";
$mdata['module_id'] = $this->input->post('module_id');
$mdata['uid'] = $this->input->post('uid');
$mdata['is_active'] = 1;
$add_module = $this->MY_Model->insert($mdata,$mtable);
unset($data['module_id']);
$create_business = $this->MY_Model->insert($data,$table);
// audit history
if($create_business)
{
//set id $ table name for audit history
$this->audit->set('id',$create_business);
$this->audit->set('table',$table);
//fetch new_data after post data insert
$this->audit->fetch('new_data');
//audit history generation for insert
$test = $this->audit->create_history('insert');
}
//print_r($create_business); die();
// $create_business = 3;
if($add_admin == 1)
{
redirect('User/addUser/'.$create_business);
}else{
redirect('Business/business_list');
}
}
public function get_business($id)
{
//select dropdown values
$this->layout->set('stateData', $this->MY_Model->select('state'));
// select business value by id
$table="business";
$businessData = $this->Business_model->get_business_by_md5_id($id);
$this->layout->set('businessData', $businessData);
$this->layout->buffer('main_content', 'Business/edit_business');
$this->layout->render('default_layout');
}
public function edit_business()
{
$action = $this->input->post();
$id = $this->input->post('id');
//file upload confic
$logo_file['upload_path'] = APPPATH. '../assets/uploads/logo';
$logo_file['allowed_types'] = 'gif|jpg|png|jpeg';
$logo_file['max_size'] = 80000;
//upload
$this->load->library('upload', $logo_file);
$this->upload->initialize($logo_file);
if ( ! $this->upload->do_upload('logo'))
{
$error = array('error' => $this->upload->display_errors());
unset($action['logo']);
} else{
$upload_logo = $this->upload->data();
$action['logo'] = $upload_logo['file_name'];
}
$table="business";
//set id $ table name for audit history
$this->audit->set('id',$this->input->post('id'));
$this->audit->set('table','business');
//fetch old_data before new_data update
$this->audit->fetch('old_data');
//insert new data
$mtable = "permit_modules";
$mdata['module_id'] = $this->input->post('module_id');
$mdata['uid'] = $this->input->post('uid');
$mdata['is_active'] = 1;
$businessData = $this->MY_Model->edit_option($action, $id, $table);
unset($data['module_id']);
$businessData = $this->MY_Model->edit_option($action, $id, $table);
if($businessData)
{
//fetch new_data after post data update
$this->audit->fetch('new_data');
//audit history generation for update
$test = $this->audit->create_history('update');
}
if(is_superadmin()){ redirect('Business/business_list');}
else if(is_admin()){ redirect('User/businessProfile/'.md5(user()->business_id)); }
}
public function delete_business($id)
{
$Data = $this->Business_model->delete_by_md5_id($id,user()->business_id,'asset');
redirect('Business/business_list');
}
//===================== MODULES =================================================
public function add_module()
{
$this->layout->buffer('main_content', 'Business/add_module_form');
$this->layout->render('default_layout');
}
public function create_add_module()
{
$table = 'modules';
$data = $this->input->post();
$data['is_active'] = 1;
$add_module = $this->MY_Model->insert($data, $table);
redirect('Business/module_list');
}
public function module_list()
{
$table = 'modules';
$module_list = $this->MY_Model->select($table);
$this->layout->set('module_list', $module_list);
$this->layout->buffer('main_content', 'Business/module_list');
$this->layout->render('default_layout');
}
public function edit_module($id)
{
$table = 'modules';
$module_data = $this->MY_Model->get_by_md5_id($id, $table);
$this->layout->set('module_data', $module_data);
$this->layout->buffer('main_content', 'Business/edit_modules');
$this->layout->render('default_layout');
}
public function edit_module_data()
{
$table = 'modules';
$id = $this->input->post('id');
$action = $this->input->post();
$action['is_active'] = 1;
$add_module = $this->MY_Model->edit_option($action, $id, $table);
redirect('Business/module_list');
}
}