300 lines
11 KiB
PHP
300 lines
11 KiB
PHP
<?php
|
|
class Fournisseurs extends CI_Controller {
|
|
|
|
function __construct()
|
|
{
|
|
parent::__construct('fournisseurs');
|
|
$this->load->helper('url');
|
|
$this->load->library('pagination');
|
|
$this->load->model('Fournisseurs_model');
|
|
$this->lang->load('fournisseurs');
|
|
$this->load->model('Tache_model');
|
|
$this->load->library('table');
|
|
$this->load->helper('form');
|
|
$this->load->model('FxForm_model');
|
|
|
|
$this->load->model('Config_model');
|
|
$this->load->library('session');
|
|
}
|
|
public function index()
|
|
{
|
|
$this->load->view('fournisseurs/header' );
|
|
$this->load->view('fournisseurs/list' );
|
|
$this->load->view('fournisseurs/footer' );
|
|
}
|
|
public function form($mem_id,$error='')
|
|
{
|
|
$error = []; // initialise comme tableau
|
|
// $error['error']=array('type'=>'error','message'=>'test');
|
|
$error['error']=$error;
|
|
|
|
|
|
|
|
// prépare tout les info pour la forme
|
|
$data=$this->Fournisseurs_model->mod_getForminfo($mem_id);
|
|
$data['contacts']=$this->Fournisseurs_model->mod_listcontact($mem_id);
|
|
|
|
$this->load->view('fournisseurs/header' );
|
|
$this->load->view('fournisseurs/form',$data );
|
|
$this->load->view('fournisseurs/footer',$error );
|
|
}
|
|
public function loadDatabad($record=0,$filtre1='',$filtre2='',$filtre3='') {
|
|
|
|
$filtre1=($filtre1=='null'?'':$filtre1);
|
|
$filtre2=($filtre2=='null'?'':$filtre2);
|
|
$recordPerPage = 10;
|
|
$config["cur_page"] = $record;
|
|
if($record != 0){
|
|
$record = ($record-1) * $recordPerPage;
|
|
}
|
|
|
|
$recordCount2 = $this->Fournisseurs_model->mod_getRecordCount();
|
|
|
|
$recordCount = $this->Fournisseurs_model->mod_getRecordCountfilter($filtre1,$filtre2,$filtre3);
|
|
$client_list = $this->Fournisseurs_model->mod_getRecords($record,$recordPerPage,$filtre1,$filtre2,$filtre3);
|
|
$config['base_url'] = base_url().'index.php/Fournisseurs/loadData';
|
|
$config['use_page_numbers'] = TRUE;
|
|
$config['next_link'] = 'Next';
|
|
$config['prev_link'] = 'Previous';
|
|
$config['total_rows'] = $recordCount;
|
|
$config['per_page'] = $recordPerPage;
|
|
|
|
$choice = $config["total_rows"] / $config["per_page"];
|
|
$config["uri_segment"] = 2;
|
|
$config["num_links"] = 2;
|
|
$config['full_tag_open'] = '<div ><ul class="pagination">';
|
|
$config['full_tag_close'] = '</ul></div><!--pagination-->';
|
|
|
|
$config['first_link'] = '« First';
|
|
$config['first_tag_open'] = '<li class="prev page">';
|
|
$config['first_tag_close'] = '</li>';
|
|
|
|
$config['last_link'] = 'Last »';
|
|
$config['last_tag_open'] = '<li class="next page">';
|
|
$config['last_tag_close'] = '</li>';
|
|
|
|
$config['next_link'] = 'Next →';
|
|
$config['next_tag_open'] = '<li class="next page">';
|
|
$config['next_tag_close'] = '</li>';
|
|
|
|
$config['prev_link'] = '← Previous';
|
|
$config['prev_tag_open'] = '<li class="prev page">';
|
|
$config['prev_tag_close'] = '</li>';
|
|
|
|
$config['cur_tag_open'] = '<li class="active"><a href="">';
|
|
$config['cur_tag_close'] = '</a></li>';
|
|
|
|
$config['num_tag_open'] = '<li class="page">';
|
|
$config['num_tag_close'] = '</li>';
|
|
$this->pagination->initialize($config);
|
|
$data['pagination'] = $this->pagination->create_links();
|
|
$data['recordCount']=$recordCount2;
|
|
// creation du tableau
|
|
|
|
|
|
// prepare header
|
|
|
|
$mem_link_new=anchor('fournisseurs/form/0' , ' ', 'class="btn btn-primary btn-circle glyphicon glyphicon-pencil" ');
|
|
$header=array($mem_link_new,
|
|
'Compagnie',
|
|
'Ville',
|
|
'Type',
|
|
|
|
|
|
'<i class="fa fa-fw fa-phone text-muted hidden-md hidden-sm hidden-xs"></i>Téléphone ');
|
|
|
|
$nbitem=0;
|
|
|
|
|
|
// filter
|
|
global $mem_data;
|
|
$data_row = array();
|
|
$data_row[]=array('data'=>'Filtre', 'align' => 'left');
|
|
// -------------------------------------------------------------------------
|
|
// $mem_champ='filtre_1';
|
|
// $mem_value=trim($filtre1);
|
|
// $this->FxForm_model->fxinputtxt($mem_champ,$mem_value,'','','','filtre_1');
|
|
|
|
// $mem_filtre=form_input($mem_data['input'][$mem_champ]);
|
|
// $data_row[]=array('data'=>$mem_filtre, 'align' => 'left');
|
|
// -------------------------------------------------------------------------
|
|
$mem_champ='filtre_2';
|
|
$mem_value=trim($filtre2);
|
|
$this->FxForm_model->fxinputtxt($mem_champ,$mem_value,'','','','filtre_2');
|
|
$mem_filtre=form_input($mem_data['input'][$mem_champ]);
|
|
$data_row[]=array('data'=>$mem_filtre, 'align' => 'left');
|
|
|
|
// -------------------------------------------------------------------------
|
|
$data_row[]=array('data'=>"", 'align' => 'left');
|
|
|
|
// -------------------------------------------------------------------------
|
|
$mem_champ='filtre_3';
|
|
$mem_value=$filtre3;
|
|
$mem_data['select'][$mem_champ]['choix']=$this->Config_model->conf_getGenresFournisseur('fr',true);
|
|
// value multipli select
|
|
//$mem_value = explode(',', $mem_value);
|
|
$mem_filtre=form_dropdown($mem_champ,$mem_data['select'][$mem_champ]['choix'],$mem_value,'class="filtre_3"');
|
|
|
|
$data_row[]=array('data'=>$mem_filtre, 'align' => 'left');
|
|
|
|
// echo form_dropdown($mem_champ,$select[$mem_champ]['choix'],$select[$mem_champ]['value']);
|
|
// -------------------------------------------------------------------------
|
|
|
|
// -------------------------------------------------------------------------
|
|
|
|
|
|
// prépare les donnés du tableau
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$tabular_data[] = $data_row;
|
|
|
|
|
|
|
|
|
|
foreach($client_list as $row)
|
|
{ $nbitem++;
|
|
// faire le link pour edit
|
|
$mem_link_edit=anchor('fournisseurs/form/'.$row['com_id'], ' ', 'class="btn btn-primary btn-circle glyphicon glyphicon-edit" ');
|
|
// <a href="javascript:void(0);" class="btn btn-primary btn-circle"><i ></i></a> ';
|
|
$data_row = array();
|
|
$data_row[] = array('data'=> $mem_link_edit, 'align' => 'left');
|
|
// $data_row[] = array('data'=>$row['com_num_client'], 'align' => 'left');
|
|
$data_row[] = array('data'=>$row['com_compagnie'], 'align' => 'left');
|
|
$data_row[] = array('data'=>$row['com_ville'], 'align' => 'left');
|
|
$data_row[] = array('data'=>$row['list_type'], 'align' => 'left');
|
|
// $data_row[] = array('data'=>$row['rep_prenom']." ".$row['rep_nom'], 'align' => 'left');
|
|
$data_row[] = array('data'=>$row['com_telephone'], 'align' => 'left');
|
|
|
|
$tabular_data[] = $data_row;
|
|
|
|
}
|
|
|
|
|
|
$template = array(
|
|
'table_open' => '<table border="0" cellpadding="4" cellspacing="0" class="table table-striped table-bordered table-hover">',
|
|
|
|
'thead_open' => '<thead>',
|
|
'thead_close' => '</thead>',
|
|
|
|
'heading_row_start' => '<tr>',
|
|
'heading_row_end' => '</tr>',
|
|
'heading_cell_start' => '<th>',
|
|
'heading_cell_end' => '</th>',
|
|
|
|
'tbody_open' => '<tbody>',
|
|
'tbody_close' => '</tbody>',
|
|
|
|
'row_start' => '<tr>',
|
|
'row_end' => '</tr>',
|
|
'cell_start' => '<td>',
|
|
'cell_end' => '</td>',
|
|
|
|
'row_alt_start' => '<tr>',
|
|
'row_alt_end' => '</tr>',
|
|
'cell_alt_start' => '<td>',
|
|
'cell_alt_end' => '</td>',
|
|
|
|
'table_close' => '</table>'
|
|
);
|
|
|
|
$this->table->set_template($template);
|
|
$this->table->set_heading($header);
|
|
$this->table->set_heading($header);
|
|
$tableau_sortie= $this->table->generate($tabular_data);
|
|
|
|
|
|
|
|
$data['empData'] = $tableau_sortie;
|
|
|
|
echo json_encode($data);
|
|
}
|
|
public function loadData_list($record=0,$filtre1='',$filtre2='',$filtre3='', $listactive , $model='liste',$excel=0,$filtre4='') {
|
|
$this->Config_model->conf_getFiltreData($this->session->id,'list_fournisseur','mem_select_1',$filtre1,1,0);
|
|
$this->Config_model->conf_getFiltreData($this->session->id,'list_fournisseur','mem_select_2',$filtre2,1,0);
|
|
$this->Config_model->conf_getFiltreData($this->session->id,'list_fournisseur','mem_select_3',$filtre3,1,0);
|
|
$this->Config_model->conf_getFiltreData($this->session->id,'list_fournisseur','mem_select_4',$filtre4,1,0);
|
|
$this->Config_model->conf_getFiltreData($this->session->id,'list_fournisseur','mem_listactive',$listactive,1,0);
|
|
|
|
|
|
|
|
$filtre1=urldecode($filtre1);
|
|
$filtre2=urldecode($filtre2);
|
|
$filtre3=urldecode($filtre3);
|
|
$filtre4=urldecode($filtre4);
|
|
$data=$this->Fournisseurs_model->mod_loadData_list($record,$filtre1,$filtre2,$filtre3,$listactive,$model,$excel,$filtre4);
|
|
|
|
echo json_encode($data);
|
|
}
|
|
public function saveRecord($id)
|
|
{
|
|
|
|
if ($id==0){
|
|
$id=$this->Fournisseurs_model->mod_createRecordbd($_POST,'com_');
|
|
|
|
if ($id!=0)
|
|
$error=array('type'=>'success','message'=>'Nouvelle fiche créée');
|
|
else
|
|
$error=array('type'=>'error','message'=>'test');
|
|
} else {
|
|
$ok=$this->Fournisseurs_model->mod_saveRecordbd($id,$_POST,'com_');
|
|
if ($ok)
|
|
$error=array('type'=>'success','message'=>'Fiche sauvegardé');
|
|
else
|
|
$error=array('type'=>'error','message'=>'test');
|
|
|
|
|
|
|
|
}
|
|
|
|
$this->form($id,$error);
|
|
}
|
|
|
|
public function deletecontact($id,$con_id){
|
|
$this->Fournisseurs_model->mod_deleteRecordbdcontact($id);
|
|
$error=array('type'=>'success','message'=>'Contact effacé');
|
|
$this->form($con_id,$error);
|
|
}
|
|
|
|
public function saveRecordcontact($id)
|
|
{
|
|
|
|
$mem_con_id=0;
|
|
if($_POST['button']=='new'){
|
|
$mem_con_id=0;
|
|
|
|
}else{
|
|
$mem_con_id=$_POST['button'];
|
|
|
|
}
|
|
|
|
|
|
$new_post=array();
|
|
|
|
foreach($_POST as $key => $value ){
|
|
$pieces = explode("/", $key);
|
|
if(isset($pieces[1])){
|
|
if ($pieces[0]== $mem_con_id){
|
|
$new_post[$pieces[1]]=$value;
|
|
}
|
|
}
|
|
}
|
|
if($_POST['button']=='new'){
|
|
$this->Fournisseurs_model->mod_createRecordbdcontact($new_post,'con_',$id);
|
|
|
|
}else{
|
|
$this->Fournisseurs_model->mod_editRecordbdcontact($new_post,'con_',$mem_con_id);
|
|
|
|
}
|
|
|
|
$error=array('type'=>'success','message'=>'Nouvelle fiche créée');
|
|
|
|
|
|
|
|
$this->form($id,$error);
|
|
}
|
|
} |