DeleteRessourceDataProvider.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\App\UI\Client\Ressource\Providers;
  3. use ThurData\Servers\KerioEmail\App\Helpers\KerioManager;
  4. use ThurData\Servers\KerioEmail\App\Libs\Product\ProductManager;
  5. use ThurData\Servers\KerioEmail\App\Libs\Kerio\Components\Api\Soap\Services\Delete\DeleteRessource;
  6. use ThurData\Servers\KerioEmail\Core\UI\ResponseTemplates\HtmlDataJsonResponse;
  7. use ThurData\Servers\KerioEmail\Core\UI\Widget\Forms\DataProviders\BaseDataProvider;
  8. /**
  9. *
  10. * Created by PhpStorm.
  11. * User: Tomasz Bielecki ( tomasz.bi@thurdata.com )
  12. * Date: 18.09.19
  13. * Time: 11:28
  14. * Class DeleteRessourceDataProvider
  15. */
  16. class DeleteRessourceDataProvider extends BaseDataProvider
  17. {
  18. public function read()
  19. {
  20. $this->data['id'] = $this->actionElementId;
  21. }
  22. public function update()
  23. {
  24. // TODO: Implement update() method.
  25. }
  26. public function delete()
  27. {
  28. /**
  29. * hosting id
  30. */
  31. $hid = $this->request->get('id');
  32. /**
  33. * product manager allow to check product settings
  34. */
  35. $productManager = new ProductManager();
  36. $productManager->loadByHostingId($hid);
  37. /**
  38. *
  39. * get soap create domain service
  40. */
  41. $service =(new KerioManager())
  42. ->getApiByHosting($hid)
  43. ->soap
  44. ->service()
  45. ->deleteRessource();
  46. /**
  47. *
  48. * set product manager & form data to service
  49. */
  50. $service
  51. ->setFormData($this->formData);
  52. /**
  53. *
  54. * run service
  55. */
  56. $result = $service->run();
  57. /**
  58. *
  59. * return success or error response
  60. */
  61. if(!$result)
  62. {
  63. return (new HtmlDataJsonResponse())->setMessageAndTranslate($service->getError())->setStatusError();
  64. }
  65. return (new HtmlDataJsonResponse())->setMessageAndTranslate('ressourceHasBeenDeleted')->setStatusSuccess();
  66. }
  67. public function massDelete()
  68. {
  69. /**
  70. * hosting id
  71. */
  72. $hid = $this->request->get('id');
  73. /**
  74. * product manager allow to check product settings
  75. */
  76. $productManager = new ProductManager();
  77. $productManager->loadByHostingId($hid);
  78. /**
  79. *
  80. * get soap create domain service
  81. */
  82. $service =(new KerioManager())
  83. ->getApiByHosting($hid)
  84. ->soap
  85. ->service()
  86. ->deleteRessource();
  87. /**
  88. *
  89. */
  90. foreach($this->request->get('massActions') as $id)
  91. {
  92. $service->setFormData(['id' => $id]);
  93. $result = $service->run();
  94. }
  95. return (new HtmlDataJsonResponse())->setMessageAndTranslate('massRessourceHasBeenDeleted')->setStatusSuccess();
  96. }
  97. }