@ -10,25 +10,34 @@ cur_frm.fields_dict['variant_mapping'].get_query = function (doc, cdt, cdn) {
}
} ;
} ;
var selected_module = 0
var selected_module = ''
cur_frm . fields_dict [ 'vehicle' ] . get_query = function ( doc , cdt , cdn ) {
return { query : "smart_service.masters.doctype.vehicle.vehicle.vehicle_filter" , } ;
} ;
let lang_set_first_time = true ;
frappe . ui . form . on ( 'Publish Test' , {
publish_module : function ( frm ) {
if ( frm . doc . publish_module == 'Automotive' ) { 4
selected_module = 1
// publish_module:function(frm){
// if(frm.doc.publish_module=='Automotive'){
// selected_module=1
}
else {
selected_module = 0
// }
// else{
// selected_module=0
}
// }
} ,
// },
onload : function ( frm ) {
// $('[data-route="Form/Publish Test/' + frm.doc.name + '"]').find('.primary-action').html("Internal Publish")
if ( frm . doc . docstatus == 0 && ! frm . is_new ( ) && frm . doc . publish_type != "Global" && frm . doc . publish_module == 'Others' ) {
$ ( '[data-route="Form/Publish Test/' + frm . doc . name + '"]' ) . find ( '.primary-action' ) . html ( "Internal Publish" )
}
if ( frm . doc . docstatus == 0 && frm . doc . publish_type == "Global" && frm . doc . publish_module == 'Others' ) {
$ ( '[data-route="Form/Publish Test/' + frm . doc . name + '"]' ) . find ( '.primary-action' ) . html ( "Global Publish" )
}
$ ( document ) . on ( 'mouseover' , function ( events ) {
$ ( "a:contains(Copy to Clipboard)" ) . css ( { 'pointer-events' : 'none' } ) ,
$ ( "a:contains(Duplicate)" ) . css ( { 'pointer-events' : 'none' } ) ;
@ -49,7 +58,30 @@ frappe.ui.form.on('Publish Test', {
} ,
refresh : function ( frm ) {
if ( selected_module == 1 ) {
// if (frm.doc.docstatus == 1 && !frm.is_new() && frm.doc.publish_type != "Global" && frm.doc.publish_module=='Others') {
// frm.add_custom_button(__('Global Publish'), function () {
// // frappe.call({
// // method: "tsmcvcms.transactions.doctype.publish_details.publish_details.generate_global_publish",
// // args: {
// // name: frm.doc.name
// // },
// // callback: function (r) {
// // if (r.message.status == "success") {
// // window.location.href = r.message.url + "/app/publish-details" + "/" + r.message.message
// // }
// // }
// // })
// }).addClass("btn-primary");
// }
// $('[data-route="Form/Publish Test/' + frm.doc.name + '"]').find('.primary-action').html("Internal Publish")
if ( frm . doc . docstatus == 0 && ! frm . is_new ( ) && frm . doc . publish_type != "Global" ) {
$ ( '[data-route="Form/Publish Test/' + frm . doc . name + '"]' ) . find ( '.primary-action' ) . html ( "Internal Publish" )
}
if ( frm . doc . docstatus == 0 && frm . doc . publish_type == "Global" ) {
$ ( '[data-route="Form/Publish Test/' + frm . doc . name + '"]' ) . find ( '.primary-action' ) . html ( "Global Publish" )
}
if ( frm . doc . publish_module == 'Automotive' ) {
cur_frm . set_df_property ( 'system_mapping' , "read_only" , 1 ) ;
cur_frm . fields_dict [ 'system_mapping' ] . grid . wrapper . find ( '.grid-add-row' ) . hide ( ) ;
cur_frm . fields_dict [ 'system_mapping' ] . grid . wrapper . find ( '.grid-upload' ) . hide ( ) ;
@ -211,6 +243,8 @@ frappe.ui.form.on('Publish Test', {
frm . set_read_only ( ) ;
frm . set_df_property ( 'add_variant_mapping_to_publish' , 'hidden' , 1 ) ;
}
if ( frm . doc . docstatus === 0 && frm . doc . publish_status == 'To Publish' ) {
frm . get_field ( 'system_mapping' ) . grid . add_custom_button ( __ ( 'Add to Publish' ) , function ( ) {
@ -289,10 +323,77 @@ frappe.ui.form.on('Publish Test', {
}
}
if ( frm . doc . docstatus == 1 && ! frm . is_new ( ) && frm . doc . publish_type != "Global" && frm . doc . publish_module == 'Others' ) {
frm . add_custom_button ( __ ( 'Global Publish' ) , function ( ) {
frappe . call ( {
method : "smart_service.phase_2.doctype.publish_test.publish_test.generate_global_publish" ,
args : {
name : frm . doc . name
} ,
callback : function ( r ) {
debugger
if ( r . message . status == "success" ) {
frm . set_df_property ( 'repair_checksheet_publish' , 'hidden' , 0 )
frm . refresh_field ( 'repair_checksheet_publish' )
window . location . href = r . message . url + "/app/publish-test" + "/" + r . message . message
}
}
} )
} ) . addClass ( "btn-primary" ) ;
}
// if (frm.doc.docstatus === 1 && frm.doc.publish_status == 'To Publish' && frappe.user.has_role('_Publisher') && frm.doc.publish_module=='Others') {
// frm.add_custom_button(__('Global Publish'), function () {
// frappe.confirm('Are you sure you want to Publish?',
// () => {
// // action to perform if Yes is selected
// if (frm.doc.vehicle && frm.doc.language && frm.doc.publish_type) {
// frappe.call({
// method: 'smart_service.phase_2.doctype.publish_test.publish_test.repair_checksheet_publish',
// args: {
// vehicle: frm.doc.vehicle,
// language: frm.doc.language,
// publish_type: frm.doc.publish_type,
// release_description:frm.doc.release_description,
// vehicle_id:frm.doc.vehicle_id,
// variant:frm.doc.variant_mapping
// },
// callback: (r) => {
// if(r.message[0]==1){
// frappe.msgprint({
// title: __('Notification'),
// message: __('<b>Successfully Published:</b> ' + r.message[1]),
// primary_action: {
// action(values) {
// frm.save('Update');
// }
// }
// });
// }
// },
// })
// }
// }, () => {
// // action to perform if No is selected
// });
// }).addClass("btn-warning").css({ 'background-color': '#f5b0cd', 'color': 'black' });
// } else if (frm.doc.publish_status == 'Published') {
// frm.set_read_only();
// // frm.set_df_property('add_variant_mapping_to_publish', 'hidden', 1);
// }
} ,
validate : function ( frm ) {
if ( selected_module == 1 ) {
if ( frm . doc . publish_module == 'Automotive' ) {
let regex = /[!@#$%^*_+\=\[\]{};'`~\\|.<>\?]+/ ;
if ( regex . test ( frm . doc . release_description ) === true ) {
frm . doc . release_description = '' ;
@ -310,7 +411,14 @@ frappe.ui.form.on('Publish Test', {
}
}
//check for atleast one data to publish
if ( frm . doc . publish_module == 'Others' && ! frm . doc . hasOwnProperty ( 'repair_checksheet_publish' ) ) {
debugger
frappe . throw ( 'No Data Found To Publish' )
}
} ,
variant_mapping : function ( frm ) {
frappe . db . get_value ( 'Variant Mapping' , { name : frm . doc . variant_mapping } , [ 'fuel' , 'transmission' , 'drive' ] , ( r ) => {
@ -350,7 +458,7 @@ frappe.ui.form.on('Publish Test', {
} ,
km_active_status : function ( frm ) {
if ( frm . doc . variant_mapping && selected_module == 1 ) {
if ( frm . doc . variant_mapping && frm . doc . publish_module == 'Automotive' ) {
frappe . show_alert ( {
message : __ ( 'Please wait until variant mapping details are loaded.' ) ,
indicator : 'yellow'
@ -358,7 +466,7 @@ frappe.ui.form.on('Publish Test', {
}
if ( frm . doc . km_active_status === "" || frm . doc . km_active_status === null ) { return ; }
let filter = frm . doc . variant_mapping + "-" + frm . doc . language + "-SM" ;
if ( frm . doc . variant_mapping_status == "Active" && frm . doc . km_active_status == "Active" && selected_module == 1 ) {
if ( frm . doc . variant_mapping_status == "Active" && frm . doc . km_active_status == "Active" && frm . doc . publish_module == 'Automotive' ) {
frappe . call ( {
"method" : "smart_service.transactions.doctype.publish.publish.get_system" ,
"args" : {
@ -431,7 +539,7 @@ frappe.ui.form.on('Publish Test', {
} )
} else {
if ( frm . doc . variant_mapping_status && selected_module == 1 ) {
if ( frm . doc . variant_mapping_status && frm . doc . publish_module == 'Automotive' ) {
frappe . msgprint ( {
title : __ ( 'Notification' ) ,
indicator : 'red' ,
@ -442,7 +550,7 @@ frappe.ui.form.on('Publish Test', {
} ,
add_variant_mapping_to_publish : function ( frm ) {
let dulicate = false ;
if ( frm . doc . publish_documents && selected_module == 1 ) {
if ( frm . doc . publish_documents && frm . doc . publish_module == 'Automotive' ) {
frm . doc . publish_documents . forEach ( publishrow => {
if ( frm . doc . variant_mapping == publishrow . variant_mapping && publishrow . systems === undefined && publishrow . sub_systems === undefined && publishrow . procedure === undefined ) {
dulicate = true ;
@ -450,7 +558,7 @@ frappe.ui.form.on('Publish Test', {
} ) ;
frappe . msgprint ( "Variant Mapping already added" ) ;
}
if ( dulicate === false && selected_module == 1 ) {
if ( dulicate === false && frm . doc . publish_module == 'Automotive' ) {
let child = cur_frm . add_child ( "publish_documents" ) ;
child . variant_mapping = frm . doc . variant_mapping ;
child . item_category = "Variant Mapping" ;
@ -482,13 +590,30 @@ frappe.ui.form.on('Publish Test', {
}
} ) ;
if ( frm . doc . vehicle === undefined || frm . doc . vehicle === null && selected_module == 1 ) { return ; }
if ( frm . doc . vehicle === undefined || frm . doc . vehicle === null && frm . doc . publish_module == 'Automotive' ) { return ; }
$ ( "[data-fieldname=variant_mapping]" ) . focus ( ) ;
if ( frm . doc . vehicle ) {
frm . set_df_property ( 'vehicle' , 'read_only' , 1 ) ;
}
//other modules-Repair Checksheet
if ( frm . doc . publish_module == 'Others' ) {
if ( frm . doc . repair_checksheet_publish && frm . doc . repair_checksheet_publish . length > 0 ) {
content_flag = 1
cur_frm . clear_table ( "repair_checksheet_publish" ) ;
cur_frm . refresh_fields ( 'repair_checksheet_publish' ) ;
}
add_to_publish ( frm )
}
} ,
language : function ( frm ) {
if ( frm . doc . publish_module == 'Others' ) {
add_to_publish ( frm )
}
if ( ! lang_set_first_time ) {
frappe . confirm ( 'This will clear all the data, are you sure you want to proceed?' ,
( ) => {
@ -502,6 +627,7 @@ frappe.ui.form.on('Publish Test', {
} , ( ) => {
// action to perform if No is selected
} ) ;
} else { lang_set_first_time = false ; }
} ,
auto_version_update : function ( frm ) {
@ -536,3 +662,35 @@ frappe.ui.form.on('Publish_Temp Doc', {
frm . fields_dict . system_mapping . grid . wrapper . find ( '.grid-insert-row' ) . hide ( ) ;
} ,
} )
function add_to_publish ( frm ) {
frappe . call ( {
method : "smart_service.phase_2.doctype.publish_test.publish_test.get_service_repair" ,
args : { vehicle : frm . doc . vehicle , language_label : frm . doc . language , publish_type : frm . doc . publish_type } ,
callback : function ( r ) {
if ( r . message ) {
cur_frm . set_df_property ( 'repair_checksheet_publish' , 'hidden' , 0 )
var records = r . message
debugger
records . map ( v => {
var childTable = cur_frm . add_child ( "repair_checksheet_publish" ) ;
childTable . parent_name = v [ 'name' ] ;
childTable . vehicle = v [ 'vehicle' ] ;
childTable . language = v [ 'language' ] ;
childTable . lang_myid = v [ 'lang_myid' ] ;
childTable . display_order = v [ 'display_order' ] ;
childTable . check_list_name = v [ 'check_list_name' ] ;
childTable . active_status = v [ 'active_status' ] ;
childTable . my_id = v [ 'my_id' ] ;
childTable . lang_myid = v [ 'lang_myid' ] ;
} )
cur_frm . refresh_fields ( "repair_checksheet_publish" ) ;
}
}
} )
}