Uploaded image for project: 'Plugins'
  1. Plugins
  2. CONTRIB-2392

Show readers function should only include certain roles

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Minor Minor
    • 1.9.9
    • 1.9.9
    • None
    • Easy
    • MOODLE_19_STABLE
    • MOODLE_19_STABLE

      When you do 'show readers' it currently shows everyone who has read a post. We
      need to change it to include only people who belong to certain roles.

      1) The role list (config setting) we will use already exists; it is called
      forumng_monitorroles. Look on forum settings screen to see it. Please change
      the text description slightly so that it explains it is also used for the show
      readers screen.

      2) Show readers is somewhere like, mod/forumng/feature/showreaders or so. For
      assistance finding your way around forum code, try Ray or Mahmoud.

      3) Logic is as follows (this should be incorporated into the existing query -
      please don't make it do one-query-per-reader as there could be hundreds):

      a) Get the list of current contexts from $context->contextpath or somesuch (has
      a comma-separated list of context ids for forum, course, all contexts above
      that).

      b) in the query, find out if somebody is in the role by doing an INNER JOIN
      (beware of duplicate results if somebody has two roles that are both on the
      list) or WHERE (SELECT) subquery, which basically tries to find an entry in
      role_assignments for the user in question, where roleid IN (the list from
      config) and contextid IN (the list from the contextpath). Obviously, make the
      query only include people who meet this requirement.

      c) To reiterate, make sure to test with:

      i. a user account that isn't in any of the selected roles
      ii. one who's in more than one of the selected roles

      4) If there is help for this function, or on-screen text [I can't remember],
      please modify it slightly so that it uses words like 'relevant users' or
      something rather than indicating that it includes all people who see the
      screen.

            colchambers Colin Chambers
            colchambers Colin Chambers
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:

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