예제 #1
0
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)
예제 #7
0
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)