Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
erp5 erp5
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 140
    • Merge requests 140
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • erp5erp5
  • Merge requests
  • !1379

Merged
Created Mar 22, 2021 by Jérome Perrin@jeromeOwner

CMFActivity: Always set zope.globalrequest

  • 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
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: fix/cmf_activity_global_request
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7