Просмотр исходного кода

Ticket #4855 - Timeline: Check status fields before registering system events.

AntonLV 1 год назад
Родитель
Сommit
b3546a3a4e
1 измененных файлов с 12 добавлено и 0 удалено
  1. 12 0
      modules/boonex/timeline/classes/BxTimelineResponse.php

+ 12 - 0
modules/boonex/timeline/classes/BxTimelineResponse.php

@@ -81,6 +81,8 @@ class BxTimelineResponse extends BxBaseModNotificationsResponse
                     'description' => '',
                     'date' => $iDate,
                     'reacted' => $iDate,
+                    'status' => $this->_getStatus($oAlert->aExtras),
+                    'status_admin' => $this->_getStatus($oAlert->aExtras, 'status_admin'),
                 ];
 
                 $sMethod = '_prepareEvent' . bx_gen_method_name($oAlert->sUnit . '_' . $oAlert->sAction);
@@ -275,6 +277,16 @@ class BxTimelineResponse extends BxBaseModNotificationsResponse
         ]);
     }
 
+    protected function _getStatus($aExtras, $sField = 'status')
+    {
+        return ($sValue = $this->_getFieldValue($aExtras, $sField)) !== false ? $sValue : 'active';
+    }
+
+    protected function _getFieldValue($aExtras, $sField)
+    {
+        return isset($aExtras[$sField]) ? $aExtras[$sField] : false;
+    }
+
     protected function _processSystemClearCache($oAlert)
     {
         if(!in_array($oAlert->aExtras['type'], array('all', 'custom')))