Browse Source

QWIK and MST tools

version2
venkataakhil 1 year ago
parent
commit
08440f378c
  1. 62
      smart_service/apis/v2/master.py
  2. 3
      smart_service/phase_2/doctype/feature_finder/feature_finder.js
  3. 42
      smart_service/phase_2/doctype/feature_finder/feature_finder.py
  4. 0
      smart_service/phase_2/doctype/instructions/__init__.py
  5. 56
      smart_service/phase_2/doctype/instructions/instructions.json
  6. 8
      smart_service/phase_2/doctype/instructions/instructions.py
  7. 0
      smart_service/phase_2/doctype/instructions_step_name/__init__.py
  8. 8
      smart_service/phase_2/doctype/instructions_step_name/instructions_step_name.js
  9. 51
      smart_service/phase_2/doctype/instructions_step_name/instructions_step_name.json
  10. 8
      smart_service/phase_2/doctype/instructions_step_name/instructions_step_name.py
  11. 8
      smart_service/phase_2/doctype/instructions_step_name/test_instructions_step_name.py
  12. 29
      smart_service/phase_2/doctype/qwik_service/qwik_service.js
  13. 7
      smart_service/phase_2/doctype/qwik_service/qwik_service.json
  14. 10
      smart_service/phase_2/doctype/qwik_service/qwik_service.py
  15. 0
      smart_service/phase_2/doctype/qwik_service_publish_data/__init__.py
  16. 70
      smart_service/phase_2/doctype/qwik_service_publish_data/qwik_service_publish_data.json
  17. 8
      smart_service/phase_2/doctype/qwik_service_publish_data/qwik_service_publish_data.py
  18. 88
      smart_service/phase_2/doctype/special_tool_information/special_tool_information.json

62
smart_service/apis/v2/master.py

@ -170,6 +170,10 @@ def new_publish():
elif module == "Mahindra Special Tool Information": elif module == "Mahindra Special Tool Information":
flag, data = get_special_tool_information(vehicle) flag, data = get_special_tool_information(vehicle)
elif module == "Qwik Service":
flag, data = get_qwik_service(variant,language)
return data
if flag: if flag:
return {'status': 1, 'error': None, 'data': data} return {'status': 1, 'error': None, 'data': data}
else: else:
@ -211,6 +215,11 @@ def new_publish1():
data = json.load(outfile) data = json.load(outfile)
data = data['data'] data = data['data']
elif module == 'Qwik Service':
with open(BASE_PATH + str(vehicle) + '-qwik_service.json') as outfile:
data = json.load(outfile)
data = data['data']
# elif module == 'Training Information': # elif module == 'Training Information':
# flag, data = get_training_information(vehicle, language) # flag, data = get_training_information(vehicle, language)
@ -226,44 +235,29 @@ def new_publish1():
@frappe.whitelist(methods=['POST'], allow_guest=1) @frappe.whitelist(methods=['POST'], allow_guest=1)
def get_special_tool_information(vehicle): def get_special_tool_information(vehicle):
try: try:
special_tool_details = frappe.db.sql(f''' select name,vehicle,category,sub_category,display_order, my_id,keywords from `tabSpecial Tool Information` special_tool_details = frappe.db.sql(f''' select name,vehicle,category,sub_category,display_order,
my_id,keywords from `tabSpecial Tool Information`
where vehicle="{vehicle}";''', as_dict=1) where vehicle="{vehicle}";''', as_dict=1)
for s in special_tool_details: for s in special_tool_details:
s['tool_usage_content'] = frappe.db.sql(f'''select idx as 'display_order',image,content,video,asset_type,active_status from `tabMST Information Assets` s['tool_usage_content'] = frappe.db.sql(f'''select idx as 'display_order',image,content,video,asset_type,active_status
where parent = '{s['name']}' order by display_order;''', as_dict=1) from `tabMST Information Assets` where parent = '{s['name']}' order by display_order;''', as_dict=1)
return True, special_tool_details return True, special_tool_details
except Exception as e: except Exception as e:
return False, e return False, e
@frappe.whitelist(allow_guest=1) @frappe.whitelist(methods=['POST'], allow_guest=1)
def update_publish_mapping(vehicle, variant, language, module): def get_qwik_service(variant,language):
frappe.set_user('Administrator') try:
pub_data = frappe.db.get_list('Module Publish Mapping', filters={ qwik_service_details=frappe.db.sql('''select name,variant,vehicle,kilometers,language,service_time,active_status,
"vehicle": vehicle, pdf,display_order,keywords,my_id from `tabQwik Service` where variant='%s' &&
"variant": variant, language='%s';'''%(variant,language),as_dict=1)
"language": language for q in qwik_service_details:
}, fields=['name']) q['content'] = frappe.db.sql('''select idx as 'display_order',content_type,content from `tabQwik Service Content`
where parent='%s';'''%(q['name']),as_dict=1)
if pub_data: for p in qwik_service_details:
doc = frappe.get_doc('Module Publish Mapping', pub_data[0]['name']) p['qwik_procedure'] = frappe.db.sql('''select idx as 'display_order',side,level,content from `tabQwik Procedure`
else: where parent ='%s';'''%(p['name']),as_dict=1)
doc = frappe.get_doc({ return True, qwik_service_details
'doctype': 'Module Publish Mapping', except Exception as e:
"vehicle": vehicle, return False, e
"variant": variant,
"language": language
})
if module == 'Automotive System':
doc.automotive_system = 1
doc.tsb = 1
doc.fsa = 1
doc.tekalert = 1
elif module == 'Feature Finder':
doc.feature_finder = 1
elif module == 'Repair service':
doc.repairservice_check_sheet = 1
doc.save()
return 1

3
smart_service/phase_2/doctype/feature_finder/feature_finder.js

@ -340,6 +340,7 @@ function custom_tab_html(frm) {
tab_ref: "SOP" tab_ref: "SOP"
}, },
callback: function (r) { callback: function (r) {
console.log("tab",r)
frm.refresh_field('tab_ref') frm.refresh_field('tab_ref')
} }
}) })
@ -537,7 +538,7 @@ function custom_tab_html(frm) {
//buttons //buttons
spec_custom_dt += '</tbody>' spec_custom_dt += '</tbody>'
spec_custom_dt += '</table>' spec_custom_dt += '</table>'
spec_custom_dt += '<button class="btn btn-xs btn-secondary grid-add-row spec_custom_delete">Delete</button>' spec_custom_dt += '<button class="btn btn-xs btn-secondary grid-add-row spec_custom_delete">Deletee</button>'
spec_custom_dt += '<button class="btn btn-xs btn-secondary btn-primary grid-add-row spec_custom_add">Add Row</button>' spec_custom_dt += '<button class="btn btn-xs btn-secondary btn-primary grid-add-row spec_custom_add">Add Row</button>'
spec_custom_dt += '<button class="btn btn-xs btn-secondary grid-add-row spec_custom_save">Save</button>' spec_custom_dt += '<button class="btn btn-xs btn-secondary grid-add-row spec_custom_save">Save</button>'

42
smart_service/phase_2/doctype/feature_finder/feature_finder.py

@ -24,6 +24,7 @@ class FeatureFinder(Document):
def validate(self): def validate(self):
try: try:
if self.sop_name:
self.sop_name = self.sop_name.strip() self.sop_name = self.sop_name.strip()
if self.is_new(): if self.is_new():
self.tab_ref = "SOP" self.tab_ref = "SOP"
@ -38,7 +39,7 @@ class FeatureFinder(Document):
# ''', as_dict=1) # ''', as_dict=1)
check_exe = frappe.db.sql(''' select * from `tabFeature Finder` where variant='%s' and features_names='%s' check_exe = frappe.db.sql(''' select * from `tabFeature Finder` where variant='%s' and features_names='%s'
and language='en' and name != '%s' ; and language='en' and name != '%s' ;
''' %(self.variant,self.features_names,self.name), as_dict=1) ''' % (self.variant, self.features_names, self.name), as_dict=1)
# frappe.log_error("check_exe",str(check_exe)) # frappe.log_error("check_exe",str(check_exe))
if check_exe: if check_exe:
if self.language != "en": if self.language != "en":
@ -87,7 +88,7 @@ class FeatureFinder(Document):
@frappe.whitelist() @frappe.whitelist()
def get_feature_list(vehicle, language): def get_feature_list(vehicle, language):
features_list = frappe.db.sql( features_list = frappe.db.sql(
"""select feature_name from `tabFeature Finder Master` where vehicle='%s' and language = '%s';""" %(vehicle,language), as_list=1) """select feature_name from `tabFeature Finder Master` where vehicle='%s' and language = '%s';""" % (vehicle, language), as_list=1)
return features_list return features_list
@ -95,19 +96,20 @@ def get_feature_list(vehicle, language):
def get_list_data(name, val): def get_list_data(name, val):
specification = frappe.db.sql( specification = frappe.db.sql(
"""select *,'Feature Finder Specification' as doctype from `tabFeature Finder Specification` where parent = '%s' and """select *,'Feature Finder Specification' as doctype from `tabFeature Finder Specification` where parent = '%s' and
post_vin_cutoff_name='%s'""" %(name,val), as_dict=1) post_vin_cutoff_name='%s'""" % (name, val), as_dict=1)
feature_finder_images = frappe.db.sql( feature_finder_images = frappe.db.sql(
"""select * from `tabFeature Finder Images` where parent = '%s' and post_vin_cutoff_name='%s'""" %(name,val), as_dict=1) """select * from `tabFeature Finder Images` where parent = '%s' and post_vin_cutoff_name='%s'""" % (name, val), as_dict=1)
feature_finder_content = frappe.db.sql( feature_finder_content = frappe.db.sql(
"""select * from `tabFeature Finder Content` where parent = '%s' and post_vin_cutoff_name='%s'""" %(name,val), as_dict=1) """select * from `tabFeature Finder Content` where parent = '%s' and post_vin_cutoff_name='%s'""" % (name, val), as_dict=1)
return specification, feature_finder_images, feature_finder_content return specification, feature_finder_images, feature_finder_content
@frappe.whitelist() @frappe.whitelist()
def insert_spec_data(doc_name, values,tab_ref): def insert_spec_data(doc_name, values, tab_ref):
try: try:
val = json.loads(values) val = json.loads(values)
get_count = frappe.db.sql("""select name from `tabFeature Finder Specification` where parent='%s' and feature_type='%s'""" %(doc_name,val.get('feature_type')),as_dict=1) get_count = frappe.db.sql("""select name from `tabFeature Finder Specification` where parent='%s' and feature_type='%s'""" % (
doc_name, val.get('feature_type')), as_dict=1)
get_count = len(get_count)+1 get_count = len(get_count)+1
result = frappe.get_doc("Feature Finder", doc_name) result = frappe.get_doc("Feature Finder", doc_name)
result.tab_ref = tab_ref result.tab_ref = tab_ref
@ -149,11 +151,11 @@ def delete_spec_data(values):
@frappe.whitelist() @frappe.whitelist()
def insert_image_data(doc_name, values,tab_ref): def insert_image_data(doc_name, values, tab_ref):
try: try:
val = json.loads(values) val = json.loads(values)
get_count = frappe.db.sql("""select name from `tabFeature Finder Images` where parent='%s' and get_count = frappe.db.sql("""select name from `tabFeature Finder Images` where parent='%s' and
feature_type='%s'""" %(doc_name,val.get('feature_type')),as_dict=1) feature_type='%s'""" % (doc_name, val.get('feature_type')), as_dict=1)
get_count = len(get_count)+1 get_count = len(get_count)+1
result = frappe.get_doc("Feature Finder", doc_name) result = frappe.get_doc("Feature Finder", doc_name)
result.tab_ref = tab_ref result.tab_ref = tab_ref
@ -195,11 +197,11 @@ def delete_image_data(values):
@frappe.whitelist() @frappe.whitelist()
def insert_content_data(doc_name, values,tab_ref): def insert_content_data(doc_name, values, tab_ref):
try: try:
val = json.loads(values) val = json.loads(values)
get_count = frappe.db.sql("""select name from `tabFeature Finder Content` where parent='%s' and get_count = frappe.db.sql("""select name from `tabFeature Finder Content` where parent='%s' and
feature_type='%s'""" %(doc_name,val.get('feature_type')),as_dict=1) feature_type='%s'""" % (doc_name, val.get('feature_type')), as_dict=1)
get_count = len(get_count)+1 get_count = len(get_count)+1
result = frappe.get_doc("Feature Finder", doc_name) result = frappe.get_doc("Feature Finder", doc_name)
result.tab_ref = tab_ref result.tab_ref = tab_ref
@ -251,13 +253,13 @@ def delete_content_data(values):
@frappe.whitelist() @frappe.whitelist()
def set_display_order(doctype_name, values): def set_display_order(doctype_name, values):
try: try:
if len(values)>0: if len(values) > 0:
val = json.loads(values) val = json.loads(values)
if len(val) > 0: if len(val) > 0:
count_val = 0 count_val = 0
for k in val: for k in val:
count_val += 1 count_val += 1
frappe.log_error("k",(str(k))) frappe.log_error("k", (str(k)))
if k: if k:
res = frappe.get_doc(doctype_name, k) res = frappe.get_doc(doctype_name, k)
# frappe.msgprint(str(k)+"-"+str(count_val)) # frappe.msgprint(str(k)+"-"+str(count_val))
@ -266,25 +268,25 @@ def set_display_order(doctype_name, values):
frappe.db.commit() frappe.db.commit()
return {"status": "success"} return {"status": "success"}
else: else:
return{"status":"fail"} return {"status": "fail"}
except Exception as e: except Exception as e:
frappe.log_error("set_display_order", frappe.get_traceback()) frappe.log_error("set_display_order", frappe.get_traceback())
pass pass
@frappe.whitelist() @frappe.whitelist()
def get_specification_list(): def get_specification_list():
res = frappe.db.sql("""select name from `tabFeature Finder Specification Master`""",as_dict=1) res = frappe.db.sql(
"""select name from `tabFeature Finder Specification Master`""", as_dict=1)
return res return res
@frappe.whitelist() @frappe.whitelist()
def insert_tab_ref(docname,tab_ref): def insert_tab_ref(docname, tab_ref):
try: try:
if docname and tab_ref: if docname and tab_ref:
frappe.db.sql("""UPDATE `tabFeature Finder` set tab_ref='%s' WHERE name ='%s'""" %(tab_ref,docname)) frappe.db.sql("""UPDATE `tabFeature Finder` set tab_ref='%s' WHERE name ='%s'""" % (
tab_ref, docname))
frappe.db.commit() frappe.db.commit()
except Exception as e: except Exception as e:
frappe.log_error("insert_tab",frappe.get_traceback()) frappe.log_error("insert_tab", frappe.get_traceback())

0
smart_service/phase_2/doctype/instructions/__init__.py

56
smart_service/phase_2/doctype/instructions/instructions.json

@ -0,0 +1,56 @@
{
"actions": [],
"allow_rename": 1,
"creation": "2023-09-21 17:56:22.177272",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"step_name",
"content_type",
"content",
"imagevideo",
"pdf"
],
"fields": [
{
"fieldname": "step_name",
"fieldtype": "Link",
"label": "Step Name",
"options": "Instructions Step Name"
},
{
"fieldname": "content_type",
"fieldtype": "Select",
"label": "Content Type",
"options": "Content\nImage\nVideo\nPDF"
},
{
"fieldname": "content",
"fieldtype": "Data",
"label": "Content"
},
{
"depends_on": "eval:doc.instructions!='Content'",
"fieldname": "imagevideo",
"fieldtype": "Attach",
"label": "Image/Video"
},
{
"fieldname": "pdf",
"fieldtype": "Attach",
"label": "PDF"
}
],
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
"modified": "2023-09-21 18:30:15.606987",
"modified_by": "Administrator",
"module": "Phase-2",
"name": "Instructions",
"owner": "Administrator",
"permissions": [],
"sort_field": "modified",
"sort_order": "DESC"
}

8
smart_service/phase_2/doctype/instructions/instructions.py

@ -0,0 +1,8 @@
# Copyright (c) 2023, Hard n Soft Technologies Pvt Ltd and contributors
# For license information, please see license.txt
# import frappe
from frappe.model.document import Document
class Instructions(Document):
pass

0
smart_service/phase_2/doctype/instructions_step_name/__init__.py

8
smart_service/phase_2/doctype/instructions_step_name/instructions_step_name.js

@ -0,0 +1,8 @@
// Copyright (c) 2023, Hard n Soft Technologies Pvt Ltd and contributors
// For license information, please see license.txt
frappe.ui.form.on('Instructions Step Name', {
// refresh: function(frm) {
// }
});

51
smart_service/phase_2/doctype/instructions_step_name/instructions_step_name.json

@ -0,0 +1,51 @@
{
"actions": [],
"allow_import": 1,
"allow_rename": 1,
"autoname": "format:{step_name}",
"creation": "2023-09-21 17:30:21.195368",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"step_name"
],
"fields": [
{
"allow_in_quick_entry": 1,
"fieldname": "step_name",
"fieldtype": "Data",
"in_list_view": 1,
"in_preview": 1,
"label": "Step Name",
"reqd": 1,
"unique": 1
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2023-09-21 17:30:21.195368",
"modified_by": "Administrator",
"module": "Phase-2",
"name": "Instructions Step Name",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"search_fields": "step_name",
"sort_field": "step_name",
"sort_order": "ASC",
"title_field": "step_name"
}

8
smart_service/phase_2/doctype/instructions_step_name/instructions_step_name.py

@ -0,0 +1,8 @@
# Copyright (c) 2023, Hard n Soft Technologies Pvt Ltd and contributors
# For license information, please see license.txt
# import frappe
from frappe.model.document import Document
class InstructionsStepName(Document):
pass

8
smart_service/phase_2/doctype/instructions_step_name/test_instructions_step_name.py

@ -0,0 +1,8 @@
# Copyright (c) 2023, Hard n Soft Technologies Pvt Ltd and Contributors
# See license.txt
# import frappe
import unittest
class TestInstructionsStepName(unittest.TestCase):
pass

29
smart_service/phase_2/doctype/qwik_service/qwik_service.js

@ -84,7 +84,7 @@ frappe.ui.form.on('Qwik Service', {
function custom_tab_html(frm){ function custom_tab_html(frm){
// tab start // tab start
var res = $(cur_frm.fields_dict.test_html.wrapper).empty(); var res = $(cur_frm.fields_dict.test_html.wrapper).empty();
var ret = '<div class="main"><div class="custom_tab style="border:10px solid var(--table-border-color);"><ul class="nav nav-tabs" role="tablist">' var ret = '<div class="main "><div class="custom_tab style="border:10px solid var(--table-border-color);"><ul class="nav nav-tabs" role="tablist">'
ret += '<li class="nav-item">' ret += '<li class="nav-item">'
ret += '<a class="nav-link active" id="LHS" data-toggle="tab" role="tab" value="LHS">LHS</a>' ret += '<a class="nav-link active" id="LHS" data-toggle="tab" role="tab" value="LHS">LHS</a>'
ret += '</li>' ret += '</li>'
@ -188,7 +188,7 @@ function custom_tab_html(frm){
if (qwik_procedure.length > 0) { if (qwik_procedure.length > 0) {
qwik_procedure.map(val => { qwik_procedure.map(val => {
qwik_procedure_count += 1 qwik_procedure_count += 1
qwik_proce_dt += '<tr id=' + val.name + ' draggable="true" ondragstart="dragstartFunction(event)" ondragover="dragovertFunction(event)" class="dragclass">' qwik_proce_dt += '<tr id=' + val.name + ' draggable="true" ondragstart="dragstartFunctionQwik(event)" ondragover="dragovertFunctionQwik(event)" class="dragclass qwik_d">'
qwik_proce_dt += '<td style="width: 7%;" id="qwik_count"><input id=' + val.name + ' type="checkbox" class="qwikcheck grid-row-check pull-left"><span class="qwik_check">' + qwik_procedure_count + '</span></td>' qwik_proce_dt += '<td style="width: 7%;" id="qwik_count"><input id=' + val.name + ' type="checkbox" class="qwikcheck grid-row-check pull-left"><span class="qwik_check">' + qwik_procedure_count + '</span></td>'
qwik_proce_dt += '<td>' + val.level + '</td>' qwik_proce_dt += '<td>' + val.level + '</td>'
qwik_proce_dt += '<td>' + val.content + '</td>' qwik_proce_dt += '<td>' + val.content + '</td>'
@ -205,7 +205,7 @@ function custom_tab_html(frm){
qwik_proce_dt += '</table>' qwik_proce_dt += '</table>'
qwik_proce_dt += '<button class="btn btn-xs btn-secondary grid-add-row qwik_custom_delete">Delete</button>' qwik_proce_dt += '<button class="btn btn-xs btn-secondary grid-add-row qwik_custom_delete">Delete</button>'
qwik_proce_dt += '<button class="btn btn-xs btn-secondary btn-primary grid-add-row qwik_custom_add">Add Row</button>' qwik_proce_dt += '<button class="btn btn-xs btn-secondary btn-primary grid-add-row qwik_custom_add">Add Row</button>'
qwik_proce_dt += '<button class="btn btn-xs btn-secondary grid-add-row qwik_custom_save">Save</button>' // qwik_proce_dt += '<button class="btn btn-xs btn-secondary grid-add-row qwik_custom_save">Save</button>'
// button end // button end
qwik_proce_dt += '</div>' qwik_proce_dt += '</div>'
// append // append
@ -213,11 +213,11 @@ function custom_tab_html(frm){
$(res).find('.qwik_probl').empty() $(res).find('.qwik_probl').empty()
$(res).find('.qwik_probl').append(qwik_proce_dt) $(res).find('.qwik_probl').append(qwik_proce_dt)
if(nav_spec.side=='LHS'){ // if(nav_spec.side=='LHS'){
$(res).find('#rhs1').hide() // $(res).find('#rhs1').hide()
$(res).find('#rhs2').hide() // $(res).find('#rhs2').hide()
$(res).find('#rhs3').hide() // $(res).find('#rhs3').hide()
} // }
$(res).append(`<style>th{color:var(--text-muted)}.qwik_check{padding:0px 5px 0px 5px !important}.qwik_custom_save{display:none;margin:10px 0px 0px 10px;background-color:red !important;color:#fff !important;}.qwik_custom_delete{margin:10px 10px 0px 0px;background-color:red !important;color:#fff !important;display:none}</style>`) $(res).append(`<style>th{color:var(--text-muted)}.qwik_check{padding:0px 5px 0px 5px !important}.qwik_custom_save{display:none;margin:10px 0px 0px 10px;background-color:red !important;color:#fff !important;}.qwik_custom_delete{margin:10px 10px 0px 0px;background-color:red !important;color:#fff !important;display:none}</style>`)
//append end //append end
//add button //add button
@ -239,7 +239,7 @@ function custom_tab_html(frm){
//end save function //end save function
//edit button //edit button
$(res).find('.qwik_probl').find('.qwik_edit_row').click(function (event) { $(res).find('.qwik_probl').find('.qwik_edit_row').click(function (event) {
qwik_dialog_value = frm.doc.qwik_procedure.filter(o => o.name == $(this)[0].id)[0] qwik_dialog_value = cur_frm.doc.qwik_procedure.filter(o => o.name == $(this)[0].id)[0]
qwik_dialog_view() qwik_dialog_view()
}) })
//end edit button //end edit button
@ -256,8 +256,10 @@ function custom_tab_html(frm){
//end delete all button //end delete all button
//individual delete button //individual delete button
$(res).find('.qwik_probl').find('.qwik_procedure').change(function () { $(res).find('.qwik_probl').find('.qwik_d').find('.qwikcheck').change(function () {
console.log("working",this.checked)
if (this.checked) { if (this.checked) {
console.log("checked")
$(res).find('.qwik_probl').find('.qwik_custom_delete').css("display", "inline-block") $(res).find('.qwik_probl').find('.qwik_custom_delete').css("display", "inline-block")
} else { } else {
$(res).find('.qwik_probl').find('.qwik_custom_delete').css("display", "None") $(res).find('.qwik_probl').find('.qwik_custom_delete').css("display", "None")
@ -317,6 +319,13 @@ function custom_tab_html(frm){
fieldtype: 'Text Editor', fieldtype: 'Text Editor',
default: qwik_dialog_value.content default: qwik_dialog_value.content
}, },
{
label: 'Side',
fieldname: 'side',
fieldtype: 'Data',
default: qwik_dialog_value.side,
hidden: 1
},
], ],
// size: 'small', // small, large, extra-large // size: 'small', // small, large, extra-large
primary_action_label: 'Submit', primary_action_label: 'Submit',

7
smart_service/phase_2/doctype/qwik_service/qwik_service.json

@ -1,5 +1,4 @@
{ {
"_liked_by": "[\"Administrator\"]",
"actions": [], "actions": [],
"autoname": "format:{variant}-{kilometers}-{language}", "autoname": "format:{variant}-{kilometers}-{language}",
"creation": "2023-09-04 10:59:50.476936", "creation": "2023-09-04 10:59:50.476936",
@ -40,7 +39,8 @@
"fieldtype": "Select", "fieldtype": "Select",
"in_list_view": 1, "in_list_view": 1,
"in_standard_filter": 1, "in_standard_filter": 1,
"label": "Kilometers" "label": "Kilometers",
"reqd": 1
}, },
{ {
"fieldname": "language", "fieldname": "language",
@ -93,6 +93,7 @@
{ {
"fieldname": "qwik_procedure", "fieldname": "qwik_procedure",
"fieldtype": "Table", "fieldtype": "Table",
"hidden": 1,
"label": "Qwik Procedure", "label": "Qwik Procedure",
"options": "Qwik Procedure" "options": "Qwik Procedure"
}, },
@ -132,7 +133,7 @@
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,
"links": [], "links": [],
"modified": "2023-09-15 13:03:18.140036", "modified": "2023-09-21 15:39:08.512304",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Phase-2", "module": "Phase-2",
"name": "Qwik Service", "name": "Qwik Service",

10
smart_service/phase_2/doctype/qwik_service/qwik_service.py

@ -19,6 +19,11 @@ class QwikService(Document):
if not check_exe: if not check_exe:
if self.language != "en": if self.language != "en":
frappe.throw("First language will be english only") frappe.throw("First language will be english only")
count = frappe.db.sql('''select max(my_id) as max_count from `tabSpecial Tool Information`;''')
if count[0][0] is not None:
self.my_id = count[0][0] + 1
else:
self.my_id = 1
except Exception as e: except Exception as e:
raise e raise e
@ -54,7 +59,7 @@ def insert_tab_ref(docname,tab_ref):
def insert_qwik_data(doc_name, values, tab_ref): def insert_qwik_data(doc_name, values, tab_ref):
try: try:
val = json.loads(values) val = json.loads(values)
get_count = frappe.db.sql("""select name from `tabQWIK Procedure` where parent='%s'""" %(doc_name),as_dict=1) get_count = frappe.db.sql("""select name from `tabQwik Procedure` where parent='%s'""" %(doc_name),as_dict=1)
get_count = len(get_count)+1 get_count = len(get_count)+1
result = frappe.get_doc("Qwik Service", doc_name) result = frappe.get_doc("Qwik Service", doc_name)
result.tab_ref = tab_ref result.tab_ref = tab_ref
@ -72,6 +77,7 @@ def insert_qwik_data(doc_name, values, tab_ref):
res = frappe.get_doc("Qwik Service", doc_name) res = frappe.get_doc("Qwik Service", doc_name)
res.append("qwik_procedure", val) res.append("qwik_procedure", val)
res.save() res.save()
frappe.db.commit()
return {"status": "success"} return {"status": "success"}
except Exception as e: except Exception as e:
@ -84,7 +90,7 @@ def delete_qwik_data(values):
val = json.loads(values) val = json.loads(values)
if len(val) > 0: if len(val) > 0:
for d in val: for d in val:
frappe.delete_doc("QWIK Procedure", d) frappe.delete_doc("Qwik Procedure", d)
frappe.db.commit() frappe.db.commit()
return {"status": "success"} return {"status": "success"}
except Exception as e: except Exception as e:

0
smart_service/phase_2/doctype/qwik_service_publish_data/__init__.py

70
smart_service/phase_2/doctype/qwik_service_publish_data/qwik_service_publish_data.json

@ -0,0 +1,70 @@
{
"actions": [],
"allow_rename": 1,
"creation": "2023-09-20 10:14:59.373766",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"is_published",
"variant",
"language",
"vehicle",
"kilometers",
"display_order",
"parent1"
],
"fields": [
{
"default": "0",
"fieldname": "is_published",
"fieldtype": "Check",
"label": "Published"
},
{
"fieldname": "variant",
"fieldtype": "Link",
"label": "Variant",
"options": "Variant Mapping"
},
{
"fieldname": "language",
"fieldtype": "Link",
"label": "Language",
"options": "Custom Languages"
},
{
"fetch_from": "variant.vehicle",
"fieldname": "vehicle",
"fieldtype": "Data",
"label": "Vehicle"
},
{
"fieldname": "display_order",
"fieldtype": "Int",
"label": "Display Order"
},
{
"fieldname": "parent1",
"fieldtype": "Link",
"label": "Parent",
"options": "Qwik Service"
},
{
"fieldname": "kilometers",
"fieldtype": "Data",
"label": "Kilometers"
}
],
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
"modified": "2023-09-20 10:18:35.308857",
"modified_by": "Administrator",
"module": "Phase-2",
"name": "Qwik Service Publish Data",
"owner": "Administrator",
"permissions": [],
"sort_field": "modified",
"sort_order": "DESC"
}

8
smart_service/phase_2/doctype/qwik_service_publish_data/qwik_service_publish_data.py

@ -0,0 +1,8 @@
# Copyright (c) 2023, Hard n Soft Technologies Pvt Ltd and contributors
# For license information, please see license.txt
# import frappe
from frappe.model.document import Document
class QwikServicePublishData(Document):
pass

88
smart_service/phase_2/doctype/special_tool_information/special_tool_information.json

@ -1,9 +1,7 @@
{ {
"_comments": "[]",
"_liked_by": "[]",
"actions": [], "actions": [],
"allow_rename": 1, "allow_rename": 1,
"autoname": "format:{vehicle}-{category}-{sub_category}", "autoname": "format:{vehicle}-{tools}-{category}",
"creation": "2023-08-04 13:09:53.363093", "creation": "2023-08-04 13:09:53.363093",
"doctype": "DocType", "doctype": "DocType",
"editable_grid": 1, "editable_grid": 1,
@ -12,16 +10,20 @@
"published", "published",
"column_break_cyo0a", "column_break_cyo0a",
"vehicle", "vehicle",
"category", "tools",
"column_break_nkf5o", "column_break_nkf5o",
"active_status", "active_status",
"sub_category",
"column_break_whk88",
"display_order", "display_order",
"keywords", "category",
"section_break_wwf2i",
"aggregate_name",
"aggregate_image",
"column_break_whk88",
"my_id", "my_id",
"section_break_e91wx", "section_break_e91wx",
"tool_usage_content" "instructions",
"keywords",
"pdf"
], ],
"fields": [ "fields": [
{ {
@ -34,24 +36,6 @@
"reqd": 1, "reqd": 1,
"set_only_once": 1 "set_only_once": 1
}, },
{
"fieldname": "category",
"fieldtype": "Select",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Category",
"options": "New Tool\nCarry Over",
"set_only_once": 1
},
{
"fieldname": "sub_category",
"fieldtype": "Select",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Sub Category",
"options": "Maintenance Tool\nRepair Tool\nOverhauling Tool",
"set_only_once": 1
},
{ {
"fieldname": "display_order", "fieldname": "display_order",
"fieldtype": "Int", "fieldtype": "Int",
@ -65,12 +49,6 @@
"in_list_view": 1, "in_list_view": 1,
"label": "My ID" "label": "My ID"
}, },
{
"fieldname": "tool_usage_content",
"fieldtype": "Table",
"label": "Tool Usage Content",
"options": "MST Information Assets"
},
{ {
"default": "0", "default": "0",
"fieldname": "published", "fieldname": "published",
@ -109,11 +87,55 @@
"fieldname": "keywords", "fieldname": "keywords",
"fieldtype": "Small Text", "fieldtype": "Small Text",
"label": "Keywords" "label": "Keywords"
},
{
"fieldname": "aggregate_name",
"fieldtype": "Data",
"label": "Aggregate Name"
},
{
"fieldname": "tools",
"fieldtype": "Select",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Tools",
"options": "New Tool\nCarry Over",
"set_only_once": 1
},
{
"fieldname": "category",
"fieldtype": "Select",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Category",
"options": "Maintenance Service Category(MS)\nRepair Service Category(RS)\nOverhaul Service Category(OS)\nTEB",
"set_only_once": 1
},
{
"fieldname": "aggregate_image",
"fieldtype": "Attach Image",
"label": "Aggregate Image"
},
{
"fieldname": "section_break_wwf2i",
"fieldtype": "Section Break"
},
{
"depends_on": "eval:doc.category=='TEB'",
"fieldname": "pdf",
"fieldtype": "Attach",
"label": "PDF"
},
{
"fieldname": "instructions",
"fieldtype": "Table",
"label": "Instructions",
"options": "Instructions"
} }
], ],
"index_web_pages_for_search": 1, "index_web_pages_for_search": 1,
"links": [], "links": [],
"modified": "2023-09-15 10:35:02.922534", "modified": "2023-09-21 18:26:21.849846",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Phase-2", "module": "Phase-2",
"name": "Special Tool Information", "name": "Special Tool Information",

Loading…
Cancel
Save