mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-29 19:55:41 +00:00
Merge pull request #53224 from diptanilsaha/missed_ta
This commit is contained in:
@@ -1154,7 +1154,7 @@ def get_irequests_of_payment_request(doc: str | None = None) -> list:
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_available_payment_schedules(reference_doctype, reference_name):
|
||||
def get_available_payment_schedules(reference_doctype: str, reference_name: str):
|
||||
ref_doc = frappe.get_doc(reference_doctype, reference_name)
|
||||
|
||||
if not hasattr(ref_doc, "payment_schedule") or not ref_doc.payment_schedule:
|
||||
|
||||
@@ -7,6 +7,7 @@ import math
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.model.document import Document
|
||||
from frappe.query_builder.functions import IfNull, Sum
|
||||
from frappe.utils import (
|
||||
cint,
|
||||
@@ -986,7 +987,7 @@ class Asset(AccountsController):
|
||||
return False
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_depreciation_rate(self, args, on_validate=False):
|
||||
def get_depreciation_rate(self, args: str | dict | Document, on_validate: bool = False):
|
||||
if isinstance(args, str):
|
||||
args = json.loads(args)
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ def update_asset_maintenance_log_status():
|
||||
|
||||
@frappe.whitelist()
|
||||
@frappe.validate_and_sanitize_search_inputs
|
||||
def get_maintenance_tasks(doctype, txt, searchfield, start, page_len, filters):
|
||||
def get_maintenance_tasks(doctype: str, txt: str, searchfield: str, start: int, page_len: int, filters: dict):
|
||||
asset_maintenance_tasks = frappe.db.get_values(
|
||||
"Asset Maintenance Task", {"parent": filters.get("asset_maintenance")}, "maintenance_task"
|
||||
)
|
||||
|
||||
@@ -2130,7 +2130,7 @@ def make_stock_reservation_entries(
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def cancel_stock_reservation_entries(doc, sre_list):
|
||||
def cancel_stock_reservation_entries(doc: str | dict, sre_list: str | list):
|
||||
if isinstance(doc, str):
|
||||
doc = parse_json(doc)
|
||||
doc = frappe.get_doc("Work Order", doc.get("name"))
|
||||
|
||||
@@ -101,7 +101,7 @@ class ProductBundle(Document):
|
||||
|
||||
@frappe.whitelist()
|
||||
@frappe.validate_and_sanitize_search_inputs
|
||||
def get_new_item_code(doctype, txt, searchfield, start, page_len, filters):
|
||||
def get_new_item_code(doctype: str, txt: str, searchfield: str, start: int, page_len: int, filters: dict):
|
||||
product_bundles = frappe.db.get_list("Product Bundle", {"disabled": 0}, pluck="name")
|
||||
|
||||
if not searchfield or searchfield == "name":
|
||||
|
||||
@@ -54,7 +54,7 @@ def get_leaderboards():
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_all_customers(date_range, company, field, limit=None):
|
||||
def get_all_customers(date_range: str, company: str, field: str, limit: int | None = None):
|
||||
filters = [["docstatus", "=", "1"], ["company", "=", company]]
|
||||
from_date, to_date = parse_date_range(date_range)
|
||||
if field == "outstanding_amount":
|
||||
@@ -89,7 +89,7 @@ def get_all_customers(date_range, company, field, limit=None):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_all_items(date_range, company, field, limit=None):
|
||||
def get_all_items(date_range: str, company: str, field: str, limit: int | None = None):
|
||||
if field in ("available_stock_qty", "available_stock_value"):
|
||||
sum_field = "actual_qty" if field == "available_stock_qty" else "stock_value"
|
||||
results = frappe.db.get_all(
|
||||
@@ -135,7 +135,7 @@ def get_all_items(date_range, company, field, limit=None):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_all_suppliers(date_range, company, field, limit=None):
|
||||
def get_all_suppliers(date_range: str, company: str, field: str, limit: int | None = None):
|
||||
filters = [["docstatus", "=", "1"], ["company", "=", company]]
|
||||
from_date, to_date = parse_date_range(date_range)
|
||||
|
||||
@@ -171,7 +171,7 @@ def get_all_suppliers(date_range, company, field, limit=None):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_all_sales_partner(date_range, company, field, limit=None):
|
||||
def get_all_sales_partner(date_range: str, company: str, field: str, limit: int | None = None):
|
||||
if field == "total_sales_amount":
|
||||
select_field = "base_net_total"
|
||||
elif field == "total_commission":
|
||||
@@ -196,7 +196,7 @@ def get_all_sales_partner(date_range, company, field, limit=None):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_all_sales_person(date_range, company, field=None, limit=0):
|
||||
def get_all_sales_person(date_range: str, company: str, field: str | None = None, limit: int | None = None):
|
||||
filters = [
|
||||
["docstatus", "=", "1"],
|
||||
["company", "=", company],
|
||||
|
||||
@@ -191,7 +191,7 @@ def auto_fetch_serial_number(
|
||||
posting_date: str | None = None,
|
||||
batch_nos: str | list[str] | None = None,
|
||||
for_doctype: str | None = None,
|
||||
exclude_sr_nos=None,
|
||||
exclude_sr_nos: str | None = None,
|
||||
) -> list[str]:
|
||||
filters = frappe._dict({"item_code": item_code, "warehouse": warehouse})
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ class Issue(Document):
|
||||
communication.save()
|
||||
|
||||
@frappe.whitelist()
|
||||
def split_issue(self, subject, communication_id):
|
||||
def split_issue(self, subject: str, communication_id: str):
|
||||
# Bug: Pressing enter doesn't send subject
|
||||
from copy import deepcopy
|
||||
|
||||
|
||||
@@ -427,7 +427,7 @@ def get_customer_territory(customer):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_service_level_agreement_filters(doctype, name, customer=None):
|
||||
def get_service_level_agreement_filters(doctype: str, name: str, customer: str | None = None):
|
||||
if not frappe.db.get_single_value("Support Settings", "track_service_level_agreement"):
|
||||
return
|
||||
|
||||
@@ -780,7 +780,7 @@ def get_response_and_resolution_duration(doc):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def reset_service_level_agreement(doctype: str, docname: str, reason, user):
|
||||
def reset_service_level_agreement(doctype: str, docname: str, reason: str, user: str):
|
||||
if not frappe.db.get_single_value("Support Settings", "allow_resetting_service_level_agreement"):
|
||||
frappe.throw(_("Allow Resetting Service Level Agreement from Support Settings."))
|
||||
|
||||
@@ -1034,7 +1034,7 @@ def get_tz(user):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_user_time(user, to_string=False):
|
||||
def get_user_time(user: str, to_string: bool = False):
|
||||
return get_datetime_str(now_datetime(user)) if to_string else now_datetime(user)
|
||||
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ class CallLog(Document):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def add_call_summary_and_call_type(call_log, summary, call_type):
|
||||
def add_call_summary_and_call_type(call_log: str, summary: str, call_type: str):
|
||||
doc = frappe.get_doc("Call Log", call_log)
|
||||
doc.type_of_call = call_type
|
||||
doc.save()
|
||||
|
||||
@@ -65,7 +65,7 @@ def get_tasks(project, start=0, search=None, item_status=None):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_task_html(project, start=0, item_status=None):
|
||||
def get_task_html(project: str, start: int = 0, item_status: str | None = None):
|
||||
return frappe.render_template(
|
||||
"erpnext/templates/includes/projects/project_tasks.html",
|
||||
{
|
||||
@@ -105,7 +105,7 @@ def get_timesheets(project, start=0, search=None):
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_timesheet_html(project, start=0):
|
||||
def get_timesheet_html(project: str, start: int = 0):
|
||||
return frappe.render_template(
|
||||
"erpnext/templates/includes/projects/project_timesheets.html",
|
||||
{"doc": {"timesheets": get_timesheets(project, start)}},
|
||||
|
||||
@@ -23,7 +23,7 @@ def get_context(context):
|
||||
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def get_help_results_sections(text):
|
||||
def get_help_results_sections(text: str):
|
||||
out = []
|
||||
settings = frappe.get_doc("Support Settings", "Support Settings")
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ from frappe.utils import escape_html
|
||||
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def send_message(sender, message, subject="Website Query"):
|
||||
def send_message(sender: str, message: str, subject: str = "Website Query"):
|
||||
from frappe.www.contact import send_message as website_send_message
|
||||
|
||||
website_send_message(sender, message, subject)
|
||||
|
||||
@@ -42,7 +42,7 @@ def get_timezones():
|
||||
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def get_appointment_slots(date, timezone):
|
||||
def get_appointment_slots(date: str, timezone: str):
|
||||
# Convert query to local timezones
|
||||
format_string = "%Y-%m-%d %H:%M:%S"
|
||||
query_start_time = datetime.datetime.strptime(date + " 00:00:00", format_string)
|
||||
@@ -92,7 +92,7 @@ def get_available_slots_between(query_start_time, query_end_time, settings):
|
||||
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def create_appointment(date, time, tz, contact):
|
||||
def create_appointment(date: str, time: str, tz: str, contact: str):
|
||||
format_string = "%Y-%m-%d %H:%M:%S"
|
||||
scheduled_time = datetime.datetime.strptime(date + " " + time, format_string)
|
||||
# Strip tzinfo from datetime objects since it's handled by the doctype
|
||||
|
||||
Reference in New Issue
Block a user