فهرست منبع

#4558 - Build-in API support (forms)

roman.lesnikov@gmail.com 2 سال پیش
والد
کامیت
9ee9b571c4
2فایلهای تغییر یافته به همراه23 افزوده شده و 10 حذف شده
  1. 5 4
      template/scripts/BxBaseAccountForms.php
  2. 18 6
      template/scripts/BxBaseServiceAccount.php

+ 5 - 4
template/scripts/BxBaseAccountForms.php

@@ -292,12 +292,13 @@ class BxBaseAccountForms extends BxDolProfileForms
         // create an alert
         bx_alert('account', 'edited', $aAccountInfo['id'], $aAccountInfo['id'], array('display' => $sDisplayName));
 
-        // display result message
+        // display result message            
+        $sMsg = MsgBox(_t('_' . $sDisplayName . '_successfully_submitted'));
+        
         if ($bIsApi){
-            return $oForm->getCodeAPI();
+            return ['form' => $oForm->getCodeAPI(), 'msg' => _t('_' . $sDisplayName . '_successfully_submitted')];
         }
-            
-        $sMsg = MsgBox(_t('_' . $sDisplayName . '_successfully_submitted'));
+        
         return $sMsg . $oForm->getCode();
     }     
 }

+ 18 - 6
template/scripts/BxBaseServiceAccount.php

@@ -162,12 +162,24 @@ class BxBaseServiceAccount extends BxDol
         
         $mixedResult =$this->_oAccountForms->editAccountPasswordSettingsForm($iAccountId);
         if($bApi) {
-            if(is_array($mixedResult))
-                return [bx_api_get_block('form', $mixedResult, [
-                    'ext' => [
-                        'request' => ['url' => '/api.php?r=system/account_settings_password/TemplServiceAccount', 'immutable' => true]
-                    ]
-                ])];
+            if(is_array($mixedResult)){
+                if (isset($mixedResult['form'] )){
+                    return [
+                        bx_api_get_msg($mixedResult['msg']),
+                        bx_api_get_block('form', $mixedResult['form'], [
+                        'ext' => [
+                            'request' => ['url' => '/api.php?r=system/account_settings_password/TemplServiceAccount', 'immutable' => true]
+                        ]
+                    ])];
+                }
+                else{
+                    return [bx_api_get_block('form', $mixedResult, [
+                        'ext' => [
+                            'request' => ['url' => '/api.php?r=system/account_settings_password/TemplServiceAccount', 'immutable' => true]
+                        ]
+                    ])];
+                }
+            }
             else
                 return bx_api_get_msg($mixedResult);
         }