mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-27 08:54:45 +00:00
refactor: retain backward compatible type hints
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
from itertools import groupby
|
from itertools import groupby
|
||||||
|
from typing import Dict, List, Optional, Tuple
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import _
|
from frappe import _
|
||||||
@@ -17,7 +18,7 @@ from erpnext.hr.doctype.leave_application.leave_application import (
|
|||||||
Filters = frappe._dict
|
Filters = frappe._dict
|
||||||
|
|
||||||
|
|
||||||
def execute(filters: Filters | None = None) -> tuple:
|
def execute(filters: Optional[Filters] = None) -> Tuple:
|
||||||
if filters.to_date <= filters.from_date:
|
if filters.to_date <= filters.from_date:
|
||||||
frappe.throw(_('"From Date" can not be greater than or equal to "To Date"'))
|
frappe.throw(_('"From Date" can not be greater than or equal to "To Date"'))
|
||||||
|
|
||||||
@@ -27,7 +28,7 @@ def execute(filters: Filters | None = None) -> tuple:
|
|||||||
return columns, data, None, charts
|
return columns, data, None, charts
|
||||||
|
|
||||||
|
|
||||||
def get_columns() -> list[dict]:
|
def get_columns() -> List[Dict]:
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
"label": _("Leave Type"),
|
"label": _("Leave Type"),
|
||||||
@@ -83,7 +84,7 @@ def get_columns() -> list[dict]:
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def get_data(filters: Filters) -> list:
|
def get_data(filters: Filters) -> List:
|
||||||
leave_types = get_leave_types()
|
leave_types = get_leave_types()
|
||||||
active_employees = get_employees(filters)
|
active_employees = get_employees(filters)
|
||||||
|
|
||||||
@@ -130,14 +131,14 @@ def get_data(filters: Filters) -> list:
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
def get_leave_types() -> list[str]:
|
def get_leave_types() -> List[str]:
|
||||||
LeaveType = frappe.qb.DocType("Leave Type")
|
LeaveType = frappe.qb.DocType("Leave Type")
|
||||||
return (frappe.qb.from_(LeaveType).select(LeaveType.name).orderby(LeaveType.name)).run(
|
return (frappe.qb.from_(LeaveType).select(LeaveType.name).orderby(LeaveType.name)).run(
|
||||||
pluck="name"
|
pluck="name"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_employees(filters: Filters) -> list[dict]:
|
def get_employees(filters: Filters) -> List[Dict]:
|
||||||
Employee = frappe.qb.DocType("Employee")
|
Employee = frappe.qb.DocType("Employee")
|
||||||
query = frappe.qb.from_(Employee).select(
|
query = frappe.qb.from_(Employee).select(
|
||||||
Employee.name,
|
Employee.name,
|
||||||
@@ -184,7 +185,7 @@ def get_opening_balance(
|
|||||||
|
|
||||||
def get_allocated_and_expired_leaves(
|
def get_allocated_and_expired_leaves(
|
||||||
from_date: str, to_date: str, employee: str, leave_type: str
|
from_date: str, to_date: str, employee: str, leave_type: str
|
||||||
) -> tuple[float, float, float]:
|
) -> Tuple[float, float, float]:
|
||||||
new_allocation = 0
|
new_allocation = 0
|
||||||
expired_leaves = 0
|
expired_leaves = 0
|
||||||
carry_forwarded_leaves = 0
|
carry_forwarded_leaves = 0
|
||||||
@@ -214,7 +215,7 @@ def get_allocated_and_expired_leaves(
|
|||||||
|
|
||||||
def get_leave_ledger_entries(
|
def get_leave_ledger_entries(
|
||||||
from_date: str, to_date: str, employee: str, leave_type: str
|
from_date: str, to_date: str, employee: str, leave_type: str
|
||||||
) -> list[dict]:
|
) -> List[Dict]:
|
||||||
ledger = frappe.qb.DocType("Leave Ledger Entry")
|
ledger = frappe.qb.DocType("Leave Ledger Entry")
|
||||||
return (
|
return (
|
||||||
frappe.qb.from_(ledger)
|
frappe.qb.from_(ledger)
|
||||||
@@ -243,7 +244,7 @@ def get_leave_ledger_entries(
|
|||||||
).run(as_dict=True)
|
).run(as_dict=True)
|
||||||
|
|
||||||
|
|
||||||
def get_chart_data(data: list, filters: Filters) -> dict:
|
def get_chart_data(data: List, filters: Filters) -> Dict:
|
||||||
labels = []
|
labels = []
|
||||||
datasets = []
|
datasets = []
|
||||||
employee_data = data
|
employee_data = data
|
||||||
@@ -263,7 +264,7 @@ def get_chart_data(data: list, filters: Filters) -> dict:
|
|||||||
return chart
|
return chart
|
||||||
|
|
||||||
|
|
||||||
def get_dataset_for_chart(employee_data: list, datasets: list, labels: list) -> list:
|
def get_dataset_for_chart(employee_data: List, datasets: List, labels: List) -> List:
|
||||||
leaves = []
|
leaves = []
|
||||||
employee_data = sorted(employee_data, key=lambda k: k["employee_name"])
|
employee_data = sorted(employee_data, key=lambda k: k["employee_name"])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user