def execute(): frappe.reload_doc('projects', 'doctype', 'timesheet') for data in frappe.get_all('Time Log', fields=["*"], filters=[["docstatus", "<", "2"]]): if data.task: company = frappe.db.get_value("Task", data.task, "company") elif data.production_order: company = frappe.db.get_value("Prodction Order", data.production_order, "company") else: company = frappe.db.get_single_value('Global Defaults', 'default_company') time_sheet = make_timesheet(data.production_order) args = get_timelog_data(data) add_timesheet_detail(time_sheet, args) time_sheet.note = data.note time_sheet.company = company time_sheet.set_status() time_sheet.update_cost() time_sheet.calculate_total_amounts() time_sheet.flags.ignore_validate = True time_sheet.save(ignore_permissions=True) # To ignore validate_mandatory_fields function if data.docstatus == 1: time_sheet.db_set("docstatus", 1) for d in time_sheet.get("time_logs"): d.db_set("docstatus", 1) time_sheet.update_production_order(time_sheet.name) time_sheet.update_task_and_project()
def execute(): frappe.reload_doc('projects', 'doctype', 'timesheet') if not frappe.db.table_exists("Time Log"): return for data in frappe.db.sql("select * from `tabTime Log` where docstatus < 2", as_dict=1): if data.task: company = frappe.db.get_value("Task", data.task, "company") elif data.production_order: company = frappe.db.get_value("Prodction Order", data.production_order, "company") else: company = frappe.db.get_single_value('Global Defaults', 'default_company') time_sheet = make_timesheet(data.production_order) args = get_timelog_data(data) add_timesheet_detail(time_sheet, args) time_sheet.employee = data.employee time_sheet.note = data.note time_sheet.company = company time_sheet.set_status() time_sheet.set_dates() time_sheet.update_cost() time_sheet.calculate_total_amounts() time_sheet.flags.ignore_validate = True time_sheet.save(ignore_permissions=True) # To ignore validate_mandatory_fields function if data.docstatus == 1: time_sheet.db_set("docstatus", 1) for d in time_sheet.get("time_logs"): d.db_set("docstatus", 1) time_sheet.update_production_order(time_sheet.name) time_sheet.update_task_and_project()
def execute(): frappe.reload_doc('projects', 'doctype', 'timesheet') for data in frappe.get_all('Time Log', fields=["*"], filters = [["docstatus", "<", "2"]]): time_sheet = make_timesheet(data.production_order) args = get_timelog_data(data) add_timesheet_detail(time_sheet, args) time_sheet.docstatus = data.docstatus time_sheet.note = data.note time_sheet.company = frappe.db.get_single_value('Global Defaults', 'default_company') time_sheet.save(ignore_permissions=True)
def execute(): frappe.reload_doc('projects', 'doctype', 'timesheet') for data in frappe.get_all('Time Log', fields=["*"], filters=[["docstatus", "<", "2"]]): time_sheet = make_timesheet(data.production_order) args = get_timelog_data(data) add_timesheet_detail(time_sheet, args) time_sheet.docstatus = data.docstatus time_sheet.note = data.note time_sheet.company = frappe.db.get_single_value( 'Global Defaults', 'default_company') time_sheet.save(ignore_permissions=True)
def execute(): for tlb in frappe.get_all('Time Log Batch', fields=["*"], filters = [["docstatus", "<", "2"]]): time_sheet = frappe.new_doc('Timesheet') time_sheet.employee= "" time_sheet.company = frappe.db.get_single_value('Global Defaults', 'default_company') time_sheet.sales_invoice = tlb.sales_invoice for data in frappe.get_all('Time Log Batch Detail', fields=["*"], filters = {'parent': tlb.name}): args = get_timesheet_data(data) add_timesheet_detail(time_sheet, args) time_sheet.docstatus = tlb.docstatus time_sheet.save(ignore_permissions=True)
def execute(): for tlb in frappe.get_all('Time Log Batch', fields=["*"], filters = [["docstatus", "<", "2"]]): time_sheet = frappe.new_doc('Timesheet') time_sheet.employee= "" time_sheet.company = frappe.db.get_single_value('Global Defaults', 'default_company') time_sheet.sales_invoice = tlb.sales_invoice for data in frappe.get_all('Time Log Batch Detail', fields=["*"], filters = {'parent': tlb.name}): args = get_timesheet_data(data) add_timesheet_detail(time_sheet, args) time_sheet.docstatus = tlb.docstatus time_sheet.flags.ignore_links = True time_sheet.save(ignore_permissions=True)
def execute(): frappe.reload_doc('projects', 'doctype', 'task') frappe.reload_doc('projects', 'doctype', 'timesheet') if not frappe.db.table_exists("Time Log"): return for data in frappe.db.sql("select * from `tabTime Log`", as_dict=1): if data.task: company = frappe.db.get_value("Task", data.task, "company") elif data.production_order: company = frappe.db.get_value("Prodction Order", data.production_order, "company") else: company = frappe.db.get_single_value('Global Defaults', 'default_company') time_sheet = make_timesheet(data.production_order, company) args = get_timelog_data(data) add_timesheet_detail(time_sheet, args) if data.docstatus == 2: time_sheet.docstatus = 0 else: time_sheet.docstatus = data.docstatus time_sheet.employee = data.employee time_sheet.note = data.note time_sheet.company = company time_sheet.set_status() time_sheet.set_dates() time_sheet.update_cost() time_sheet.calculate_total_amounts() time_sheet.flags.ignore_validate = True time_sheet.flags.ignore_links = True time_sheet.save(ignore_permissions=True) # To ignore validate_mandatory_fields function if data.docstatus == 1: time_sheet.db_set("docstatus", 1) for d in time_sheet.get("time_logs"): d.db_set("docstatus", 1) time_sheet.update_production_order(time_sheet.name) time_sheet.update_task_and_project() if data.docstatus == 2: time_sheet.db_set("docstatus", 2) for d in time_sheet.get("time_logs"): d.db_set("docstatus", 2)