Introdotto login amministratore da app
This commit is contained in:
parent
a8df2fcb08
commit
ff55cd430f
|
@ -22,8 +22,8 @@ namespace API\App\v1;
|
|||
use API\App\AppResource;
|
||||
use Auth;
|
||||
use Carbon\Carbon;
|
||||
use Models\User;
|
||||
use Modules\Checklists\Check;
|
||||
use Models\User;
|
||||
|
||||
class Checklists extends AppResource
|
||||
{
|
||||
|
@ -37,7 +37,6 @@ class Checklists extends AppResource
|
|||
|
||||
// Informazioni sull'utente
|
||||
$user = Auth::user();
|
||||
$id_tecnico = $user->id_anagrafica;
|
||||
|
||||
// Elenco di interventi di interesse
|
||||
$risorsa_interventi = $this->getRisorsaInterventi();
|
||||
|
@ -46,24 +45,46 @@ class Checklists extends AppResource
|
|||
// Elenco sessioni degli interventi da rimuovere
|
||||
$da_interventi = [];
|
||||
if (!empty($interventi)) {
|
||||
$query = 'SELECT zz_checks.id
|
||||
FROM zz_checks
|
||||
INNER JOIN in_interventi ON zz_checks.id_record = in_interventi.id
|
||||
INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idintervento = in_interventi.id
|
||||
INNER JOIN zz_modules ON zz_checks.id_module = zz_modules.id
|
||||
INNER JOIN zz_check_user ON zz_checks.id = zz_check_user.id_check
|
||||
WHERE
|
||||
zz_modules.name="Interventi"
|
||||
AND
|
||||
zz_check_user.id_utente = :id_tecnico
|
||||
AND
|
||||
in_interventi.id IN ('.implode(',', $interventi).')
|
||||
OR (orario_fine NOT BETWEEN :period_start AND :period_end)';
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_end' => $end,
|
||||
':period_start' => $start,
|
||||
':id_tecnico' => $user->id,
|
||||
]);
|
||||
if($user->is_admin){
|
||||
$query = '
|
||||
SELECT zz_checks.id
|
||||
FROM zz_checks
|
||||
INNER JOIN in_interventi ON zz_checks.id_record = in_interventi.id
|
||||
INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idintervento = in_interventi.id
|
||||
INNER JOIN zz_modules ON zz_checks.id_module = zz_modules.id
|
||||
INNER JOIN zz_check_user ON zz_checks.id = zz_check_user.id_check
|
||||
WHERE
|
||||
zz_modules.name="Interventi"
|
||||
AND
|
||||
in_interventi.id IN ('.implode(',', $interventi).')
|
||||
OR (orario_fine NOT BETWEEN :period_start AND :period_end)';
|
||||
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_end' => $end,
|
||||
':period_start' => $start,
|
||||
]);
|
||||
}else{
|
||||
$query = '
|
||||
SELECT zz_checks.id
|
||||
FROM zz_checks
|
||||
INNER JOIN in_interventi ON zz_checks.id_record = in_interventi.id
|
||||
INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idintervento = in_interventi.id
|
||||
INNER JOIN zz_modules ON zz_checks.id_module = zz_modules.id
|
||||
INNER JOIN zz_check_user ON zz_checks.id = zz_check_user.id_check
|
||||
WHERE
|
||||
zz_modules.name="Interventi"
|
||||
AND
|
||||
zz_check_user.id_utente = :id_tecnico
|
||||
AND
|
||||
in_interventi.id IN ('.implode(',', $interventi).')
|
||||
OR (orario_fine NOT BETWEEN :period_start AND :period_end)';
|
||||
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_end' => $end,
|
||||
':period_start' => $start,
|
||||
':id_tecnico' => $user->id
|
||||
]);
|
||||
}
|
||||
$da_interventi = array_column($records, 'id');
|
||||
}
|
||||
|
||||
|
@ -90,30 +111,47 @@ class Checklists extends AppResource
|
|||
}
|
||||
|
||||
$user = Auth::user();
|
||||
$id_tecnico = $user->id_anagrafica;
|
||||
|
||||
$id_interventi = array_keys($interventi);
|
||||
$query = 'SELECT zz_checks.id
|
||||
FROM zz_checks
|
||||
INNER JOIN in_interventi ON zz_checks.id_record = in_interventi.id
|
||||
INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idintervento = in_interventi.id
|
||||
INNER JOIN zz_modules ON zz_checks.id_module = zz_modules.id
|
||||
INNER JOIN zz_check_user ON zz_checks.id = zz_check_user.id_check
|
||||
WHERE
|
||||
zz_modules.name="Interventi"
|
||||
AND zz_check_user.id_utente = :id_tecnico
|
||||
AND in_interventi.id IN ('.implode(',', $id_interventi).')
|
||||
AND (orario_fine BETWEEN :period_start AND :period_end)';
|
||||
if($user->is_admin){
|
||||
$query = 'SELECT zz_checks.id
|
||||
FROM zz_checks
|
||||
INNER JOIN in_interventi ON zz_checks.id_record = in_interventi.id
|
||||
INNER JOIN zz_modules ON zz_checks.id_module = zz_modules.id
|
||||
INNER JOIN zz_check_user ON zz_checks.id = zz_check_user.id_check
|
||||
WHERE
|
||||
zz_modules.name="Interventi"
|
||||
AND in_interventi.id IN ('.implode(',', $id_interventi).')';
|
||||
|
||||
// Filtro per data
|
||||
if ($last_sync_at) {
|
||||
$query .= ' AND zz_checks.updated_at > '.prepare($last_sync_at);
|
||||
// Filtro per data
|
||||
if ($last_sync_at) {
|
||||
$query .= ' AND zz_checks.updated_at > '.prepare($last_sync_at);
|
||||
}
|
||||
|
||||
$records = database()->fetchArray($query);
|
||||
}else{
|
||||
$query = 'SELECT zz_checks.id
|
||||
FROM zz_checks
|
||||
INNER JOIN in_interventi ON zz_checks.id_record = in_interventi.id
|
||||
INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idintervento = in_interventi.id
|
||||
INNER JOIN zz_modules ON zz_checks.id_module = zz_modules.id
|
||||
INNER JOIN zz_check_user ON zz_checks.id = zz_check_user.id_check
|
||||
WHERE
|
||||
zz_modules.name="Interventi"
|
||||
AND zz_check_user.id_utente = :id_tecnico
|
||||
AND in_interventi.id IN ('.implode(',', $id_interventi).')
|
||||
AND (orario_fine BETWEEN :period_start AND :period_end)';
|
||||
|
||||
// Filtro per data
|
||||
if ($last_sync_at) {
|
||||
$query .= ' AND zz_checks.updated_at > '.prepare($last_sync_at);
|
||||
}
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
':id_tecnico' => $user->id
|
||||
]);
|
||||
}
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
':id_tecnico' => $user->id,
|
||||
]);
|
||||
|
||||
return $this->mapModifiedRecords($records);
|
||||
}
|
||||
|
@ -121,17 +159,16 @@ class Checklists extends AppResource
|
|||
public function retrieveRecord($id)
|
||||
{
|
||||
// Gestione della visualizzazione dei dettagli del record
|
||||
$query = 'SELECT zz_checks.id,
|
||||
$query = "SELECT zz_checks.id,
|
||||
zz_checks.id_record AS id_intervento,
|
||||
zz_checks.checked_at,
|
||||
zz_checks.content,
|
||||
zz_checks.note,
|
||||
IF(zz_checks.id_parent IS NULL, 0, zz_checks.id_parent) AS id_parent,
|
||||
zz_checks.checked_by,
|
||||
zz_checks.order AS ordine,
|
||||
zz_checks.is_titolo
|
||||
zz_checks.order AS ordine
|
||||
FROM zz_checks
|
||||
WHERE zz_checks.id = '.prepare($id);
|
||||
WHERE zz_checks.id = ".prepare($id);
|
||||
|
||||
$record = database()->fetchOne($query);
|
||||
|
||||
|
@ -142,11 +179,11 @@ class Checklists extends AppResource
|
|||
{
|
||||
$check = Check::find($data['id']);
|
||||
|
||||
$check->checked_at = (!empty($data['checked_at']) ? $data['checked_at'] : null);
|
||||
$check->checked_at = (!empty($data['checked_at']) ? $data['checked_at'] : NULL);
|
||||
$check->content = $data['content'];
|
||||
$check->note = $data['note'];
|
||||
$user = User::where('idanagrafica', $data['checked_by'])->first();
|
||||
if (!empty($user)) {
|
||||
if(!empty($user)){
|
||||
$check->checked_by = $user->id;
|
||||
}
|
||||
|
||||
|
@ -159,4 +196,4 @@ class Checklists extends AppResource
|
|||
{
|
||||
return new Interventi();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -22,6 +22,7 @@ namespace API\App\v1;
|
|||
use API\App\AppResource;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Modules\Impianti\Impianto;
|
||||
use Auth;
|
||||
|
||||
class Impianti extends AppResource
|
||||
{
|
||||
|
@ -32,11 +33,26 @@ class Impianti extends AppResource
|
|||
|
||||
public function getModifiedRecords($last_sync_at)
|
||||
{
|
||||
$statement = Impianto::select('id', 'updated_at')
|
||||
$statement = Impianto::select('id', 'updated_at', 'idtecnico')
|
||||
->whereHas('anagrafica.tipi', function (Builder $query) {
|
||||
$query->where('descrizione', '=', 'Cliente');
|
||||
});
|
||||
|
||||
//Limite impianti visualizzabili dal tecnico
|
||||
$limite_impianti = setting("Limita la visualizzazione degli impianti a quelli gestiti dal tecnico");
|
||||
|
||||
if($limite_impianti == 1 && !Auth::user()->is_admin){
|
||||
$id_tecnico = Auth::user()->id_anagrafica;
|
||||
|
||||
// Elenco di interventi di interesse
|
||||
$risorsa_interventi = $this->getRisorsaInterventi();
|
||||
// Da applicazione, i Clienti sono sincronizzati prima degli Interventi: last_sync_at permette di identificare le stesse modifiche
|
||||
$interventi = $risorsa_interventi->getModifiedRecords(null);
|
||||
$id_interventi = array_keys($interventi);
|
||||
|
||||
$statement->where('idtecnico', $id_tecnico)->orWhere('id', 'IN', ('SELECT idimpianto FROM my_impianti_interventi WHERE idintervento IN ('.implode(',', $id_interventi).')'));
|
||||
}
|
||||
|
||||
// Filtro per data
|
||||
if ($last_sync_at) {
|
||||
$statement = $statement->where('updated_at', '>', $last_sync_at);
|
||||
|
@ -73,4 +89,8 @@ class Impianti extends AppResource
|
|||
|
||||
return $record;
|
||||
}
|
||||
protected function getRisorsaInterventi()
|
||||
{
|
||||
return new Interventi();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,7 +58,31 @@ class Interventi extends AppResource
|
|||
// Informazioni sull'utente
|
||||
$id_tecnico = Auth::user()->id_anagrafica;
|
||||
|
||||
$query = 'SELECT in_interventi.id FROM in_interventi WHERE
|
||||
if(Auth::user()->is_admin){
|
||||
$query = 'SELECT in_interventi.id FROM in_interventi WHERE
|
||||
deleted_at IS NOT NULL
|
||||
OR (
|
||||
in_interventi.id NOT IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
WHERE in_interventi_tecnici.idintervento = in_interventi.id
|
||||
AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
|
||||
)
|
||||
AND in_interventi.id IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
WHERE in_interventi_tecnici.idintervento = in_interventi.id
|
||||
AND in_interventi_tecnici.orario_fine BETWEEN :remove_period_start AND :remove_period_end
|
||||
)
|
||||
)';
|
||||
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_end' => $end,
|
||||
':period_start' => $start,
|
||||
':remove_period_end' => $remove_end,
|
||||
':remove_period_start' => $remove_start,
|
||||
]);
|
||||
|
||||
}else{
|
||||
$query = 'SELECT in_interventi.id FROM in_interventi WHERE
|
||||
deleted_at IS NOT NULL
|
||||
OR (
|
||||
in_interventi.id NOT IN (
|
||||
|
@ -74,15 +98,17 @@ class Interventi extends AppResource
|
|||
AND in_interventi_tecnici.idtecnico = :id_tecnico_q2
|
||||
)
|
||||
)';
|
||||
$records = database()->fetchArray($query, [
|
||||
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_end' => $end,
|
||||
':period_start' => $start,
|
||||
':remove_period_end' => $remove_end,
|
||||
':remove_period_start' => $remove_start,
|
||||
':id_tecnico_q1' => $id_tecnico,
|
||||
':id_tecnico_q2' => $id_tecnico,
|
||||
]);
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
$interventi = array_column($records, 'id');
|
||||
$mancanti = $this->getMissingIDs('in_interventi', 'id', $last_sync_at);
|
||||
|
||||
|
@ -100,52 +126,96 @@ class Interventi extends AppResource
|
|||
$id_tecnico = Auth::user()->id_anagrafica;
|
||||
|
||||
if (setting('Visualizza solo promemoria assegnati') == 1) {
|
||||
$query = '
|
||||
SELECT
|
||||
in_interventi.id,
|
||||
in_interventi.updated_at
|
||||
FROM
|
||||
in_interventi
|
||||
WHERE
|
||||
deleted_at IS NULL AND (
|
||||
in_interventi.id IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
WHERE in_interventi_tecnici.idintervento = in_interventi.id
|
||||
AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
|
||||
AND in_interventi_tecnici.idtecnico = :id_tecnico_q1
|
||||
)
|
||||
OR (
|
||||
in_interventi.id NOT IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
)
|
||||
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0 AND in_interventi.id IN (
|
||||
SELECT id_intervento FROM in_interventi_tecnici_assegnati WHERE in_interventi_tecnici_assegnati.id_tecnico = :id_tecnico_q2)
|
||||
)
|
||||
)
|
||||
)';
|
||||
} else {
|
||||
$query = '
|
||||
SELECT
|
||||
in_interventi.id,
|
||||
in_interventi.updated_at
|
||||
FROM
|
||||
in_interventi
|
||||
WHERE
|
||||
deleted_at IS NULL AND (
|
||||
in_interventi.id IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
WHERE in_interventi_tecnici.idintervento = in_interventi.id
|
||||
AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
|
||||
AND in_interventi_tecnici.idtecnico = :id_tecnico_q1
|
||||
)
|
||||
OR (
|
||||
in_interventi.id NOT IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
if(Auth::user()->is_admin){
|
||||
$query = '
|
||||
SELECT
|
||||
in_interventi.id,
|
||||
in_interventi.updated_at
|
||||
FROM
|
||||
in_interventi
|
||||
WHERE
|
||||
deleted_at IS NULL AND (in_interventi.id IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
|
||||
)
|
||||
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0)
|
||||
)
|
||||
)';
|
||||
}
|
||||
OR (
|
||||
in_interventi.id NOT IN ( SELECT idintervento FROM in_interventi_tecnici
|
||||
)
|
||||
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0)
|
||||
)
|
||||
)';
|
||||
}else{
|
||||
$query = '
|
||||
SELECT
|
||||
in_interventi.id,
|
||||
in_interventi.updated_at
|
||||
FROM
|
||||
in_interventi
|
||||
WHERE
|
||||
deleted_at IS NULL AND (
|
||||
in_interventi.id IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
WHERE in_interventi_tecnici.idintervento = in_interventi.id
|
||||
AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
|
||||
AND in_interventi_tecnici.idtecnico = :id_tecnico_q1
|
||||
)
|
||||
OR (
|
||||
in_interventi.id NOT IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
)
|
||||
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0) AND in_interventi.id IN (
|
||||
SELECT id_intervento FROM in_interventi_tecnici_assegnati WHERE in_interventi_tecnici_assegnati.id_tecnico = :id_tecnico_q2
|
||||
)
|
||||
)
|
||||
)';
|
||||
}
|
||||
|
||||
} else {
|
||||
if(Auth::user()->is_admin){
|
||||
$query = '
|
||||
SELECT
|
||||
in_interventi.id,
|
||||
in_interventi.updated_at
|
||||
FROM
|
||||
in_interventi
|
||||
WHERE
|
||||
deleted_at IS NULL AND (
|
||||
in_interventi.id IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
WHERE in_interventi_tecnici.idintervento = in_interventi.id
|
||||
AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
|
||||
)
|
||||
OR (
|
||||
in_interventi.id NOT IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
)
|
||||
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0)
|
||||
)
|
||||
)';
|
||||
}else{
|
||||
$query = '
|
||||
SELECT
|
||||
in_interventi.id,
|
||||
in_interventi.updated_at
|
||||
FROM
|
||||
in_interventi
|
||||
WHERE
|
||||
deleted_at IS NULL AND (
|
||||
in_interventi.id IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
WHERE in_interventi_tecnici.idintervento = in_interventi.id
|
||||
AND in_interventi_tecnici.orario_fine BETWEEN :period_start AND :period_end
|
||||
AND in_interventi_tecnici.idtecnico = :id_tecnico_q1
|
||||
)
|
||||
OR (
|
||||
in_interventi.id NOT IN (
|
||||
SELECT idintervento FROM in_interventi_tecnici
|
||||
)
|
||||
AND in_interventi.idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0)
|
||||
)
|
||||
)';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Filtro per data
|
||||
// Gestione di tecnici assegnati o impianti modificati
|
||||
|
@ -161,18 +231,32 @@ class Interventi extends AppResource
|
|||
}
|
||||
|
||||
if (setting('Visualizza solo promemoria assegnati') == 1) {
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
':id_tecnico_q1' => $id_tecnico,
|
||||
':id_tecnico_q2' => $id_tecnico,
|
||||
]);
|
||||
if(Auth::user()->is_admin){
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
]);
|
||||
} else {
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
':id_tecnico_q1' => $id_tecnico,
|
||||
':id_tecnico_q2' => $id_tecnico,
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
':id_tecnico_q1' => $id_tecnico,
|
||||
]);
|
||||
if(Auth::user()->is_admin){
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
]);
|
||||
} else {
|
||||
$records = database()->fetchArray($query, [
|
||||
':period_start' => $start,
|
||||
':period_end' => $end,
|
||||
':id_tecnico_q1' => $id_tecnico,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->mapModifiedRecords($records);
|
||||
|
@ -269,10 +353,12 @@ class Interventi extends AppResource
|
|||
// Aggiornamento degli impianti collegati
|
||||
$database->query('DELETE FROM my_impianti_interventi WHERE idintervento = '.prepare($record->id));
|
||||
foreach ($data['impianti'] as $id_impianto) {
|
||||
$database->insert('my_impianti_interventi', [
|
||||
'idimpianto' => $id_impianto,
|
||||
'idintervento' => $record->id,
|
||||
]);
|
||||
if(!empty($id_impianto)){
|
||||
$database->insert('my_impianti_interventi', [
|
||||
'idimpianto' => $id_impianto,
|
||||
'idintervento' => $record->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
// Aggiornamento dei tecnici assegnati
|
||||
|
@ -283,6 +369,10 @@ class Interventi extends AppResource
|
|||
], [
|
||||
'id_tecnico' => $tecnici_assegnati,
|
||||
]);
|
||||
|
||||
if(!empty($data['idrichiesta'])){
|
||||
database()->query('UPDATE in_richieste SET idintervento = '.prepare($record->id).', updated_at=NOW() WHERE id = '.prepare($data['idrichiesta']));
|
||||
}
|
||||
}
|
||||
|
||||
protected function salvaFirma($firma_base64)
|
||||
|
|
|
@ -35,18 +35,32 @@ class Login extends Resource implements CreateInterface
|
|||
if (auth()->attempt($request['username'], $request['password'])) {
|
||||
$user = $this->getUser();
|
||||
$token = auth()->getToken();
|
||||
|
||||
// Informazioni sull'utente, strettamente collegato ad una anagrafica di tipo Tecnico
|
||||
$utente = $database->fetchOne("SELECT
|
||||
`an_anagrafiche`.`idanagrafica` AS id_anagrafica,
|
||||
`an_anagrafiche`.`ragione_sociale`
|
||||
FROM `zz_users`
|
||||
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `zz_users`.`idanagrafica`
|
||||
INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche_anagrafiche.idanagrafica = an_anagrafiche.idanagrafica
|
||||
INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica = an_tipianagrafiche.idtipoanagrafica
|
||||
WHERE an_tipianagrafiche.descrizione = 'Tecnico' AND `an_anagrafiche`.`deleted_at` IS NULL AND `id` = :id", [
|
||||
':id' => $user['id'],
|
||||
]);
|
||||
|
||||
if(setting("Permetti l'accesso agli amministratori")){
|
||||
$utente = $database->fetchOne("SELECT
|
||||
`an_anagrafiche`.`idanagrafica` AS id_anagrafica,
|
||||
`an_anagrafiche`.`ragione_sociale`,
|
||||
zz_groups.nome AS gruppo
|
||||
FROM `zz_users`
|
||||
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `zz_users`.`idanagrafica`
|
||||
INNER JOIN zz_groups ON zz_users.idgruppo=zz_groups.id
|
||||
WHERE `an_anagrafiche`.`deleted_at` IS NULL AND `zz_users`.`id` = :id", [
|
||||
':id' => $user['id'],
|
||||
]);
|
||||
}else{
|
||||
$utente = $database->fetchOne("SELECT
|
||||
`an_anagrafiche`.`idanagrafica` AS id_anagrafica,
|
||||
`an_anagrafiche`.`ragione_sociale`,
|
||||
zz_groups.nome AS gruppo
|
||||
FROM `zz_users`
|
||||
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `zz_users`.`idanagrafica`
|
||||
INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche_anagrafiche.idanagrafica = an_anagrafiche.idanagrafica
|
||||
INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica = an_tipianagrafiche.idtipoanagrafica
|
||||
INNER JOIN zz_groups ON zz_users.idgruppo=zz_groups.id
|
||||
WHERE an_tipianagrafiche.descrizione = 'Tecnico' AND `an_anagrafiche`.`deleted_at` IS NULL AND `id` = :id", [
|
||||
':id' => $user['id'],
|
||||
]);
|
||||
}
|
||||
|
||||
if (!empty($utente)) {
|
||||
// Informazioni da restituire tramite l'API
|
||||
|
@ -54,6 +68,7 @@ class Login extends Resource implements CreateInterface
|
|||
'id_anagrafica' => (string) $utente['id_anagrafica'],
|
||||
'ragione_sociale' => $utente['ragione_sociale'],
|
||||
'token' => $token,
|
||||
'gruppo' => $utente['gruppo'],
|
||||
'version' => Update::getVersion(),
|
||||
];
|
||||
} else {
|
||||
|
|
|
@ -289,7 +289,10 @@ class Manager
|
|||
// Operazioni della risorsa
|
||||
$response = $object->{$method}($request);
|
||||
|
||||
$database->commitTransaction();
|
||||
try{
|
||||
$database->commitTransaction();
|
||||
} catch (PDOException $e) {
|
||||
}
|
||||
|
||||
// Operazioni di completamento
|
||||
$object->close($request, $response);
|
||||
|
|
Loading…
Reference in New Issue