def check_doctype_restriction(): restricted_docs = [] employee = get_employee_code() max_priority = frappe.db.sql( "select max(priority) as max_priority from `tabEmployee Doctype Restriction`" ) docs = frappe.db.get_values('Employee Doctype Restriction', { 'employee': employee, 'status': 'Open', 'priority': max_priority[0][0] }, 'document_type', as_dict=True) for doc in docs: url = get_url_to_list(doc.document_type) if doc.document_type == "Employee": url = get_url_to_form(doc.document_type, employee) elif doc.document_type == "Employee Verification": # get name of the doc _emp_ver_name = frappe.db.get_value("Employee Verification", {"employee": employee}) if _emp_ver_name: url = get_url_to_form(doc.document_type, _emp_ver_name) restricted_docs.append({"doc": doc.document_type, "url": url}) return restricted_docs
def get_notifications(self): """Get notifications for user""" notifications = frappe.desk.notifications.get_notifications() notifications = sorted(notifications.get("open_count_doctype", {}).items(), lambda a, b: 1 if a[1] < b[1] else -1) notifications = [{"key": n[0], "value": n[1], "link": get_url_to_list(n[0])} for n in notifications if n[1]] return notifications
def get_notifications(self): """Get notifications for user""" notifications = frappe.desk.notifications.get_notifications() notifications = sorted(notifications.get("open_count_doctype", {}).items(), lambda a, b: 1 if a[1] < b[1] else -1) notifications = [{"key": n[0], "value": n[1], "link": get_url_to_list(n[0])} for n in notifications if n[1]] return notifications
def get_data(filters): data = [] # Validate if vat settings exist company = filters.get('company') if frappe.db.exists('KSA VAT Setting', company) is None: url = get_url_to_list('KSA VAT Setting') frappe.msgprint( _('Create <a href="{}">KSA VAT Setting</a> for this company'). format(url)) return data ksa_vat_setting = frappe.get_doc('KSA VAT Setting', company) # Sales Heading append_data(data, 'VAT on Sales', '', '', '') grand_total_taxable_amount = 0 grand_total_taxable_adjustment_amount = 0 grand_total_tax = 0 for vat_setting in ksa_vat_setting.ksa_vat_sales_accounts: total_taxable_amount, total_taxable_adjustment_amount, \ total_tax = get_tax_data_for_each_vat_setting(vat_setting, filters, 'Sales Invoice') # Adding results to data append_data(data, vat_setting.title, total_taxable_amount, total_taxable_adjustment_amount, total_tax) grand_total_taxable_amount += total_taxable_amount grand_total_taxable_adjustment_amount += total_taxable_adjustment_amount grand_total_tax += total_tax # Sales Grand Total append_data(data, 'Grand Total', grand_total_taxable_amount, grand_total_taxable_adjustment_amount, grand_total_tax) # Blank Line append_data(data, '', '', '', '') # Purchase Heading append_data(data, 'VAT on Purchases', '', '', '') grand_total_taxable_amount = 0 grand_total_taxable_adjustment_amount = 0 grand_total_tax = 0 for vat_setting in ksa_vat_setting.ksa_vat_purchase_accounts: total_taxable_amount, total_taxable_adjustment_amount, \ total_tax = get_tax_data_for_each_vat_setting(vat_setting, filters, 'Purchase Invoice') # Adding results to data append_data(data, vat_setting.title, total_taxable_amount, total_taxable_adjustment_amount, total_tax) grand_total_taxable_amount += total_taxable_amount grand_total_taxable_adjustment_amount += total_taxable_adjustment_amount grand_total_tax += total_tax # Purchase Grand Total append_data(data, 'Grand Total', grand_total_taxable_amount, grand_total_taxable_adjustment_amount, grand_total_tax) return data
def get_data(filters): data = [] # Validate if vat settings exist company = filters.get("company") company_currency = frappe.get_cached_value("Company", company, "default_currency") if frappe.db.exists("KSA VAT Setting", company) is None: url = get_url_to_list("KSA VAT Setting") frappe.msgprint(_('Create <a href="{}">KSA VAT Setting</a> for this company').format(url)) return data ksa_vat_setting = frappe.get_doc("KSA VAT Setting", company) # Sales Heading append_data(data, "VAT on Sales", "", "", "", company_currency) grand_total_taxable_amount = 0 grand_total_taxable_adjustment_amount = 0 grand_total_tax = 0 for vat_setting in ksa_vat_setting.ksa_vat_sales_accounts: ( total_taxable_amount, total_taxable_adjustment_amount, total_tax, ) = get_tax_data_for_each_vat_setting(vat_setting, filters, "Sales Invoice") # Adding results to data append_data( data, vat_setting.title, total_taxable_amount, total_taxable_adjustment_amount, total_tax, company_currency, ) grand_total_taxable_amount += total_taxable_amount grand_total_taxable_adjustment_amount += total_taxable_adjustment_amount grand_total_tax += total_tax # Sales Grand Total append_data( data, "Grand Total", grand_total_taxable_amount, grand_total_taxable_adjustment_amount, grand_total_tax, company_currency, ) # Blank Line append_data(data, "", "", "", "", company_currency) # Purchase Heading append_data(data, "VAT on Purchases", "", "", "", company_currency) grand_total_taxable_amount = 0 grand_total_taxable_adjustment_amount = 0 grand_total_tax = 0 for vat_setting in ksa_vat_setting.ksa_vat_purchase_accounts: ( total_taxable_amount, total_taxable_adjustment_amount, total_tax, ) = get_tax_data_for_each_vat_setting(vat_setting, filters, "Purchase Invoice") # Adding results to data append_data( data, vat_setting.title, total_taxable_amount, total_taxable_adjustment_amount, total_tax, company_currency, ) grand_total_taxable_amount += total_taxable_amount grand_total_taxable_adjustment_amount += total_taxable_adjustment_amount grand_total_tax += total_tax # Purchase Grand Total append_data( data, "Grand Total", grand_total_taxable_amount, grand_total_taxable_adjustment_amount, grand_total_tax, company_currency, ) return data