diff --git a/.travis.yml b/.travis.yml index 9fab56188b..a1568c9118 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,23 +47,27 @@ matrix: script: bench --site test_site run-ui-tests frappe --headless before_install: - # do we really want to run travis? + # do we really want to run travis? check which files are changed and if git doesnt face any fatal errors - | - ONLY_DOCS_CHANGES=$(git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '\.(md|png|jpg|jpeg)$|^.github|LICENSE' ; echo $?) - ONLY_JS_CHANGES=$(git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '\.js$' ; echo $?) - ONLY_PY_CHANGES=$(git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '\.py$' ; echo $?) + FILES_CHANGED=$( git diff --name-only $TRAVIS_COMMIT_RANGE 2>&1 ) - if [[ $ONLY_DOCS_CHANGES == "1" ]]; then - echo "Only docs were updated, stopping build process."; - exit; - fi - if [[ $ONLY_JS_CHANGES == "1" && $TYPE == "server" ]]; then - echo "Only JavaScript code was updated; Stopping Python build process."; - exit; - fi - if [[ $ONLY_PY_CHANGES == "1" && $TYPE == "ui" ]]; then - echo "Only Python code was updated, stopping Cypress build process."; - exit; + if [[ $FILES_CHANGED != *"fatal"* ]]; then + ONLY_DOCS_CHANGES=$( echo $FILES_CHANGED | grep -qvE '\.(md|png|jpg|jpeg)$|^.github|LICENSE' ; echo $? ) + ONLY_JS_CHANGES=$( echo $FILES_CHANGED | grep -qvE '\.js$' ; echo $? ) + ONLY_PY_CHANGES=$( echo $FILES_CHANGED | grep -qvE '\.py$' ; echo $? ) + + if [[ $ONLY_DOCS_CHANGES == "1" ]]; then + echo "Only docs were updated, stopping build process."; + exit; + fi + if [[ $ONLY_JS_CHANGES == "1" && $TYPE == "server" ]]; then + echo "Only JavaScript code was updated; Stopping Python build process."; + exit; + fi + if [[ $ONLY_PY_CHANGES == "1" && $TYPE == "ui" ]]; then + echo "Only Python code was updated, stopping Cypress build process."; + exit; + fi fi # install wkhtmltopdf diff --git a/cypress/integration/form.js b/cypress/integration/form.js index 23fc57fc57..ef89a18e7d 100644 --- a/cypress/integration/form.js +++ b/cypress/integration/form.js @@ -9,6 +9,7 @@ context('Form', () => { it('create a new form', () => { cy.visit('/desk#Form/ToDo/New ToDo 1'); cy.fill_field('description', 'this is a test todo', 'Text Editor').blur(); + cy.wait(300); cy.get('.page-title').should('contain', 'Not Saved'); cy.server(); cy.route({ diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index c282d43d9b..f2cba7c038 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -241,20 +241,8 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { } refresh(refresh_header=false) { - this.freeze(true); - // fetch data from server - return frappe.call(this.get_call_args()).then(r => { - // render - this.prepare_data(r); - this.toggle_result_area(); - this.before_render(); + super.refresh().then(() => { this.render_header(refresh_header); - this.render(); - this.after_render(); - this.freeze(false); - if (this.settings.refresh) { - this.settings.refresh(this); - } }); } diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index 17e61c4f89..bc4129935e 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -10,6 +10,10 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { return 'Report'; } + render_header() { + // Override List View Header + } + setup_defaults() { super.setup_defaults(); this.page_title = __('Report:') + ' ' + this.page_title; diff --git a/frappe/public/less/desktop.less b/frappe/public/less/desktop.less index 08dc68b9bf..b66a0ad8fc 100644 --- a/frappe/public/less/desktop.less +++ b/frappe/public/less/desktop.less @@ -390,6 +390,10 @@ margin-top: 20px; padding-right: 200px; + @media (max-width: 970px) { + padding-right: 0; + } + &.grid { display: grid; grid-template-columns: 1fr 1fr; @@ -410,6 +414,17 @@ &.grid-rows-5 { grid-template-rows: repeat(5, 1fr); } + + @media (max-width: 768px) { + grid-template-columns: 1fr; + &.grid-rows-2, + &.grid-rows-3, + &.grid-rows-4, + &.grid-rows-5 { + grid-template-columns: 1fr; + grid-auto-flow: row; + } + } } .onboarding-step { diff --git a/frappe/public/scss/website.scss b/frappe/public/scss/website.scss index 0149ac0d0a..48bfbe8de0 100644 --- a/frappe/public/scss/website.scss +++ b/frappe/public/scss/website.scss @@ -145,6 +145,7 @@ a.card { width: 5rem; height: 2rem; object-fit: contain; + object-position: left; } .footer-link, .footer-child-item a { diff --git a/frappe/website/web_template/testimonial/testimonial.html b/frappe/website/web_template/testimonial/testimonial.html index 3cd08165ea..b656d3b03d 100644 --- a/frappe/website/web_template/testimonial/testimonial.html +++ b/frappe/website/web_template/testimonial/testimonial.html @@ -1,7 +1,9 @@