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

Message API does not respect user_get_user_details parameters type

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • 3.4.7, 3.5.4
    • 3.4.6, 3.5.2, 3.6
    • Messages

      The first parameter of user_get_user_details must be a user record (from mdl_user) as indicated in the function documentation.

      It happens that the message API is calling this function via show_online_status passing as parameter partial user objects that are not user records from the DB

      I discovered this while working in a fix for MDL-63395

      Some errors, in this case the user object is missing the deleted field from the user table:

      1) core_message_api_testcase::test_search_users_in_course
      Undefined property: stdClass::$deleted

      /Users/juanleyvadelgado/moodles/stable_master/moodle/user/lib.php:1153
      /Users/juanleyvadelgado/moodles/stable_master/moodle/user/lib.php:272
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/helper.php:338
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/helper.php:317
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/api.php:185
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/tests/api_test.php:164
      /Users/juanleyvadelgado/moodles/stable_master/moodle/lib/phpunit/classes/advanced_testcase.php:80

      To re-run:
      vendor/bin/phpunit "core_message_api_testcase" message/tests/api_test.php

      2) core_message_api_testcase::test_search_users
      Undefined property: stdClass::$deleted

      /Users/juanleyvadelgado/moodles/stable_master/moodle/user/lib.php:1153
      /Users/juanleyvadelgado/moodles/stable_master/moodle/user/lib.php:272
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/helper.php:338
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/helper.php:317
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/api.php:229
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/tests/api_test.php:262
      /Users/juanleyvadelgado/moodles/stable_master/moodle/lib/phpunit/classes/advanced_testcase.php:80

      To re-run:
      vendor/bin/phpunit "core_message_api_testcase" message/tests/api_test.php

      3) core_message_api_testcase::test_search_messages
      Undefined property: stdClass::$deleted

      /Users/juanleyvadelgado/moodles/stable_master/moodle/user/lib.php:1153
      /Users/juanleyvadelgado/moodles/stable_master/moodle/user/lib.php:272
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/helper.php:338
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/helper.php:317
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/classes/api.php:144
      /Users/juanleyvadelgado/moodles/stable_master/moodle/message/tests/api_test.php:303
      /Users/juanleyvadelgado/moodles/stable_master/moodle/lib/phpunit/classes/advanced_testcase.php:80

            cescobedo Carlos Escobedo
            jleyva Juan Leyva
            Juan Leyva Juan Leyva
            Eloy Lafuente (stronk7) Eloy Lafuente (stronk7)
            CiBoT CiBoT
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.