소스 검색

merged hotfix branch into staging (#3821)

* [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.4
version-14
Makarand Bauskar 8 년 전
committed by GitHub
부모
커밋
ecaf4f6cd1
9개의 변경된 파일37개의 추가작업 그리고 8개의 파일을 삭제
  1. +1
    -1
      frappe/__init__.py
  2. +2
    -1
      frappe/core/doctype/test_runner/test_runner.js
  3. +3
    -2
      frappe/core/doctype/test_runner/test_runner.py
  4. +2
    -1
      frappe/core/page/data_import_tool/importer.py
  5. +1
    -1
      frappe/public/js/frappe/form/quick_entry.js
  6. +6
    -1
      frappe/public/js/frappe/list/list_renderer.js
  7. +1
    -0
      frappe/public/js/frappe/ui/filters/filters.js
  8. +19
    -0
      frappe/tests/ui/test_linked_with.js
  9. +2
    -1
      frappe/tests/ui/tests.txt

+ 1
- 1
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.4'
__title__ = "Frappe Framework"

local = Local()


+ 2
- 1
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) => {
$("<div id='qunit'></div>").appendTo(wrapper.empty());
frm.events.run_tests(frm, data.message);


+ 3
- 2
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


+ 2
- 1
frappe/core/page/data_import_tool/importer.py 파일 보기

@@ -118,7 +118,8 @@ def upload(rows = None, submit_after_import=None, ignore_encoding_errors=False,
elif fieldtype in ("Float", "Currency", "Percent"):
d[fieldname] = flt(d[fieldname])
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":
if d[fieldname]:
if " " in d[fieldname]:


+ 1
- 1
frappe/public/js/frappe/form/quick_entry.js 파일 보기

@@ -141,7 +141,7 @@ frappe.ui.form.QuickEntryForm = Class.extend({
frappe.ui.form.update_calling_link(me.dialog.doc);
} else {
if(me.after_insert) {
me.after_insert(me.dialig.doc);
me.after_insert(me.dialog.doc);
} else {
me.open_from_if_not_list();
}


+ 6
- 1
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')


+ 1
- 0
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");


+ 19
- 0
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
]);
});

+ 2
- 1
frappe/tests/ui/tests.txt 파일 보기

@@ -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_view.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

불러오는 중...
취소
저장