Code Monkey home page Code Monkey logo

Comments (1)

nbfleet avatar nbfleet commented on September 24, 2024

1. Summary

The bug prevents the Portal Menu from being displayed by default in web forms when the Show
Sidebar option is checked, despite no custom Website Sidebar being selected. This behavior
contradicts the expected default behavior seen in other areas, such as the profile area.

2. Description

Issue:

When accessing web forms for editing profiles or managing addresses, enabling the Show
Sidebar option without selecting a custom Website Sidebar leads to the Portal Menu not being
displayed. This inconsistency contrasts with the typical behavior observed in similar areas within
the application.

Impact:
This bug affects the user experience by omitting expected functionality and may cause
confusion among users who anticipate seeing the Portal Menu in the sidebar.

Software Version:
ERPNext: 15.x.x-develop
Frappe: 15.x.x-develop
Module: Web Forms
Component: Sidebar Display

4. Steps to Reproduce
Navigate to /app/web-form/edit-profile or /app/web-form/addresses.
Enable the Show Sidebar option without selecting a custom Website Sidebar.
Visit /update-profile or /address/list.
Observe that the Portal Menu is not displayed in the sidebar area.

Observed Result:
The Portal Menu is missing from the sidebar despite enabling the Show Sidebar option.

Expected Result:
The Portal Menu should be displayed by default in the sidebar when the Show Sidebar option is
enabled, even if no custom Website Sidebar is selected.

5. Diagnosis
Initial Investigation:
Confirmed that the issue occurs when the Show Sidebar option is checked without selecting a
custom Website Sidebar.

Root Cause Analysis:
The bug likely stems from the conditional check in the web_form.py file, where the presence of
the Website Sidebar value is verified before displaying the Portal Menu. This check may be
unnecessary and results in the Portal Menu not being shown when it should.

6. Solution
Changes Made:
FilePath:/home/erp_user/frappe-
bench_v15/apps/frappe/frappe/website/doctype/web_form/web_form.py

Line No.: 233
Modification:
Replaced the line:
if self.show_sidebar and self.website_sidebar:
context.sidebar_items = get_sidebar_items(self.website_sidebar)
**
context.sidebar_items = get_sidebar_items(self.website_sidebar) if self.show_sidebar else
None

Before:
Screenshot (3)

After
Screenshot (4)**

from frappe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.