From 67277507f041e9905cadb991bc3754ee4cf4ca70 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Fri, 28 Jul 2017 14:30:18 +0530 Subject: [PATCH 1/2] [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 --- .../core/doctype/test_runner/test_runner.js | 3 ++- .../core/doctype/test_runner/test_runner.py | 5 +++-- frappe/public/js/frappe/list/list_renderer.js | 7 ++++++- frappe/public/js/frappe/ui/filters/filters.js | 1 + frappe/tests/ui/test_linked_with.js | 19 +++++++++++++++++++ frappe/tests/ui/tests.txt | 3 ++- 6 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 frappe/tests/ui/test_linked_with.js diff --git a/frappe/core/doctype/test_runner/test_runner.js b/frappe/core/doctype/test_runner/test_runner.js index d5cac7f8a5..87ea09fab7 100644 --- a/frappe/core/doctype/test_runner/test_runner.js +++ b/frappe/core/doctype/test_runner/test_runner.js @@ -11,7 +11,8 @@ frappe.ui.form.on('Test Runner', { // all tests 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) => { $("
").appendTo(wrapper.empty()); frm.events.run_tests(frm, data.message); diff --git a/frappe/core/doctype/test_runner/test_runner.py b/frappe/core/doctype/test_runner/test_runner.py index c09d75ae4f..2961e9f38b 100644 --- a/frappe/core/doctype/test_runner/test_runner.py +++ b/frappe/core/doctype/test_runner/test_runner.py @@ -10,9 +10,10 @@ class TestRunner(Document): pass @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''' - 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 = [] # split diff --git a/frappe/public/js/frappe/list/list_renderer.js b/frappe/public/js/frappe/list/list_renderer.js index 02940e1bec..65f52c910c 100644 --- a/frappe/public/js/frappe/list/list_renderer.js +++ b/frappe/public/js/frappe/list/list_renderer.js @@ -271,7 +271,10 @@ frappe.views.ListRenderer = Class.extend({ setup_filterable: function () { var me = this; + + this.list_view.wrapper && this.list_view.wrapper.on('click', '.result-list .filterable', function (e) { + e.stopPropagation(); var filters = $(this).attr('data-filter').split('|'); var added = false; @@ -294,7 +297,9 @@ frappe.views.ListRenderer = Class.extend({ 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 if ($(e.target).hasClass('filterable') || $(e.target).hasClass('octicon-heart') diff --git a/frappe/public/js/frappe/ui/filters/filters.js b/frappe/public/js/frappe/ui/filters/filters.js index b338d23f3d..0d74e61b84 100644 --- a/frappe/public/js/frappe/ui/filters/filters.js +++ b/frappe/public/js/frappe/ui/filters/filters.js @@ -87,6 +87,7 @@ frappe.ui.FilterList = Class.extend({ } var filter = this.push_new_filter(doctype, fieldname, condition, value); + if (!filter) return; if(this.wrapper.find('.clear-filters').hasClass("hide")) { this.wrapper.find('.clear-filters').removeClass("hide"); diff --git a/frappe/tests/ui/test_linked_with.js b/frappe/tests/ui/test_linked_with.js new file mode 100644 index 0000000000..aeaced2d19 --- /dev/null +++ b/frappe/tests/ui/test_linked_with.js @@ -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 + ]); +}); \ No newline at end of file diff --git a/frappe/tests/ui/tests.txt b/frappe/tests/ui/tests.txt index de7d34fddb..b94f64aa63 100644 --- a/frappe/tests/ui/tests.txt +++ b/frappe/tests/ui/tests.txt @@ -2,4 +2,5 @@ frappe/tests/ui/test_number_format.js frappe/tests/ui/test_list/test_list_filter.js frappe/tests/ui/test_list/test_list_paging.js frappe/tests/ui/test_module_view.js -frappe/tests/ui/test_calendar_view.js \ No newline at end of file +frappe/tests/ui/test_calendar_view.js +frappe/tests/ui/test_linked_with.js \ No newline at end of file From 04aa13fc9bac1679474f0cf15db37cbb963afc58 Mon Sep 17 00:00:00 2001 From: mbauskar Date: Fri, 28 Jul 2017 16:34:43 +0600 Subject: [PATCH 2/2] bumped to version 8.6.3 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 28fca585a7..cd5c0cd7f4 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template -__version__ = '8.6.2' +__version__ = '8.6.3' __title__ = "Frappe Framework" local = Local()