You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 lines
3.7 KiB

<?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());
}
}