Details

    • Similar Issues:
      Show 5 results 

      Description

      In the permission configuration screen, if pagination is used then all the check permissions becomes unchecked on previous page.

      Steps to reproduce

      Step 1- Click on permissions on any Portlet
      Step 2- Check any role for permission
      Step 3- Use pagination to move to next page.
      Step 4- Come back to previous page and the permission which was checked previously now becomes unchecked.

        Activity

        Hide
        Thiago Leão Moreira added a comment - - Restricted to

        This improvement was only applied to the screen that edit permission to algorithm 5 and 6.

        The Submit button was removed since it lost its functionality. Maybe some testcases will broke.

        Show
        Thiago Leão Moreira added a comment - - Restricted to This improvement was only applied to the screen that edit permission to algorithm 5 and 6. The Submit button was removed since it lost its functionality. Maybe some testcases will broke.
        Hide
        Brian Chan added a comment - - Restricted to

        Hey Thiago,

        I rolled back rev 39664. It's a good start though to stop the page iterator, but we should make the case stronger. For example, there can be an external href that a user can click that would cause the same issue.

        We need some kind of global trigger that either allows something to proceed or not.

        Show
        Brian Chan added a comment - - Restricted to Hey Thiago, I rolled back rev 39664. It's a good start though to stop the page iterator, but we should make the case stronger. For example, there can be an external href that a user can click that would cause the same issue. We need some kind of global trigger that either allows something to proceed or not.
        Hide
        Thiago Leão Moreira added a comment - - Restricted to

        From our email exchange

        "Nate, what Thiago tried to do was make it so that if a user has changed something on page, and they click next on any paginated item, then it will ask them to first click save before doing it.

        It would be nice if we could do the same thing, but not for pagination, but for any type of event.

        Imagine a user fills out a form in portlet A, forgets to click save. Mean while, portlet B has a bunch of regular href links. If he clicks on any of them, it moves him out of the page.

        We would like some global way to say, once you do X, we now call some JS method that will tell the user he needs to click save.

        One possible API would be:

        Liferay.Util.addWarnUserForLeavingPage('some-key-1'); // please rename the method

        That will add it to the JS cache of keys.

        If the user then clicks save (and it goes via Ajax and somehow it's in an OK state again, we then trigger)

        Liferay.Util.removeWarnUserForLeavingPage('some-key-1');

        Now, if the user clicks and tries to go to another page. We're ok and the user will not be warned.

        The reason it needs to be key based is because multiple portlets could add different keys / states. Let me know if this makes sense. Thanks Nate."

        Show
        Thiago Leão Moreira added a comment - - Restricted to From our email exchange "Nate, what Thiago tried to do was make it so that if a user has changed something on page, and they click next on any paginated item, then it will ask them to first click save before doing it. It would be nice if we could do the same thing, but not for pagination, but for any type of event. Imagine a user fills out a form in portlet A, forgets to click save. Mean while, portlet B has a bunch of regular href links. If he clicks on any of them, it moves him out of the page. We would like some global way to say, once you do X, we now call some JS method that will tell the user he needs to click save. One possible API would be: Liferay.Util.addWarnUserForLeavingPage('some-key-1'); // please rename the method That will add it to the JS cache of keys. If the user then clicks save (and it goes via Ajax and somehow it's in an OK state again, we then trigger) Liferay.Util.removeWarnUserForLeavingPage('some-key-1'); Now, if the user clicks and tries to go to another page. We're ok and the user will not be warned. The reason it needs to be key based is because multiple portlets could add different keys / states. Let me know if this makes sense. Thanks Nate."
        Hide
        Cynthia Wilburn (Inactive) added a comment -

        Slated for 6.1.next release.

        Show
        Cynthia Wilburn (Inactive) added a comment - Slated for 6.1.next release.
        Hide
        Vinod V added a comment -

        I think this is a MAJOR issue.
        1. I have more than 20 roles
        2.I go to configuration for any portlet and set the permissions
        3. I browse to the first page and change the permissions for users listed in that page.
        4.I SUBMIT the change
        5. I go to another page and change the permissions for user(s) in that page
        RESULT: ALL the permission checkboxes for ALL other users in ALL other pages becomes unchecked

        This could really screw up the permission settings for anyone who uses a large number of roles

        Probably why this is not widely reported is because the number of roles seldom exceed to multiple pages for most of the users. Even if you submit the permission changes in a page and then move on to the ne

        Show
        Vinod V added a comment - I think this is a MAJOR issue. 1. I have more than 20 roles 2.I go to configuration for any portlet and set the permissions 3. I browse to the first page and change the permissions for users listed in that page. 4.I SUBMIT the change 5. I go to another page and change the permissions for user(s) in that page RESULT: ALL the permission checkboxes for ALL other users in ALL other pages becomes unchecked This could really screw up the permission settings for anyone who uses a large number of roles Probably why this is not widely reported is because the number of roles seldom exceed to multiple pages for most of the users. Even if you submit the permission changes in a page and then move on to the ne
        Hide
        Nate Cavanaugh added a comment -

        This was committed a while ago (I believe it might have even been backported), but the fix that was implemented is that pagination was disabled for that view.

        Show
        Nate Cavanaugh added a comment - This was committed a while ago (I believe it might have even been backported), but the fix that was implemented is that pagination was disabled for that view.
        Hide
        Catherine Lui (Inactive) added a comment -

        PASSED Manual Testing using the following steps:

        1. Start Liferay and sign in.
        2. Go to the Control Panel.
        3. Go to "Roles" in the left menu.
        4. Add a new role:
          • Click " Add > Regular Role"
          • Fill in the Name field (and Title field, if present), then submit.
        5. Repeat until around 20 new roles have been created.
        6. Go back to the front page.
        7. Add any portlet.
        8. Click on the Wrench icon of the portlet and choose "Configuration".
        9. Go to the "Permissions" section. Because the new roles were added, the roles listed should be paginated.
        10. Check any box.
        11. Go to the next page.
        12. Go back to the previous page.

        The box checked becomes unchecked.

        Reproduced on:
        Tomcat 6.0.18 + MySQL 5. 5.2.3 CE.

        Fixed on:
        Tomcat 7.0.21 + MySQL 5. 6.1.x Revision 93248.

        (In the fixed version, pagination in the Permissions section of portlet Configuration is disabled.)

        Show
        Catherine Lui (Inactive) added a comment - PASSED Manual Testing using the following steps: Start Liferay and sign in. Go to the Control Panel. Go to "Roles" in the left menu. Add a new role: Click " Add > Regular Role" Fill in the Name field (and Title field, if present), then submit. Repeat until around 20 new roles have been created. Go back to the front page. Add any portlet. Click on the Wrench icon of the portlet and choose "Configuration". Go to the "Permissions" section. Because the new roles were added, the roles listed should be paginated. Check any box. Go to the next page. Go back to the previous page. The box checked becomes unchecked. Reproduced on: Tomcat 6.0.18 + MySQL 5. 5.2.3 CE. Fixed on: Tomcat 7.0.21 + MySQL 5. 6.1.x Revision 93248. (In the fixed version, pagination in the Permissions section of portlet Configuration is disabled.)

          People

          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Days since last comment:
              3 years, 34 weeks, 3 days ago

              Time Tracking

              Estimated:
              Original Estimate - 4 hours
              4h
              Remaining:
              Remaining Estimate - 4 hours
              4h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development

                  Structure Helper Panel