Changeset 6726

Show
Ignore:
Timestamp:
10/06/08 13:09:51 (2 months ago)
Author:
shotamchay
Message:

action log almost finished; still contains some bugs

Location:
trunk/centreon/www/include/options/configurationChangelog
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/centreon/www/include/options/configurationChangelog/DB-Func.php

    r6714 r6726  
    3636                $list_actions = array(); 
    3737                $i = 0; 
    38                 $request = ""; 
    3938                 
    40                 if ($id != NULL) { 
    41                         $request = "WHERE action_log_id = '$id'"; 
    42                 } 
    43                  
    44                 $DBRESULT =& $pearDBO->query("SELECT * FROM log_action $request"); 
     39                $DBRESULT =& $pearDBO->query("SELECT * FROM log_action WHERE object_id ='".$id."' ORDER BY action_log_date DESC"); 
    4540                if (PEAR::isError($DBRESULT)) { 
    4641                        print "DB Error : ".$DBRESULT->postDebugInfo()."<br />";                 
     
    4944                while ($data =& $DBRESULT->fetchRow()) { 
    5045                        $list_actions[$i]["action_log_id"] = $data["action_log_id"]; 
    51                         $list_actions[$i]["action_log_date"] = date("d/m/Y H:m:i",$data["action_log_date"]); 
     46                        $list_actions[$i]["action_log_date"] = date("d/m/Y H:i",$data["action_log_date"]); 
    5247                        $list_actions[$i]["object_type"] = $data["object_type"]; 
    5348                        $list_actions[$i]["object_id"] = $data["object_id"]; 
     
    6358        function listModification($id) { 
    6459                global $pearDBO; 
     60                $list_modifications = array(); 
     61                $ref = array(); 
    6562                $i = 0; 
    66                 $list_modifications = array(); 
    67  
    68                 if ($id != NULL) { 
    69                         $request = "WHERE action_log_id = '$id'"; 
    70                 } 
     63                $j = 0; 
     64                $first_ref_flag = 0; 
    7165                 
    72                 $DBRESULT2 =& $pearDBO->query("SELECT action_log_id,field_name,field_value FROM `log_action_modification` $request"); 
     66                $DBRESULT =& $pearDBO->query("SELECT action_log_id, action_log_date, action_type FROM log_action WHERE object_id ='".$id."' ORDER  BY action_log_date ASC"); 
    7367                if (PEAR::isError($DBRESULT)) { 
    7468                        print "DB Error : ".$DBRESULT->postDebugInfo()."<br />";                 
    7569                } 
    76                  
    77                 while ($field =& $DBRESULT2->fetchRow()) { 
    78                         $list_modifications[$i]["action_log_id"] = $field["action_log_id"]; 
    79                         $list_modifications[$i]["field_name"] = $field["field_name"]; 
    80                         $list_modifications[$i]["field_value"] = $field["field_value"]; 
    81                         $i++; 
     70                while ($row =& $DBRESULT->fetchRow()) { 
     71                        $DBRESULT2 =& $pearDBO->query("SELECT action_log_id,field_name,field_value FROM `log_action_modification` WHERE action_log_id='".$row['action_log_id']."'"); 
     72                        if (PEAR::isError($DBRESULT2)) { 
     73                                print "DB Error : ".$DBRESULT2->postDebugInfo()."<br />";                
     74                        } 
     75                        while ($field =& $DBRESULT2->fetchRow()) { 
     76                                if (($row["action_type"] == "a" || $row["action_type"] == "c") && (!$first_ref_flag || $first_ref_flag == $field["action_log_id"])) { 
     77                                        $ref[$j]["action_log_id"] = $field["action_log_id"]; 
     78                                        $ref[$j]["field_name"] = $field["field_name"]; 
     79                                        $ref[$j]["field_value"] = $field["field_value"]; 
     80                                        $first_ref_flag = $field["action_log_id"]; 
     81                                         
     82                                        $list_modifications[$i]["action_log_id"] = $field["action_log_id"]; 
     83                                        $list_modifications[$i]["field_name"] = $field["field_name"]; 
     84                                        $list_modifications[$i]["field_value_before"] = $field["field_value"]; 
     85                                        $list_modifications[$i]["field_value_after"] = $field["field_value"]; 
     86                                        $j++; 
     87                                } 
     88                                else { 
     89                                        foreach ($ref as $key => $value) { 
     90                                                if (($field["field_name"] == $value["field_name"]) && ($field["field_value"] != $value["field_value"])) { 
     91                                                        $list_modifications[$i]["field_value_before"] = $value["field_value"]; 
     92                                                        $list_modifications[$i]["action_log_id"] = $field["action_log_id"]; 
     93                                                        $list_modifications[$i]["field_name"] = $field["field_name"]; 
     94                                                        $list_modifications[$i]["field_value_after"] = $field["field_value"]; 
     95                                                        $ref[$key]["field_value"] = $field["field_value"]; 
     96                                                } 
     97                                        } 
     98                                } 
     99                                $i++; 
     100                        } 
    82101                } 
    83  
    84102                return $list_modifications; 
    85103        } 
  • trunk/centreon/www/include/options/configurationChangelog/viewLogs.ihtml

    r6714 r6726  
    22<table> 
    33        <tr class="ToolbarTR"> 
    4                 <td class="Toolbar_TDSelectAction_Top" width="330"><span class="consol_button">{$form.o1.html}</span></td> 
    5                 <td class="Toolbar_TDSelectAction_Top" width="330"><span class="consol_button">{$form.o2.html}</span></td> 
    6                 <td> 
    7                         <input type="button" name="logs" value="Apply" onClick="apply_logs();" /> 
    8                 </td> 
     4                <td class="Toolbar_TDSelectAction_Top" width="300"><span class="consol_button">{$objTypeLabel} {$form.o1.html}</span></td> 
     5                <td class="Toolbar_TDSelectAction_Top" width="300"><span class="consol_button">{$objNameLabel} {$form.o2.html}</span></td> 
     6                <td><input type="submit" name="logs" value="Apply" /></td> 
    97        </tr> 
    108</table> 
    11         <table class="ListTable"> 
    12                 <tr class="ListHeader"> 
    13                         <td     class="ListColHeaderCenter" style="white-space:nowrap;">{$date}</td> 
    14                         <td     class="ListColHeaderCenter" style="white-space:nowrap;">{$contact_name}</td> 
    15                         <td     class="ListColHeaderCenter" style="white-space:nowrap;">{$type}</td>                     
    16                         <!--<td class="ListColHeaderCenter" style="white-space:nowrap;">{$action}</td>--> 
    17                         <!--<td class="ListColHeaderCenter" style="white-space:nowrap;">{$object_name}</td>--> 
    18                         <!--<td class="ListColHeaderCenter" style="white-space:nowrap;">{$object_id}</td>--> 
    19                         <td     class="ListColHeaderCenter" style="white-space:nowrap;">{$logs}</td>                     
    20                         <!--<td class="ListColHeaderCenter" style="white-space:nowrap;">{$field_name}</td>--> 
    21                         <!--<td class="ListColHeaderCenter" style="white-space:nowrap;">{$before}</td>--> 
    22                         <!--<td class="ListColHeaderCenter" style="white-space:nowrap;">{$after}</td>--> 
    23                         <!--<td class="ListColHeaderCenter" style="white-space:nowrap;">{$options}</td>--> 
     9{if $display_flag} 
     10<br>{$objName} 
     11<br> 
     12<table class="ListTable"> 
     13        <tr class="ListHeader"> 
     14                <td     class="ListColHeaderCenter" style="white-space:nowrap;">{$date}</td> 
     15                <td     class="ListColHeaderCenter" style="white-space:nowrap;">{$contact_name}</td> 
     16                <td     class="ListColHeaderCenter" style="white-space:nowrap;">{$type}</td>                     
     17                <td     class="ListColHeaderCenter" style="white-space:nowrap;">{$logs}</td>                     
     18        </tr> 
     19        {foreach item=list from=$action} 
     20                <tr class="Logs"> 
     21                        <td class="ListColCenter">{$list.action_log_date}</td> 
     22                        <td class="ListColCenter">{$list.log_contact_id}</td> 
     23                        <td class="ListColCenter">{$list.action_type}</td> 
     24                        <td class="ListColCenter"> 
     25                        {if $list.action_type == "Create" || $list.action_type == "Change" || $list.action_type == "Massive change"} 
     26                                <table class="ListTable" 
     27                                                <tr class="ListHeader"> 
     28                                                        <td class="ListColHeaderCenter" style="white-space:nowrap;">{$field_name}</td> 
     29                                                        <td class="ListColHeaderCenter" style="white-space:nowrap;">{$before}</td> 
     30                                                        <td class="ListColHeaderCenter" style="white-space:nowrap;">{$after}</td> 
     31                                                </tr> 
     32                                                {assign var='cpt' value=0}                                               
     33                                                {foreach item=modif from=$modification} 
     34                                                        {if $modif.action_log_id == $list.action_log_id} 
     35                                                        <tr> 
     36                                                                <td class="ListColCenter"> 
     37                                                                        {if $modif.action_log_id == $list.action_log_id} 
     38                                                                                {$modif.field_name} 
     39                                                                        {/if} 
     40                                                                </td> 
     41                                                                <td class="ListColCenter"> 
     42                                                                        {if $modif.action_log_id == $list.action_log_id} 
     43                                                                                {$modif.field_value_before} 
     44                                                                        {/if} 
     45                                                                </td> 
     46                                                                <td class="ListColCenter"> 
     47                                                                        {if $modif.action_log_id == $list.action_log_id} 
     48                                                                                {$modif.field_value_after} 
     49                                                                        {/if} 
     50                                                                </td> 
     51                                                        </tr> 
     52                                                        {assign var='cpt' value=$cpt+1} 
     53                                                        {/if} 
     54                                                {/foreach} 
     55                                                {if $cpt == 0} 
     56                                                        <tr> 
     57                                                                <td colspan="3">{$noModifLabel}</td> 
     58                                                        </tr> 
     59                                                {/if} 
     60                                </table> 
     61                        {/if}                            
     62                        </td> 
    2463                </tr> 
    25                 {foreach item=list from=$action} 
    26                         <tr class="Logs"> 
    27                                 <td class="ListColCenter">{$list.action_log_date}</td> 
    28                                 <!--<td class="ListColCenter">{$list.object_type}</td>--> 
    29                                 <!--<td class="ListColCenter">{$list.object_id}</td>--> 
    30                                 <td class="ListColCenter">{$list.log_contact_id}</td> 
    31                                 <td class="ListColCenter">{$list.action_type}</td> 
    32                                 <td class="ListColCenter"> 
    33                                 {if $list.action_type != "Delete" && $list.action_type != "Disable" && $list.action_type != "Enable"} 
    34                                         <table class="ListTable" 
    35                                                         <tr class="ListHeader"> 
    36                                                                 <td class="ListColHeaderCenter" style="white-space:nowrap;">{$field_name}</td> 
    37                                                                 <td class="ListColHeaderCenter" style="white-space:nowrap;">{$before}</td> 
    38                                                                 <td class="ListColHeaderCenter" style="white-space:nowrap;">{$after}</td> 
    39                                                         </tr> 
    40                                                         {assign var='cpt' value=0}                                               
    41                                                         {foreach item=modif from=$modification} 
    42                                                                 {if $modif.action_log_id == $list.action_log_id} 
    43                                                                 <tr> 
    44                                                                         <td class="ListColCenter"> 
    45                                                                                 {if $modif.action_log_id == $list.action_log_id} 
    46                                                                                         {$modif.field_name} 
    47                                                                                 {/if} 
    48                                                                         </td> 
    49                                                                         <td class="ListColCenter"> 
    50                                                                                 {if $modif.action_log_id == $list.action_log_id} 
    51                                                                                         {$modif.field_value} 
    52                                                                                 {/if} 
    53                                                                         </td> 
    54                                                                         <td class="ListColCenter"> 
    55                                                                                 {if $modif.action_log_id == $list.action_log_id} 
    56                                                                                         {$modif.field_value} 
    57                                                                                 {/if} 
    58                                                                         </td> 
    59                                                                 </tr> 
    60                                                                 {/if} 
    61                                                         {/foreach} 
    62                                         </table> 
    63                                 {/if}                            
    64                                 </td> 
    65                         </tr> 
    66                 {/foreach} 
    67         </table> 
     64        {/foreach} 
     65</table> 
     66{/if} 
    6867{$form.hidden} 
    6968</form> 
  • trunk/centreon/www/include/options/configurationChangelog/viewLogs.php

    r6721 r6726  
    3535        require_once("./DBOdsConnect.php"); 
    3636         
    37         $listAction = array(); 
    38         $listAction = listAction(NULL); 
    39         $listModification = array(); 
    40         $listModification = listmodification(NULL); 
     37        if ($cmd2) { 
     38                $listAction = array(); 
     39                $listAction = listAction($cmd2); 
     40                $listModification = array(); 
     41                $listModification = listmodification($cmd2); 
     42        } 
    4143         
    4244        $form = new HTML_QuickForm('select_form', 'POST', "?p=".$p); 
     
    5254        $tpl->assign("field_name", _("Field Name")); 
    5355        $tpl->assign("field_value", _("Field Value")); 
    54         $tpl->assign("field_value", _("Field Value")); 
    5556        $tpl->assign("before", _("Before")); 
    5657        $tpl->assign("after", _("After")); 
    5758        $tpl->assign("logs", _("Logs")); 
     59        $tpl->assign("objTypeLabel", _("Object type:")); 
     60        $tpl->assign("objNameLabel", _("Object name:")); 
     61        $tpl->assign("noModifLabel", _("No modification was made.")); 
    5862                 
    5963        $tpl->assign("action", $listAction); 
    6064        $tpl->assign("modification", $listModification); 
     65         
     66        isset($cmd2) && $cmd2 ? $display_flag = 1 : $display_flag = 0; 
     67        $tpl->assign("display_flag", $display_flag); 
    6168 
    6269        $objects_list = array(); 
     
    8693                document.forms['form'].elements['cmd'].value = _i; 
    8794                document.forms['form'].elements['o1'].selectedIndex = _i; 
     95                document.forms['form'].elements['cmd2'].value = 0; 
    8896        } 
    8997         
    9098        function setO2(_i) { 
    9199                document.forms['form'].elements['cmd2'].value = _i; 
    92                 document.forms['form'].elements['o2'].selectedIndex = _i; 
     100                //document.forms['form'].elements['o2'].selectedIndex = _i; 
    93101        } 
    94102         
     
    97105         
    98106        if ($cmd) { 
    99                 $DBRESULT = $pearDB->query("SELECT DISTINCT object_name, object_id FROM log_action WHERE object_type='".$object_type_tab[$cmd]."'"); 
     107                $DBRESULT = $pearDBO->query("SELECT DISTINCT object_name, object_id FROM log_action WHERE object_type='".$object_type_tab[$cmd]."' ORDER BY object_id"); 
    100108                if (PEAR::isError($DBRESULT)) 
    101109                        print "DB Error : ".$DBRESULT->getDebugInfo()."<br />"; 
    102                 $res =& $DBRESULT->fetchRow();   
     110                $objNameTab[0] = _("Please select an object name"); 
     111                while ($res =& $DBRESULT->fetchRow()) { 
     112                        if ($res['object_id']) 
     113                                $objNameTab[$res['object_id']] = $res['object_name']." (id:".$res['object_id'].")"; 
     114                } 
    103115        } 
     116         
     117        if (isset($cmd2) && $cmd2) 
     118                $tpl->assign("objName", $objNameTab[$cmd2]); 
    104119         
    105120        $attrs = array( 'onchange'=>"javascript: setO1(this.form.elements['o1'].value); submit();"); 
     
    112127        $objects = listObjectname(NULL); 
    113128        $attrs = array( 'onchange'=>"javascript: setO2(this.form.elements['o2'].value); submit();"); 
    114     $form->addElement('select', 'o2', NULL, $res, $attrs); 
     129    $form->addElement('select', 'o2', NULL, $objNameTab, $attrs); 
    115130        $form->setDefaults(array('o2' => NULL)); 
    116         $o1 =& $form->getElement('o2'); 
    117         $o1->setValue(NULL); 
     131        $o2 =& $form->getElement('o2'); 
     132        $o2->setValue(NULL); 
    118133         
    119134        $form->addElement('hidden', 'cmd', $cmd);