API per impianti e rapportini

This commit is contained in:
Thomas Zilio 2020-03-30 10:58:33 +02:00
parent 7e758d9e23
commit d27b2264af
6 changed files with 114 additions and 0 deletions

View File

@ -31,6 +31,7 @@ return [
'modules/tipi_intervento' => 'Modules\TipiIntervento',
'modules/categorie_documenti' => 'Modules\CategorieDocumentali',
'modules/listini' => 'Modules\Listini',
'modules/my_impianti' => 'Modules\Impianti',
'plugins/exportFE' => 'Plugins\ExportFE',
'plugins/importFE' => 'Plugins\ImportFE',
'plugins/receiptFE' => 'Plugins\ReceiptFE',

View File

@ -0,0 +1,28 @@
<?php
namespace Modules\Interventi\API\v1;
use API\Interfaces\CreateInterface;
use API\Interfaces\DeleteInterface;
use API\Interfaces\RetrieveInterface;
use API\Interfaces\UpdateInterface;
use API\Resource;
use Modules;
use Modules\Anagrafiche\Anagrafica;
class Impianti extends Resource implements RetrieveInterface
{
public function retrieve($request)
{
$query = 'SELECT idimpianto AS id_impianto, idintervento AS id_intervento FROM my_impianti_interventi WHERE `idintervento` = :id_intervento';
$parameters = [
':id_intervento' => $request['id_intervento'],
];
return [
'query' => $query,
'parameters' => $parameters,
];
}
}

View File

@ -0,0 +1,45 @@
<?php
namespace Modules\Interventi\API\v1;
use API\Interfaces\CreateInterface;
use API\Interfaces\DeleteInterface;
use API\Interfaces\RetrieveInterface;
use API\Interfaces\UpdateInterface;
use API\Resource;
use Modules;
use Modules\Anagrafiche\Anagrafica;
use Modules\Emails\Template;
class Rapportino extends Resource implements RetrieveInterface, CreateInterface
{
public function retrieve($request)
{
$database = database();
$id_record = $request['id_intervento'];
$template = Template::where('name', 'Rapportino intervento')->first();
$module = $template->module;
$body = $template['body'];
$subject = $template['subject'];
$body = $module->replacePlaceholders($id_record, $template['body']);
$subject = $module->replacePlaceholders($id_record, $template['subject']);
$email = $module->replacePlaceholders($id_record, '{email}');
$prints = $database->fetchArray('SELECT id, title, EXISTS(SELECT id_print FROM em_print_template WHERE id_template = '.prepare($template['id']).' AND em_print_template.id_print = zz_prints.id) AS selected FROM zz_prints WHERE id_module = '.prepare($module->id).' AND enabled = 1');
return [
'email' => $email,
'subject' => $subject,
'body' => $body,
'prints' => $prints,
];
}
public function create($request)
{
// TODO: Implement create() method.
}
}

View File

@ -0,0 +1,23 @@
<?php
namespace Modules\Impianti\API\v1;
use API\Interfaces\CreateInterface;
use API\Interfaces\DeleteInterface;
use API\Interfaces\RetrieveInterface;
use API\Interfaces\UpdateInterface;
use API\Resource;
use Modules;
use Modules\Anagrafiche\Anagrafica;
class Impianti extends Resource implements RetrieveInterface
{
public function retrieve($request)
{
$query = 'SELECT id, idanagrafica, matricola, nome, descrizione FROM my_impianti';
return [
'query' => $query,
];
}
}

View File

@ -0,0 +1,10 @@
<?php
namespace Modules\Impianti;
use Common\Model;
class Impianto extends Model
{
protected $table = 'my_impianti';
}

View File

@ -480,3 +480,10 @@ UPDATE `zz_widgets` SET `more_link` = './modules/interventi/widgets/interventi_d
-- Cambio formato quantità in vista, per migliorare l'eventuale esportazione csv
UPDATE `zz_views` SET `query` = 'qta', `format` = 1 WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli') AND `name` = 'Q.tà';
-- Aggiornamento API
INSERT INTO `zz_api_resources` (`id`, `version`, `type`, `resource`, `class`, `enabled`) VALUES
(NULL, 'v1', 'retrieve', 'impianti', 'Modules\\Impianti\\API\\v1\\Impianti', '1'),
(NULL, 'v1', 'retrieve', 'impianti_intervento', 'Modules\\Interventi\\API\\v1\\Impianti', '1'),
(NULL, 'v1', 'retrieve', 'rapportino', 'Modules\\Interventi\\API\\v1\\Rapportino', '1'),
(NULL, 'v1', 'create', 'rapportino', 'Modules\\Interventi\\API\\v1\\Rapportino', '1');