Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OP#59817 Remove activity menu for anonymous users with login required #17314

Open
wants to merge 4 commits into
base: dev
Choose a base branch
from

Conversation

top4ek
Copy link
Contributor

@top4ek top4ek commented Nov 29, 2024

OP#59817

What are you trying to accomplish?

Remove top menu Activity item for anonymous users when login is required as it's leads to nowhere(same login page).

What approach did you choose and why?

Fresh installation shows only Activity item in top menu and leads to the same login page when login is required., so I removed that item when user is anonymous and login is required.
As we don't have any items in top menu in this case and menu is not rendered, I've removed spec for that.
Returning empty array when there's no items thus we don't need to group them(otherwise we have 500 with heading? access to nil)

@top4ek top4ek changed the title Remove activity menu for anonymous users with login required OP#59817 Remove activity menu for anonymous users with login required Nov 29, 2024
Copy link
Contributor

@HDinger HDinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @top4ek

thanks a lot for your contribution! Functionality looks good, I just have a minor remark with regards to the test.

Comment on lines 141 to 146
context "when login_required", with_settings: { login_required: true } do
it "redirects to login" do
expect(page).to have_current_path /login/
end
end

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do not simply delete this test because the redirect should still work and be tested. I think you just have to set let(:open_menu) { false } for this context to work again.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why :top_menu is forced before examples, but all other specs fail even if we don't open top menu there.

@top4ek top4ek marked this pull request as draft December 3, 2024 15:53
@top4ek top4ek requested a review from HDinger December 4, 2024 07:19
Copy link
Member

@apfohl apfohl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a suggestion to the code in module_top_menu_items.

@@ -215,6 +215,8 @@ def more_top_menu_items

def module_top_menu_item_groups
items = more_top_menu_items
return items if items.empty?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even though an empty array is an empty array in ruby, I would suggest not returning the empty items array here, but the item_groups array. You can do this in a way, that add & in line 223: unless items.first&.heading?. If you do it that way the reduce is operating again on an empty list or containing a single item.

Let me know if I should explain more in depth.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doing that gives us empty menu dropdown as unless items.first&.heading? adds to item_groups [{:title=>nil, :items=>[]}]

Screenshot_20241204_195215

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a variant?

def module_top_menu_item_groups
    item_groups = []
    items = more_top_menu_items
    return item_groups if items.blank?

@top4ek top4ek marked this pull request as ready for review December 10, 2024 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants