Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • erp5 erp5
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Merge requests 142
    • Merge requests 142
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedinexedi
  • erp5erp5
  • Merge requests
  • !1379

CMFActivity: Always set zope.globalrequest

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Jérome Perrin requested to merge fix/cmf_activity_global_request into master Mar 22, 2021
  • Overview 0
  • Commits 1
  • Pipelines 2
  • Changes 2

ERP5 uses a mix of context.REQUEST and Products.ERP5Type.Global.get_request(), which now uses zope.globalrequest.getRequest(). CMFActivity reconstruct the original request before executing activity, so that the activity is executed with a request equivalent to the request at the time where the method was activated. For this, context.REQUEST was properly restored, but get_request()/globalrequest was only restored when the REQUEST had some Accept-Language header, so that it replays the language negociation for Localizer.

With browser requests, I guess every browser pass an Accept-Language header ( according to https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language all major browser support it), but within unit tests such header is not present. So this lead to activities with unit test requests being slightly different, because as they don't have Accept-Language, context.REQUEST was set, but the global request was not set, so they were running with two different requests in context.REQUEST and global request, leading to some problems for example with formulator fields.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix/cmf_activity_global_request
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7