Browse Source

edit mailinglists

andre 2 years ago
parent
commit
c15dca2390
1 changed files with 31 additions and 6 deletions
  1. 31 6
      app/UI/Client/DistributionList/Providers/EditListDataProvider.php

+ 31 - 6
app/UI/Client/DistributionList/Providers/EditListDataProvider.php

@@ -231,7 +231,7 @@ class EditListDataProvider extends AddListDataProvider
         }
         // prepare
         foreach($addExtMembers as $addExtMember) {
-            $paramsAdd['members'][] = array(
+            $paramsAdd[] = array(
                 'hasId' => FALSE,
                 'emailAddress' => $addExtMember,
                 'kind' => 'Member'
@@ -245,7 +245,7 @@ class EditListDataProvider extends AddListDataProvider
         }
         // prepare
         foreach($delMembers as $delMember) {
-            $paramsDel['members'][] = array(
+            $paramsDel[] = array(
                 'emailAddress' => $delMember,
                 'kind' => 'Member'
             );
@@ -253,13 +253,13 @@ class EditListDataProvider extends AddListDataProvider
         // change moderator
         if($this->formData['moderator'] != $this->formData['oldModerator']) {
             if($this->formData['oldModerator'] != 'none') {
-                $paramsDel['members'][] = array(
+                $paramsDel[] = array(
                     'emailAddress' => $this->formData['oldModerator'],
                     'kind' => 'Moderator'
                 );
             }
             if($this->formData['moderator'] != 'none') {
-                $paramsAdd['members'][] = array(
+                $paramsAdd[] = array(
                     'hasId' => TRUE,
                     'emailAddress' => $this->formData['moderator'],
                     'kind' => 'Moderator'
@@ -292,7 +292,33 @@ class EditListDataProvider extends AddListDataProvider
         }
         // change settings
         try {
-            $api->modifyMailinglist($paramsSet,$this->formData['id']);
+            $api->modifyMailinglist($paramsSet, $this->formData['id']);
+        } catch (KerioApiException $error) {
+            logModuleCall(
+                'kerioEmail',
+                __FUNCTION__,
+                $error,
+                'Debug Error',
+                $error->getMessage()
+            );
+            return ['error' => $error->getMessage()];
+        }
+        // delete mebers
+        try {
+            $api->delMlUserList($paramsDel, $this->formData['id']);
+        } catch (KerioApiException $error) {
+            logModuleCall(
+                'kerioEmail',
+                __FUNCTION__,
+                $error,
+                'Debug Error',
+                $error->getMessage()
+            );
+            return ['error' => $error->getMessage()];
+        }
+        // add members
+        try {
+            $api->addMlUserList($paramsAdd, $this->formData['id']);
         } catch (KerioApiException $error) {
             logModuleCall(
                 'kerioEmail',
@@ -303,7 +329,6 @@ class EditListDataProvider extends AddListDataProvider
             );
             return ['error' => $error->getMessage()];
         }
-        
         $api->logout();
         /**
          * hosting id