Repository navigation
Fork Sync Branch 18.0 - #19
Merged
Merged
Conversation
The core /mail/thread/data controller empties request_list when the user is not internal, so the response carries neither followersCount nor attachments. The chatter keeps its spinner while followersCount is undefined and the attachments are not loaded, so both counters spin forever for a portal backend user. The cut happens before any permission check, so it is not an ACL issue. Override the controller to set portal_bypass for portal backend users, which is the context this module already uses to make _is_internal return True. Core still checks read access on the record before answering, so a portal backend user without access to the record gets nothing, and plain portal users are unaffected. Also drop the _get_mail_thread_data override: that method no longer exists in Odoo 18, where _thread_to_store replaced it. It was dead code left over from the migration, and it used to strip "followers" to dodge an error on records followed by an internal user. That error does not show up anymore. closes #449 Signed-off-by: Guido Galetto <gal@adhoc.inc>
…ry model The replacement of base.exception.method.detect_exceptions() used to live in sale_exception_compat. The method is defined on the abstract model every exception module inherits from, so stock_exception was covered only while a sale module happened to be installed, with nothing declaring that dependency. Move it to its own module that auto installs with base_exception, so the flow is restored for stock.picking, stock.move and anything else that inherits base.exception without depending on sales. The override delegates to super() when the context carries test_base_exception, the key upstream sets to exercise the second cursor on purpose in its own tests. Nothing sets it outside tests, so the behaviour is unchanged elsewhere and those tests keep meaning something once this module is loaded. Without this module, on a database with stock_exception and no sale_exception, confirming a transfer that matches an exception rule raises BaseExceptionError from detect_exceptions(). The web client swallows it and asks the record for its popup, but stock.picking does not override _must_popup_exception(), so the default False turns it into a soft reload: the transfer stays in draft and the user is told nothing. stock_exception's own test suite errors on 2 of its 4 tests for the same reason. closes #453 Related: ingadhoc/sale#1871 Signed-off-by: Filoquin adhoc <maq@adhoc.com.ar>
sireko
approved these changes
Oct 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.