Correzioni varie

This commit is contained in:
Thomas Zilio 2020-07-28 16:37:44 +02:00
parent 992ceb656c
commit 78bf454e8d
8 changed files with 49 additions and 15 deletions

View File

@ -1,5 +1,7 @@
<?php
use API\Response;
function serverError()
{
$error = error_get_last();
@ -22,8 +24,6 @@ session_write_close();
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS');
use API\Response;
try {
$response = Response::manage();
} catch (Exception $e) {

View File

@ -3,6 +3,7 @@
namespace API\App\v1;
use API\App\AppResource;
use API\Exceptions\InternalError;
use Models\Upload;
use Modules;
@ -72,9 +73,14 @@ class AllegatiInterventi extends AppResource
$module = Modules::get('Interventi');
// Creazione del file temporaneo
$content = explode(',', $data['contenuto']);
if (count($content) < 1) {
throw new InternalError();
}
$file = tmpfile();
$path = stream_get_meta_data($file)['uri'];
fwrite($file, $data['contenuto']);
fwrite($file, base64_decode($content[1]));
// Salvataggio del file come allegato
$upload = Upload::build($path, [
@ -85,9 +91,11 @@ class AllegatiInterventi extends AppResource
// Chiusura e rimozione del file temporaneo
fclose($file);
return[
return [
'id' => $upload->id,
'filename' => $upload->filename,
'tipo' => $upload->extension,
'size' => $upload->size,
'contenuto' => '',
];
}

View File

@ -20,6 +20,9 @@ class Interventi extends AppResource
$start = $today->copy()->subMonths(2);
$end = $today->copy()->addMonth(1);
$remove_end = $start->copy();
$remove_start = $remove_end->copy()->subMonths(2);
// Informazioni sull'utente
$user = Auth::user();
$id_tecnico = $user->id_anagrafica;
@ -31,16 +34,22 @@ class Interventi extends AppResource
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
AND in_interventi_tecnici.idtecnico = :id_tecnico_q1
)
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
AND in_interventi_tecnici.idtecnico = :id_tecnico_q2
)
)';
$records = database()->fetchArray($query, [
':period_end' => $end,
':period_start' => $start,
':id_tecnico' => $id_tecnico,
':remove_period_end' => $remove_end,
':remove_period_start' => $remove_start,
':id_tecnico_q1' => $id_tecnico,
':id_tecnico_q2' => $id_tecnico,
]);
return array_column($records, 'id');

View File

@ -21,7 +21,7 @@ class Login extends Resource implements CreateInterface
// Informazioni sull'utente, strettamente collegato ad una anagrafica di tipo Tecnico
$utente = $database->fetchOne("SELECT
`an_anagrafiche`.`idanagrafica` AS id_cliente,
`an_anagrafiche`.`idanagrafica` AS id_anagrafica,
`an_anagrafiche`.`ragione_sociale`
FROM `zz_users`
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `zz_users`.`idanagrafica`
@ -34,7 +34,7 @@ class Login extends Resource implements CreateInterface
if (!empty($utente)) {
// Informazioni da restituire tramite l'API
$response = [
'id_anagrafica' => $utente['id_anagrafica'],
'id_anagrafica' => (string) $utente['id_anagrafica'],
'ragione_sociale' => $utente['ragione_sociale'],
'token' => $token,
'version' => Update::getVersion(),

View File

@ -18,11 +18,11 @@ class TariffeContratti extends AppResource
}
$records = database()->fetchArray($query);
$da_stati = array_column($records, 'id');
$da_contratti = array_column($records, 'id');
// Le associazioni Contratti - Tariffe per tipi non sono cancellabili a database
// Per le ultime versioni, sono anzi sempre presenti!
return [];
return $da_contratti;
}
public function getModifiedRecords($last_sync_at)

View File

@ -3,11 +3,12 @@
namespace API\Common;
use API\Interfaces\CreateInterface;
use API\Interfaces\RetrieveInterface;
use API\Resource;
use Models\Upload;
use Modules;
class Allegato extends Resource implements CreateInterface
class Allegato extends Resource implements RetrieveInterface, CreateInterface
{
public function create($request)
{
@ -21,9 +22,24 @@ class Allegato extends Resource implements CreateInterface
'id_record' => $request['id'],
], $name, $category);
return[
return [
'id' => $upload->id,
'filename' => $upload->filename,
];
}
public function retrieve($request)
{
$upload = Upload::where('name', $request['name'])
->where('id', $request['id'])
->where('id_record', $request['id_record'])
->first();
if (!empty($upload)) {
download(DOCROOT.'/'.$upload->filepath);
}
return [
'custom' => '',
];
}
}

View File

@ -11,8 +11,6 @@ class Stampa extends Resource implements RetrieveInterface
{
public function retrieve($request)
{
$content = '';
$print = PrintTemplate::where('name', $request['name'])->first();
if (!empty($print)) {
$directory = DOCROOT.'/files/api';

View File

@ -265,3 +265,6 @@ INSERT INTO `zz_api_resources` (`id`, `version`, `type`, `resource`, `class`, `e
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES
(NULL, 'Google Maps API key', '', 'string', '1', 'Applicazione', 1),
(NULL, 'Mostra prezzi', '1', 'boolean', '1', 'Applicazione', 1);
-- Aggiunta risorsa per il download degli allegati
INSERT INTO `zz_api_resources` (`id`, `version`, `type`, `resource`, `class`, `enabled`) VALUES (NULL, 'v1', 'retrieve', 'allegato', 'API\\Common\\Allegato', '1');