From 725de26a0e0813d90ae66cafeb39ce3492840d29 Mon Sep 17 00:00:00 2001
From: Laurent Pinsivy <lpinsivy@gmail.com>
Date: Mon, 9 Apr 2018 11:10:10 +0200
Subject: [PATCH] fix(conf): Insert info in log_action when user use
 deployservices function (#6191)

---
 .../centreon-clapi/centreonHost.class.php     | 13 +++++++++++--
 www/class/centreonHost.class.php              | 19 ++++++++++++-------
 2 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/www/class/centreon-clapi/centreonHost.class.php b/www/class/centreon-clapi/centreonHost.class.php
index bc4d71b56b..b5d7e299d3 100644
--- a/www/class/centreon-clapi/centreonHost.class.php
+++ b/www/class/centreon-clapi/centreonHost.class.php
@@ -898,11 +898,20 @@ class CentreonHost extends CentreonObject
                 );
                 $result = $res->fetchAll();
                 if (!count($result)) {
-                    $svcId = $svcObj->insert(array('service_description' => $params['service_alias'],
+                    $serviceDesc = array('service_description' => $params['service_alias'],
                         'service_activate' => '1',
                         'service_register' => '1',
-                        'service_template_model_stm_id' => $serviceTemplateId));
+                        'service_template_model_stm_id' => $serviceTemplateId,
+                        'service_hPars' => $hostId);
+                    $svcId = $svcObj->insert($serviceDesc);
                     $hostSvcRel->insert($hostId, $svcId);
+                    $this->params = array_merge($this->params, $serviceDesc);
+                    $this->addAuditLog(
+                        'a',
+                        $svcId,
+                        $params['service_alias'],
+                        $this->params
+                    );
                     $svcExtended->insert(array($svcExtended->getUniqueLabelField() => $svcId));
                 }
                 unset($res);
diff --git a/www/class/centreonHost.class.php b/www/class/centreonHost.class.php
index d32d9347d8..7711b5b066 100755
--- a/www/class/centreonHost.class.php
+++ b/www/class/centreonHost.class.php
@@ -36,6 +36,7 @@
 require_once _CENTREON_PATH_ . 'www/class/centreonInstance.class.php';
 require_once _CENTREON_PATH_ . 'www/class/centreonService.class.php';
 require_once _CENTREON_PATH_ . 'www/class/centreonCommand.class.php';
+require_once _CENTREON_PATH_ . 'www/class/centreonLogAction.class.php';
 
 /*
  *  Class that contains various methods for managing hosts
@@ -1743,6 +1744,8 @@ class CentreonHost
      */
     public function deployServices($hostId, $hostTemplateId = null)
     {
+        global $centreon;
+
         if (!isset($hostTemplateId)) {
             $id = $hostId;
         } else {
@@ -1778,15 +1781,17 @@ class CentreonHost
                 $res = $this->db->execute($stmt, $queryValues);
 
                 if (!$res->numRows()) {
-                    $svcId = $this->serviceObj->insert(
-                        array(
-                            'service_description' => $service['service_alias'],
-                            'service_activate' => array('service_activate' => '1'),
-                            'service_register' => '1',
-                            'service_template_model_stm_id' => $serviceTemplateId
-                        )
+                    $serviceDesc = array(
+                        'service_description' => $service['service_alias'],
+                        'service_activate' => array('service_activate' => '1'),
+                        'service_register' => '1',
+                        'service_template_model_stm_id' => $serviceTemplateId,
+                        'service_hPars' => $hostId
                     );
 
+                    $svcId = $this->serviceObj->insert($serviceDesc);
+                    $fields = CentreonLogAction::prepareChanges($serviceDesc);
+                    $centreon->CentreonLogAction->insertLog("service", $svcId, CentreonDB::escape($service['service_alias']), "a", $fields);
                     $this->insertRelHostService($hostId, $svcId);
                 }
                 unset($res);
-- 
GitLab