* [hotfix] Linked with and List item click (#3803) * [hotfix] Linked with and List item click * Run a single test using Test Runner * Add test for Linked With * [minor] List view fixes * bumped to version 8.6.3 * [Fix] Getting an error datetime.datetime is not iterable during importing purchase invoice data (#3818) * Update quick_entry.js (#3815) Fix typo * bumped to version 8.6.4version-14
@@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json | |||||
from .exceptions import * | from .exceptions import * | ||||
from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template | from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template | ||||
__version__ = '8.6.2' | |||||
__version__ = '8.6.4' | |||||
__title__ = "Frappe Framework" | __title__ = "Frappe Framework" | ||||
local = Local() | local = Local() | ||||
@@ -11,7 +11,8 @@ frappe.ui.form.on('Test Runner', { | |||||
// all tests | // all tests | ||||
frappe.call({ | frappe.call({ | ||||
method: 'frappe.core.doctype.test_runner.test_runner.get_test_js' | |||||
method: 'frappe.core.doctype.test_runner.test_runner.get_test_js', | |||||
args: { test_path: frm.doc.module_path } | |||||
}).always((data) => { | }).always((data) => { | ||||
$("<div id='qunit'></div>").appendTo(wrapper.empty()); | $("<div id='qunit'></div>").appendTo(wrapper.empty()); | ||||
frm.events.run_tests(frm, data.message); | frm.events.run_tests(frm, data.message); | ||||
@@ -10,9 +10,10 @@ class TestRunner(Document): | |||||
pass | pass | ||||
@frappe.whitelist() | @frappe.whitelist() | ||||
def get_test_js(): | |||||
def get_test_js(test_path=None): | |||||
'''Get test + data for app, example: app/tests/ui/test_name.js''' | '''Get test + data for app, example: app/tests/ui/test_name.js''' | ||||
test_path = frappe.db.get_single_value('Test Runner', 'module_path') | |||||
if not test_path: | |||||
test_path = frappe.db.get_single_value('Test Runner', 'module_path') | |||||
test_js = [] | test_js = [] | ||||
# split | # split | ||||
@@ -118,7 +118,8 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False, | |||||
elif fieldtype in ("Float", "Currency", "Percent"): | elif fieldtype in ("Float", "Currency", "Percent"): | ||||
d[fieldname] = flt(d[fieldname]) | d[fieldname] = flt(d[fieldname]) | ||||
elif fieldtype == "Date": | elif fieldtype == "Date": | ||||
d[fieldname] = getdate(parse_date(d[fieldname])) if d[fieldname] else None | |||||
if d[fieldname] and isinstance(d[fieldname], basestring): | |||||
d[fieldname] = getdate(parse_date(d[fieldname])) | |||||
elif fieldtype == "Datetime": | elif fieldtype == "Datetime": | ||||
if d[fieldname]: | if d[fieldname]: | ||||
if " " in d[fieldname]: | if " " in d[fieldname]: | ||||
@@ -141,7 +141,7 @@ frappe.ui.form.QuickEntryForm = Class.extend({ | |||||
frappe.ui.form.update_calling_link(me.dialog.doc); | frappe.ui.form.update_calling_link(me.dialog.doc); | ||||
} else { | } else { | ||||
if(me.after_insert) { | if(me.after_insert) { | ||||
me.after_insert(me.dialig.doc); | |||||
me.after_insert(me.dialog.doc); | |||||
} else { | } else { | ||||
me.open_from_if_not_list(); | me.open_from_if_not_list(); | ||||
} | } | ||||
@@ -271,7 +271,10 @@ frappe.views.ListRenderer = Class.extend({ | |||||
setup_filterable: function () { | setup_filterable: function () { | ||||
var me = this; | var me = this; | ||||
this.list_view.wrapper && | |||||
this.list_view.wrapper.on('click', '.result-list .filterable', function (e) { | this.list_view.wrapper.on('click', '.result-list .filterable', function (e) { | ||||
e.stopPropagation(); | |||||
var filters = $(this).attr('data-filter').split('|'); | var filters = $(this).attr('data-filter').split('|'); | ||||
var added = false; | var added = false; | ||||
@@ -294,7 +297,9 @@ frappe.views.ListRenderer = Class.extend({ | |||||
me.list_view.refresh(true); | me.list_view.refresh(true); | ||||
} | } | ||||
}); | }); | ||||
this.wrapper.on('click', '.list-item', function (e) { | |||||
this.list_view.wrapper && | |||||
this.list_view.wrapper.on('click', '.list-item', function (e) { | |||||
// don't open in case of checkbox, like, filterable | // don't open in case of checkbox, like, filterable | ||||
if ($(e.target).hasClass('filterable') | if ($(e.target).hasClass('filterable') | ||||
|| $(e.target).hasClass('octicon-heart') | || $(e.target).hasClass('octicon-heart') | ||||
@@ -87,6 +87,7 @@ frappe.ui.FilterList = Class.extend({ | |||||
} | } | ||||
var filter = this.push_new_filter(doctype, fieldname, condition, value); | var filter = this.push_new_filter(doctype, fieldname, condition, value); | ||||
if (!filter) return; | |||||
if(this.wrapper.find('.clear-filters').hasClass("hide")) { | if(this.wrapper.find('.clear-filters').hasClass("hide")) { | ||||
this.wrapper.find('.clear-filters').removeClass("hide"); | this.wrapper.find('.clear-filters').removeClass("hide"); | ||||
@@ -0,0 +1,19 @@ | |||||
QUnit.module('form'); | |||||
QUnit.test("Test Linked With", function(assert) { | |||||
assert.expect(2); | |||||
const done = assert.async(); | |||||
frappe.run_serially([ | |||||
() => frappe.set_route('Form', 'Module Def', 'Contacts'), | |||||
() => frappe.tests.click_page_head_item('Menu'), | |||||
() => frappe.tests.click_dropdown_item('Links'), | |||||
() => frappe.timeout(4), | |||||
() => { | |||||
assert.equal(cur_dialog.title, 'Linked With', 'Linked with dialog is opened'); | |||||
const link_tables_count = cur_dialog.$wrapper.find('.list-item-table').length; | |||||
assert.equal(link_tables_count, 2, 'Two DocTypes are linked with Contacts'); | |||||
}, | |||||
done | |||||
]); | |||||
}); |
@@ -6,4 +6,5 @@ frappe/tests/ui/test_calendar_view.js | |||||
frappe/tests/ui/test_kanban/test_kanban_creation.js | frappe/tests/ui/test_kanban/test_kanban_creation.js | ||||
frappe/tests/ui/test_kanban/test_kanban_view.js | frappe/tests/ui/test_kanban/test_kanban_view.js | ||||
frappe/tests/ui/test_kanban/test_kanban_filters.js | frappe/tests/ui/test_kanban/test_kanban_filters.js | ||||
frappe/tests/ui/test_kanban/test_kanban_column.js | |||||
frappe/tests/ui/test_kanban/test_kanban_column.js | |||||
frappe/tests/ui/test_linked_with.js |