diff --git a/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.js b/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.js index 9ae0979..8b21a14 100644 --- a/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.js +++ b/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.js @@ -56,67 +56,10 @@ frappe.ui.form.on('Kilometer Mapping', { }, validate: function (frm) { - // //custom button - // frm.add_custom_button(__("Duplicate Data"), function () { - // let d = new frappe.ui.Dialog({ - // title: 'Choose the variant', - // fields: [ - // { - // label: 'Variant', - // fieldname: 'variant', - // fieldtype: 'Link', - // options: "Kilometer Mapping" - // }, - // { - // label: '', - // fieldname: 'content_html', - // fieldtype: 'HTML', - // }, - // ], - // size: 'small', - // secondary_action_label: "No", - // primary_action_label: 'Yes', - // primary_action(values) { - // console.log(values); - // if (values) { - - // if (frm.doc.config_kilometer && frm.doc.config_kilometer.length > 0) { - // cur_frm.clear_table("config_kilometer"); - // cur_frm.refresh_fields('config_kilometer'); - // } - // cur_frm.refresh_fields("config_kilometer"); - // frappe.call({ - // "method": "smart_service.transactions.doctype.kilometer_mapping.kilometer_mapping.get_config_kilometer", - // "args": { - // "doc": values.variant, - // "docname": frm.doc.name - // }, - // callback: function (r) { - // if (r.message && r.message.length > 0) { - // cur_frm.refresh_fields("config_kilometer"); - // frm.save() - // frm.refresh() - // } - // } - // }) - // d.hide(); - - // } - - - // }, - // secondary_action(values) { - // d.hide(); - // } - // }); - - // d.show(); - // var res = $(d.fields_dict.content_html.wrapper).empty(); - // var ret = "

Upload the Kilometer

" - // res.append(ret) - // }).css({ "color": "#fff", "background-color": "red" });; - // //end - + if (frm.doc.__unsaved == 1){ + frm.doc.workflow_state = "Draft"; + } + frm.doc.kilometer_filter = "All"; if (frm.doc.kilometer_filter == "All") { frm.get_field('config_kilometer').grid.static_rows = false; @@ -129,63 +72,61 @@ frappe.ui.form.on('Kilometer Mapping', { }, refresh: function (frm) { - //custom button - // frm.add_custom_button(__("Duplicate Data"), function () { - // let d = new frappe.ui.Dialog({ - // title: 'Choose the variant', - // fields: [ - // { - // label: 'Kilometer Mapping', - // fieldname: 'variant', - // fieldtype: 'Link', - // options: "Kilometer Mapping", - // reqd: 1 - // } - // ], - // size: 'small', - // secondary_action_label: "No", - // primary_action_label: 'Yes', - // primary_action(values) { - // console.log(values.variant); - // if (values.variant) { - // console.log("calling") - // cur_frm.refresh_fields("config_kilometer"); - // frappe.call({ - // "method": "smart_service.transactions.doctype.kilometer_mapping.kilometer_mapping.get_config_kilometer", - // "args": { - // "doc": values.variant, - // "docname": frm.doc.name - // }, - // callback: function (r) { - // if (r.message && r.message.length > 0) { - // cur_frm.refresh_fields("config_kilometer"); - // frm.save() - // frm.refresh() - // } - // } - // }) - // d.hide(); - // } - // else { - // d.hide() - // } - // }, - // secondary_action(values) { - // d.hide(); - // } - // }); + //custom duplicate button + frm.add_custom_button(__("Duplicate Data"), function () { + let d = new frappe.ui.Dialog({ + title: 'Choose the variant', + fields: [ + { + label: 'Kilometer Mapping', + fieldname: 'variant', + fieldtype: 'Link', + options: "Kilometer Mapping", + reqd: 1 + } + ], + size: 'small', + secondary_action_label: "No", + primary_action_label: 'Yes', + primary_action(values) { + if (values.variant) { + cur_frm.refresh_fields("config_kilometer"); + frappe.call({ + "method": "smart_service.transactions.doctype.kilometer_mapping.kilometer_mapping.get_config_kilometer", + "args": { + "doc": values.variant, + "docname": frm.doc.name + }, + callback: function (r) { + if (r.message && r.message['status'] == "success") { + cur_frm.refresh_fields("config_kilometer"); + frm.save() - // d.show(); - // setTimeout(function mysam() { - // console.log("jiiii", $('.modal-dialog').find('.custom-actions').html('

Are you sure to update the kilometer mapping?

')) - // $('.modal-dialog').find('.custom-actions').html('

Are you sure to update the kilometer mapping?

') - // } - // , 300); + frappe.show_alert({ + message: __('Saved'), + indicator: 'green' + }, 5); + cur_frm.reload_doc(); + } + } + }) + d.hide(); + } + else { + d.hide() + } + }, + secondary_action(values) { + d.hide(); + } + }); - // // var res = $(d.fields_dict.content_html.wrapper).empty(); - // // var ret="

Are you sure to update the kilometer mapping ?

" - // // res.append(ret) - // }).css({ "color": "#fff", "background-color": "red" });; + d.show(); + setTimeout(function mysam() { + $('.modal-dialog').find('.custom-actions').html('

Are you sure to update the kilometer mapping?

') + } + , 300); + }).css({ "color": "#fff", "background-color": "red" });; //end if (frm.doc.kilometer_filter == "All") { diff --git a/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.json b/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.json index aaaccf9..de41ddd 100644 --- a/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.json +++ b/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.json @@ -128,12 +128,14 @@ { "fieldname": "sub_system_filter", "fieldtype": "Select", + "hidden": 1, "label": "Sub System", "read_only_depends_on": "eval:doc.kilometer_filter == \"All\"" }, { "fieldname": "column_break_14", - "fieldtype": "Column Break" + "fieldtype": "Column Break", + "hidden": 1 }, { "fieldname": "section_break_16", @@ -142,6 +144,7 @@ { "fieldname": "kilometer_filter", "fieldtype": "Select", + "hidden": 1, "label": "Kilometer" }, { @@ -175,7 +178,7 @@ ], "index_web_pages_for_search": 1, "links": [], - "modified": "2023-11-08 18:59:09.017588", + "modified": "2023-11-10 10:47:32.084847", "modified_by": "Administrator", "module": "Transactions", "name": "Kilometer Mapping", diff --git a/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.py b/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.py index 951f168..ed8a53e 100644 --- a/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.py +++ b/smart_service/transactions/doctype/kilometer_mapping/kilometer_mapping.py @@ -4,8 +4,9 @@ import frappe from frappe.model.document import Document import sys +from frappe import _ sys.tracebacklimit=0 - +current_db_name = frappe.conf.get("db_name") class KilometerMapping(Document): def onload(self): ###Kilometer mapping config table idx allignment @@ -14,10 +15,9 @@ class KilometerMapping(Document): for x in self.get("config_kilometer"): idx += 1 x.idx = idx - @frappe.whitelist() def get_system(doc): - current_db_name = frappe.conf.get("db_name") + system_map = frappe.db.sql("""select name from {0}.`tabSystem Mapping` where variant_mapping='{1}'""".format(current_db_name,doc),as_dict=True) if system_map: for s in system_map: @@ -36,8 +36,24 @@ def get_subsystem(doc): return sub_system - - +@frappe.whitelist() +def update_duplicate_km(doc,kilometer): + + km = frappe.get_doc("Kilometer Mapping",doc) + output = frappe.db.sql("""select kilometer,mat,sub_systems,row_name from `tabKilometer Mapping_Items` where parent = '{0}' and kilometer = '{1}' order by kilometer""".format(doc,kilometer),as_dict=True) + # frappe.msgprint(str(output)) + for data in output: + # frappe.msgprint(str(data['mat'])) + km.append('duplicate_kilometer_mapping_items', { + 'kilometer': data['kilometer'], + 'mat': data['mat'], + 'sub_systems': data['sub_systems'], + 'row_name': data['row_name'] + }) + km.save(ignore_permissions=True) + + + @frappe.whitelist() def get_config_kilometer(doc,docname): res = frappe.db.sql(f"""select kilometer,mat,sub_systems,applicable,row_name from `tabKilometer Mapping_Items` where parent='{doc}'""",as_dict=1) @@ -50,3 +66,13 @@ def get_config_kilometer(doc,docname): frappe.db.commit() return {"status":"success"} + +# @frappe.whitelist() +# def km_filter(parent = None , record = None, km = None): +# if record == "All": +# km_filters = frappe.db.sql(f"""select * from `tabKilometer Mapping_Items` where parent ="{parent}" order by length(kilometer),kilometer;""",as_dict = 1) + +# else: +# km_filters =frappe.db.sql(f"""select * from `tabKilometer Mapping_Items` where parent ="{parent}" and kilometer ="{km}" order by length(kilometer),kilometer """,as_dict = 1) + +# return km_filters \ No newline at end of file diff --git a/smart_service/transactions/doctype/system_mapping/system_mapping.js b/smart_service/transactions/doctype/system_mapping/system_mapping.js index b513a0c..d05c5b8 100644 --- a/smart_service/transactions/doctype/system_mapping/system_mapping.js +++ b/smart_service/transactions/doctype/system_mapping/system_mapping.js @@ -66,7 +66,7 @@ frappe.ui.form.on('System Mapping', { if (frm.is_new()) { if (frm.doc.variant_mapping) var km_doc_name = frm.doc.variant_mapping + "-" + frm.doc.language + "-KM"; - frappe.db.exists('System Mapping', frm.doc.variant_mapping + "-" + frm.doc.language + "-SM") + frappe.db.exists('System Mapping', frm.doc.variant_mapping + "-" + frm.doc.language + "-SM") .then(smexists => { if (smexists) { frm.doc.variant_mapping = ''; @@ -117,7 +117,7 @@ frappe.ui.form.on('System Mapping', { }); }, onload_post_render: function (frm) { - frm.fields_dict.system_sub_systems.grid.grid_rows.forEach((row) => { + frm.fields_dict.system_sub_systems.grid.grid_rows.forEach((row) => { if (row.doc.procedure_status == "Publish Ready") { $("div[data-fieldname=system_sub_systems]").find('div.grid-row[data-idx="' + row.doc.idx + '"]').find('div.col[data-fieldname="procedure_status"]').css({ 'background-color': '#ffc3c3' }); } else if (row.doc.procedure_status == "Published") { @@ -175,7 +175,7 @@ frappe.ui.form.on('System Mapping', { }); } }, - special_character: function(frm){ + special_character: function (frm) { var regex = /[!@#$%^&*()_+\=\[\]{};'`~:"\\|,.<>\/?]+/; for (var i = 0; i < cur_frm.doc.system_sub_systems.length; i++) { if (regex.test(cur_frm.doc.system_sub_systems[i].rts) === true) { @@ -447,9 +447,10 @@ frappe.ui.form.on('System Mapping_Sub System', { symptom: function (frm, cdt, cdn) { fn_updateProceduteStatus(frm, cdt, cdn) }, component: function (frm, cdt, cdn) { fn_updateProceduteStatus(frm, cdt, cdn) }, estimate_time: function (frm, cdt, cdn) { fn_updateProceduteStatus(frm, cdt, cdn) }, - rts: function (frm, cdt, cdn) { + rts: function (frm, cdt, cdn) { frm.trigger('special_character'); - fn_updateProceduteStatus(frm, cdt, cdn) }, + fn_updateProceduteStatus(frm, cdt, cdn) + }, cover_image: function (frm, cdt, cdn) { fn_updateProceduteStatus(frm, cdt, cdn) }, mat: function (frm, cdt, cdn) { var res_mat = []; @@ -645,7 +646,7 @@ frappe.ui.form.on('System Mapping_System Assets', { if (child.active_status == "Active") { child.remarks = ''; cur_frm.refresh_fields(); - + frappe.msgprint("Remarks should not allow for Active status") console.error = function () { }; } diff --git a/smart_service/transactions/doctype/system_mapping/system_mapping.json b/smart_service/transactions/doctype/system_mapping/system_mapping.json index 9edf395..67a7f81 100644 --- a/smart_service/transactions/doctype/system_mapping/system_mapping.json +++ b/smart_service/transactions/doctype/system_mapping/system_mapping.json @@ -27,7 +27,8 @@ "config_system_level_section", "system_filter", "system_sub_systems", - "systems_assets" + "systems_assets", + "loader" ], "fields": [ { @@ -135,6 +136,7 @@ { "fieldname": "system_filter", "fieldtype": "Select", + "hidden": 1, "label": "System Filter" }, { @@ -168,11 +170,16 @@ "label": "Vehicle", "options": "Vehicle", "read_only": 1 + }, + { + "fieldname": "loader", + "fieldtype": "HTML", + "label": "Loader" } ], "index_web_pages_for_search": 1, "links": [], - "modified": "2022-05-31 12:01:37.798339", + "modified": "2023-11-10 10:46:28.132993", "modified_by": "Administrator", "module": "Transactions", "name": "System Mapping",