@@ -1,7 +1,7 @@ | |||||
{ | { | ||||
"allow_copy": 0, | "allow_copy": 0, | ||||
"allow_guest_to_view": 0, | "allow_guest_to_view": 0, | ||||
"allow_import": 0, | |||||
"allow_import": 1, | |||||
"allow_rename": 0, | "allow_rename": 0, | ||||
"beta": 0, | "beta": 0, | ||||
"creation": "2017-07-17 14:25:27.881871", | "creation": "2017-07-17 14:25:27.881871", | ||||
@@ -148,7 +148,7 @@ | |||||
"issingle": 0, | "issingle": 0, | ||||
"istable": 0, | "istable": 0, | ||||
"max_attachments": 0, | "max_attachments": 0, | ||||
"modified": "2017-07-27 22:55:58.647315", | |||||
"modified": "2017-10-24 13:25:33.258794", | |||||
"modified_by": "Administrator", | "modified_by": "Administrator", | ||||
"module": "Core", | "module": "Core", | ||||
"name": "User Permission", | "name": "User Permission", | ||||
@@ -27,8 +27,30 @@ frappe.ui.form.ControlBarcode = frappe.ui.form.ControlData.extend({ | |||||
get_barcode_html(value) { | get_barcode_html(value) { | ||||
// Get svg | // Get svg | ||||
const svg = this.barcode_area.find('svg')[0]; | const svg = this.barcode_area.find('svg')[0]; | ||||
JsBarcode(svg, value, {height: 40}); | |||||
JsBarcode(svg, value, this.get_options(value)); | |||||
$(svg).attr('data-barcode-value', value); | $(svg).attr('data-barcode-value', value); | ||||
return this.barcode_area.html(); | return this.barcode_area.html(); | ||||
}, | |||||
get_options(value) { | |||||
// get JsBarcode options | |||||
let options = JSON.parse('{ "height" : 40 }'); | |||||
if (this.isValidJson(this.df.options)) { | |||||
options = JSON.parse(this.df.options); | |||||
if (options.format && options.format === "EAN") { | |||||
options.format = value.length == 8 ? "EAN8" : "EAN13"; | |||||
} | |||||
} | |||||
return options; | |||||
}, | |||||
isValidJson(jsonData) { | |||||
try { | |||||
JSON.parse(jsonData); | |||||
return true; | |||||
} catch (e) { | |||||
return false; | |||||
} | |||||
} | } | ||||
}); | }); |
@@ -20,7 +20,7 @@ QUnit.test("Test ControlHTML", function(assert) { | |||||
{dt: 'ToDo'}, | {dt: 'ToDo'}, | ||||
{fieldtype: 'HTML'}, | {fieldtype: 'HTML'}, | ||||
{label: random_name + "_template"}, | {label: random_name + "_template"}, | ||||
{options: '<h3> Test {%= doc.status %} </h3>'} | |||||
{options: '<h3> Test {{ doc.status }} </h3>'} | |||||
]); | ]); | ||||
}, | }, | ||||
() => frappe.set_route('List', 'ToDo'), | () => frappe.set_route('List', 'ToDo'), | ||||
@@ -34,16 +34,22 @@ QUnit.test("Test ControlHTML", function(assert) { | |||||
}, | }, | ||||
() => { | () => { | ||||
const control = $(`.frappe-control[data-fieldname="${random_name}"]`)[0]; | const control = $(`.frappe-control[data-fieldname="${random_name}"]`)[0]; | ||||
return assert.ok(control.innerHTML === '<h3> Test </h3>'); | return assert.ok(control.innerHTML === '<h3> Test </h3>'); | ||||
}, | }, | ||||
() => { | () => { | ||||
const control = $(`.frappe-control[data-fieldname="${random_name}_template"]`)[0]; | const control = $(`.frappe-control[data-fieldname="${random_name}_template"]`)[0]; | ||||
// refresh input must be called independently | |||||
cur_frm.get_field(`${random_name}_template`).refresh_input(); | |||||
return assert.ok(control.innerHTML === '<h3> Test Open </h3>'); | return assert.ok(control.innerHTML === '<h3> Test Open </h3>'); | ||||
}, | }, | ||||
() => frappe.tests.set_control("status", "Closed"), | () => frappe.tests.set_control("status", "Closed"), | ||||
() => frappe.timeout(1), | () => frappe.timeout(1), | ||||
() => { | () => { | ||||
const control = $(`.frappe-control[data-fieldname="${random_name}_template"]`)[0]; | const control = $(`.frappe-control[data-fieldname="${random_name}_template"]`)[0]; | ||||
// refresh input must be called independently | |||||
cur_frm.get_field(`${random_name}_template`).refresh_input(); | |||||
return assert.ok(control.innerHTML === '<h3> Test Closed </h3>'); | return assert.ok(control.innerHTML === '<h3> Test Closed </h3>'); | ||||
}, | }, | ||||
() => done() | () => done() | ||||
@@ -218,7 +218,11 @@ def formatdate(string_date=None, format_string=None): | |||||
* mm-dd-yyyy | * mm-dd-yyyy | ||||
* dd/mm/yyyy | * dd/mm/yyyy | ||||
""" | """ | ||||
date = getdate(string_date) if string_date else now_datetime().date() | |||||
if not string_date: | |||||
return '' | |||||
date = getdate(string_date) | |||||
if not format_string: | if not format_string: | ||||
format_string = get_user_format().replace("mm", "MM") | format_string = get_user_format().replace("mm", "MM") | ||||