diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py index b936251b50..ee4b1dde2a 100644 --- a/frappe/model/db_query.py +++ b/frappe/model/db_query.py @@ -692,7 +692,7 @@ class DatabaseQuery(object): if c: conditions.append(c) - permision_script_name = get_server_script_map().get("permission_query").get(self.doctype) + permision_script_name = get_server_script_map().get("permission_query", {}).get(self.doctype) if permision_script_name: script = frappe.get_doc("Server Script", permision_script_name) condition = script.get_permission_query_conditions(self.user) diff --git a/frappe/patches.txt b/frappe/patches.txt index a1fd8f1f35..e34fe93223 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -300,7 +300,7 @@ frappe.patches.v13_0.update_duration_options frappe.patches.v13_0.replace_old_data_import # 2020-06-24 frappe.patches.v13_0.create_custom_dashboards_cards_and_charts frappe.patches.v13_0.rename_is_custom_field_in_dashboard_chart -frappe.patches.v13_0.add_standard_navbar_items +frappe.patches.v13_0.add_standard_navbar_items # 2020-12-15 frappe.patches.v13_0.generate_theme_files_in_public_folder frappe.patches.v13_0.increase_password_length frappe.patches.v12_0.fix_email_id_formatting diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index 8a005ffdfb..d14b086405 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -904,7 +904,6 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { let escaped_subject = frappe.utils.escape_html(subject); const seen = this.get_seen_class(doc); - console.log(this.get_form_link(doc)); let subject_html = ` { let liked_by_list = $(``); // to show social profile of the user - let link_base = '#user-profile/'; + let link_base = '/app/user-profile'; liked_by.forEach(user => { // append user list item diff --git a/frappe/public/js/frappe/views/calendar/calendar.js b/frappe/public/js/frappe/views/calendar/calendar.js index 38aa5350d1..dd6fa0f4eb 100644 --- a/frappe/public/js/frappe/views/calendar/calendar.js +++ b/frappe/public/js/frappe/views/calendar/calendar.js @@ -7,6 +7,7 @@ frappe.provide("frappe.views.calendars"); frappe.views.CalendarView = class CalendarView extends frappe.views.ListView { static load_last_view() { const route = frappe.get_route(); + console.log(route); if (route.length === 3) { const doctype = route[1]; const user_settings = frappe.get_user_settings(doctype)['Calendar'] || {}; diff --git a/frappe/public/scss/common/buttons.scss b/frappe/public/scss/common/buttons.scss new file mode 100644 index 0000000000..5ee9dc0e40 --- /dev/null +++ b/frappe/public/scss/common/buttons.scss @@ -0,0 +1,86 @@ +.center-content { + display: flex; + justify-content: center; + align-items: center; +} + +.btn { + border: none; + border-radius: var(--border-radius); + box-shadow: var(--btn-shadow); + font-size: var(--text-md); + &.icon-btn { + height: var(--btn-height); + padding: 0px; + @extend .center-content; + &.btn-default, &.btn-secondary { + min-width: 28px; + } + } +} + +.btn-secondary-dark { + @include button-variant( + $background: $gray-500, + $border: $gray-500, + $hover-background: lighten($gray-500, 1%), + $hover-border: $gray-500, + $active-background: lighten($gray-500, 1%), + $active-border: darken($gray-500, 12.5%) + ); + + color: $white; + &:hover, &:active, &:focus { + color: $white; + } +} + +.btn-primary-light { + @include button-variant( + $background: $primary-light, + $border: $primary-light, + $hover-background: lighten($primary-light, 1%), + $hover-border: $primary-light, + $active-background: lighten($primary-light, 1%), + $active-border: darken($primary-light, 12.5%) + ); + + color: var(--blue-500); + &:hover, &:active { + color: var(--blue-500); + } + + &:focus { + box-shadow: 0 0 0 0.2rem var(--blue-50) + } +} + +.btn.btn-secondary { + background-color: var(--control-bg); + color: var(--text-color); + &:hover, &:active { + background-color: var(--gray-300); + color: var(--text-color); + } +} + +.btn.btn-default { + background-color: var(--fg-color); + color: var(--text-color); + &:hover, &:active { + background: var(--fg-hover-color); + color: var(--text-color); + } +} + +.btn.btn-primary { + background-color: var(--primary-color); + white-space: nowrap; + --icon-stroke: white; + --icon-fill-bg: var(--primary-color); +} + +.btn.btn-danger { + background-color: var(--red-400); + color: $white; +} \ No newline at end of file diff --git a/frappe/public/scss/desk/global.scss b/frappe/public/scss/desk/global.scss index 7f4e40daf0..55d06809bd 100644 --- a/frappe/public/scss/desk/global.scss +++ b/frappe/public/scss/desk/global.scss @@ -104,97 +104,10 @@ img { color: var(--gray-500) !important; } -.center-content { - display: flex; - justify-content: center; - align-items: center; -} - .no-underline { text-decoration: none !important; } -.btn { - border: none; - border-radius: var(--border-radius); - box-shadow: var(--btn-shadow); - font-size: var(--text-md); - &.icon-btn { - height: var(--btn-height); - padding: 0px; - @extend .center-content; - &.btn-default, &.btn-secondary { - min-width: 28px; - } - } -} - -.btn-secondary-dark { - @include button-variant( - $background: $gray-500, - $border: $gray-500, - $hover-background: lighten($gray-500, 1%), - $hover-border: $gray-500, - $active-background: lighten($gray-500, 1%), - $active-border: darken($gray-500, 12.5%) - ); - - color: $white; - &:hover, &:active, &:focus { - color: $white; - } -} - -.btn-primary-light { - @include button-variant( - $background: $primary-light, - $border: $primary-light, - $hover-background: lighten($primary-light, 1%), - $hover-border: $primary-light, - $active-background: lighten($primary-light, 1%), - $active-border: darken($primary-light, 12.5%) - ); - - color: var(--blue-500); - &:hover, &:active { - color: var(--blue-500); - } - - &:focus { - box-shadow: 0 0 0 0.2rem var(--blue-50) - } -} - -.btn.btn-secondary { - background-color: var(--control-bg); - color: var(--text-color); - &:hover, &:active { - background-color: var(--gray-300); - color: var(--text-color); - } -} - -.btn.btn-default { - background-color: var(--fg-color); - color: var(--text-color); - &:hover, &:active { - background: var(--fg-hover-color); - color: var(--text-color); - } -} - -.btn.btn-primary { - background-color: var(--primary-color); - white-space: nowrap; - --icon-stroke: white; - --icon-fill-bg: var(--primary-color); -} - -.btn.btn-danger { - background-color: var(--red-400); - color: $white; -} - h1, h2, h3, h4 { color: var(--text-color); margin-bottom: var(--margin-md) diff --git a/frappe/public/scss/desk/index.scss b/frappe/public/scss/desk/index.scss index eb82178dea..02598cd400 100644 --- a/frappe/public/scss/desk/index.scss +++ b/frappe/public/scss/desk/index.scss @@ -4,6 +4,7 @@ @import "~bootstrap/scss/bootstrap"; @import "global"; +@import "../common/buttons"; @import "../common/flex"; @import "form"; @import "print_preview"; diff --git a/frappe/public/scss/login.scss b/frappe/public/scss/login.scss index f3e4d66e07..434585fc4f 100644 --- a/frappe/public/scss/login.scss +++ b/frappe/public/scss/login.scss @@ -18,19 +18,20 @@ @include media-breakpoint-up(sm) { .page-card { - padding: 45px; + padding-top: 45px; + padding-bottom: 45px; background-color: #fff; box-shadow: var(--shadow-base); } } .page-card { - max-width: 470px; + max-width: 400px; margin: 0 auto; border-radius: var(--border-radius-md); form { - max-width: 330px; + max-width: 320px; margin: 0 auto; .form-group { @@ -57,7 +58,7 @@ color: var(--text-color); font-size: var(--text-base); background-color: var(--control-bg); - margin-bottom: 10px; + margin-bottom: 1rem; } &.invalid { @@ -155,29 +156,28 @@ margin: var(--margin-md) 0; } } + } - .page-card-head { - margin: 0 auto; - text-align: center; + .page-card-head { + margin: 0 auto; + text-align: center; + font-size: var(--text-xl); + font-weight: 600; + margin-bottom: 2.5rem; + + img { + max-height: 42px; + margin-bottom: var(--margin-lg, 30px); + } + + h4 { font-size: var(--text-xl); - font-weight: 600; - margin-bottom: var(--margin-lg); - - img { - max-height: 42px; - margin-bottom: var(--margin-lg, 20px); - } - - h4 { - font-size: var(--text-xl); - color: var(--text-color); - } + color: var(--text-color); } } - .sign-up-message { - margin-top: var(--margin-md); + margin-top: 2rem; color: var(--text-light); font-size: var(--text-md); diff --git a/frappe/public/scss/website.scss b/frappe/public/scss/website.scss index 06ec73c386..bcbb6f3c6a 100644 --- a/frappe/public/scss/website.scss +++ b/frappe/public/scss/website.scss @@ -1 +1 @@ -@import './website/index'; +@import './website/index'; \ No newline at end of file diff --git a/frappe/public/scss/website/footer.scss b/frappe/public/scss/website/footer.scss index bb61f3c274..5208afaa11 100644 --- a/frappe/public/scss/website/footer.scss +++ b/frappe/public/scss/website/footer.scss @@ -76,7 +76,13 @@ } .footer-info { + margin-top: 1rem; border-top: 1px solid $border-color; color: $text-muted; font-size: $font-size-sm; } + +.form-control { + border: none; + font-size: var(--text-md); +} \ No newline at end of file diff --git a/frappe/public/scss/website/index.scss b/frappe/public/scss/website/index.scss index a7308bb500..c3c79a90c3 100644 --- a/frappe/public/scss/website/index.scss +++ b/frappe/public/scss/website/index.scss @@ -3,6 +3,7 @@ @import 'css_variables'; @import '~bootstrap/scss/bootstrap'; @import 'base'; +@import "../common/buttons"; @import 'multilevel_dropdown'; @import 'website_image'; @import 'website_avatar'; diff --git a/frappe/utils/install.py b/frappe/utils/install.py index 6cd4044a7b..4ecae440cb 100644 --- a/frappe/utils/install.py +++ b/frappe/utils/install.py @@ -176,7 +176,7 @@ def add_standard_navbar_items(): { 'item_label': 'My Profile', 'item_type': 'Route', - 'route': '#user-profile', + 'route': '/app/user-profile', 'is_standard': 1 }, { @@ -212,7 +212,7 @@ def add_standard_navbar_items(): { 'item_label': 'Background Jobs', 'item_type': 'Route', - 'route': '#background_jobs', + 'route': '/app/background_jobs', 'is_standard': 1 }, { @@ -242,6 +242,9 @@ def add_standard_navbar_items(): } ] + navbar_settings.settings_dropdown = [] + navbar_settings.help_dropdown = [] + for item in standard_navbar_items: navbar_settings.append('settings_dropdown', item) diff --git a/frappe/www/login.html b/frappe/www/login.html index 750c086a72..7aaa1f1f1b 100644 --- a/frappe/www/login.html +++ b/frappe/www/login.html @@ -56,6 +56,13 @@ {% endblock %} +{% macro logo_section() %} +
+ +

{{ _('Login to {0}').format(app_name or _("Frappe")) }}

+
+{% endmacro %} + {% block page_content %}
@@ -68,11 +75,8 @@