def validate_filters(filters): ''' Validate if dates are properly set and lie in the same fiscal year''' if getdate(filters.from_date) > getdate(filters.to_date): frappe.throw(_("From Date must be before To Date")) from_year = get_fiscal_year(filters.from_date)[0] to_year = get_fiscal_year(filters.to_date)[0] if from_year != to_year: frappe.throw(_("From Date and To Date lie in different Fiscal Year")) filters["fiscal_year"] = from_year
def make_holiday(holiday_list_name): if not frappe.db.exists('Holiday List', holiday_list_name): current_fiscal_year = get_fiscal_year(nowdate(), as_dict=True) dt = getdate(nowdate()) new_year = dt + relativedelta(month=1, day=1, year=dt.year) republic_day = dt + relativedelta(month=1, day=26, year=dt.year) test_holiday = dt + relativedelta(month=2, day=2, year=dt.year) frappe.get_doc({ 'doctype': 'Holiday List', 'from_date': current_fiscal_year.year_start_date, 'to_date': current_fiscal_year.year_end_date, 'holiday_list_name': holiday_list_name, 'holidays': [{ 'holiday_date': new_year, 'description': 'New Year' }, { 'holiday_date': republic_day, 'description': 'Republic Day' }, { 'holiday_date': test_holiday, 'description': 'Test Holiday' }] }).insert() return holiday_list_name
def make_holiday(holiday_list_name): if not frappe.db.exists("Holiday List", holiday_list_name): current_fiscal_year = get_fiscal_year(nowdate(), as_dict=True) dt = getdate(nowdate()) new_year = dt + relativedelta(month=1, day=1, year=dt.year) republic_day = dt + relativedelta(month=1, day=26, year=dt.year) test_holiday = dt + relativedelta(month=2, day=2, year=dt.year) frappe.get_doc({ "doctype": "Holiday List", "from_date": current_fiscal_year.year_start_date, "to_date": current_fiscal_year.year_end_date, "holiday_list_name": holiday_list_name, "holidays": [ { "holiday_date": new_year, "description": "New Year" }, { "holiday_date": republic_day, "description": "Republic Day" }, { "holiday_date": test_holiday, "description": "Test Holiday" }, ], }).insert() return holiday_list_name
def sales_invoice_payment_remainder(): if cint(frappe.db.get_value("Accounts Settings",None,"auto_send_payment_reminder_mails")): # mail on every sunday if getdate().weekday() == 6: frappe.enqueue(send_sales_invoice_mails, queue='long', timeout=8000, job_name='Payment Reminder Mails') return "Payment Reminder Mails Send"