Code cleanup and improvements requested in PR:21404
This commit is contained in:
parent
331bc0c366
commit
84187fb8e9
@ -12,7 +12,6 @@ frappe.ui.form.on("Journal Entry", {
|
||||
|
||||
refresh: function(frm) {
|
||||
erpnext.toggle_naming_series();
|
||||
// frm.cscript.voucher_type(frm.doc);
|
||||
|
||||
if(frm.doc.docstatus==1) {
|
||||
frm.add_custom_button(__('Ledger'), function() {
|
||||
@ -121,37 +120,82 @@ frappe.ui.form.on("Journal Entry", {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
voucher_type: function(frm){
|
||||
frm.toggle_reqd("cheque_no", frm.doc.voucher_type=="Bank Entry");
|
||||
frm.toggle_reqd("cheque_date", frm.doc.voucher_type=="Bank Entry");
|
||||
},
|
||||
from_template: function(frm){
|
||||
var update_jv_details = function(doc, r) {
|
||||
frappe.model.clear_table(frm.doc, "accounts");
|
||||
$.each(r, function(i, d) {
|
||||
var row = frappe.model.add_child(doc, "Journal Entry Account", "accounts");
|
||||
row.account = d.account;
|
||||
row.balance = d.balance;
|
||||
});
|
||||
refresh_field("accounts");
|
||||
|
||||
if(!frm.doc.company) return;
|
||||
if(frm.)
|
||||
|
||||
if((!(frm.doc.accounts || []).length) || ((frm.doc.accounts || []).length==1 && !frm.doc.accounts[0].account)) {
|
||||
if(in_list(["Bank Entry", "Cash Entry"], frm.doc.voucher_type)) {
|
||||
return frappe.call({
|
||||
type: "GET",
|
||||
method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_default_bank_cash_account",
|
||||
args: {
|
||||
"account_type": (frm.doc.voucher_type=="Bank Entry" ?
|
||||
"Bank" : (frm.doc.voucher_type=="Cash Entry" ? "Cash" : null)),
|
||||
"company": frm.doc.company
|
||||
},
|
||||
callback: function(r) {
|
||||
if(r.message) {
|
||||
// If default company bank account not set
|
||||
if(!$.isEmptyObject(r.message)){
|
||||
update_jv_details(frm.doc, [r.message]);
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
else if(frm.doc.voucher_type=="Opening Entry") {
|
||||
return frappe.call({
|
||||
type:"GET",
|
||||
method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_opening_accounts",
|
||||
args: {
|
||||
"company": frm.doc.company
|
||||
},
|
||||
callback: function(r) {
|
||||
frappe.model.clear_table(frm.doc, "accounts");
|
||||
if(r.message) {
|
||||
update_jv_details(frm.doc, r.message);
|
||||
}
|
||||
cur_frm.set_value("is_opening", "Yes")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
from_template: function(frm){
|
||||
if (frm.doc.from_template){
|
||||
frappe.db.get_doc("Journal Entry Template", frm.doc.from_template)
|
||||
.then((doc) => {
|
||||
frm.set_value("company",doc.company);
|
||||
frm.set_value("voucher_type", doc.voucher_type);
|
||||
frm.set_value("naming_series", doc.je_naming_series);
|
||||
frm.set_value("is_opening", doc.is_opening);
|
||||
update_jv_details(frm.doc, doc.accounts);
|
||||
})
|
||||
.catch((err)=>{
|
||||
console.log(err);
|
||||
})
|
||||
.then((doc) => {
|
||||
frappe.model.clear_table(frm.doc, "accounts");
|
||||
frm.set_value({
|
||||
"company": doc.company,
|
||||
"voucher_type": doc.voucher_type,
|
||||
"naming_series": doc.naming_series,
|
||||
"is_opening": doc.is_opening
|
||||
})
|
||||
update_jv_details(frm.doc, doc.accounts);
|
||||
})
|
||||
.catch((err)=>{
|
||||
console.log(err);
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var update_jv_details = function(doc, r) {
|
||||
$.each(r, function(i, d) {
|
||||
var row = frappe.model.add_child(doc, "Journal Entry Account", "accounts");
|
||||
row.account = d.account;
|
||||
row.balance = d.balance;
|
||||
});
|
||||
refresh_field("accounts");
|
||||
}
|
||||
|
||||
erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({
|
||||
onload: function() {
|
||||
this.load_defaults();
|
||||
@ -404,56 +448,6 @@ cur_frm.cscript.select_print_heading = function(doc,cdt,cdn){
|
||||
cur_frm.pformat.print_heading = __("Journal Entry");
|
||||
}
|
||||
|
||||
// cur_frm.cscript.voucher_type = function(doc, cdt, cdn) {
|
||||
// cur_frm.set_df_property("cheque_no", "reqd", doc.voucher_type=="Bank Entry");
|
||||
// cur_frm.set_df_property("cheque_date", "reqd", doc.voucher_type=="Bank Entry");
|
||||
|
||||
// if(!doc.company) return;
|
||||
|
||||
// var update_jv_details = function(doc, r) {
|
||||
// $.each(r, function(i, d) {
|
||||
// var row = frappe.model.add_child(doc, "Journal Entry Account", "accounts");
|
||||
// row.account = d.account;
|
||||
// row.balance = d.balance;
|
||||
// });
|
||||
// refresh_field("accounts");
|
||||
// }
|
||||
|
||||
// if((!(doc.accounts || []).length) || ((doc.accounts || []).length==1 && !doc.accounts[0].account)) {
|
||||
// if(in_list(["Bank Entry", "Cash Entry"], doc.voucher_type)) {
|
||||
// return frappe.call({
|
||||
// type: "GET",
|
||||
// method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_default_bank_cash_account",
|
||||
// args: {
|
||||
// "account_type": (doc.voucher_type=="Bank Entry" ?
|
||||
// "Bank" : (doc.voucher_type=="Cash Entry" ? "Cash" : null)),
|
||||
// "company": doc.company
|
||||
// },
|
||||
// callback: function(r) {
|
||||
// if(r.message) {
|
||||
// update_jv_details(doc, [r.message]);
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// } else if(doc.voucher_type=="Opening Entry") {
|
||||
// return frappe.call({
|
||||
// type:"GET",
|
||||
// method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_opening_accounts",
|
||||
// args: {
|
||||
// "company": doc.company
|
||||
// },
|
||||
// callback: function(r) {
|
||||
// frappe.model.clear_table(doc, "accounts");
|
||||
// if(r.message) {
|
||||
// update_jv_details(doc, r.message);
|
||||
// }
|
||||
// cur_frm.set_value("is_opening", "Yes")
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
frappe.ui.form.on("Journal Entry Account", {
|
||||
party: function(frm, cdt, cdn) {
|
||||
var d = frappe.get_doc(cdt, cdn);
|
||||
|
@ -491,14 +491,17 @@
|
||||
"fieldname": "from_template",
|
||||
"fieldtype": "Link",
|
||||
"label": "From Template",
|
||||
"options": "Journal Entry Template"
|
||||
"no_copy": 1,
|
||||
"options": "Journal Entry Template",
|
||||
"print_hide": 1,
|
||||
"report_hide": 1
|
||||
}
|
||||
],
|
||||
"icon": "fa fa-file-text",
|
||||
"idx": 176,
|
||||
"is_submittable": 1,
|
||||
"links": [],
|
||||
"modified": "2020-04-25 02:02:04.017198",
|
||||
"modified": "2020-04-26 04:48:31.753820",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Journal Entry",
|
||||
|
@ -2,23 +2,26 @@
|
||||
// For license information, please see license.txt
|
||||
|
||||
frappe.ui.form.on("Journal Entry Template", {
|
||||
// refresh: function(frm) {
|
||||
|
||||
// }
|
||||
setup: function(frm) {
|
||||
frm.set_query("account" ,"accounts", () => {
|
||||
return {
|
||||
filters: {
|
||||
"company": frm.doc.company==undefined ? null: frm.doc.company,
|
||||
}
|
||||
frappe.model.set_default_values(frm.doc);
|
||||
frm.set_query("account" ,"accounts", function(){
|
||||
return {
|
||||
filters: {
|
||||
"company": frm.doc.company,
|
||||
}
|
||||
}
|
||||
});
|
||||
frappe.call({
|
||||
type: "GET",
|
||||
method: "erpnext.accounts.doctype.journal_entry_template.journal_entry_template.get_naming_series",
|
||||
callback: function(r){
|
||||
if(r.message){
|
||||
frm.set_df_property("naming_series", "options", r.message.split("\n"));
|
||||
frm.set_value("naming_series", r.message.split("\n")[0]);
|
||||
frm.refresh_field("naming_series");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
onload_post_render: function(frm){
|
||||
// frm.get_field("accounts").grid.set_multiple_add("account");
|
||||
},
|
||||
all_accounts: function(frm) {
|
||||
frm.trigger("clear_child");
|
||||
},
|
||||
voucher_type: function(frm) {
|
||||
var add_accounts = function(doc, r) {
|
||||
@ -28,14 +31,13 @@ frappe.ui.form.on("Journal Entry Template", {
|
||||
});
|
||||
refresh_field("accounts");
|
||||
}
|
||||
|
||||
if(!frm.doc.company) return;
|
||||
|
||||
frm.trigger("clear_child");
|
||||
switch(frm.doc.voucher_type){
|
||||
case "Opening Entry":
|
||||
if(frm.doc.company == undefined){
|
||||
frappe.throw("Please select Company!");
|
||||
}
|
||||
frm.set_value("is_opening", "Yes");
|
||||
|
||||
frappe.call({
|
||||
type:"GET",
|
||||
method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_opening_accounts",
|
||||
@ -61,10 +63,13 @@ frappe.ui.form.on("Journal Entry Template", {
|
||||
},
|
||||
callback: function(r) {
|
||||
if(r.message) {
|
||||
add_accounts(frm.doc, [r.message]);
|
||||
// If default company bank account not set
|
||||
if(!$.isEmptyObject(r.message)){
|
||||
add_accounts(frm.doc, [r.message]);
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
break;
|
||||
default:
|
||||
frm.trigger("clear_child");
|
||||
@ -72,6 +77,6 @@ frappe.ui.form.on("Journal Entry Template", {
|
||||
},
|
||||
clear_child: function(frm){
|
||||
frappe.model.clear_table(frm.doc, "accounts");
|
||||
refresh_field("accounts");
|
||||
frm.refresh_field("accounts");
|
||||
}
|
||||
});
|
||||
});
|
@ -1,18 +1,21 @@
|
||||
{
|
||||
"actions": [],
|
||||
"autoname": "naming_series:",
|
||||
"autoname": "field:template_title",
|
||||
"creation": "2020-04-09 01:32:51.332301",
|
||||
"doctype": "DocType",
|
||||
"document_type": "Document",
|
||||
"editable_grid": 1,
|
||||
"engine": "InnoDB",
|
||||
"field_order": [
|
||||
"section_break_1",
|
||||
"voucher_type",
|
||||
"company",
|
||||
"column_break_3",
|
||||
"je_naming_series",
|
||||
"is_opening",
|
||||
"template_title",
|
||||
"section_break_2",
|
||||
"company",
|
||||
"voucher_type",
|
||||
"column_break_3",
|
||||
"naming_series",
|
||||
"is_opening",
|
||||
"section_break_3",
|
||||
"accounts"
|
||||
],
|
||||
"fields": [
|
||||
@ -32,20 +35,16 @@
|
||||
"fieldname": "company",
|
||||
"fieldtype": "Link",
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 1,
|
||||
"label": "Company",
|
||||
"options": "Company",
|
||||
"remember_last_selected_value": 1,
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_3",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"default": "ACC-JV-.YYYY.-",
|
||||
"fieldname": "je_naming_series",
|
||||
"fieldtype": "Data",
|
||||
"label": "Naming Series"
|
||||
},
|
||||
{
|
||||
"default": "No",
|
||||
"fieldname": "is_opening",
|
||||
@ -61,28 +60,36 @@
|
||||
"fieldname": "accounts",
|
||||
"fieldtype": "Table",
|
||||
"label": "Accounting Entries",
|
||||
"options": "JE Template Account"
|
||||
"options": "Journal Entry Template Account"
|
||||
},
|
||||
{
|
||||
"fieldname": "naming_series",
|
||||
"fieldtype": "Select",
|
||||
"label": "Series",
|
||||
"no_copy": 1,
|
||||
"print_hide": 1,
|
||||
"reqd": 1,
|
||||
"set_only_once": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "template_title",
|
||||
"fieldtype": "Data",
|
||||
"label": "Template Title",
|
||||
"reqd": 1,
|
||||
"unique": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "section_break_3",
|
||||
"fieldtype": "Section Break"
|
||||
}
|
||||
],
|
||||
"links": [],
|
||||
"modified": "2020-04-25 02:14:35.185062",
|
||||
"modified": "2020-04-26 04:29:03.347852",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Journal Entry Template",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
"export": 1,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "System Manager",
|
||||
"share": 1,
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
@ -106,9 +113,20 @@
|
||||
"role": "Accounts Manager",
|
||||
"share": 1,
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"email": 1,
|
||||
"export": 1,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "Auditor",
|
||||
"share": 1
|
||||
}
|
||||
],
|
||||
"search_fields": "voucher_type, company",
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"title_field": "template_title",
|
||||
"track_changes": 1
|
||||
}
|
@ -5,9 +5,10 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
from erpnext.accounts.utils import get_balance_on
|
||||
|
||||
class JournalEntryTemplate(Document):
|
||||
def autoname(self):
|
||||
self.name = self.voucher_type + ' - ' + frappe.get_value('Company', self.company, 'abbr')
|
||||
pass
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_naming_series():
|
||||
return frappe.get_meta("Journal Entry").get_field("naming_series").options
|
||||
|
@ -1,130 +1,52 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_events_in_timeline": 0,
|
||||
"allow_guest_to_view": 0,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"actions": [],
|
||||
"autoname": "Prompt",
|
||||
"beta": 0,
|
||||
"creation": "2019-02-18 17:23:11.708371",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "",
|
||||
"editable_grid": 1,
|
||||
"engine": "InnoDB",
|
||||
"field_order": [
|
||||
"project_type",
|
||||
"tasks"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_in_quick_entry": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "project_type",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Project Type",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Project Type",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
"options": "Project Type"
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_in_quick_entry": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "tasks",
|
||||
"fieldtype": "Table",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Tasks",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Project Template Task",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
"reqd": 1
|
||||
}
|
||||
],
|
||||
"has_web_view": 0,
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"idx": 0,
|
||||
"image_view": 0,
|
||||
"in_create": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2019-02-18 18:01:26.519832",
|
||||
"links": [],
|
||||
"modified": "2020-04-26 02:23:53.990322",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Projects",
|
||||
"name": "Project Template",
|
||||
"name_case": "",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"amend": 0,
|
||||
"cancel": 0,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
"export": 1,
|
||||
"if_owner": 0,
|
||||
"import": 0,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "System Manager",
|
||||
"set_user_permissions": 0,
|
||||
"share": 1,
|
||||
"submit": 0,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"show_name_in_global_search": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"track_changes": 1,
|
||||
"track_seen": 0,
|
||||
"track_views": 0
|
||||
"track_changes": 1
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user