Browse Source

automatizando a criacao do grupo de licenca CRM e seus menus

1.8.1-crm-simplesip
Douglas.Strappasson 8 months ago
parent
commit
8ebf95b669
  1. 1
      checaSessao.php
  2. 16
      include/util/funcoesApl.php
  3. 22
      projeto/base/sql/grupo_licenca_crm.sql

1
checaSessao.php

@ -44,6 +44,7 @@ if(strtoupper($_SESSION["SSaut"]) == "OK" && !$_SESSION["SSTermoUsoPrivacidade"]
include('termoUsoPrivacidade.php');
}else if (strtoupper($_SESSION["SSaut"]) == "OK") {
if (IsUserConnect() && strtoupper(GetLogin()) == 'ADMIN' & !$_SESSION["primAcesso"]) {
createLicenseGroupCRM($dbcon);
VerificaCadastroMenu($dbcon);
$_SESSION["primAcesso"] ++;
}

16
include/util/funcoesApl.php

@ -48,6 +48,22 @@ function GetIdUser()
return isset($_SESSION["SSidUser"]) ? $_SESSION["SSidUser"] : 0;
}
function createLicenseGroupCRM($dbcon){
$sql = file_get_contents('/var/www/html/aplicativo/projeto/base/sql/grupo_licenca_crm.sql');
try {
$result = pg_query($dbcon, $sql);
if ($result) {
return true;
}
throw new Exception("Nao foi possivel executar a query: " . $sql);
} catch (Exception $exception) {
$errorInformation = $exception->getMessage(); //interessante criar um log para armazenar o erro!!!
return false;
}
}
function VerificaCadastroMenu($conn)
{
global $alturaTabelaAgente;

22
projeto/base/sql/ tabelas_crm_1.0.sql → projeto/base/sql/grupo_licenca_crm.sql

@ -1,23 +1,27 @@
--Cria um grupo
INSERT INTO pbx_grupo (gp_id, gp_nome, gp_status, user_id, gp_user, gp_system, gp_descricao)
VALUES ('-10', 'CRM', 1, 0, 0, 1, 'Grupo para servidor do CRM SimplesIp');
-- Cria a funcao para facilitar a insercao dos dados do grupo das licencas.
DO $$
DECLARE
grupo_id_existente integer;
BEGIN
SELECT gp_id INTO grupo_id_existente
FROM pbx_grupo
WHERE gp_nome = 'CRM';
IF grupo_id_existente IS NULL THEN
INSERT INTO pbx_grupo (gp_id, gp_nome, gp_status, user_id, gp_user, gp_system, gp_descricao)
VALUES ('-10', 'CRM', 1, 0, 0, 1, 'Grupo para servidor do CRM SimplesIp');
END IF;
END $$;
CREATE OR REPLACE FUNCTION inserir_dados_licenca_grupos(grupo_nome text, funcao_ids integer[])
RETURNS VOID AS
$$
DECLARE
grupo_id integer;
BEGIN
-- Obtém o ID do grupo pelo nome
SELECT gp_id INTO grupo_id
FROM pbx_grupo
WHERE gp_nome = grupo_nome;
-- Se o grupo não foi encontrado, lança uma exceção
IF grupo_id IS NULL THEN
RAISE EXCEPTION 'Grupo não encontrado: %', grupo_nome;
END IF;
-- Insere apenas as funções que ainda não estão associadas ao grupo
INSERT INTO pbx_grupo_funcoes (gp_id, fun_id)
SELECT grupo_id, f_id
FROM unnest(funcao_ids) AS f_id
@ -29,7 +33,5 @@ BEGIN
END;
$$
LANGUAGE plpgsql;
-- Chama a funcao passando o nome do grupo e a lista de funcoes associadas.
SELECT inserir_dados_licenca_grupos('CRM', ARRAY[1, 4, 5, 9, 10, 13, 16, 36, 222]);
-- Exclui a funcao do banco.
DROP FUNCTION IF EXISTS inserir_dados_licenca_grupos(text, integer[]);
Loading…
Cancel
Save