Skip to content

Commit f03b790

Browse files
author
Taras Tyshko
committed
Fix audit logs pagination on device pages
1 parent b5c45f2 commit f03b790

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

lib/nerves_hub_web/components/device_page/activity_tab.ex

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,20 @@ defmodule NervesHubWeb.Components.DevicePage.ActivityTab do
55

66
alias NervesHubWeb.Components.Pager
77

8-
def tab_params(_params, _uri, socket) do
8+
def tab_params(params, _uri, socket) do
9+
page_number = String.to_integer(Map.get(params, "page_number", "1"))
10+
page_size = String.to_integer(Map.get(params, "page_size", "25"))
11+
912
socket
10-
|> logs_and_pager_assigns()
13+
|> logs_and_pager_assigns(page_number, page_size)
1114
|> cont()
1215
end
1316

1417
def cleanup() do
1518
[:activity, :audit_pager]
1619
end
1720

18-
defp logs_and_pager_assigns(socket, page_number \\ 1, page_size \\ 25) do
21+
defp logs_and_pager_assigns(socket, page_number, page_size) do
1922
{logs, audit_pager} =
2023
AuditLogs.logs_for_feed(socket.assigns.device, %{
2124
page: page_number,

lib/nerves_hub_web/live/devices/show.ex

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ defmodule NervesHubWeb.Live.Devices.Show do
5353
socket.endpoint.subscribe("firmware")
5454
end
5555

56+
default_page_size = if socket.assigns[:new_ui], do: 25, else: 5
57+
5658
socket
5759
|> page_title("Device #{device.identifier} - #{product.name}")
5860
|> sidebar_tab(:devices)
@@ -64,7 +66,7 @@ defmodule NervesHubWeb.Live.Devices.Show do
6466
|> schedule_health_check_timer()
6567
|> assign(:fwup_progress, nil)
6668
|> assign(:page_number, 1)
67-
|> assign(:page_size, 5)
69+
|> assign(:page_size, default_page_size)
6870
|> assign(:pinned?, Devices.device_pinned?(user.id, device.id))
6971
|> audit_log_assigns()
7072
|> assign_deployment_groups()
@@ -73,8 +75,16 @@ defmodule NervesHubWeb.Live.Devices.Show do
7375
|> ok()
7476
end
7577

76-
def handle_params(_params, _uri, socket) do
78+
def handle_params(params, _uri, socket) do
79+
default_page_size = if socket.assigns[:new_ui], do: "25", else: "5"
80+
page_number = String.to_integer(Map.get(params, "page_number", "1"))
81+
page_size = String.to_integer(Map.get(params, "page_size", default_page_size))
82+
7783
socket
84+
|> assign(:page_number, page_number)
85+
|> assign(:page_size, page_size)
86+
# Reload audit logs with new pagination
87+
|> audit_log_assigns()
7888
|> update_tab_component_hooks()
7989
|> noreply()
8090
end
@@ -283,15 +293,12 @@ defmodule NervesHubWeb.Live.Devices.Show do
283293
end
284294
end
285295

286-
def handle_event("paginate", %{"page" => page_num}, socket) do
287-
params = %{"page_size" => socket.assigns.page_size, "page_number" => page_num}
288-
296+
def handle_event("paginate", %{"page" => page_number}, socket) do
297+
params = %{"page_size" => socket.assigns.page_size, "page_number" => page_number}
289298
%{org: org, product: product, device: device} = socket.assigns
290299

291-
url = ~p"/org/#{org}/#{product}/devices/#{device}/activity?#{params}"
292-
293300
socket
294-
|> push_patch(to: url)
301+
|> push_patch(to: ~p"/org/#{org}/#{product}/devices/#{device}?#{params}")
295302
|> noreply()
296303
end
297304

0 commit comments

Comments
 (0)