CloudInitScriptDeleteProvider.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace ModulesGarden\ProxmoxAddon\App\UI\CloudInitScript\Providers;
  3. use ModulesGarden\ProxmoxAddon\App\Models\CloudInitScript;
  4. use ModulesGarden\ProxmoxAddon\Core\UI\ResponseTemplates\HtmlDataJsonResponse;
  5. use ModulesGarden\ProxmoxAddon\Core\UI\Widget\Forms\DataProviders\BaseModelDataProvider;
  6. use function ModulesGarden\ProxmoxAddon\Core\Helper\sl;
  7. class CloudInitScriptDeleteProvider extends BaseModelDataProvider
  8. {
  9. /**
  10. * CloudInitScriptProvider constructor.
  11. * @param string $model
  12. */
  13. public function __construct()
  14. {
  15. parent::__construct(CloudInitScript::class);
  16. }
  17. public function delete()
  18. {
  19. parent::delete();
  20. sl('lang')->addReplacementConstant('name', $this->formData['name']);
  21. return (new HtmlDataJsonResponse())->setMessageAndTranslate('Cloud-Init Script :name: has been deleted successfully');
  22. }
  23. public function deleteMass()
  24. {
  25. if (!$this->getRequestValue('massActions'))
  26. {
  27. return;
  28. }
  29. CloudInitScript::destroy($this->getRequestValue('massActions'));
  30. return (new HtmlDataJsonResponse())->setMessageAndTranslate('The selected Cloud-Init script have been deleted successfully')
  31. ->setStatusSuccess()
  32. ->setCallBackFunction($this->callBackFunction);
  33. }
  34. }