Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions frontend/packages/app/src/app/pages/home/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ const HomeComponent = ({ viewData }: HomeComponentProps) => {
"next_pms.timesheet.api.team.get_compact_view_data_home_page",
{
revalidateOnFocus: false,
errorRetryCount: 1,
revalidateOnReconnect: false,
revalidateIfStale: false,
revalidateOnMount: false,
Expand Down
4 changes: 3 additions & 1 deletion frontend/packages/app/src/app/pages/team/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,10 @@ const TeamComponent = ({ viewData }: TeamComponentProps) => {
},
undefined,
{
revalidateOnFocus: false,
revalidateOnReconnect: false,
revalidateIfStale: false,
revalidateOnMount: false,
errorRetryCount: 1,
}
);

Expand All @@ -99,6 +99,8 @@ const TeamComponent = ({ viewData }: TeamComponentProps) => {
}
}
if (error) {
dispatch({ type: "SET_HAS_MORE", payload: false });
dispatch({ type: "SET_LOADING", payload: false });
const err = parseFrappeErrorMsg(error);
toast({
variant: "destructive",
Expand Down
4 changes: 4 additions & 0 deletions frontend/packages/app/src/app/pages/team/reducer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,10 @@ const actionHandlers = {
...state,
hasMore: payload,
}),
SET_LOADING: (state: TeamState, payload: boolean) => ({
...state,
isLoading: payload,
}),
SET_DATE_RANGE: (
state: TeamState,
payload: {
Expand Down
13 changes: 10 additions & 3 deletions next_pms/timesheet/api/team.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ def get_compact_view_data(
date: str,
max_week: int = 2,
employee_name=None,
employee_ids: list[str] | str | None = None,
department=None,
project=None,
user_group=None,
Expand Down Expand Up @@ -55,15 +56,16 @@ def get_compact_view_data(
res = {"dates": dates}

employees, total_count = filter_employee_by_timesheet_status(
employee_name,
department,
project,
employee_name=employee_name,
department=department,
project=project,
user_group=user_group,
page_length=page_length,
start=start,
reports_to=reports_to,
status=status,
timesheet_status=status_filter,
employee_ids=employee_ids,
start_date=dates[0].get("start_date"),
end_date=dates[-1].get("end_date"),
)
Expand Down Expand Up @@ -201,6 +203,7 @@ def approve_or_reject_timesheet(employee: str, status: str, dates: list[str] | N

def filter_employee_by_timesheet_status(
employee_name=None,
employee_ids: list[str] | str | None = None,
department=None,
project=None,
page_length=10,
Expand All @@ -223,6 +226,9 @@ def filter_employee_by_timesheet_status(
start = int(start)
page_length = int(page_length)

if employee_ids and isinstance(employee_ids, str):
employee_ids = json.loads(employee_ids)

if not timesheet_status:
employees, count = filter_employees(
employee_name,
Expand All @@ -233,6 +239,7 @@ def filter_employee_by_timesheet_status(
start=start,
user_group=user_group,
reports_to=reports_to,
ids=employee_ids,
)

return employees, count
Expand Down
11 changes: 8 additions & 3 deletions next_pms/timesheet/doc_events/timesheet.py
Original file line number Diff line number Diff line change
Expand Up @@ -263,21 +263,26 @@ def flush_cache(doc):


def publish_timesheet_update(employee, start_date):
from frappe import get_cached_value, publish_realtime
from frappe import publish_realtime
from frappe.realtime import get_site_room
from frappe.utils import get_date_str

from next_pms.timesheet.api.team import get_compact_view_data
from next_pms.timesheet.api.timesheet import get_timesheet_data

data = get_timesheet_data(employee, start_date, 1)
publish_realtime(f"timesheet_update::{employee}", {"message": data}, after_commit=True, room=get_site_room())
publish_realtime(
f"timesheet_update::{employee}",
{"message": data},
after_commit=True,
room=get_site_room(),
)

res = get_compact_view_data(
date=get_date_str(start_date),
max_week=2,
by_pass_access_check=True,
employee_name=get_cached_value("Employee", employee, fieldname="employee_name"),
employee_ids=[employee],
)
publish_realtime(
"timesheet_info",
Expand Down
Loading