Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-58486

Subtle bug in (un)set_user_preferences

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.1.5, 3.2.2
    • Fix Version/s: 3.1.6, 3.2.3
    • Component/s: Libraries
    • Labels:
    • Testing Instructions:
      Hide

      The main test here is that there are no regressions. Hopefully we can rely on the full automated test run to verify that.

      Note that I added two new unit tests, which failed before my change in moodlelib.php and which pass afterwards.

      I cannot think of any manual testing that would be useful here.

      Show
      The main test here is that there are no regressions. Hopefully we can rely on the full automated test run to verify that. Note that I added two new unit tests, which failed before my change in moodlelib.php and which pass afterwards. I cannot think of any manual testing that would be useful here.
    • Affected Branches:
      MOODLE_31_STABLE, MOODLE_32_STABLE
    • Fixed Branches:
      MOODLE_31_STABLE, MOODLE_32_STABLE
    • Pull from Repository:
    • Pull 3.1 Branch:
    • Pull Master Branch:

      Description

      With (un)set_user_preference, you can either pass a $user object, or a $userid, to say which user's preference to set. (If not passed, it defaults to $USER).

      Once the preference is set (or unset), it updates the cache in $user->preference cache.

      The case that is missed is that if you pass $USER->id to the function as an integer, then it dose not updated the cache in $USER. I think it should, and it took me a while to debug. Therefore, I am going to make a patch.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  8/May/17