Giter VIP home page Giter VIP logo

Comments (16)

fballiano avatar fballiano commented on September 26, 2024

you see the alert but then when you click there's the "no records"? really weird

@kiatng what do you think?

btw this is the original PR #3647

from magento-lts.

hirale avatar hirale commented on September 26, 2024

confirmed.

from magento-lts.

fballiano avatar fballiano commented on September 26, 2024

@kiatng true, it happens only right after login, if you refresh the alert disappears

from magento-lts.

starnetwork avatar starnetwork commented on September 26, 2024

@fballiano
true, refresh and the alert disappears but it's back every time any admin do login again and again

from magento-lts.

fballiano avatar fballiano commented on September 26, 2024

I know, but it was important to tell that to the original author of the PR for debug

from magento-lts.

kiatng avatar kiatng commented on September 26, 2024

I did a test on the latest next branch:

adminhtml.xml, add a Test resource:

<config>
    <acl>
        <resources>
            <admin>
                <children>
                    <celera_crib translate="label" module="crib">
                        <title>Celera Modules</title>
                        <children>
                            <crib translate="title">
                                <title>Crib Services</title>
                                <sort_order>1000</sort_order>
                            </crib>
                            <test translate="title">
                                <title>Test</title>
                                <sort_order>1100</sort_order>
                            </test>
                        </children>
                    </celera_crib>

Then in backend > System > Roles > select a role and toggle the checkbox of the resource > Save

image

Logout from backend.

Changed resource now to Test2 in adminhtml.xml

                            <test2 translate="title">
                                <title>Test2</title>
                                <sort_order>1100</sort_order>
                            </test2>

Login to backend, notice of orphaned resource Test:

image

Click on the link, the orphaned resource is listed:

image

I do not know why the grid can be empty. I will think about it.

from magento-lts.

pquerner avatar pquerner commented on September 26, 2024

Check the exception log file, maybe something is in there.

from magento-lts.

fballiano avatar fballiano commented on September 26, 2024

it happens for a customer of mine:
Screenshot 2024-05-24 alle 18 42 37

but then clicking on the link:

Screenshot 2024-05-24 alle 18 42 44

and in the table those resources are there:

Screenshot 2024-05-24 alle 18 46 48

from magento-lts.

kiatng avatar kiatng commented on September 26, 2024

@fballiano Could it be cache? Can you try refresh it?

from magento-lts.

fballiano avatar fballiano commented on September 26, 2024

@kiatng no it's been reset many times

from magento-lts.

kiatng avatar kiatng commented on September 26, 2024

@fballiano Need your help: what is the output array of Mage::getModel('admin/roles')->getResourcesList2D();? Do you see orphaned resources such as admin/storepickup/holidays/action listed in the array?

from magento-lts.

fballiano avatar fballiano commented on September 26, 2024

yes there are:

Screenshot 2024-05-27 alle 11 22 05

from magento-lts.

JonLaliberte avatar JonLaliberte commented on September 26, 2024

Just wanted to confirm the problem as well.
After requesting a delete of ~30 orphaned roles, a message came up saying it deleted ~150. That's always scary.
Logged out, back in and the message came back, but the table is empty now.

from magento-lts.

kiatng avatar kiatng commented on September 26, 2024

Just wanted to confirm the problem as well. After requesting a delete of ~30 orphaned roles, a message came up saying it deleted ~150. That's always scary. Logged out, back in and the message came back, but the table is empty now.

That's because an orphaned resource may have several entries in the table admin_rule, for example if user1 to user5 are not allowed a resource, it'll have 5 entries in the table for the resource. That's why it reported deletion of 150.

Because I cannot replicate the annoying message and empty grid, I am stumped why this happen to some people. I am still working on it trying to pin point the source. @fballiano is helping me on this.

I welcome any lead or theory.

from magento-lts.

kiatng avatar kiatng commented on September 26, 2024

With @fballiano help, I finally managed to replicate the bug. Please allow a few days to find the cause.

The bug is that the notice about orphaned resources is wrong. However, I think the empty grid is correct, so there is no danger of wrongly deleting resources.

from magento-lts.

kiatng avatar kiatng commented on September 26, 2024

The cause is actually an additional <action> node in the adminhtml.xml file:

<config>
    <!-- ... -->
    <acl> <!-- UNDER THIS ACL NODE -->
         <resources>
              <admin>
                <children>
                    <storepickup module="storepickup" translate="title">
                        <title>Store Pickup</title>
                        <sort_order>70</sort_order>
                        <children>
                            <stores module="storepickup" translate="title">
                                <title>Manage Stores</title>
                                <sort_order>0</sort_order>
                                <action>storepickup/adminhtml_store</action> <!-- REMOVE THIS LINE -->
                            </stores>

The <action> node is for assigning a menu item to a controller action. It should not be in the ACL.

@fballiano Please test by removing all <action> nodes under <acl>, refresh the cache, and see if the orphaned resource notice is rendered.

It's a bit more complicated than I thought. The <action> is added to the table admin_rule by mistake. It's a mistake because the node is not part of the ACL.
image

In admin > System > Permissions > Roles > edit a role, the resources are correctly listed without the <action>.
image

from magento-lts.

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.