mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-26 15:54:17 +01:00
Miglioramenti hook per Services
This commit is contained in:
parent
cf2dc752ef
commit
7cb4f9082c
@ -22,23 +22,38 @@ namespace Modules\StatoServizi;
|
||||
use API\Services;
|
||||
use Carbon\Carbon;
|
||||
use Hooks\Manager;
|
||||
use Models\Module;
|
||||
|
||||
class ServicesHook extends Manager
|
||||
{
|
||||
public function response()
|
||||
{
|
||||
// Elaborazione dei servizi in scadenza
|
||||
$limite_scadenze = (new Carbon())->addDays(60);
|
||||
$risorse_in_scadenza = Services::getRisorseInScadenza($limite_scadenze);
|
||||
$message = '';
|
||||
|
||||
$message = tr('I seguenti servizi sono in scadenza: _LIST_', [
|
||||
'_LIST_' => implode(', ', $risorse_in_scadenza->pluck('name')->all()),
|
||||
]);
|
||||
// Elaborazione dei servizi in scadenza
|
||||
$servizi_in_scadenza = Services::getServiziInScadenza($limite_scadenze);
|
||||
if (!$servizi_in_scadenza->isEmpty()) {
|
||||
$message .= tr('I seguenti servizi sono in scadenza: _LIST_', [
|
||||
'_LIST_' => implode(', ', $servizi_in_scadenza->pluck('nome')->all()),
|
||||
]).'. ';
|
||||
}
|
||||
|
||||
// Elaborazione delle risorse Services in scadenza
|
||||
$risorse_in_scadenza = Services::getRisorseInScadenza($limite_scadenze);
|
||||
if (!$risorse_in_scadenza->isEmpty()) {
|
||||
$message .= tr('Le seguenti risorse Services sono in scadenza: _LIST_', [
|
||||
'_LIST_' => implode(', ', $risorse_in_scadenza->pluck('name')->all()),
|
||||
]);
|
||||
}
|
||||
|
||||
$module = Module::pool('Stato dei servizi');
|
||||
|
||||
return [
|
||||
'icon' => 'fa fa-refresh text-warning',
|
||||
'message' => $message,
|
||||
'show' => Services::isEnabled() && !$risorse_in_scadenza->isEmpty(),
|
||||
'link' => base_path().'/controller.php?id_module='.$module->id,
|
||||
'show' => Services::isEnabled() && !empty($message),
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -74,6 +74,22 @@ class Services
|
||||
return collect(self::getInformazioni()['servizi']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce i servizi in scadenza per data di conclusione prossima.
|
||||
*
|
||||
* @param Carbon $limite_scadenze
|
||||
*
|
||||
* @return \Illuminate\Support\Collection
|
||||
*/
|
||||
public static function getServiziInScadenza($limite_scadenze)
|
||||
{
|
||||
return self::getServiziAttivi()
|
||||
->flatten(1)
|
||||
->filter(function ($item) use ($limite_scadenze) {
|
||||
return (isset($item['data_conclusione']) && Carbon::parse($item['data_conclusione'])->lessThan($limite_scadenze));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce le risorse attive in Services.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user