diff --git a/admin/themes/default/template/user_activity.tpl b/admin/themes/default/template/user_activity.tpl
index 2a235813f..f2ce4cdce 100644
--- a/admin/themes/default/template/user_activity.tpl
+++ b/admin/themes/default/template/user_activity.tpl
@@ -18,6 +18,7 @@ const color_icons = ["icon-red", "icon-blue", "icon-yellow", "icon-purple", "ico
var activity_page = 1;
let actual_page = 1;
let max_page = 1;
+let uid_filter;
const page_ellipsis = '...'
const page_item = '%d';
var create_selecter = true;
@@ -101,15 +102,16 @@ var actionInfos_tags_moved = "{'%d tags moved'|translate}";
{*<-- Getting and Displaying Activities -->*}
-get_user_activity(activity_page);
+get_user_activity(activity_page, uid_filter);
-function get_user_activity(page) {
+function get_user_activity(page, uid) {
$.ajax({
url: "ws.php?format=json&method=pwg.activity.getList",
type: "POST",
dataType: "json",
data: {
page: page - 1,
+ uid: uid,
},
beforeSend: () => {
$('.tab').contents(':not(#-1):not(.loading)').remove();
@@ -118,11 +120,11 @@ function get_user_activity(page) {
$('.pagination-arrow.left').addClass('unavailable');
$(".pagination-item-container").hide();
$(".user-update-spinner").addClass("icon-spin6");
- $(".cancel-icon").trigger("click");
},
success: (data) => {
/* console log to help debug */
console.log(data);
+ uid_filter = uid;
setCreationDate(data.result['result_lines'][data.result['result_lines'].length-1].date, data.result['result_lines'][0].date);
$(".loading").hide();
@@ -625,7 +627,7 @@ function move_to_page(page) {
return;
actual_page = page;
update_pagination_menu();
- get_user_activity(page);
+ get_user_activity(page, uid_filter);
}
$('.pagination-arrow.rigth').on('click', () => {
@@ -698,9 +700,8 @@ function append_pagination_item(page = null) {
$(document).ready(function () {
$('select').on('change', function (user) {
if ($(".selectize-input").hasClass("full")) {
- $(".line").hide();
- $(".uid-" + $(".selectize-input .item").data("value")).show();
{* call ajax sur activity list avec uid en param *}
+ get_user_activity(1, $(".selectize-input .item").data("value"));
}
});
diff --git a/include/ws_functions/pwg.php b/include/ws_functions/pwg.php
index 1d72c3b06..de62c7884 100644
--- a/include/ws_functions/pwg.php
+++ b/include/ws_functions/pwg.php
@@ -434,7 +434,26 @@ function ws_getActivityList($param, &$service)
$user_ids = array();
- $query = '
+ if (isset($param['uid'])) {
+ $query = '
+SELECT
+ activity_id,
+ performed_by,
+ object,
+ object_id,
+ action,
+ session_idx,
+ ip_address,
+ occured_on,
+ details
+ FROM '.ACTIVITY_TABLE.'
+ WHERE performed_by = '.$param['uid'].'
+ ORDER BY activity_id DESC LIMIT '.$page_size.' OFFSET '.$page_offset.';
+;';
+ }
+ else
+ {
+ $query = '
SELECT
activity_id,
performed_by,
@@ -448,6 +467,9 @@ SELECT
FROM '.ACTIVITY_TABLE.'
ORDER BY activity_id DESC LIMIT '.$page_size.' OFFSET '.$page_offset.';
;';
+ }
+
+
$line_id = 0;
$result = pwg_query($query);
@@ -534,18 +556,28 @@ SELECT
}
}
+if (isset($param['uid'])) {
$query = '
- SELECT
- count(*)
- FROM '.ACTIVITY_TABLE.'
- ;';
-
+SELECT
+ count(*)
+ FROM '.ACTIVITY_TABLE.'
+ WHERE performed_by = '.$param['uid'].'
+;';
+} else {
+ $query = '
+SELECT
+ count(*)
+ FROM '.ACTIVITY_TABLE.'
+;';
+}
+
$result = (pwg_db_fetch_row(pwg_query($query))[0])/$page_size;
// return $output_lines;
return array(
'result_lines' => $output_lines,
'max_page' => floor($result),
+ 'params' => $param,
);
}
diff --git a/ws.php b/ws.php
index 61862d44c..0a346b0c9 100644
--- a/ws.php
+++ b/ws.php
@@ -86,6 +86,8 @@ function ws_addDefaultMethods( $arr )
array(
'page' => array('default'=>null,
'type'=>WS_TYPE_INT|WS_TYPE_POSITIVE),
+ 'uid' => array('default'=>NULL,
+ 'type'=>WS_TYPE_INT|WS_TYPE_POSITIVE),
),
'Returns general informations.',
$ws_functions_root . 'pwg.php',