forked from SimplesIP/pabx-app
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.
112 lines
3.5 KiB
112 lines
3.5 KiB
<?php |
|
|
|
//define o label do botao |
|
$acaoUser = 'Incluir'; |
|
|
|
// Define mensagem para o usuario |
|
$msgUser = ""; |
|
|
|
// Define mensagens de erro |
|
$msgErro = ""; |
|
|
|
$setFocus = "document.getElementById('gp_nome').focus();"; |
|
$jsStartup[] = $setFocus; |
|
|
|
/* |
|
* Verifica se o usuario pressionou o botão para inserir |
|
* o registro |
|
*/ |
|
if ($formAction == FORM_NEW) { |
|
LimpaGpVar(); |
|
} else { |
|
if (trim($_POST["gp_nome"] == "")) { |
|
GetGpValues(); |
|
$msgUser = "alert('O nome do grupo é campo de preenchimento obrigatório!');"; |
|
} else { |
|
//string para inserção do registro |
|
$query = "insert into pbx_grupo(gp_nome, gp_status, gp_user) |
|
values(%s, %s, %s)"; |
|
|
|
GetGpValues(); |
|
|
|
// Inicia uma transação no banco de dados |
|
$result = @pg_query($dbcon, "begin"); |
|
|
|
if ($result) { |
|
//Prepara a query para inserir o registro no banco |
|
$query = sprintf($query, QuotedStr($gp_nome), QuotedStr($gp_status), QuotedStr(GetIdUser())); |
|
|
|
//Executa a query no banco |
|
$result = @pg_query($dbcon, $query); |
|
|
|
if (!IsAdmin() && $result) { |
|
//Insere o grupo para o criador e seus antecessores na ordem inversa de criação |
|
$query = "select max(gp_id) from pbx_grupo"; |
|
$result = @pg_query($dbcon, $query); |
|
$row = @pg_fetch_row($result); |
|
|
|
$idGrupo = $row[0]; |
|
$idUser = GetIdUser(); |
|
|
|
/* |
|
* Usuario administrador não é inserido no grupo. |
|
*/ |
|
if ($result && !IsUserAdmin()) { |
|
$query = " insert into pbx_grupo_usuario(user_id, gp_id)values(%s, %s)"; |
|
$query = sprintf($query, $idUser, $idGrupo); |
|
$result = @pg_query($dbcon, $query); |
|
} |
|
|
|
if ($result) { |
|
$query = " insert into pbx_grupo_usuario(user_id, gp_id)values(%s, %s)"; |
|
$idUser = GetIdSysAdmin($dbcon); |
|
$query = sprintf($query, $idUser, $idGrupo); |
|
$result = @pg_query($dbcon, $query); |
|
} |
|
} |
|
|
|
if ($result) { |
|
$result = @pg_query($dbcon, "commit"); |
|
} |
|
} |
|
if ($result) { |
|
$acaoUser = 'Incluir'; |
|
$msgUser = "alert('Grupo cadastrado com sucesso');"; |
|
$jsStartup[] = "window.opener.ResetForm();"; |
|
LimpaGpVar(); |
|
} else { |
|
$erroBd = @pg_last_error($dbcon); |
|
@pg_query($dbcon, "rollback"); |
|
$acaoUser = 'Incluir'; |
|
$msgUser = "alert('A operação não pode ser realizada!Erro: $erroBd');"; |
|
$msgErro = "A operação não pode ser realizada!Erro: $erroBd"; |
|
} |
|
} |
|
} |
|
|
|
if (!empty($msgUser)) |
|
$jsStartup[] = $msgUser; |
|
|
|
$smarty->assign("gp_id", $gp_id); |
|
$smarty->assign("gp_nome", $gp_nome); |
|
$smarty->assign("gp_status", $gp_status); |
|
$smarty->assign("acaoUser", $acaoUser); |
|
$smarty->assign("formAction", FORM_INSERT); |
|
$smarty->assign("erro", $msgErro); |
|
|
|
|
|
GetTemplate($smarty, 'seguranca/grupos/gruposCadastro.tpl'); |
|
|
|
function LimpaGpVar() { |
|
$GLOBALS["gp_nome"] = ""; |
|
$GLOBALS["gp_status"] = 1; |
|
$GLOBALS["gp_id"] = 0; |
|
} |
|
|
|
function GetGpValues() { |
|
$GLOBALS["gp_nome"] = mb_strtoupper(RemoveAcentos($_POST["gp_nome"])); |
|
$GLOBALS["gp_status"] = $_POST["gp_status"]; |
|
$GLOBALS["gp_id"] = $_POST["gp_id"]; |
|
} |
|
|
|
?>
|
|
|