diff --git a/frappe/public/scss/website/index.scss b/frappe/public/scss/website/index.scss index f25e4d6cc6..109bc8cbb4 100644 --- a/frappe/public/scss/website/index.scss +++ b/frappe/public/scss/website/index.scss @@ -125,6 +125,10 @@ align-items: center; } +.page_content { + min-height: 50vh; +} + .breadcrumb-container { margin-top: 1rem; padding-top: 0.25rem; diff --git a/frappe/templates/styles/card_style.css b/frappe/templates/styles/card_style.css index 9e38ad70bf..a9639d8133 100644 --- a/frappe/templates/styles/card_style.css +++ b/frappe/templates/styles/card_style.css @@ -2,33 +2,32 @@ background-color: var(--bg-color); } - - .page-card { - max-width: 360px; - padding: 15px; - margin: 70px auto; - border-radius: 4px; - background-color: var(--fg-color); - /* box-shadow: var(--shadow-base); */ + max-width: 360px; + padding: 15px; + margin: 70px auto; + border-radius: 4px; + background-color: var(--fg-color); + box-shadow: var(--shadow-base); } .for-reset-password { - margin: 80px 0; + margin: 80px 0; } .for-reset-password .page-card { - border: 0; - max-width: 450px; - margin: auto; - border-radius: 10px; + border: 0; + max-width: 450px; + margin: auto; + border-radius: var(--border-radius-md); + padding: 40px 60px; } -@media (min-width: 567px) { +@media (max-width: 425px) { .for-reset-password .page-card { - box-shadow: var(--shadow-base); - padding: 40px 60px; - + box-shadow: none; + background: none; + padding: 0px; } } diff --git a/frappe/tests/test_website.py b/frappe/tests/test_website.py index 37ac611b4e..9478c4cf5f 100644 --- a/frappe/tests/test_website.py +++ b/frappe/tests/test_website.py @@ -118,7 +118,7 @@ class TestWebsite(unittest.TestCase): def test_error_page(self): set_request(method="GET", path="/_test/problematic_page") response = get_response() - self.assertEqual(response.status_code, 500) + self.assertEqual(response.status_code, 417) def test_login(self): set_request(method="GET", path="/login") diff --git a/frappe/website/page_renderers/error_page.py b/frappe/website/page_renderers/error_page.py index 613809bfdc..6a3925967c 100644 --- a/frappe/website/page_renderers/error_page.py +++ b/frappe/website/page_renderers/error_page.py @@ -5,7 +5,13 @@ class ErrorPage(TemplatePage): def __init__(self, path=None, http_status_code=None, exception=None): path = "error" super().__init__(path=path, http_status_code=http_status_code) - self.http_status_code = getattr(exception, "http_status_code", None) or http_status_code or 500 + self.exception = exception def can_render(self): return True + + def init_context(self): + super().init_context() + self.context.http_status_code = getattr(self.exception, "http_status_code", None) or 500 + self.context.error_title = getattr(self.exception, "title", None) + self.context.error_message = getattr(self.exception, "message", None) diff --git a/frappe/website/page_renderers/template_page.py b/frappe/website/page_renderers/template_page.py index 2ed8a62119..83f68d3716 100644 --- a/frappe/website/page_renderers/template_page.py +++ b/frappe/website/page_renderers/template_page.py @@ -212,19 +212,13 @@ class TemplatePage(BaseTemplatePage): def run_pymodule_method(self, method_name): if hasattr(self.pymodule, method_name): - try: - import inspect + import inspect - method = getattr(self.pymodule, method_name) - if inspect.getfullargspec(method).args: - return method(self.context) - else: - return method() - except (frappe.PermissionError, frappe.DoesNotExistError, frappe.Redirect): - raise - except Exception: - if not frappe.flags.in_migrate: - frappe.errprint(frappe.utils.get_traceback()) + method = getattr(self.pymodule, method_name) + if inspect.getfullargspec(method).args: + return method(self.context) + else: + return method() def render_template(self): if self.template_path.endswith("min.js"): diff --git a/frappe/www/error.html b/frappe/www/error.html index d63daec759..142897c35a 100644 --- a/frappe/www/error.html +++ b/frappe/www/error.html @@ -23,15 +23,15 @@
- {{_("Uncaught Server Exception")}} + {{ error_title }}
-

{{_("There was an error building this page")}}

+

{{ error_message }}

{{ _("Home") }}

- {{ _("Error Code: {0}").format('500') }} + {{ _("Error Code: {0}").format(http_status_code) }}