|
@ -4,88 +4,88 @@ |
|
|
var original_display_order = 0; |
|
|
var original_display_order = 0; |
|
|
var vehicle_count = 0; |
|
|
var vehicle_count = 0; |
|
|
frappe.ui.form.on('Vehicle Segment', { |
|
|
frappe.ui.form.on('Vehicle Segment', { |
|
|
onload: function(frm){ |
|
|
onload: function (frm) { |
|
|
frappe.db.count('Vehicle Segment') |
|
|
frappe.db.count('Vehicle Segment') |
|
|
.then(count => { |
|
|
.then(count => { |
|
|
vehicle_count = count + 1; |
|
|
vehicle_count = count + 1; |
|
|
console.log(vehicle_count) |
|
|
console.log(vehicle_count) |
|
|
if (frm.is_new()){ |
|
|
if (frm.is_new()) { |
|
|
frm.set_value("display_order",vehicle_count); |
|
|
frm.set_value("display_order", vehicle_count); |
|
|
} else { |
|
|
} else { |
|
|
original_display_order = frm.doc.display_order; |
|
|
original_display_order = frm.doc.display_order; |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
refresh: function(frm) { |
|
|
refresh: function (frm) { |
|
|
if (frm.is_new()){ |
|
|
if (frm.is_new()) { |
|
|
frm.set_df_property('display_order', 'read_only', 1); |
|
|
frm.set_df_property('display_order', 'read_only', 1); |
|
|
} else { |
|
|
} else { |
|
|
frm.set_df_property('display_order', 'read_only', 0); |
|
|
frm.set_df_property('display_order', 'read_only', 0); |
|
|
} |
|
|
} |
|
|
frappe.db.count('Vehicle Segment') |
|
|
frappe.db.count('Vehicle Segment') |
|
|
.then(count => { |
|
|
.then(count => { |
|
|
vehicle_count = count + 1; |
|
|
vehicle_count = count + 1; |
|
|
if (frm.is_new()){ |
|
|
if (frm.is_new()) { |
|
|
frm.set_value("display_order",vehicle_count); |
|
|
frm.set_value("display_order", vehicle_count); |
|
|
} else { |
|
|
} else { |
|
|
original_display_order = frm.doc.display_order; |
|
|
original_display_order = frm.doc.display_order; |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
validate: function(frm) { |
|
|
validate: function (frm) { |
|
|
if(frm.doc.vehicle_segment){ |
|
|
if (frm.doc.vehicle_segment) { |
|
|
if (frm.doc.vehicle_segment.length>50){ |
|
|
if (frm.doc.vehicle_segment.length > 50) { |
|
|
frappe.msgprint("<b>Vehicle Segment:</b> Only <b> 50 </b> characters are allowed") |
|
|
frappe.msgprint("<b>Vehicle Segment:</b> Only <b> 50 </b> characters are allowed") |
|
|
validated = false; |
|
|
validated = false; |
|
|
} |
|
|
} |
|
|
if (frm.doc.vehicle_segment.length == 1){ |
|
|
if (frm.doc.vehicle_segment.length == 1) { |
|
|
frappe.msgprint("<b>Vehicle Segment:</b> Single character not allowed") |
|
|
frappe.msgprint("<b>Vehicle Segment:</b> Single character not allowed") |
|
|
validated = false; |
|
|
validated = false; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
if (frm.doc.vehicle_segment == "."){ |
|
|
|
|
|
frappe.throw(__("Just a <b>.</b> is not prescribed!")); |
|
|
|
|
|
frappe.validated = false; |
|
|
|
|
|
} |
|
|
|
|
|
var regex = /[!@#$%^&*()_+-\=\[\]{};'`"\\|.<>\/?]+/; |
|
|
|
|
|
if (regex.test(frm.doc.display_order) === true) { |
|
|
|
|
|
frappe.throw(__("<b>Display Order:</b> negative values not allowed.")); |
|
|
|
|
|
frappe.validated = false; |
|
|
|
|
|
} |
|
|
} |
|
|
var regex = /[!@#$%^&*()_+\-=\[\]{};'`~:"\\|,.<>\/?]+/; |
|
|
if (frm.doc.vehicle_segment == ".") { |
|
|
if(frm.doc.vehicle_segment){ |
|
|
frappe.throw(__("Just a <b>.</b> is not prescribed!")); |
|
|
if (regex.test(frm.doc.vehicle_segment) === true){ |
|
|
|
|
|
frappe.throw(__("<b>Vehicle Segment:</b> Only letters and numbers are allowed")); |
|
|
|
|
|
frappe.validated = false; |
|
|
frappe.validated = false; |
|
|
} else if(frm.doc.vehicle_segment) { |
|
|
} |
|
|
if(frm.doc.vehicle_segment.includes("'")) { |
|
|
|
|
|
frappe.throw(__("<b>Vehicle Segment:</b> Only letters and numbers are allowed.")); |
|
|
if (frm.doc.display_order <= 0) { |
|
|
|
|
|
frappe.throw(__("<b>Display Order:</b> negative values not allowed.")); |
|
|
|
|
|
frappe.validated = false; |
|
|
|
|
|
} |
|
|
|
|
|
var regex = /[!@#$%^&*()_+\-=\[\]{};'`~:"\\|,.<>\/?]+/; |
|
|
|
|
|
if (frm.doc.vehicle_segment) { |
|
|
|
|
|
if (regex.test(frm.doc.vehicle_segment) === true) { |
|
|
|
|
|
frappe.throw(__("<b>Vehicle Segment:</b> Only letters and numbers are allowed")); |
|
|
frappe.validated = false; |
|
|
frappe.validated = false; |
|
|
|
|
|
} else if (frm.doc.vehicle_segment) { |
|
|
|
|
|
if (frm.doc.vehicle_segment.includes("'")) { |
|
|
|
|
|
frappe.throw(__("<b>Vehicle Segment:</b> Only letters and numbers are allowed.")); |
|
|
|
|
|
frappe.validated = false; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if (frm.doc.display_order && frm.doc.vehicle_segment && !frm.is_new()) { |
|
|
if (frm.doc.display_order && frm.doc.vehicle_segment && !frm.is_new()){ |
|
|
//***check if there is same display_order
|
|
|
//***check if there is same display_order
|
|
|
|
|
|
frappe.db.get_list('Vehicle Segment', { |
|
|
frappe.db.get_list('Vehicle Segment', { |
|
|
fields: ['display_order', 'name'], |
|
|
fields: ['display_order', 'name'], |
|
|
filters: { |
|
|
filters: { |
|
|
display_order: frm.doc.display_order, |
|
|
display_order: frm.doc.display_order, |
|
|
vehicle_segment:["!=",frm.doc.vehicle_segment] |
|
|
vehicle_segment: ["!=", frm.doc.vehicle_segment] |
|
|
} |
|
|
} |
|
|
}).then(records => { |
|
|
}).then(records => { |
|
|
if (records.length){ |
|
|
if (records.length) { |
|
|
frappe.db.set_value('Vehicle Segment', records[0].name, { |
|
|
frappe.db.set_value('Vehicle Segment', records[0].name, { |
|
|
display_order: original_display_order |
|
|
display_order: original_display_order |
|
|
}).then(r => { |
|
|
}).then(r => { |
|
|
let doc = r.message; |
|
|
let doc = r.message; |
|
|
frappe.show_alert({ |
|
|
frappe.show_alert({ |
|
|
message:__('Swapped display order with: ' + records[0].name), |
|
|
message: __('Swapped display order with: ' + records[0].name), |
|
|
indicator:'green' |
|
|
indicator: 'green' |
|
|
}, 5); |
|
|
}, 5); |
|
|
}); |
|
|
}); |
|
|
} else { |
|
|
} else { |
|
|
if (frm.doc.display_order >= vehicle_count){ |
|
|
if (frm.doc.display_order >= vehicle_count) { |
|
|
let display_vehicle_count = vehicle_count - 1; |
|
|
let display_vehicle_count = vehicle_count - 1; |
|
|
msgprint('There are only ' + display_vehicle_count + ' Vehicle Segment(s)'); |
|
|
msgprint('There are only ' + display_vehicle_count + ' Vehicle Segment(s)'); |
|
|
frappe.validated = false; |
|
|
frappe.validated = false; |
|
@ -93,5 +93,5 @@ frappe.ui.form.on('Vehicle Segment', { |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|