UpdateRessource.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Services\Update;
  3. use ModulesGarden\Servers\ZimbraEmail\App\Enums\Size;
  4. use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Interfaces\ApiService;
  5. use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Models\Ressource;
  6. use ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap\Services\Create\CreateRessource;
  7. /**
  8. *
  9. * Created by PhpStorm.
  10. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  11. * Date: 18.09.19
  12. * Time: 11:09
  13. * Class UpdateRessource
  14. */
  15. class UpdateRessource extends CreateRessource
  16. {
  17. /**
  18. * @return bool|mixed|Ressource|void
  19. */
  20. protected function process()
  21. {
  22. /**
  23. *
  24. */
  25. $model = $this->getModel();
  26. /**
  27. * update ressource in ZIMBRA
  28. */
  29. $result = $this->api->ressource->update($model);
  30. logModuleCall(
  31. 'zimbraEmail',
  32. __FUNCTION__,
  33. $this->api->ressource->getLastResult(),
  34. 'Debug Update',
  35. $model
  36. );
  37. /**
  38. * problem with create ressource
  39. */
  40. if(!$result)
  41. {
  42. $this->setError($this->api->ressource->getLastResult()->getLastErrorCode());
  43. return false;
  44. }
  45. return $result;
  46. }
  47. /**
  48. * @return Ressource
  49. */
  50. public function getModel()
  51. {
  52. $ressource = new Ressource();
  53. /**
  54. * set ressource attributes
  55. */
  56. $ressource->setId($this->formData['id']);
  57. $ressource->setAttr(Ressource::ATTR_NAME, $this->formData['name']);
  58. $ressource->setAttr(Ressource::ATTR_STATUS, $this->formData['status']);
  59. $ressource->setAttr(Ressource::ATTR_TYPE, $this->formData['type']);
  60. $ressource->setAttr(Ressource::ATTR_DISPLAY_NAME, $this->formData['display_name']);
  61. $ressource->setAttr(Ressource::ATTR_DESC, $this->formData['description']);
  62. $ressource->setAttr(Ressource::ATTR_NOTE, $this->formData['notes']);
  63. $ressource->setAttr(Ressource::ATTR_CONT, $this->formData['contact']);
  64. $ressource->setAttr(Ressource::ATTR_CONT_EMAIL, $this->formData['contact_mail']);
  65. $ressource->setAttr(Ressource::ATTR_CONT_PHONE, $this->formData['contact_phone']);
  66. $ressource->setAttr(Ressource::ATTR_SITE, $this->formData['site']);
  67. $ressource->setAttr(Ressource::ATTR_BUILDING, $this->formData['building']);
  68. $ressource->setAttr(Ressource::ATTR_FLOOR, $this->formData['floor']);
  69. $ressource->setAttr(Ressource::ATTR_ROOM, $this->formData['room']);
  70. $ressource->setAttr(Ressource::ATTR_CAPACITY, $this->formData['capacity']);
  71. $ressource->setAttr(Ressource::ATTR_STREET, $this->formData['street']);
  72. $ressource->setAttr(Ressource::ATTR_TOWN, $this->formData['town']);
  73. $ressource->setAttr(Ressource::ATTR_POSTAL_CODE, $this->formData['post_code']);
  74. $ressource->setAttr(Ressource::ATTR_COUNTY, $this->formData['county']);
  75. $ressource->setAttr(Ressource::ATTR_STATE, $this->formData['state']);
  76. $ressource->setAttr(Ressource::ATTR_AUTO, $this->formData['auto']);
  77. $ressource->setAttr(Ressource::ATTR_BUSY, $this->formData['busy']);
  78. return $ressource;
  79. }
  80. }