|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
require('funcoesFormulario.php');
|
|
|
|
|
$tpLayout = 1;
|
|
|
|
|
$templateName = 'cadastros/prevenda/fornecedorPermissao.tpl';
|
|
|
|
|
|
|
|
|
|
$idfornecedor = isset($_POST['cfr_id']) ? $_POST['cfr_id'] : '';
|
|
|
|
|
$matricula = isset($_POST['user_id']) ? $_POST['user_id'] : '';
|
|
|
|
|
$restritos = isset($_POST['restritos_id']) ? $_POST['restritos_id'] : '';
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
if(isset($_POST['btIncAgente'])){
|
|
|
|
|
insert($_SESSION['SSIDFornecedor'], $matricula);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(isset($_POST['btRmAgente'])){
|
|
|
|
|
delete($_SESSION['SSIDFornecedor'], $restritos);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($_SESSION['SSIDFornecedor'] || (isset($_POST['btSlcFornecedor']) && $idfornecedor)) {
|
|
|
|
|
$_SESSION['SSIDFornecedor'] = ($idfornecedor ? $idfornecedor : $_SESSION['SSIDFornecedor']);
|
|
|
|
|
$smarty->assign('user_id', getUsuarios($_SESSION['SSIDFornecedor']));
|
|
|
|
|
$smarty->assign('listaGrupo', getPermissaoUsuario($_SESSION['SSIDFornecedor']));
|
|
|
|
|
$smarty->assign('idFornecedor', $_SESSION['SSIDFornecedor']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
$smarty->assign("erro", $ex->getMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$smarty->assign("fornecedor", getFornedor(($idFornecedor ? $idfornecedor : $_SESSION['SSIDFornecedor'])));
|
|
|
|
|
GetTemplate($smarty, $templateName);
|
|
|
|
|
|
|
|
|
|
function getFornedor($idFornecedor) {
|
|
|
|
|
$query = "SELECT * FROM pbx_cliente_fornecedor ";
|
|
|
|
|
$result = pg_query($query);
|
|
|
|
|
$data = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
$opt = "";
|
|
|
|
|
foreach ($data as $value) {
|
|
|
|
|
$selected = "";
|
|
|
|
|
if ($idFornecedor == $value['cfr_id']) {
|
|
|
|
|
$selected = 'selected';
|
|
|
|
|
}
|
|
|
|
|
$opt .= "<option value='{$value['cfr_id']}' $selected >{$value['cfr_razao_social']}</option>";
|
|
|
|
|
}
|
|
|
|
|
return $opt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getUsuarios($idfornecedor) {
|
|
|
|
|
$query = "SELECT * FROM pbx_usuarios WHERE matricula NOT IN (SELECT matricula_permissao FROM pbx_fornecedor_permissao WHERE cfr_id = {$idfornecedor});";
|
|
|
|
|
$result = pg_query($query);
|
|
|
|
|
$usuarios = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
$select = "<select name='user_id' multiple='multiple' size='8' style='width:300px;'>";
|
|
|
|
|
foreach ($usuarios as $value) {
|
|
|
|
|
$select .= "<option value='{$value['matricula']}'>{$value['nome']} - {$value['apelido']}</option>";
|
|
|
|
|
}
|
|
|
|
|
$select .= "</select>";
|
|
|
|
|
return $select;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getPermissaoUsuario($idfornecedor) {
|
|
|
|
|
$query = "SELECT * FROM pbx_fornecedor_permissao a
|
|
|
|
|
INNER JOIN pbx_usuarios b ON b.matricula = a.matricula_permissao
|
|
|
|
|
WHERE cfr_id = {$idfornecedor}";
|
|
|
|
|
$result = pg_query($query);
|
|
|
|
|
$usuarios = pg_fetch_all($result);
|
|
|
|
|
|
|
|
|
|
$select = "<select name='restritos_id' multiple='multiple' size='8' style='width:300px;'>";
|
|
|
|
|
foreach ($usuarios as $value) {
|
|
|
|
|
$select .= "<option value='{$value['matricula']}'>{$value['nome']} - {$value['apelido']}</option>";
|
|
|
|
|
}
|
|
|
|
|
$select .= "</select>";
|
|
|
|
|
return $select;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function insert($fornecedor, $matricula) {
|
|
|
|
|
$query = "INSERT INTO pbx_fornecedor_permissao (cfr_id, matricula_permissao) VALUES('{$fornecedor}', '{$matricula}');";
|
|
|
|
|
pg_query($query);
|
|
|
|
|
if (pg_last_error()) {
|
|
|
|
|
throw new Exception('N<EFBFBD>o foi poss<EFBFBD>vel cadastrar o usu<EFBFBD>rio na restri<EFBFBD><EFBFBD>o! Error DB: ' . pg_last_error());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function delete($fornecedor, $matricula) {
|
|
|
|
|
$query = "DELETE FROM pbx_fornecedor_permissao WHERE cfr_id = '{$fornecedor}' AND matricula_permissao = '{$matricula}';";
|
|
|
|
|
pg_query($query);
|
|
|
|
|
if (pg_last_error()) {
|
|
|
|
|
throw new Exception('N<EFBFBD>o foi poss<EFBFBD>vel deletar o usu<EFBFBD>rio na restri<EFBFBD><EFBFBD>o! Error DB: ' . pg_last_error());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|