add check field for subscription invoices if they should be submitted automatically

This commit is contained in:
Meike Nedwidek 2021-04-19 15:28:37 +02:00
parent b77793763a
commit ebbcc90d89
2 changed files with 45 additions and 104 deletions

View File

@ -36,6 +36,7 @@
"additional_discount_percentage", "additional_discount_percentage",
"additional_discount_amount", "additional_discount_amount",
"sb_3", "sb_3",
"submit_invoice",
"invoices", "invoices",
"accounting_dimensions_section", "accounting_dimensions_section",
"cost_center", "cost_center",
@ -45,9 +46,7 @@
{ {
"allow_on_submit": 1, "allow_on_submit": 1,
"fieldname": "cb_1", "fieldname": "cb_1",
"fieldtype": "Column Break", "fieldtype": "Column Break"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "status", "fieldname": "status",
@ -55,97 +54,73 @@
"label": "Status", "label": "Status",
"no_copy": 1, "no_copy": 1,
"options": "\nTrialling\nActive\nPast Due Date\nCancelled\nUnpaid\nCompleted", "options": "\nTrialling\nActive\nPast Due Date\nCancelled\nUnpaid\nCompleted",
"read_only": 1, "read_only": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "subscription_period", "fieldname": "subscription_period",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Subscription Period", "label": "Subscription Period"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "cancelation_date", "fieldname": "cancelation_date",
"fieldtype": "Date", "fieldtype": "Date",
"label": "Cancelation Date", "label": "Cancelation Date",
"read_only": 1, "read_only": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"allow_on_submit": 1, "allow_on_submit": 1,
"fieldname": "trial_period_start", "fieldname": "trial_period_start",
"fieldtype": "Date", "fieldtype": "Date",
"label": "Trial Period Start Date", "label": "Trial Period Start Date",
"set_only_once": 1, "set_only_once": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"depends_on": "eval:doc.trial_period_start", "depends_on": "eval:doc.trial_period_start",
"fieldname": "trial_period_end", "fieldname": "trial_period_end",
"fieldtype": "Date", "fieldtype": "Date",
"label": "Trial Period End Date", "label": "Trial Period End Date",
"set_only_once": 1, "set_only_once": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "column_break_11", "fieldname": "column_break_11",
"fieldtype": "Column Break", "fieldtype": "Column Break"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "current_invoice_start", "fieldname": "current_invoice_start",
"fieldtype": "Date", "fieldtype": "Date",
"label": "Current Invoice Start Date", "label": "Current Invoice Start Date",
"read_only": 1, "read_only": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "current_invoice_end", "fieldname": "current_invoice_end",
"fieldtype": "Date", "fieldtype": "Date",
"label": "Current Invoice End Date", "label": "Current Invoice End Date",
"read_only": 1, "read_only": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"default": "0", "default": "0",
"description": "Number of days that the subscriber has to pay invoices generated by this subscription", "description": "Number of days that the subscriber has to pay invoices generated by this subscription",
"fieldname": "days_until_due", "fieldname": "days_until_due",
"fieldtype": "Int", "fieldtype": "Int",
"label": "Days Until Due", "label": "Days Until Due"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"default": "0", "default": "0",
"fieldname": "cancel_at_period_end", "fieldname": "cancel_at_period_end",
"fieldtype": "Check", "fieldtype": "Check",
"label": "Cancel At End Of Period", "label": "Cancel At End Of Period"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"default": "0", "default": "0",
"fieldname": "generate_invoice_at_period_start", "fieldname": "generate_invoice_at_period_start",
"fieldtype": "Check", "fieldtype": "Check",
"label": "Generate Invoice At Beginning Of Period", "label": "Generate Invoice At Beginning Of Period"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"allow_on_submit": 1, "allow_on_submit": 1,
"fieldname": "sb_4", "fieldname": "sb_4",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Plans", "label": "Plans"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"allow_on_submit": 1, "allow_on_submit": 1,
@ -153,84 +128,62 @@
"fieldtype": "Table", "fieldtype": "Table",
"label": "Plans", "label": "Plans",
"options": "Subscription Plan Detail", "options": "Subscription Plan Detail",
"reqd": 1, "reqd": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"depends_on": "eval:['Customer', 'Supplier'].includes(doc.party_type)", "depends_on": "eval:['Customer', 'Supplier'].includes(doc.party_type)",
"fieldname": "sb_1", "fieldname": "sb_1",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Taxes", "label": "Taxes"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "sb_2", "fieldname": "sb_2",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Discounts", "label": "Discounts"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "apply_additional_discount", "fieldname": "apply_additional_discount",
"fieldtype": "Select", "fieldtype": "Select",
"label": "Apply Additional Discount On", "label": "Apply Additional Discount On",
"options": "\nGrand Total\nNet Total", "options": "\nGrand Total\nNet Total"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "cb_2", "fieldname": "cb_2",
"fieldtype": "Column Break", "fieldtype": "Column Break"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "additional_discount_percentage", "fieldname": "additional_discount_percentage",
"fieldtype": "Percent", "fieldtype": "Percent",
"label": "Additional DIscount Percentage", "label": "Additional DIscount Percentage"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"collapsible": 1, "collapsible": 1,
"fieldname": "additional_discount_amount", "fieldname": "additional_discount_amount",
"fieldtype": "Currency", "fieldtype": "Currency",
"label": "Additional DIscount Amount", "label": "Additional DIscount Amount"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"depends_on": "eval:doc.invoices", "depends_on": "eval:doc.invoices",
"fieldname": "sb_3", "fieldname": "sb_3",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Invoices", "label": "Invoices"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"collapsible": 1, "collapsible": 1,
"fieldname": "invoices", "fieldname": "invoices",
"fieldtype": "Table", "fieldtype": "Table",
"label": "Invoices", "label": "Invoices",
"options": "Subscription Invoice", "options": "Subscription Invoice"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"collapsible": 1, "collapsible": 1,
"fieldname": "accounting_dimensions_section", "fieldname": "accounting_dimensions_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Accounting Dimensions", "label": "Accounting Dimensions"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "dimension_col_break", "fieldname": "dimension_col_break",
"fieldtype": "Column Break", "fieldtype": "Column Break"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "party_type", "fieldname": "party_type",
@ -238,9 +191,7 @@
"label": "Party Type", "label": "Party Type",
"options": "DocType", "options": "DocType",
"reqd": 1, "reqd": 1,
"set_only_once": 1, "set_only_once": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "party", "fieldname": "party",
@ -249,27 +200,21 @@
"label": "Party", "label": "Party",
"options": "party_type", "options": "party_type",
"reqd": 1, "reqd": 1,
"set_only_once": 1, "set_only_once": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"depends_on": "eval:doc.party_type === 'Customer'", "depends_on": "eval:doc.party_type === 'Customer'",
"fieldname": "sales_tax_template", "fieldname": "sales_tax_template",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Sales Taxes and Charges Template", "label": "Sales Taxes and Charges Template",
"options": "Sales Taxes and Charges Template", "options": "Sales Taxes and Charges Template"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"depends_on": "eval:doc.party_type === 'Supplier'", "depends_on": "eval:doc.party_type === 'Supplier'",
"fieldname": "purchase_tax_template", "fieldname": "purchase_tax_template",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Purchase Taxes and Charges Template", "label": "Purchase Taxes and Charges Template",
"options": "Purchase Taxes and Charges Template", "options": "Purchase Taxes and Charges Template"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"default": "0", "default": "0",
@ -277,55 +222,49 @@
"fieldname": "follow_calendar_months", "fieldname": "follow_calendar_months",
"fieldtype": "Check", "fieldtype": "Check",
"label": "Follow Calendar Months", "label": "Follow Calendar Months",
"set_only_once": 1, "set_only_once": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"default": "0", "default": "0",
"description": "New invoices will be generated as per schedule even if current invoices are unpaid or past due date", "description": "New invoices will be generated as per schedule even if current invoices are unpaid or past due date",
"fieldname": "generate_new_invoices_past_due_date", "fieldname": "generate_new_invoices_past_due_date",
"fieldtype": "Check", "fieldtype": "Check",
"label": "Generate New Invoices Past Due Date", "label": "Generate New Invoices Past Due Date"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "end_date", "fieldname": "end_date",
"fieldtype": "Date", "fieldtype": "Date",
"label": "Subscription End Date", "label": "Subscription End Date",
"set_only_once": 1, "set_only_once": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "start_date", "fieldname": "start_date",
"fieldtype": "Date", "fieldtype": "Date",
"label": "Subscription Start Date", "label": "Subscription Start Date",
"set_only_once": 1, "set_only_once": 1
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "cost_center", "fieldname": "cost_center",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Cost Center", "label": "Cost Center",
"options": "Cost Center", "options": "Cost Center"
"show_days": 1,
"show_seconds": 1
}, },
{ {
"fieldname": "company", "fieldname": "company",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Company", "label": "Company",
"options": "Company", "options": "Company"
"show_days": 1, },
"show_seconds": 1 {
"default": "1",
"fieldname": "submit_invoice",
"fieldtype": "Check",
"label": "Submit Invoice Automatically"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,
"links": [], "links": [],
"modified": "2021-02-09 15:44:20.024789", "modified": "2021-04-19 15:24:27.550797",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "Subscription", "name": "Subscription",

View File

@ -383,7 +383,9 @@ class Subscription(Document):
invoice.flags.ignore_mandatory = True invoice.flags.ignore_mandatory = True
invoice.save() invoice.save()
invoice.submit()
if self.submit_invoice == 1:
invoice.submit()
return invoice return invoice