Uploaded image for project: 'Magnolia UI'
  1. Magnolia UI
  2. MGNLUI-3532

LocalTaskDispatcher fires event always under user that causes the event

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Neutral
    • None
    • None
    • None
    • None

    Description

      The LocalTaskDispatcher has the user as property that should receive the task.

      The dispatcher then fires an event on the eventbus and sets a new context with the correct user and locale, but only if there was no instance in MgnlContext (=if MgnlContext.hasInstance() returns false).

      This is not the case, however. MgnlContext.hasInstance() will return true and therefore the context is not changed. The TaskEvent therefore will be executed in the context of the user, that has sent the event, not the user that should receive it.

      E.g. this leads to problems with the ExternalUserManager. This manager is only capable of returning the current logged in user. If this userManager is access later while this TaskEvent is processed, it will return null, when the current user is accessed.

      Checklists

        Acceptance criteria

        Attachments

          Issue Links

            Activity

              People

                Unassigned Unassigned
                ademasi Adi De Masi
                Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Checklists

                    Bug DoR
                    Task DoD