Odoo. Open Source Apps To Grow Your Business.
This report presents the forensic synthetic code analysis of odoo/odoo, a Python project with 52,992 GitHub stars. SynthScan v2.0 examined 3,045,049 lines of code across 22299 source files, recording 32635 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 14.1 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 32635 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/netsvc.py | 345 | def showwarning_with_traceback(message, category, filename, lineno, file=None, line=None): | STRING |
| LOW | odoo/http.py | 955 | def _check_and_complete_route_definition(controller_cls, submethod, merged_routing): | CODE |
| LOW | odoo/http.py | 1099 | def get_missing_session_identifiers(self, identifiers): | CODE |
| LOW | odoo/http.py | 1469 | def make_request_wrap_methods(attr): | CODE |
| LOW | odoo/http.py | 2014 | def _get_profiler_context_manager(self): | CODE |
| LOW | odoo/http.py | 452 | def get_session_max_inactivity(env): | STRING |
| LOW | odoo/tools/mail.py | 157 | def kill_conditional_comments(self, doc): | CODE |
| LOW | odoo/tools/mail.py | 186 | def _tag_matching_regex_in_text(regex, node, tag='span', attrs=None): | CODE |
| LOW | odoo/tools/mail.py | 728 | def generate_tracking_message_id(res_id): | CODE |
| LOW | odoo/tools/mail.py | 799 | def email_split_and_normalize(text): | CODE |
| LOW | odoo/tools/mail.py | 804 | def email_split_and_format_normalize(text): | CODE |
| LOW | odoo/tools/misc.py | 289 | def file_open_temporary_directory(env: Environment): | CODE |
| LOW | odoo/tools/misc.py | 1590 | def format_decimalized_number(number: float, decimal: int = 1) -> str: | CODE |
| LOW | odoo/tools/misc.py | 1615 | def format_decimalized_amount(amount: float, currency=None) -> str: | CODE |
| LOW | odoo/tools/misc.py | 1854 | def limited_field_access_token(record, field_name, timestamp=None, *, scope): | STRING |
| LOW | odoo/tools/misc.py | 1890 | def verify_limited_field_access_token(record, field_name, access_token, *, scope): | STRING |
| LOW | odoo/tools/misc.py | 1959 | def named_to_positional_printf(string: str, args: Mapping) -> tuple[str, tuple]: | STRING |
| LOW | odoo/tools/translate.py | 96 | def is_translatable_attrib_value(node): | CODE |
| LOW | odoo/tools/translate.py | 106 | def is_translatable_attrib_text(node): | CODE |
| LOW | odoo/tools/translate.py | 129 | def translate_format_string_expression(term, callback): | CODE |
| LOW | odoo/tools/translate.py | 1073 | def _extract_translatable_qweb_terms(element, callback): | CODE |
| LOW | odoo/tools/translate.py | 1142 | def extract_spreadsheet_terms(fileobj, keywords, comment_tags, options): | CODE |
| LOW | odoo/tools/translate.py | 1258 | def _get_translatable_records(self, imd_records): | CODE |
| LOW | odoo/tools/translate.py | 1326 | def _export_translatable_records(self, records, field_names): | CODE |
| LOW | odoo/tools/translate.py | 1388 | def _export_translatable_records(self): | CODE |
| LOW | odoo/tools/translate.py | 1425 | def _verified_module_filepaths(self, fname, path, root): | CODE |
| LOW | odoo/tools/translate.py | 1464 | def _export_translatable_resources(self): | CODE |
| LOW | odoo/tools/translate.py | 1806 | def get_datafile_translation_path(module_name: str) -> Iterator[str]: | STRING |
| LOW | odoo/tools/translate.py | 1824 | def _read_code_translations_file(fileobj, filter_func): | STRING |
| LOW | odoo/tools/translate.py | 1854 | def _load_python_translations(self, module_name, lang): | STRING |
| LOW | odoo/tools/translate.py | 1884 | def _get_translation_upgrade_queries(cr, field): | STRING |
| LOW | odoo/tools/config.py | 542 | def _flush_log_and_warn_entries(cls): | CODE |
| LOW | odoo/tools/template_inheritance.py | 23 | def add_stripped_items_before(node, spec, extract): | CODE |
| LOW | odoo/tools/mimetypes.py | 55 | def _check_open_container_format(data): | STRING |
| LOW | odoo/tools/js_transpiler.py | 187 | def convert_export_function_default(content): | STRING |
| LOW | odoo/tools/js_transpiler.py | 216 | def convert_export_class_default(content): | STRING |
| LOW | odoo/tools/js_transpiler.py | 305 | def convert_variable_export_default(content): | STRING |
| LOW | odoo/tools/js_transpiler.py | 476 | def convert_legacy_default_import(content): | STRING |
| LOW | odoo/tools/js_transpiler.py | 531 | def convert_default_and_named_import(content): | STRING |
| LOW | odoo/tools/js_transpiler.py | 627 | def convert_default_and_star_import(content): | STRING |
| LOW | odoo/tools/js_transpiler.py | 651 | def convert_unnamed_relative_import(content): | STRING |
| LOW | odoo/tools/js_transpiler.py | 687 | def relative_path_to_module_path(url, path_rel): | STRING |
| LOW | odoo/tools/js_transpiler.py | 731 | def get_aliased_odoo_define_content(module_path, content): | STRING |
| LOW | odoo/tools/rendering_tools.py | 56 | def convert_inline_template_to_qweb(template): | CODE |
| LOW | odoo/tools/appdirs.py | 387 | def _get_win_folder_from_registry(csidl_name): | CODE |
| LOW | odoo/tools/appdirs.py | 431 | def _get_win_folder_with_ctypes(csidl_name): | CODE |
| LOW | odoo/tools/xml_utils.py | 24 | def remove_control_characters(byte_node): | CODE |
| LOW | odoo/tools/xml_utils.py | 315 | def validate_xml_from_attachment(env, xml_content, xsd_name, reload_files_function=None, prefix=None): | CODE |
| LOW | odoo/tools/view_validation.py | 152 | def _get_expression_contextual_values(item_ast): | CODE |
| LOW | odoo/tools/view_validation.py | 229 | def get_expression_field_names(expression): | CODE |
| LOW | odoo/tools/sql.py | 361 | def convert_column_translatable(cr, tablename, columnname, columntype): | CODE |
| LOW | odoo/tools/sql.py | 672 | def increment_fields_skiplock(records, *fields): | CODE |
| LOW | odoo/tools/sql.py | 708 | def value_to_translated_trigram_pattern(value): | CODE |
| LOW | odoo/tools/sql.py | 734 | def pattern_to_translated_trigram_pattern(pattern): | CODE |
| LOW | odoo/tools/profiler.py | 406 | def _get_directive_profiling_name(self, directive, attrib): | CODE |
| LOW | odoo/tools/image.py | 540 | def image_guess_size_from_field_name(field_name: str) -> Tuple[int, int]: | CODE |
| LOW | odoo/tools/pdf/__init__.py | 668 | def _create_attachment_object(self, attachment): | CODE |
| LOW | odoo/tools/pdf/signature.py | 75 | def _load_key_and_certificate(self) -> tuple[Optional[PrivateKeyTypes], Optional[Certificate]]: | CODE |
| LOW | odoo/tools/pdf/signature.py | 445 | def _compute_digest_from_byte_range(self, data: bytes, byte_range: list[int]) -> bytes: | CODE |
| LOW | odoo/tools/pdf/signature.py | 466 | def _create_number_array_object(self, array: list[int]) -> ArrayObject: | CODE |
| 18210 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | odoo/http.py | 509 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 511 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 702 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 704 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 987 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 989 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 1343 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 1345 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 1451 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 1453 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 1853 | # ===================================================== | COMMENT |
| MEDIUM | odoo/http.py | 1855 | # ===================================================== | COMMENT |
| MEDIUM | odoo/http.py | 1931 | # ===================================================== | COMMENT |
| MEDIUM | odoo/http.py | 1933 | # ===================================================== | COMMENT |
| MEDIUM | odoo/http.py | 2216 | # ===================================================== | COMMENT |
| MEDIUM | odoo/http.py | 2218 | # ===================================================== | COMMENT |
| MEDIUM | odoo/http.py | 2389 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 2391 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 2696 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 2698 | # ========================================================= | COMMENT |
| MEDIUM | odoo/http.py | 217 | # ========================================================= | STRING |
| MEDIUM | odoo/http.py | 219 | # ========================================================= | STRING |
| MEDIUM | odoo/http.py | 341 | # ========================================================= | STRING |
| MEDIUM | odoo/http.py | 343 | # ========================================================= | STRING |
| MEDIUM | odoo/http.py | 404 | # ----------- | STRING |
| MEDIUM⚡ | odoo/init.py | 11 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/init.py | 15 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/init.py | 21 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/init.py | 24 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/init.py | 31 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/init.py | 34 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/tools/mail.py | 470 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/tools/mail.py | 472 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/mail.py | 64 | #---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/mail.py | 66 | #---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/mail.py | 714 | #---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/mail.py | 716 | #---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/tools/misc.py | 138 | #---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/tools/misc.py | 140 | #---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/tools/misc.py | 148 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/tools/misc.py | 150 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/misc.py | 191 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/misc.py | 193 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/misc.py | 316 | #---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/misc.py | 318 | #---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/misc.py | 707 | # --------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/misc.py | 709 | # --------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/cloc.py | 38 | #------------------------------------------------------ | COMMENT |
| MEDIUM | odoo/tools/cloc.py | 40 | #------------------------------------------------------ | COMMENT |
| MEDIUM | odoo/tools/cloc.py | 102 | #------------------------------------------------------ | COMMENT |
| MEDIUM | odoo/tools/cloc.py | 104 | #------------------------------------------------------ | COMMENT |
| MEDIUM | odoo/tools/cloc.py | 300 | #------------------------------------------------------ | STRING |
| MEDIUM | odoo/tools/cloc.py | 302 | #------------------------------------------------------ | STRING |
| MEDIUM⚡ | odoo/tools/image.py | 324 | # ---------------------------------------- | COMMENT |
| MEDIUM⚡ | odoo/tools/image.py | 326 | # --------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/pdf/__init__.py | 20 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/pdf/__init__.py | 25 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/pdf/__init__.py | 68 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/tools/pdf/__init__.py | 73 | # ---------------------------------------------------------- | COMMENT |
| MEDIUM | odoo/osv/expression.py | 164 | # -------------------------------------------------- | COMMENT |
| 2596 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/logging.py | 5 | CODE | |
| LOW | odoo/logging.py | 5 | CODE | |
| LOW | odoo/sql_db.py | 9 | CODE | |
| LOW | odoo/tools/misc.py | 5 | CODE | |
| LOW | odoo/tools/misc.py | 44 | CODE | |
| LOW | odoo/tools/misc.py | 44 | CODE | |
| LOW | odoo/tools/misc.py | 44 | CODE | |
| LOW | odoo/tools/translate.py | 8 | CODE | |
| LOW | odoo/tools/date_utils.py | 1 | CODE | |
| LOW | odoo/tools/cache.py | 3 | CODE | |
| LOW | odoo/tools/__init__.py | 4 | CODE | |
| LOW | odoo/tools/__init__.py | 5 | CODE | |
| LOW | odoo/tools/__init__.py | 6 | CODE | |
| LOW | odoo/tools/__init__.py | 7 | CODE | |
| LOW | odoo/tools/__init__.py | 7 | CODE | |
| LOW | odoo/tools/__init__.py | 8 | CODE | |
| LOW | odoo/tools/__init__.py | 9 | CODE | |
| LOW | odoo/tools/__init__.py | 9 | CODE | |
| LOW | odoo/tools/__init__.py | 9 | CODE | |
| LOW | odoo/tools/__init__.py | 9 | CODE | |
| LOW | odoo/tools/__init__.py | 9 | CODE | |
| LOW | odoo/tools/__init__.py | 9 | CODE | |
| LOW | odoo/tools/__init__.py | 10 | CODE | |
| LOW | odoo/tools/__init__.py | 10 | CODE | |
| LOW | odoo/tools/__init__.py | 10 | CODE | |
| LOW | odoo/tools/__init__.py | 10 | CODE | |
| LOW | odoo/tools/__init__.py | 10 | CODE | |
| LOW | odoo/tools/__init__.py | 11 | CODE | |
| LOW | odoo/tools/__init__.py | 11 | CODE | |
| LOW | odoo/tools/__init__.py | 12 | CODE | |
| LOW | odoo/tools/__init__.py | 13 | CODE | |
| LOW | odoo/tools/__init__.py | 14 | CODE | |
| LOW | odoo/tools/__init__.py | 15 | CODE | |
| LOW | odoo/tools/__init__.py | 16 | CODE | |
| LOW | odoo/tools/__init__.py | 17 | CODE | |
| LOW | odoo/tools/__init__.py | 17 | CODE | |
| LOW | odoo/tools/__init__.py | 17 | CODE | |
| LOW | odoo/tools/__init__.py | 17 | CODE | |
| LOW | odoo/tools/__init__.py | 18 | CODE | |
| LOW | odoo/tools/__init__.py | 18 | CODE | |
| LOW | odoo/tools/__init__.py | 18 | CODE | |
| LOW | odoo/tools/__init__.py | 19 | CODE | |
| LOW | odoo/tools/__init__.py | 19 | CODE | |
| LOW | odoo/tools/__init__.py | 19 | CODE | |
| LOW | odoo/tools/__init__.py | 19 | CODE | |
| LOW | odoo/tools/__init__.py | 20 | CODE | |
| LOW | odoo/tools/intervals.py | 2 | CODE | |
| LOW | odoo/tools/mimetypes.py | 8 | CODE | |
| LOW | odoo/tools/appdirs.py | 10 | CODE | |
| LOW | odoo/tools/appdirs.py | 459 | CODE | |
| LOW | odoo/tools/cloc.py | 11 | CODE | |
| LOW | odoo/tools/i18n.py | 1 | CODE | |
| LOW | odoo/tools/sql.py | 3 | CODE | |
| LOW | odoo/tools/which.py | 45 | CODE | |
| LOW | odoo/tools/which.py | 45 | CODE | |
| LOW | odoo/tools/which.py | 46 | CODE | |
| LOW | odoo/tools/image.py | 10 | CODE | |
| LOW | odoo/tools/func.py | 2 | CODE | |
| LOW | odoo/tools/set_expression.py | 1 | CODE | |
| LOW | odoo/tools/pdf/_pypdf2_2.py | 1 | CODE | |
| 7014 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | odoo/addons/test_http/tests/test_common.py | 36 | odoo.http.root.session_store.store.clear() | CODE |
| CRITICAL | odoo/addons/base/models/res_partner.py | 76 | address_view_id = self.env.company.country_id.address_view_id.sudo() | CODE |
| CRITICAL | addons/sale/models/sale_order.py | 1709 | self.env.cr.precommit.data.pop(f'mail.tracking.{self._name}', {}) | CODE |
| CRITICAL | addons/sale/static/src/js/sale_product_field.js | 109 | this.props.record.model.root._isReadonly("order_line")) | CODE |
| CRITICAL⚡ | …at/static/src/core/web/livechat_channel_model_patch.js | 14 | this.store.env.services.notification.add(_t("You joined %s.", this.name), { | CODE |
| CRITICAL⚡ | …at/static/src/core/web/livechat_channel_model_patch.js | 19 | this.store.env.services.orm.call("im_livechat.channel", "action_join", [this.id]) | CODE |
| CRITICAL⚡ | …at/static/src/core/web/livechat_channel_model_patch.js | 28 | this.store.env.services.notification.add(_t("You left %s.", this.name), { | CODE |
| CRITICAL⚡ | …at/static/src/core/web/livechat_channel_model_patch.js | 33 | this.store.env.services.orm.call("im_livechat.channel", "action_quit", [this.id]) | CODE |
| CRITICAL | …ons/im_livechat/static/src/core/common/thread_patch.js | 20 | if (this.props.thread.livechatVisitorMember.im_status.includes("offline")) { | CODE |
| CRITICAL | …ivechat/static/src/embed/common/store_service_patch.js | 24 | this.store.env.services.bus_service.addChannel( | CODE |
| CRITICAL | …ivechat/static/src/embed/common/store_service_patch.js | 30 | this.store.env.services.bus_service.deleteChannel(`mail.guest_${this.guest_token}`); | CODE |
| CRITICAL | addons/google_calendar/tests/test_sync_common.py | 152 | funcs = self.env.cr.postcommit._funcs.copy() | CODE |
| CRITICAL | addons/google_calendar/models/calendar.py | 385 | self.env.cr.precommit.data.pop(f'mail.tracking.create.{event._name}.{event.id}', None) | CODE |
| CRITICAL | addons/pos_viva_com/static/src/app/payment_viva_com.js | 170 | result = await this.env.services.orm.silent.call( | CODE |
| CRITICAL | …s/calendar/static/src/activity/activity_model_patch.js | 16 | const action = await this.store.env.services.orm.call( | CODE |
| CRITICAL | …s/calendar/static/src/activity/activity_model_patch.js | 21 | this.store.env.services.action.doAction(action); | CODE |
| CRITICAL | …tatic/src/views/calendar_form/calendar_quick_create.js | 69 | const breadcrumb = this.actionService.currentController.config.breadcrumbs.at(-2); | CODE |
| CRITICAL | …ee_calendar/common/attendee_calendar_common_popover.js | 55 | this.props.record.rawRecord.partner_ids.includes(user.partnerId) || | CODE |
| CRITICAL | …ee_calendar/common/attendee_calendar_common_popover.js | 70 | this.props.record.rawRecord.partner_ids.some((partner) => partner !== user.partnerId) && | CODE |
| CRITICAL | …dons/pos_safaricom/static/src/app/payment_safaricom.js | 26 | return this.env.services.orm.silent.call("pos.payment.method", action, [ | CODE |
| CRITICAL | …et/static/tests/charts/model/odoo_chart_plugin.test.js | 1497 | const scaleCallback = config.options.scales.x.ticks.callback.bind(fakeChart); | CODE |
| CRITICAL⚡ | addons/mail/models/mail_thread.py | 556 | initial_values = self.env.cr.precommit.data.setdefault(f'mail.tracking.{self._name}', {}) | CODE |
| CRITICAL⚡ | addons/mail/models/mail_thread.py | 570 | initial_values = self.env.cr.precommit.data.pop(f'mail.tracking.{self._name}', {}) | CODE |
| CRITICAL⚡ | addons/mail/models/mail_thread.py | 586 | authors = self.env.cr.precommit.data.setdefault(f'mail.tracking.author.{self._name}', {}) | CODE |
| CRITICAL⚡ | addons/mail/models/mail_thread.py | 592 | self._message_track_post_template(self.env.cr.precommit.data.pop(f'mail.tracking.create.{self._name}.{self.id}', | CODE |
| CRITICAL⚡ | addons/mail/models/mail_thread.py | 600 | body_values = self.env.cr.precommit.data.setdefault(f'mail.tracking.message.{self._name}', {}) | CODE |
| CRITICAL | addons/mail/models/mail_thread.py | 535 | initial_values = self.env.cr.precommit.data.setdefault(f'mail.tracking.{self._name}', {}) | CODE |
| CRITICAL | addons/mail/models/mail_thread.py | 668 | bodies = self.env.cr.precommit.data.pop(f'mail.tracking.message.{self._name}', {}) | CODE |
| CRITICAL | addons/mail/models/mail_thread.py | 669 | authors = self.env.cr.precommit.data.pop(f'mail.tracking.author.{self._name}', {}) | CODE |
| CRITICAL | addons/mail/models/mail_thread.py | 380 | self.env.cr.precommit.data.setdefault(f'mail.tracking.create.{self._name}.{thread.id}', changes) | STRING |
| CRITICAL | addons/mail/models/mail_tracking_duration_mixin.py | 105 | if data := self.env.cr.precommit.data.get(f'mail.tracking.{self._name}', {}).get(self._origin.id): | STRING |
| CRITICAL | addons/mail/static/src/core/web/thread_model_patch.js | 39 | const data = await this.store.env.services.orm.call(this.model, "message_get_followers", [ | CODE |
| CRITICAL | addons/mail/static/src/core/web/thread_model_patch.js | 46 | const data = await this.store.env.services.orm.call( | CODE |
| CRITICAL | addons/mail/static/src/core/web/activity_model_patch.js | 31 | this.store.env.services.action.doAction( | CODE |
| CRITICAL | addons/mail/static/src/core/web/activity_model_patch.js | 54 | await this.store.env.services.orm.call("mail.activity", "action_feedback", [[this.id]], { | CODE |
| CRITICAL | addons/mail/static/src/core/web/activity_model_patch.js | 65 | const action = await this.store.env.services.orm.call( | CODE |
| CRITICAL | addons/mail/static/src/core/web/thread_actions.js | 9 | open: ({ store }) => store.env.services.orm.silent.call("mail.message", "mark_all_as_read"), | CODE |
| CRITICAL | addons/mail/static/src/core/common/suggestion_hook.js | 123 | const selection = this.comp.editor.shared.selection.getEditableSelection(); | CODE |
| CRITICAL | addons/mail/static/src/core/common/suggestion_hook.js | 221 | this.comp.editor.shared.selection.getEditableSelection(); | CODE |
| CRITICAL | addons/mail/static/src/core/common/suggestion_hook.js | 222 | this.comp.editor.shared.selection.setSelection({ | CODE |
| CRITICAL⚡ | addons/mail/static/src/core/common/suggestion_hook.js | 240 | this.comp.editor.shared.dom.insert(inlineElement); | CODE |
| CRITICAL⚡ | addons/mail/static/src/core/common/suggestion_hook.js | 242 | this.comp.editor.shared.selection.setSelection({ anchorNode, anchorOffset }); | CODE |
| CRITICAL⚡ | addons/mail/static/src/core/common/suggestion_hook.js | 243 | this.comp.editor.shared.dom.insert("\u00A0"); | CODE |
| CRITICAL⚡ | addons/mail/static/src/core/common/suggestion_hook.js | 244 | this.comp.editor.shared.history.addStep(); | CODE |
| CRITICAL | addons/mail/static/src/core/common/chat_window.js | 155 | this.store.env.services.command.openMainPalette({ searchValue: "@" }); | CODE |
| CRITICAL | addons/mail/static/src/core/common/store_service.js | 724 | const [userData] = await this.env.services.orm.silent.read( | CODE |
| CRITICAL | addons/mail/static/src/core/common/store_service.js | 745 | const [userId] = await this.env.services.orm.silent.search( | CODE |
| CRITICAL⚡ | addons/mail/static/src/core/common/message_model.js | 534 | this.store.env.services.notification.add(notification, { type }); | CODE |
| CRITICAL⚡ | addons/mail/static/src/core/common/message_model.js | 542 | this.store.env.services.notification.add( | CODE |
| CRITICAL⚡ | addons/mail/static/src/core/common/message_model.js | 547 | this.store.env.services.notification.add(_t("Message Copied!"), { type: "info" }); | CODE |
| CRITICAL | addons/mail/static/src/core/common/message_model.js | 701 | await this.store.env.services.orm.silent.call("mail.message", "set_message_done", [ | CODE |
| CRITICAL | addons/mail/static/src/core/common/message_model.js | 708 | await this.store.env.services.orm.silent.call( | CODE |
| CRITICAL | addons/mail/static/src/core/common/message_model.js | 722 | this.store.env.services.notification.add( | CODE |
| CRITICAL | addons/mail/static/src/core/common/settings_model.js | 399 | await this.store.env.services.orm.call( | CODE |
| CRITICAL | addons/mail/static/src/core/common/settings_model.js | 420 | await this.store.env.services.orm.call( | CODE |
| CRITICAL | addons/mail/static/src/core/common/mail_guest_model.js | 48 | this.store.env.services.bus_service.deleteChannel(this.previousPresencechannel); | CODE |
| CRITICAL | addons/mail/static/src/core/common/mail_guest_model.js | 51 | this.store.env.services.bus_service.addChannel(this.presenceChannel); | CODE |
| CRITICAL | addons/mail/static/src/core/common/mail_guest_model.js | 66 | this.store.env.services.im_status.updateBusPresence(); | CODE |
| CRITICAL | addons/mail/static/src/core/common/thread_model.js | 468 | return this.store.env.services.orm.call( | CODE |
| CRITICAL | addons/mail/static/src/core/common/thread_model.js | 705 | await this.store.env.services.orm.silent.call("mail.message", "mark_all_as_read", [ | CODE |
| 155 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | addons/l10n_ne/__manifest__.py | 0 | this module implements the tax for tchad. ================================================================= the chart of | STRING |
| HIGH | addons/l10n_ml/__manifest__.py | 0 | this module implements the tax for tchad. ================================================================= the chart of | STRING |
| HIGH | addons/l10n_gw/__manifest__.py | 0 | this module implements the tax for tchad. ================================================================= the chart of | STRING |
| HIGH | addons/l10n_bj/__manifest__.py | 0 | this module implements the tax for tchad. ================================================================= the chart of | STRING |
| HIGH | addons/l10n_km/__manifest__.py | 0 | this module implements the tax for tchad. ================================================================= the chart of | STRING |
| HIGH | addons/l10n_ga/__manifest__.py | 0 | this module implements the tax for tchad. ================================================================= the chart of | STRING |
| HIGH | addons/l10n_td/__manifest__.py | 0 | this module implements the tax for tchad. ================================================================= the chart of | STRING |
| HIGH | addons/sale/tests/test_sale_order.py | 0 | check taxes populated on invoice lines from product on branch company. taxes from the branch company should be taken wit | STRING |
| HIGH | addons/purchase/tests/test_purchase.py | 0 | check taxes populated on invoice lines from product on branch company. taxes from the branch company should be taken wit | STRING |
| HIGH | addons/account/tests/test_account_move_in_invoice.py | 0 | check taxes populated on invoice lines from product on branch company. taxes from the branch company should be taken wit | STRING |
| HIGH | addons/account/tests/test_account_move_out_invoice.py | 0 | check taxes populated on invoice lines from product on branch company. taxes from the branch company should be taken wit | STRING |
| HIGH | addons/sale/models/sale_order.py | 0 | update account_move_line information for a given product or create a new one if none exists yet. :param int product_id: | STRING |
| HIGH | addons/purchase/models/purchase_order.py | 0 | update account_move_line information for a given product or create a new one if none exists yet. :param int product_id: | STRING |
| HIGH | addons/account/models/account_move.py | 0 | update account_move_line information for a given product or create a new one if none exists yet. :param int product_id: | STRING |
| HIGH | addons/sale/models/sale_order_line.py | 0 | prepare specific key for moves or other components that will be created from a stock rule coming from a sale order line. | STRING |
| HIGH | addons/sale_stock/models/sale_order_line.py | 0 | prepare specific key for moves or other components that will be created from a stock rule coming from a sale order line. | STRING |
| HIGH | addons/point_of_sale/models/pos_order.py | 0 | prepare specific key for moves or other components that will be created from a stock rule coming from a sale order line. | STRING |
| HIGH | addons/l10n_sa_edi/models/account_move.py | 0 | returns true if the customer is an individual, i.e: the invoice is b2c | STRING |
| HIGH | addons/l10n_sa/models/account_move.py | 0 | returns true if the customer is an individual, i.e: the invoice is b2c | STRING |
| HIGH | addons/l10n_ae/models/account_move.py | 0 | returns true if the customer is an individual, i.e: the invoice is b2c | STRING |
| HIGH | addons/google_calendar/tests/test_sync_common.py | 0 | used when synchronization date (using env.cr.now()) is important in addition to standard datetime mocks. used mainly to | STRING |
| HIGH | addons/sms/tests/common.py | 0 | used when synchronization date (using env.cr.now()) is important in addition to standard datetime mocks. used mainly to | STRING |
| HIGH | addons/mail/tests/common.py | 0 | used when synchronization date (using env.cr.now()) is important in addition to standard datetime mocks. used mainly to | STRING |
| HIGH | addons/digest/tests/test_digest.py | 0 | used when synchronization date (using env.cr.now()) is important in addition to standard datetime mocks. used mainly to | STRING |
| HIGH | addons/microsoft_calendar/tests/common.py | 0 | used when synchronization date (using env.cr.now()) is important in addition to standard datetime mocks. used mainly to | STRING |
| HIGH | addons/event/tests/common.py | 0 | used when synchronization date (using env.cr.now()) is important in addition to standard datetime mocks. used mainly to | STRING |
| HIGH | addons/payment_redsys/tests/test_payment_transaction.py | 0 | test that the amount and currency are returned from the payment data. | STRING |
| HIGH | …ayment_toss_payments/tests/test_payment_transaction.py | 0 | test that the amount and currency are returned from the payment data. | STRING |
| HIGH | addons/payment_ecpay/tests/test_payment_transaction.py | 0 | test that the amount and currency are returned from the payment data. | STRING |
| HIGH | addons/payment_redsys/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | addons/payment_xendit/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | …ayment_toss_payments/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | addons/payment_demo/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | addons/payment_aps/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | …payment_mercado_pago/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | …ons/payment_razorpay/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | addons/payment_dpo/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | …/payment_flutterwave/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | addons/payment_iyzico/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | …dons/payment_asiapay/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | addons/payment_nuvei/tests/test_payment_transaction.py | 0 | test that the transaction state is set to 'done' when the payment data indicates a successful payment. | STRING |
| HIGH | addons/payment_redsys/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | addons/payment_dpo/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | addons/payment_ecpay/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | addons/payment_iyzico/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | …s/payment_toss_payments/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | addons/payment_aps/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | …ns/payment_mercado_pago/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | addons/payment_nuvei/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | addons/payment_razorpay/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | …ons/payment_flutterwave/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | addons/payment_asiapay/tests/test_processing_flows.py | 0 | test that receiving a valid webhook notification triggers the processing of the payment data. | STRING |
| HIGH | addons/payment_redsys/tests/test_processing_flows.py | 0 | test that receiving a redirect notification triggers a signature check. | STRING |
| HIGH | addons/payment_aps/tests/test_processing_flows.py | 0 | test that receiving a redirect notification triggers a signature check. | STRING |
| HIGH | addons/payment_payu/tests/test_processing_flows.py | 0 | test that receiving a redirect notification triggers a signature check. | STRING |
| HIGH | addons/payment_nuvei/tests/test_processing_flows.py | 0 | test that receiving a redirect notification triggers a signature check. | STRING |
| HIGH | addons/payment_redsys/tests/test_processing_flows.py | 0 | test that receiving a webhook notification triggers a signature check. | STRING |
| HIGH | addons/payment_xendit/tests/test_processing_flows.py | 0 | test that receiving a webhook notification triggers a signature check. | STRING |
| HIGH | …s/payment_toss_payments/tests/test_processing_flows.py | 0 | test that receiving a webhook notification triggers a signature check. | STRING |
| HIGH | addons/payment_aps/tests/test_processing_flows.py | 0 | test that receiving a webhook notification triggers a signature check. | STRING |
| 346 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | odoo/loglevels.py | 48 | """This method is similar to the builtin `unicode`, except | STRING |
| MEDIUM⚡ | odoo/tools/image.py | 329 | """This function is used to calculate the dominant colors when given a list of colors | STRING |
| MEDIUM | odoo/tools/pdf/__init__.py | 488 | # Create a new object containing an array referencing embedded file | COMMENT |
| MEDIUM | odoo/tools/pdf/signature.py | 147 | # Creating the appearance (visible elements of the signature) | COMMENT |
| MEDIUM | odoo/tools/arabic_reshaper/letters.py | 1 | # The following code was copied from the original author's repository | COMMENT |
| MEDIUM | odoo/tools/arabic_reshaper/__init__.py | 1 | # The following code was copied from the original author's repository | COMMENT |
| MEDIUM | odoo/addons/test_main_flows/__init__.py | 8 | # This module is defined in community but some steps (defined with 'edition: "enterprise"') | COMMENT |
| MEDIUM | odoo/addons/test_orm/tests/test_web_save.py | 10 | # Create a new record, without unity specification (it should return only the id) | COMMENT |
| MEDIUM | odoo/addons/test_orm/tests/test_web_save.py | 19 | # Create a new record, with unity specification | COMMENT |
| MEDIUM | odoo/addons/test_orm/tests/test_fields.py | 592 | # Create an ir.rule, which forces to flush field 'active' | COMMENT |
| MEDIUM | odoo/addons/test_orm/tests/test_fields.py | 4377 | # Create a manual selection field with two initial options | STRING |
| MEDIUM | odoo/addons/test_orm/tests/test_fields.py | 4389 | # Create a manual related field on MODEL_RELATED pointing to the new field | STRING |
| MEDIUM | odoo/addons/test_orm/tests/test_one2many.py | 460 | # Create a parent record | COMMENT |
| MEDIUM | odoo/addons/base/tests/test_res_config.py | 20 | # Define the test values | COMMENT |
| MEDIUM | odoo/addons/base/tests/test_ir_attachment.py | 332 | # Create an attachment as user without res_model/res_id | COMMENT |
| MEDIUM | odoo/addons/base/tests/test_ir_attachment.py | 336 | # Create an attachment as superuser without res_model/res_id | COMMENT |
| MEDIUM⚡ | odoo/addons/base/tests/test_res_users.py | 643 | # Create a first session that will be used to revoke other sessions | COMMENT |
| MEDIUM⚡ | odoo/addons/base/tests/test_res_users.py | 646 | # Create a second session that will be used to check it has been revoked | COMMENT |
| MEDIUM⚡ | odoo/addons/base/tests/test_res_users.py | 715 | # Creating an unscoped key from a scoped key raises an error | COMMENT |
| MEDIUM⚡ | odoo/addons/base/tests/test_res_users.py | 721 | # Creating a key with a different scope raises an error | COMMENT |
| MEDIUM⚡ | odoo/addons/base/tests/test_res_users.py | 727 | # Creating a key with the same scope doesn't raise | COMMENT |
| MEDIUM⚡ | odoo/addons/base/tests/test_res_users.py | 732 | # Creating a key with a scope from an unscoped key doesn't raise | COMMENT |
| MEDIUM⚡ | odoo/addons/base/tests/test_res_users.py | 737 | # Creating an unscoped key from another unscoped key doesn't raise | COMMENT |
| MEDIUM | odoo/addons/base/tests/test_user_has_group.py | 152 | #Create a user with two groups of user types kind (Internal and Portal) | COMMENT |
| MEDIUM | odoo/addons/base/tests/test_ir_mail_server.py | 481 | # Create a sample .eml file content | COMMENT |
| MEDIUM | odoo/addons/base/models/ir_actions_report.py | 557 | # Create a temporary session which will not create device logs | COMMENT |
| MEDIUM⚡ | odoo/addons/base/models/ir_ui_view.py | 718 | """This method is meant to be overridden by other modules. | STRING |
| MEDIUM | odoo/addons/base/models/ir_ui_view.py | 387 | # This function is only interested in locating invalid locators. | STRING |
| MEDIUM | odoo/addons/base/models/ir_qweb.py | 819 | # Create the iterator from the template | COMMENT |
| MEDIUM | odoo/_monkeypatches/num2words.py | 11 | # The following section of the code is used to monkey patch | COMMENT |
| MEDIUM | odoo/_monkeypatches/site.py | 39 | # This function is borrowed from psycogreen module which is licensed | COMMENT |
| MEDIUM | odoo/orm/models.py | 1799 | # Create a mapping from each unique SQL GROUP BY term to its bitmask value. | STRING |
| MEDIUM⚡ | odoo/orm/models_transient.py | 63 | # This method is shared by all transient models therefore, | COMMENT |
| MEDIUM | addons/auth_totp_mail/tests/test_totp.py | 43 | # Create an API key for the user | COMMENT |
| MEDIUM | …ns/website_sale_loyalty/tests/test_shop_sale_coupon.py | 201 | # Create a gift card to be used | COMMENT |
| MEDIUM | …e_sale_loyalty/tests/test_website_sale_auto_invoice.py | 18 | # Create a discount code | COMMENT |
| MEDIUM | …le_loyalty/tests/test_website_sale_loyalty_delivery.py | 72 | # Create a gift card to be used | COMMENT |
| MEDIUM | …le_loyalty/tests/test_website_sale_loyalty_delivery.py | 79 | # Create a 50% discount on order code | COMMENT |
| MEDIUM⚡ | …le_loyalty/tests/test_website_sale_loyalty_delivery.py | 189 | # Create a discount code | COMMENT |
| MEDIUM | addons/l10n_pl_edi/tests/test_l10n_pl_edi.py | 373 | # Create a Bank Account for the Company | COMMENT |
| MEDIUM⚡ | addons/website_event_track/tests/test_website_event.py | 61 | # Create a website record | STRING |
| MEDIUM | addons/website_event_track/controllers/event_track.py | 239 | # Create the dict that contains the tracks at the correct time_slots / locations coordinates | COMMENT |
| MEDIUM | addons/l10n_in_edi/models/account_move.py | 374 | # Creating a lambda function so it fetches the odoobot id only when needed | COMMENT |
| MEDIUM | addons/sale/tests/test_access_rights.py | 31 | # Create the SO with a specific salesperson | COMMENT |
| MEDIUM⚡ | addons/sale/tests/test_payment_flow.py | 283 | # Create the payment | COMMENT |
| MEDIUM⚡ | addons/sale/tests/test_payment_flow.py | 300 | # Create the payment | COMMENT |
| MEDIUM | addons/sale/tests/test_payment_flow.py | 140 | # Create the payment | COMMENT |
| MEDIUM | addons/sale/tests/test_payment_flow.py | 170 | # Create the payment | COMMENT |
| MEDIUM | addons/sale/tests/test_payment_flow.py | 206 | # Create the payment | COMMENT |
| MEDIUM | addons/sale/tests/test_payment_flow.py | 245 | # Create the payment | COMMENT |
| MEDIUM | addons/sale/tests/test_payment_flow.py | 267 | # Create the payment | COMMENT |
| MEDIUM | addons/sale/tests/test_payment_flow.py | 313 | # Create the payment | COMMENT |
| MEDIUM | addons/sale/tests/test_taxes_downpayment.py | 201 | # Create a down payment invoice of 30%. | COMMENT |
| MEDIUM | addons/sale/tests/test_taxes_downpayment.py | 246 | # Create the final invoice. | COMMENT |
| MEDIUM | addons/sale/tests/test_taxes_downpayment.py | 342 | # Create the final invoice. | COMMENT |
| MEDIUM | addons/sale/tests/test_taxes_downpayment.py | 427 | # Create the final invoice. | COMMENT |
| MEDIUM | addons/sale/tests/test_taxes_downpayment.py | 562 | # Create the final invoice. | COMMENT |
| MEDIUM | addons/sale/tests/test_taxes_downpayment.py | 588 | # Create a new final invoice. | COMMENT |
| MEDIUM | addons/sale/tests/test_taxes_downpayment.py | 644 | # Create a down payment invoice of 100%. | COMMENT |
| MEDIUM | addons/sale/tests/test_taxes_downpayment.py | 693 | # Create the final invoice. | COMMENT |
| 603 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/logging.py | 34 | CODE | |
| LOW | odoo/netsvc.py | 181 | CODE | |
| LOW | odoo/netsvc.py | 62 | CODE | |
| LOW | odoo/http.py | 849 | CODE | |
| LOW | odoo/http.py | 1725 | CODE | |
| LOW | odoo/http.py | 2014 | CODE | |
| LOW | odoo/http.py | 2812 | CODE | |
| LOW | odoo/sql_db.py | 641 | CODE | |
| LOW | odoo/tools/mail.py | 176 | CODE | |
| LOW | odoo/tools/mail.py | 282 | CODE | |
| LOW | odoo/tools/mail.py | 539 | CODE | |
| LOW | odoo/tools/facade.py | 41 | CODE | |
| LOW | odoo/tools/misc.py | 616 | CODE | |
| LOW | odoo/tools/speedscope.py | 223 | CODE | |
| LOW | odoo/tools/translate.py | 140 | CODE | |
| LOW | odoo/tools/translate.py | 1073 | CODE | |
| LOW | odoo/tools/translate.py | 1142 | CODE | |
| LOW | odoo/tools/translate.py | 1884 | CODE | |
| LOW | odoo/tools/translate.py | 205 | CODE | |
| LOW | odoo/tools/translate.py | 850 | CODE | |
| LOW | odoo/tools/translate.py | 1258 | CODE | |
| LOW | odoo/tools/translate.py | 1388 | CODE | |
| LOW | odoo/tools/translate.py | 1464 | CODE | |
| LOW | odoo/tools/translate.py | 1605 | CODE | |
| LOW | odoo/tools/config.py | 727 | CODE | |
| LOW | odoo/tools/config.py | 901 | CODE | |
| LOW | odoo/tools/config.py | 936 | CODE | |
| LOW | odoo/tools/template_inheritance.py | 71 | CODE | |
| LOW | odoo/tools/template_inheritance.py | 109 | CODE | |
| LOW | odoo/tools/parse_version.py | 25 | CODE | |
| LOW | odoo/tools/date_utils.py | 108 | CODE | |
| LOW | odoo/tools/date_utils.py | 273 | CODE | |
| LOW | odoo/tools/date_utils.py | 312 | CODE | |
| LOW | odoo/tools/convert.py | 75 | CODE | |
| LOW | odoo/tools/convert.py | 667 | CODE | |
| LOW | odoo/tools/convert.py | 336 | CODE | |
| LOW | odoo/tools/cache.py | 184 | CODE | |
| LOW | odoo/tools/cache.py | 210 | CODE | |
| LOW | odoo/tools/intervals.py | 33 | CODE | |
| LOW | odoo/tools/intervals.py | 82 | CODE | |
| LOW | odoo/tools/mimetypes.py | 156 | CODE | |
| LOW | odoo/tools/appdirs.py | 76 | CODE | |
| LOW | odoo/tools/cloc.py | 90 | CODE | |
| LOW | odoo/tools/cloc.py | 120 | CODE | |
| LOW | odoo/tools/test_reports.py | 23 | CODE | |
| LOW | odoo/tools/test_reports.py | 69 | CODE | |
| LOW | odoo/tools/test_reports.py | 127 | CODE | |
| LOW | odoo/tools/lru.py | 70 | CODE | |
| LOW | odoo/tools/osutil.py | 54 | CODE | |
| LOW | odoo/tools/barcode.py | 16 | CODE | |
| LOW | odoo/tools/view_validation.py | 51 | CODE | |
| LOW | odoo/tools/view_validation.py | 82 | CODE | |
| LOW | odoo/tools/sql.py | 89 | CODE | |
| LOW | odoo/tools/profiler.py | 347 | CODE | |
| LOW | odoo/tools/profiler.py | 406 | CODE | |
| LOW | odoo/tools/profiler.py | 604 | CODE | |
| LOW | odoo/tools/profiler.py | 658 | CODE | |
| LOW | odoo/tools/image.py | 296 | CODE | |
| LOW | odoo/tools/image.py | 62 | CODE | |
| LOW | odoo/tools/set_expression.py | 471 | CODE | |
| 1464 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/tools/mail.py | 899 | >>> email_anonymize('admin@example.com') | STRING |
| LOW | odoo/tools/mail.py | 973 | >>> formataddr(('John Doe', 'johndoe@example.com')) | STRING |
| LOW | odoo/tools/mail.py | 974 | '"John Doe" <johndoe@example.com>' | STRING |
| LOW | odoo/tools/translate.py | 75 | 'string', 'add-label', 'help', 'sum', 'avg', 'confirm', 'placeholder', 'alt', 'title', 'aria-label', | CODE |
| LOW | odoo/tools/translate.py | 119 | "placeholder", | CODE |
| LOW⚡ | odoo/addons/base/tests/test_res_users.py | 495 | me.email = "foo@bar.com" | CODE |
| LOW⚡ | odoo/addons/base/tests/test_res_users.py | 496 | self.assertEqual(me.email, "foo@bar.com") | CODE |
| LOW⚡ | odoo/addons/base/tests/test_res_users.py | 503 | other.email = "foo@bar.com" | CODE |
| LOW⚡ | odoo/addons/base/tests/test_mail.py | 852 | ('"Admin" <admin@example.com>', ['admin@example.com']), | CODE |
| LOW⚡ | odoo/addons/base/tests/test_mail.py | 853 | ('"Admin" <admin@example.com>, Demo <demo@test.com>', ['admin@example.com', 'demo@test.com']), | CODE |
| LOW⚡ | odoo/addons/base/tests/test_mail.py | 854 | ('admin@example.com', ['admin@example.com']), | CODE |
| LOW⚡ | odoo/addons/base/tests/test_mail.py | 855 | ('"Admin" <admin@example.com>, Demo <malformed email>', ['admin@example.com']), | CODE |
| LOW | odoo/addons/base/tests/test_mail.py | 905 | ('admin@example.com', 'a****@example.com', 'a****@e******.com'), # short | CODE |
| LOW⚡ | odoo/addons/base/tests/test_format_address_mixin.py | 68 | 'name': 'John Doe', | CODE |
| LOW⚡ | odoo/addons/base/tests/test_format_address_mixin.py | 69 | 'street': '123 Main Street', | CODE |
| LOW⚡ | odoo/addons/base/tests/test_format_address_mixin.py | 76 | self.assertIn('John Doe', partner.display_name) | CODE |
| LOW⚡ | odoo/addons/base/tests/test_format_address_mixin.py | 80 | self.assertIn('123 Main Street', display_name) | CODE |
| LOW | odoo/addons/base/tests/test_res_lang.py | 70 | dummy_data = ResLang._get_data(id=0) | CODE |
| LOW | odoo/addons/base/tests/test_res_lang.py | 75 | self.assertEqual(ResLang._get_data(id=0), dummy_data) | CODE |
| LOW | odoo/addons/base/tests/test_views.py | 795 | E.field(name="placeholder"), | CODE |
| LOW | odoo/addons/base/tests/test_configmanager.py | 243 | 'email_from': 'admin@example.com', | CODE |
| LOW | odoo/addons/base/tests/test_configmanager.py | 549 | 'email_from': 'admin@example.com', | CODE |
| LOW | odoo/addons/base/tests/test_configmanager.py | 676 | 'email_from': 'admin@example.com', | CODE |
| LOW | odoo/addons/base/tests/test_translate.py | 1631 | 'arch': '<button><t t-out="placeholder"/></button>', | CODE |
| LOW | odoo/addons/base/models/res_groups.py | 348 | 'placeholder': privilege.placeholder, | CODE |
| LOW | odoo/addons/base/views/res_groups_views.xml | 26 | <field name="placeholder"/> | CODE |
| LOW | odoo/upgrade_code/18.2-00-l10n-translate.py | 33 | 'hr.contract.salary.personal.info': ['name', 'helper', 'value', 'placeholder'], | CODE |
| LOW | …dons/auth_signup/views/auth_signup_login_templates.xml | 43 | <input type="text" name="name" t-att-value="name" id="name" class="form-control" placeholder="Jo | CODE |
| LOW | …/website_sale_loyalty/views/website_sale_templates.xml | 5 | <attribute name="placeholder">Gift card or discount code...</attribute> | CODE |
| LOW | addons/l10n_rs_edi/data/neutralize.sql | 2 | SET l10n_rs_edi_api_key = 'dummy_key', | CODE |
| LOW | …bsite_event_track/views/event_track_templates_list.xml | 62 | <t t-set="placeholder">Search a talk ...</t> | CODE |
| LOW | …ent_exhibitor/views/event_exhibitor_templates_list.xml | 47 | <t t-set="placeholder">Search an exhibitor ...</t> | CODE |
| LOW | addons/sale/tests/test_sale_to_invoice.py | 1064 | 'email': 'test@test.com', | CODE |
| LOW | addons/im_livechat/tests/test_message.py | 51 | 'email': 'user@example.com', | CODE |
| LOW⚡ | …m_livechat/static/tests/embed/livechat_service.test.js | 71 | const userId = pyEnv["res.users"].create({ name: "John Doe", im_status: "online" }); | CODE |
| LOW⚡ | …m_livechat/static/tests/embed/livechat_service.test.js | 73 | name: "John Doe", | CODE |
| LOW⚡ | …m_livechat/static/tests/embed/livechat_service.test.js | 80 | await contains(".o-mail-Message-author", { text: "John Doe" }); | CODE |
| LOW | …at/static/src/core/web/expertise_tags_autocomplete.xml | 12 | placeholder="placeholder" | CODE |
| LOW | addons/google_calendar/tests/test_sync_common.py | 26 | @patch.object(ResUsers, '_get_google_calendar_token', lambda user: 'dummy-token') | CODE |
| LOW | addons/google_calendar/tests/test_sync_google2odoo.py | 16 | @patch.object(ResUsers, '_get_google_calendar_token', lambda user: 'dummy-token') | CODE |
| LOW | addons/google_calendar/tests/test_sync_odoo2google.py | 17 | @patch.object(ResUsers, '_get_google_calendar_token', lambda user: 'dummy-token') | CODE |
| LOW | addons/google_calendar/tests/test_sync_odoo2google.py | 1097 | self.organizer_user.google_calendar_token = 'dummy-token' | CODE |
| LOW | addons/sale_gelato/tests/test_delivery_carrier.py | 17 | 'email': 'test@test.com', | CODE |
| LOW | …hr_recruitment_survey/tests/test_recruitment_survey.py | 49 | 'partner_name': 'Jane Doe', | CODE |
| LOW | addons/portal/tests/test_portal.py | 31 | 'street': '123 Main St', | CODE |
| LOW | …/portal/static/src/interactions/portal_search_panel.js | 27 | ?.setAttribute("placeholder", labelEl.textContent.trim()); | CODE |
| LOW | …tic/tests/tours/website_event_booth_sale_pricelists.js | 36 | this.anchor.value = 'John Doe'; | CODE |
| LOW | …t_booth_sale/static/tests/tours/website_event_booth.js | 34 | this.anchor.value = 'John Doe'; | CODE |
| LOW | addons/rating/tests/test_security.py | 18 | cls.env, name='Jean Admin', login='user_mana', email='admin@example.com', | CODE |
| LOW | …alendar/static/src/views/fields/many2many_attendee.xml | 8 | <attribute name="placeholder">props.placeholder</attribute> | CODE |
| LOW | …ck/tests/test_website_sale_stock_stock_notification.py | 57 | website.company_id.partner_id.email = "test@test.com" | CODE |
| LOW | …/website_hr_recruitment/views/hr_recruitment_views.xml | 37 | <attribute name="placeholder">e.g. Summarize the position in one or two lines that will be displayed on | CODE |
| LOW | addons/test_mass_mailing/tests/test_mailing_test.py | 41 | 'email_to': 'test@test.com', | CODE |
| LOW | addons/test_mass_mailing/tests/test_mailing_test.py | 89 | 'email_to': 'test@test.com', | CODE |
| LOW | addons/test_mass_mailing/tests/test_mailing_test.py | 127 | 'email_to': 'test@test.com', | CODE |
| LOW | addons/test_mass_mailing/tests/test_mailing_test.py | 143 | self.assertSentEmail(self.env.user.partner_id, ['test@test.com'], | CODE |
| LOW | addons/test_mass_mailing/tests/test_mailing_test.py | 163 | 'test@test.com', | CODE |
| LOW | …spreadsheet/static/src/o_spreadsheet/o_spreadsheet.xml | 1750 | t-att-placeholder="placeholder" | CODE |
| LOW | …mass_mailing_sms/views/snippets/snippets_templates.xml | 19 | <attribute name="placeholder">+1 555-555-1234</attribute> | CODE |
| LOW | addons/mail/tests/test_mail_template.py | 159 | 'email_to': 'foo@bar.com', | CODE |
| 425 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/netsvc.py | 273 | except Exception: | STRING |
| LOW | odoo/loglevels.py | 102 | except Exception as e: | CODE |
| LOW | odoo/loglevels.py | 111 | except Exception: | CODE |
| LOW | odoo/http.py | 2041 | except Exception: | CODE |
| LOW | odoo/http.py | 2310 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | odoo/http.py | 2330 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | odoo/http.py | 2874 | except Exception as exc: | CODE |
| LOW | odoo/sql_db.py | 147 | except Exception: | CODE |
| LOW | odoo/sql_db.py | 441 | except Exception as e: | CODE |
| MEDIUM | odoo/sql_db.py | 240 | def __exit__(self, exc_type, exc_value, traceback): | CODE |
| LOW⚡ | odoo/tools/mail.py | 462 | except Exception: | CODE |
| LOW | odoo/tools/misc.py | 470 | except Exception: | CODE |
| LOW | odoo/tools/misc.py | 943 | except Exception: | CODE |
| LOW | odoo/tools/misc.py | 1334 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/tools/misc.py | 1338 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/tools/misc.py | 1505 | except Exception: | CODE |
| LOW | odoo/tools/misc.py | 1560 | except Exception: | CODE |
| LOW | odoo/tools/translate.py | 1251 | except Exception: | CODE |
| LOW | odoo/tools/translate.py | 1459 | except Exception: | CODE |
| LOW | odoo/tools/convert.py | 100 | except Exception: | CODE |
| LOW | odoo/tools/convert.py | 617 | except Exception as e: | CODE |
| LOW | odoo/tools/convert.py | 776 | except Exception: | CODE |
| LOW | odoo/tools/cache.py | 308 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/tools/mimetypes.py | 172 | except Exception: | CODE |
| LOW | odoo/tools/mimetypes.py | 207 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/tools/mimetypes.py | 223 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/tools/cloc.py | 60 | except Exception: | CODE |
| LOW | odoo/tools/cloc.py | 132 | except Exception: | CODE |
| MEDIUM | odoo/tools/cloc.py | 50 | def parse_py(self, s): | CODE |
| LOW | odoo/tools/test_reports.py | 52 | except Exception: | CODE |
| LOW | odoo/tools/test_reports.py | 222 | except Exception as e: | CODE |
| LOW | odoo/tools/osutil.py | 112 | except Exception: | STRING |
| LOW | odoo/tools/barcode.py | 33 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/tools/view_validation.py | 308 | except Exception: | CODE |
| LOW | odoo/tools/safe_eval.py | 269 | except Exception as e: | CODE |
| LOW | odoo/tools/safe_eval.py | 413 | except Exception as e: | CODE |
| LOW | odoo/tools/profiler.py | 564 | except Exception: | CODE |
| LOW | odoo/tools/func.py | 111 | except Exception: | CODE |
| LOW | odoo/tools/_vendor/sessions.py | 226 | except Exception: | CODE |
| LOW | odoo/tools/pdf/__init__.py | 397 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/addons/test_http/tests/test_session.py | 179 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/addons/test_http/tests/test_session.py | 187 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/addons/base/tests/test_test_suite.py | 83 | except Exception as e: | CODE |
| LOW | odoo/addons/base/tests/test_test_suite.py | 368 | except Exception: | STRING |
| LOW | odoo/addons/base/tests/test_test_suite.py | 403 | except Exception: | STRING |
| MEDIUM | odoo/addons/base/tests/test_test_suite.py | 400 | def alpha(): | CODE |
| LOW | odoo/addons/base/wizard/base_import_language.py | 42 | except Exception as e: | CODE |
| LOW | odoo/addons/base/models/ir_default.py | 40 | except Exception: # noqa: BLE001 | CODE |
| LOW | odoo/addons/base/models/ir_default.py | 113 | except Exception: | CODE |
| LOW | odoo/addons/base/models/ir_mail_server.py | 356 | except Exception as e: | CODE |
| LOW | odoo/addons/base/models/ir_mail_server.py | 363 | except Exception: | CODE |
| LOW | odoo/addons/base/models/ir_mail_server.py | 859 | except Exception as e: | CODE |
| LOW | odoo/addons/base/models/ir_rule.py | 73 | except Exception as e: | CODE |
| MEDIUM | odoo/addons/base/models/ir_model.py | 721 | def _onchange_relation(self): | CODE |
| LOW | odoo/addons/base/models/ir_model.py | 960 | except Exception: | CODE |
| LOW | odoo/addons/base/models/ir_model.py | 1757 | except Exception: | CODE |
| LOW | odoo/addons/base/models/ir_model.py | 2268 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | odoo/addons/base/models/ir_model.py | 2404 | except Exception: | STRING |
| LOW | odoo/addons/base/models/ir_model.py | 2564 | except Exception: | STRING |
| LOW | odoo/addons/base/models/ir_autovacuum.py | 60 | except Exception: | CODE |
| 339 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/http.py | 1081 | # of 42 (stored part in the database), the entropy for the base64 generated key | COMMENT |
| LOW | odoo/tools/lru.py | 21 | COMMENT | |
| LOW | odoo/tools/pdf/__init__.py | 541 | Transform the opened PDF file into a PDF/A compliant file | COMMENT |
| LOW | odoo/tools/pdf/signature.py | 121 | # Assigning the newly created field to a page | COMMENT |
| LOW | odoo/tools/pdf/signature.py | 181 | }) | COMMENT |
| LOW | odoo/tools/pdf/signature.py | 221 | # Setting up the actual signature contents with placeholders for /Contents and /ByteRange | COMMENT |
| LOW | odoo/tools/babel/javascript_extractor.py | 21 | # e.g. ((1, 'c'), 2) | COMMENT |
| LOW | odoo/tools/babel/python_extractor.py | 21 | # -> Indicates the first argument is a context key and the second is the translatable term, like in `pgettext` | COMMENT |
| LOW | odoo/tools/babel/python_extractor.py | 221 | # so we don't wan't to extract it. | COMMENT |
| LOW | odoo/tools/arabic_reshaper/letters.py | 1 | # The following code was copied from the original author's repository | COMMENT |
| LOW | odoo/tools/arabic_reshaper/__init__.py | 1 | # The following code was copied from the original author's repository | COMMENT |
| LOW | odoo/osv/expression.py | 301 | # commited, i.e. its terms added to the ``commits`` list along with | COMMENT |
| LOW | odoo/addons/test_main_flows/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | …/addons/test_lint/tests/_odoo_checker_sql_injection.py | 281 | return True | COMMENT |
| LOW | odoo/addons/test_lint/tests/test_override_signatures.py | 221 | raise TypeError(msg) from None | COMMENT |
| LOW | odoo/addons/test_orm/tests/test_fields.py | 881 | self.env.flush_all() | COMMENT |
| LOW | odoo/addons/test_orm/tests/test_fields.py | 1961 | deleted.unlink() | COMMENT |
| LOW | odoo/addons/test_orm/tests/test_fields.py | 3901 | # other user that bypassed the sanitize) | COMMENT |
| LOW | odoo/addons/test_orm/tests/test_fields.py | 3981 | # | | | | | COMMENT |
| LOW | odoo/addons/base/tests/test_orm.py | 381 | # | (ondelete='restrict') have db ON DELETE action | COMMENT |
| LOW | odoo/addons/base/tests/test_expression.py | 401 | non_partner_id = max(all_partners.ids) + 1 | COMMENT |
| LOW | odoo/addons/base/tests/test_reports.py | 421 | # leaving this as reference but this is to fragile to make a strict assertion | COMMENT |
| LOW | odoo/addons/base/tests/test_translate.py | 701 | # Country = self.env['res.country'] | COMMENT |
| LOW | odoo/addons/base/tests/test_translate.py | 1881 | # view1_en_copy.update_field_translations('arch_db', { | COMMENT |
| LOW | odoo/addons/base/tests/test_db_cursor.py | 241 | # which is set as an integer in our DSN/connection_info | COMMENT |
| LOW | odoo/addons/base/models/ir_logging.py | 1 | # Part of Odoo. See LICENSE file for full copyright and licensing details. | COMMENT |
| LOW | odoo/addons/base/models/ir_logging.py | 41 | # DROP CONSTRAINT unconditionally takes an ACCESS EXCLUSIVE lock | COMMENT |
| LOW | odoo/addons/base/models/ir_ui_view.py | 921 | if node.get('position') in ('after', 'before', 'inside'): | COMMENT |
| LOW | odoo/addons/base/models/ir_ui_view.py | 981 | # We achieve a pre-order depth-first hierarchy traversal where | COMMENT |
| LOW | odoo/addons/base/models/ir_ui_view.py | 1001 | # 5 [7, 8, 3, 4] | COMMENT |
| LOW | odoo/addons/base/models/ir_ui_view.py | 1341 | parent = node.getparent() | COMMENT |
| LOW | odoo/addons/base/models/ir_qweb.py | 1421 | COMMENT | |
| LOW | odoo/addons/base/models/ir_cron.py | 321 | other jobs. | COMMENT |
| LOW | odoo/tests/common.py | 2401 | # setting a cookie on domain='' path='/'. | COMMENT |
| LOW | odoo/orm/models.py | 4241 | # is a record created by xml/csv file, as these are not connected | COMMENT |
| LOW | odoo/orm/models.py | 4421 | # Protect the field from being recomputed while being | COMMENT |
| LOW | odoo/orm/models.py | 4441 | with env.protecting(protected, self): | COMMENT |
| LOW | odoo/orm/models.py | 4461 | COMMENT | |
| LOW | odoo/orm/models.py | 6761 | :param fnames: iterable of field names modified on records ``self`` | COMMENT |
| LOW | odoo/orm/models.py | 6781 | # This tree provides perfect support for the trigger mechanism: | COMMENT |
| LOW | odoo/orm/fields.py | 341 | elif attr.startswith('_description_'): | COMMENT |
| LOW | odoo/orm/fields.py | 361 | # of fields in override order (or reverse MRO). | COMMENT |
| LOW | odoo/orm/fields.py | 681 | # where 'foo' is already present in cache for a1, a2. Initially, both a1 | COMMENT |
| LOW | odoo/orm/fields.py | 1681 | # not stored and computed -> compute | COMMENT |
| LOW | odoo/orm/model_classes.py | 41 | # | COMMENT |
| LOW | odoo/orm/model_classes.py | 61 | # A3 A2 A1 <- model definitions | COMMENT |
| LOW | odoo/orm/model_classes.py | 81 | # \ | / | COMMENT |
| LOW | odoo/orm/model_classes.py | 101 | # definition. There are a number of cases where the field cannot be used | COMMENT |
| LOW | odoo/orm/model_classes.py | 121 | # class A1(Model): Model | COMMENT |
| LOW | odoo/orm/fields_properties.py | 181 | # value, where relational field values have a display name. | COMMENT |
| LOW | odoo/orm/environments.py | 561 | self.registry = registry | COMMENT |
| LOW | odoo/service/server.py | 1621 | if odoo.evented: | COMMENT |
| LOW | odoo/modules/module_graph.py | 41 | # | | COMMENT |
| LOW | odoo/modules/module_graph.py | 61 | # +- | module6 | | COMMENT |
| LOW | odoo/modules/module_graph.py | 81 | # 'to upgrade': module4, module6 | COMMENT |
| LOW | odoo/modules/module_graph.py | 101 | # Sometimes the dependency may be changed for sake of upgrade | COMMENT |
| LOW | odoo/modules/module_graph.py | 121 | # | | | | COMMENT |
| LOW | odoo/upgrade_code/17.5-00-example.py | 21 | return | COMMENT |
| LOW | addons/sale/models/sale_order.py | 1641 | 'ref': ', '.join(refs)[:2000], | COMMENT |
| LOW | addons/website_sale_comparison_wishlist/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| 255 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | odoo/addons/base/tests/test_views.py | 1453 | # Check if the replacement inside the child view did not mess up the | STRING |
| LOW⚡ | odoo/addons/base/tests/test_views.py | 1461 | # Check if the replacement of the first worlds did not mess up the | STRING |
| LOW⚡ | odoo/addons/base/tests/test_views.py | 1511 | # Check if the replacement inside the child view did not mess up the | STRING |
| LOW⚡ | odoo/addons/base/tests/test_views.py | 1520 | # Check if the child view replacement of added nodes did not mess up | STRING |
| LOW | odoo/addons/base/tests/test_views.py | 1394 | # Check if the replacement inside the child view did not mess up the | STRING |
| LOW | odoo/addons/base/tests/test_views.py | 1402 | # Check if the replacement of the first worlds did not mess up the | STRING |
| LOW | odoo/addons/base/models/ir_mail_server.py | 716 | # Check if it's still possible to put the bounce address as smtp_from | COMMENT |
| LOW | odoo/addons/base/models/ir_ui_view.py | 473 | # Check if we know how to apply inheritances | COMMENT |
| LOW | odoo/orm/registry.py | 1084 | # Check if the model registry must be reloaded | COMMENT |
| LOW | odoo/orm/registry.py | 1091 | # Check if the model caches must be invalidated. | COMMENT |
| LOW | addons/auth_signup/tests/test_auth_signup.py | 63 | # Check if an email is sent to the new userw | COMMENT |
| LOW | addons/auth_signup/controllers/main.py | 50 | # Set user to public if they were not signed in by do_signup | COMMENT |
| LOW⚡ | addons/website_event_track/tests/test_website_event.py | 71 | # Check if app_icon is set | STRING |
| LOW⚡ | addons/website_event_track/tests/test_website_event.py | 74 | # Check if app_icon is a valid image | STRING |
| LOW | addons/website_event_track/controllers/event_track.py | 152 | # Check if there are any ongoing or upcoming tracks | COMMENT |
| LOW | addons/stock_picking_batch/models/stock_picking.py | 199 | # Check if auto_batch is enabled for this picking. | COMMENT |
| LOW | addons/google_calendar/utils/google_event.py | 194 | # Check if ids are the same | COMMENT |
| LOW | addons/google_calendar/models/google_sync.py | 180 | # Check if it is a recurring event that has been rescheduled. | COMMENT |
| LOW | addons/l10n_ar/controllers/portal.py | 61 | # Check if the ARCA responsibility is different from Final Consumer or Foreign Customer, | COMMENT |
| LOW | …quisition_sale/tests/test_purchase_requisition_sale.py | 58 | # Check if newly created PO is correctly linked to the base Sale Order | COMMENT |
| LOW | addons/calendar/tests/test_calendar_tour.py | 44 | self.assertFalse(event) # Check if the event has been correctly deleted | CODE |
| LOW | addons/calendar/tests/test_calendar_tour.py | 69 | self.assertEqual(attendee.state, 'declined') # Check if the event has been correctly declined | CODE |
| LOW | addons/payment_paypal/tests/test_paypal.py | 133 | # Set country to one where state is required | COMMENT |
| LOW | addons/sms/tests/test_sms_template.py | 40 | # Check if a member of group_user can only read on sms.template | COMMENT |
| LOW | addons/l10n_sa/models/account_move.py | 123 | # Check if the document is legal in Saudi | COMMENT |
| LOW | addons/mrp_subcontracting/tests/test_subcontracting.py | 35 | # Check if warehouse routes got RECREATED (instead of reused) | COMMENT |
| LOW | addons/mrp_subcontracting/tests/test_subcontracting.py | 48 | # Check if warehouse operation types (picking.type) got RECREATED (instead of reused) | COMMENT |
| LOW | addons/mail/models/mail_message.py | 1358 | # Check if user has access to the record before displaying a notification about it. | COMMENT |
| LOW | addons/sale_stock/models/stock.py | 69 | # Check if there is already a SO line for this product to get | COMMENT |
| LOW | addons/sale_stock/models/stock.py | 265 | # Check if there is already a SO line for this product to get | COMMENT |
| LOW | addons/web/tests/test_reports.py | 130 | # Check if the temporary session has been deleted | STRING |
| LOW | addons/web/tests/test_reports.py | 134 | # Check if temporary files have been deleted | STRING |
| LOW | addons/web/tests/test_res_users_settings.py | 66 | # Check if the setting is correctly created | COMMENT |
| LOW | addons/web/tests/test_res_users_settings.py | 75 | # Check if the settings are correctly formatted from the getter | COMMENT |
| LOW | addons/web/tests/test_res_users_settings.py | 93 | # Check if the setting is correctly updated | COMMENT |
| LOW | addons/web/tests/test_res_users_settings.py | 102 | # Check if the settings are correctly formatted after the update | COMMENT |
| LOW | addons/l10n_tw_edi_ecpay/models/account_move.py | 538 | # Check if the credit note has exchange difference, we need to add it to the sale amount | STRING |
| LOW | addons/website/tests/test_performance.py | 337 | # Check if website.cookies_bar is active | COMMENT |
| LOW | addons/website/tests/test_performance.py | 339 | # Check if `view.track` to track visitor or not | COMMENT |
| LOW | addons/website/tests/test_performance.py | 372 | # Check if `view.track` to track visitor or not | COMMENT |
| LOW | addons/website/models/website_menu.py | 309 | # Check if the url match a website.page (to set the m2o relation), | COMMENT |
| LOW | addons/website/models/ir_ui_view.py | 139 | # Set key to avoid copy() to generate an unique key as we want the | COMMENT |
| LOW | addons/website/models/assets.py | 61 | # Check if the file to save had already been modified | COMMENT |
| LOW | addons/website/models/html_text_processor.py | 130 | # Check if terms are translated. | COMMENT |
| LOW | addons/website/controllers/main.py | 272 | # Check if stored version is still valid | COMMENT |
| LOW | addons/website/controllers/main.py | 1312 | # Check if the file is customized and get bundle/path info | COMMENT |
| LOW | addons/mrp/tests/test_bom.py | 2740 | # Assign operation to each bom/byproduct line | COMMENT |
| LOW | addons/mrp/models/mrp_workorder.py | 614 | # Check if this workcenter is better than the previous ones | COMMENT |
| LOW | addons/mrp/report/mrp_report_bom_structure.py | 697 | # Check if product is already in stock with enough quantity | COMMENT |
| LOW | addons/mrp/report/mrp_report_bom_structure.py | 843 | # Check if this workcenter is better than the previous ones | COMMENT |
| LOW | addons/crm/models/crm_lead.py | 1025 | # Set date_open to today if it is an opp | COMMENT |
| LOW | addons/crm/models/crm_lead.py | 2747 | # Check if tag_ids is in the pls_fields and removed it from the list. The tags will be managed separately. | COMMENT |
| LOW | addons/payment_stripe/controllers/main.py | 214 | # Check if the timestamp is not too old | COMMENT |
| LOW | addons/sale_loyalty/tests/test_program_numbers.py | 52 | # Check if we have enough paid product to receive free product in case of a free product that is different from | COMMENT |
| LOW | addons/base_import/models/base_import.py | 1276 | # Check if the field is in import_field and is a relational (followed by /) | COMMENT |
| LOW | addons/product/tests/test_pricelist.py | 153 | # Set country to BE -> property defaults to EU pricelist | COMMENT |
| LOW | addons/product/tests/test_pricelist.py | 159 | # Set country to KI -> property defaults to highest sequence pricelist | COMMENT |
| LOW | addons/product/tests/test_product_pricelist.py | 187 | # Check if the pricelist is applied at precise datetime | COMMENT |
| LOW | addons/product/tests/test_product_pricelist.py | 201 | # Check if the price is different when we change the pricelist | COMMENT |
| LOW | addons/product/models/product_product.py | 716 | # Check if products still exists, in case they've been unlinked by unlinking their template | COMMENT |
| 87 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | odoo/http.py | 1466 | _request_stack.push(req) | CODE |
| HIGH | odoo/http.py | 2845 | _request_stack.push(request) | CODE |
| HIGH⚡ | odoo/http.py | 2575 | --> {"jsonrpc": "2.0", "method": "call", "params": {"arg1": "val1" }, "id": null} | STRING |
| HIGH⚡ | odoo/http.py | 2577 | <-- {"jsonrpc": "2.0", "result": { "res1": "val1" }, "id": null} | STRING |
| HIGH⚡ | odoo/http.py | 2581 | --> {"jsonrpc": "2.0", "method": "call", "params": {"arg1": "val1" }, "id": null} | STRING |
| HIGH⚡ | odoo/http.py | 2583 | <-- {"jsonrpc": "2.0", "error": {"code": 1, "message": "End user error message.", "data": {"code": "codestring | STRING |
| HIGH | odoo/tools/translate.py | 1706 | ELSE t.value || m."{field_name}"END""" | STRING |
| HIGH | odoo/tools/translate.py | 1909 | WHEN t.noupdate IS FALSE THEN t.value || m."{field.name}" | STRING |
| HIGH⚡ | odoo/addons/base/tests/test_res_users.py | 654 | _request_stack.push(SimpleNamespace(session=session, env=self.env)) | CODE |
| HIGH | odoo/addons/base/wizard/base_partner_merge.py | 308 | SET %(field)s = source_agg.value || COALESCE(%(table)s.%(field)s, '{}'::jsonb) | STRING |
| HIGH | odoo/addons/base/models/res_users.py | 1536 | name varchar not null, | CODE |
| HIGH | odoo/addons/base/models/res_users.py | 1541 | key varchar not null, | CODE |
| HIGH | odoo/tests/common.py | 1945 | # the undefined remoteobject is literally just {type: undefined}... | COMMENT |
| HIGH | odoo/tests/common.py | 492 | odoo.http._request_stack.push(request) | CODE |
| HIGH | odoo/tests/common.py | 520 | inner.push(init.pop_all()) | CODE |
| HIGH | odoo/orm/models.py | 3602 | jsonb_strip_nulls(%(fallback)s || COALESCE(%(field)s, '{}'::jsonb) || %(value)s), | STRING |
| HIGH | odoo/orm/fields.py | 1233 | # here the specified value for a company might be NULL e.g. '{"1": null}'::jsonb | COMMENT |
| HIGH | addons/im_livechat/models/discuss_channel.py | 179 | "CHECK((channel_type = 'livechat' and livechat_operator_id is not null) or (channel_type != 'livechat'))", | CODE |
| HIGH | addons/l10n_sa_edi/models/account_journal.py | 681 | 'l10n_sa_compliance_csid_json': """{"requestID": 1234567890123, "dispositionMessage": "ISSUED", "binarySecur | CODE |
| HIGH | addons/web/tests/test_click_everywhere.py | 86 | self.browser_js("/odoo", "odoo.loader.modules.get('@web/webclient/clickbot/clickbot_loader').startClickEverywher | CODE |
| HIGH | addons/web/tests/test_click_everywhere.py | 111 | self.browser_js("/odoo", "odoo.loader.modules.get('@web/webclient/clickbot/clickbot_loader').startClickEverywher | CODE |
| HIGH | addons/website_slides/models/slide_channel.py | 485 | SET access_token = md5(md5(random()::varchar || id::varchar) || clock_timestamp()::varchar)::uuid::varch | CODE |
| HIGH | addons/website/models/ir_module_module.py | 551 | o_menu_name = SQL('menu.name || %s' if overwrite else '%s || menu.name', update_jsonb) | STRING |
| HIGH | addons/crm/models/crm_lead.py | 2315 | # if stage_id is null, return 0 and bypass computation | COMMENT |
| HIGH | addons/crm/models/crm_lead.py | 2315 | # if stage_id is null, return 0 and bypass computation | COMMENT |
| HIGH | addons/crm/models/crm_lead.py | 2460 | probability = CASE WHEN (probability = automated_probability OR probability is null) | CODE |
| HIGH | addons/iot_drivers/tools/upgrade.py | 212 | background_cmd = 'chroot /root_bypass_ramdisks /bin/bash -c "apt-get upgrade -y && apt-get -y autoremove"' | CODE |
| HIGH | addons/bus/websocket.py | 900 | _wsrequest_stack.push(self) | CODE |
| HIGH | addons/http_routing/tests/common.py | 105 | odoo.http._request_stack.push(request) | CODE |
| HIGH | addons/account/models/account_account_tag.py | 129 | SET name = tag.name || jsonb_build_object(%(lang)s, substring(tag.name->>'en_US' FOR 1) || (report_li | STRING |
| HIGH | addons/stock/models/stock_move_line.py | 602 | # adjustment, enforce some rules on the `lot_id` field. If `quantity` is null, we unlink | COMMENT |
| HIGH | addons/web_tour/tests/test_tours.py | 122 | errors.push(module) | CODE |
| HIGH | addons/web_tour/tests/test_tours.py | 165 | errors.push(module) | CODE |
| HIGH | addons/survey/models/survey_question.py | 213 | "CHECK (is_scored_question != True OR question_type != 'datetime' OR answer_datetime is not null)", | CODE |
| HIGH | addons/survey/models/survey_question.py | 217 | "CHECK (is_scored_question != True OR question_type != 'date' OR answer_date is not null)", | CODE |
| HIGH | addons/rpc/tests/test_xmlrpc.py | 205 | _request_stack.push(fake_req) | CODE |
| HIGH⚡ | addons/l10n_it_edi/tools/remove_signature.py | 73 | if verify(loaded_data._pkcs7, null, null, null, out_buffer, flags) != 1: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/http.py | 1047 | # the _save_session is going to simply use session.sid to set a new cookie. | COMMENT |
| MEDIUM | odoo/tools/mail.py | 1032 | """ Parse contact name and email (given by text) in order to find contact | STRING |
| LOW | odoo/tools/misc.py | 438 | deps[item] # just set the default | CODE |
| MEDIUM | odoo/tools/pdf/__init__.py | 549 | # " The aforementioned EOL marker shall be immediately followed by a % (25h) character followed by at least four | COMMENT |
| LOW | …/addons/test_lint/tests/_odoo_checker_sql_injection.py | 327 | # otherwise just return the original node for checking | COMMENT |
| MEDIUM | …oo/addons/test_assetsbundle/tests/test_assetsbundle.py | 677 | """ Checks that a bundle don't try hard to parse broken xml, and returns a comprehensive | STRING |
| MEDIUM | …oo/addons/test_assetsbundle/tests/test_assetsbundle.py | 689 | """ Checks that a bundle with multiple broken xml returns a comprehensive error message. | STRING |
| MEDIUM | …oo/addons/test_assetsbundle/tests/test_assetsbundle.py | 700 | """ Checks that a bundle with template without name returns a comprehensive error message. | STRING |
| MEDIUM | …oo/addons/test_assetsbundle/tests/test_assetsbundle.py | 711 | """ Checks that a bundle with a file in error (file not found, encoding error, or other) returns a comprehensive | STRING |
| LOW | odoo/addons/test_inherits/models.py | 6 | # We just create a new model | COMMENT |
| MEDIUM | odoo/addons/base/tests/test_tz.py | 28 | # the first one is more robust | COMMENT |
| MEDIUM | odoo/addons/base/tests/test_test_suite.py | 85 | # will make it more robust to future changes and eventual mistakes | COMMENT |
| MEDIUM | odoo/addons/base/tests/test_http_case.py | 128 | # but this makes the test more clear and robust | COMMENT |
| MEDIUM | odoo/addons/base/models/ir_actions_report.py | 232 | """Used in the ir.actions.report form view in order to search naively after the view(s) | STRING |
| LOW | odoo/addons/base/models/ir_attachment.py | 174 | # simply add fname to checklist, it will be garbage-collected later | COMMENT |
| MEDIUM | odoo/addons/base/models/res_bank.py | 135 | """ To be overridden by subclasses in order to support other account_types. | STRING |
| MEDIUM | odoo/addons/base/models/ir_qweb.py | 2653 | """ This special 't-call-assets' tag can be used in order to aggregate/minify javascript and css assets""" | STRING |
| LOW | odoo/addons/base/models/res_partner.py | 84 | #(e.g fields not present on the model). In that case we just return arch | COMMENT |
| MEDIUM | odoo/addons/base/models/ir_actions.py | 31 | """ Proxy of the `_logger` element in order to be used in server actions. | STRING |
| MEDIUM | odoo/tests/form.py | 481 | """ Validate & extract values, recursively in order to handle o2ms properly. | STRING |
| MEDIUM | odoo/orm/models.py | 3755 | """ Read from the database in order to fetch ``field`` (:class:`Field` | STRING |
| LOW | odoo/orm/fields_properties.py | 377 | # when we create the new record. But if we just set the value without changing | COMMENT |
| LOW | odoo/orm/fields_misc.py | 123 | # do not flush, just return the identifier | COMMENT |
| MEDIUM | addons/sale/models/sale_order_line.py | 825 | """ Convert the current record to a dictionary in order to use the generic taxes computation method | STRING |
| LOW | addons/l10n_sa_edi/models/account_edi_format.py | 190 | # no signed invoice. In this case, we just return the original content | COMMENT |
| MEDIUM | addons/stock_delivery/models/delivery_carrier.py | 95 | """ Some delivery carriers require a prefix to be sent in order to use custom | STRING |
| MEDIUM⚡ | addons/l10n_ar/tests/test_manual.py | 80 | """ RI partner with many lines in order to prove rounding error, with 4 decimals of precision for the | STRING |
| MEDIUM⚡ | addons/l10n_ar/tests/test_manual.py | 85 | """ RI partner with many lines in order to test rounding error, it is required to use a 4 decimal precision | STRING |
| MEDIUM⚡ | addons/l10n_ar/tests/test_manual.py | 90 | """ RI partner with many lines in order to test zero amount invoices y rounding error. it is required to | STRING |
| MEDIUM | addons/l10n_ar/models/res_partner.py | 32 | """ This will add some dash to the CUIT number (VAT AR) in order to show in his natural format: | STRING |
| MEDIUM | addons/portal_rating/models/rating_rating.py | 45 | """ Force publisher partner and date if not given in order to have | STRING |
| MEDIUM | addons/l10n_my_edi_pos/tests/test_myinvois_pos.py | 719 | """ Generate a relatively complex use case, and compare it to an XML file in order to ensure correct generation | STRING |
| MEDIUM | addons/l10n_my_edi_pos/tests/test_myinvois_pos.py | 769 | """ Generate a relatively complex use case, and compare it to an XML file in order to ensure correct generation | STRING |
| MEDIUM | addons/sms/models/mail_message.py | 7 | """ Override MailMessage class in order to add a new type: SMS messages. | STRING |
| MEDIUM | addons/mrp_subcontracting/models/stock_move.py | 20 | """ Compute if the action button in order to see moves raw is visible """ | STRING |
| MEDIUM | addons/mrp_subcontracting/models/stock_move.py | 80 | """ Open the produce wizard in order to register tracked components for | STRING |
| MEDIUM | addons/mail/models/mail_blacklist.py | 59 | """ Override _search in order to grep search on email field and make it | STRING |
| MEDIUM | addons/mail/models/ir_config_parameter.py | 20 | # prepares data for 'send' in conjunction with auto_commit=True in order | COMMENT |
| MEDIUM | addons/web/static/tests/legacy/qunit.js | 414 | // Essentially prevents default error logging when the rejection was | COMMENT |
| MEDIUM | addons/web/static/lib/fullcalendar/core/index.global.js | 89 | var css_248z = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--f | CODE |
| MEDIUM | addons/web/static/lib/fullcalendar/core/index.global.js | 1165 | standardDateProps.timeZone = 'UTC'; // we leverage the only guaranteed timeZone for our UTC markers | CODE |
| MEDIUM | …ns/web/static/lib/fullcalendar/daygrid/index.global.js | 667 | // Essentially, once you compute an element's height, never null-out. | COMMENT |
| MEDIUM | addons/web/static/lib/jquery/jquery.js | 10942 | // understands anonymous AMD modules. A named AMD is safest and most robust | COMMENT |
| LOW | addons/web/controllers/export.py | 472 | # * if we have a normal field (length 1), just add it to the info | COMMENT |
| MEDIUM | addons/web/controllers/report.py | 95 | """This function is used by 'action_manager_report.js' in order to trigger the download of | STRING |
| LOW | …_vendor/webauthn/helpers/validate_certificate_chain.py | 27 | # We have no root certs to chain back to, so just pass on validation | COMMENT |
| MEDIUM | addons/website/static/tests/builder/images.test.js | 302 | // in practice but the system should be robust to this case as the | COMMENT |
| MEDIUM | addons/website/static/src/scss/website.edit_mode.scss | 142 | // TODO implement something more robust. This is currently for our only | COMMENT |
| MEDIUM | addons/website/static/src/scss/website.backend.scss | 18 | // TODO: Find another way to set the height, not robust enough, | COMMENT |
| MEDIUM | addons/website/static/src/utils/images.js | 1 | // Definitely not the right location for this file !!! | COMMENT |
| MEDIUM | …lder/plugins/options/cover_properties_option_plugin.js | 38 | // robust enough. | COMMENT |
| MEDIUM | addons/mrp/tests/test_order.py | 1555 | """ Checks that, the production is robust against deletion of finished move.""" | STRING |
| MEDIUM⚡ | addons/mrp/models/stock_rule.py | 42 | """ If 'run' is called on a kit, this override is made in order to call | STRING |
| MEDIUM | addons/mrp/models/mrp_production.py | 1469 | """ returns 'assigned' if enough components are reserved in order to complete | STRING |
| MEDIUM | addons/crm/tests/test_crm_lead_assignment.py | 315 | """ Test assignment on a more high volume oriented test set in order to | STRING |
| MEDIUM | addons/crm/tests/test_performances.py | 124 | """ Test assignment on a more high volume oriented test set in order to | STRING |
| MEDIUM | …tic/src/views/forecast_kanban/forecast_kanban_model.js | 20 | // future, modify the original domain instead. It is not robust | COMMENT |
| MEDIUM | addons/bus/static/tests/mock_websocket.js | 90 | // Disable the interval until those tests are rewritten to be more robust. | COMMENT |
| LOW | …s/product/tests/test_product_attribute_value_config.py | 368 | # CASE: no combination, no variant, just return the only variant | COMMENT |
| MEDIUM | addons/project_account/models/project_project.py | 123 | """ this method is used in order to overwrite the domain in sale_timesheet module. Since the field 'project_id' | STRING |
| 49 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | odoo/addons/base/models/res_users_deletion.py | 65 | # Step 1: Delete User | COMMENT |
| LOW⚡ | odoo/addons/base/models/res_users_deletion.py | 85 | # Step 2: Delete Linked Partner | COMMENT |
| LOW | odoo/addons/base/models/res_partner.py | 1198 | The purpose of this function is to build and return an address formatted accordingly to the | STRING |
| LOW | …website_sale_slides/tests/test_course_purchase_flow.py | 42 | # Step 2: create a sale_order with the course product | COMMENT |
| LOW⚡ | …website_sale_slides/tests/test_course_purchase_flow.py | 57 | # Step 3: check that the customer is now a member of both channel | COMMENT |
| LOW⚡ | …website_sale_slides/tests/test_course_purchase_flow.py | 61 | # Step 4: Same test as salesman | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 752 | # Step 1: Use the popover delete wizard to delete the next occurrence of the event. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 760 | # Step 2: Use another delete wizard to handle the deletion of the next occurrence. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 768 | # Step 3: Send cancellation notifications and delete the next occurrence. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 776 | # Step 0: Retrieve the recurring event to be deleted. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 779 | # Step 1: Use the popover delete wizard to delete all occurrences of the event. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 787 | # Step 2: Use another delete wizard to handle the deletion of the event recurrence. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 795 | # Step 3: Send cancellation notifications and delete all recurrences. | COMMENT |
| LOW⚡ | …/web/static/tests/webclient/actions/load_state.test.js | 1684 | // Step 1: Navigate to Sale->Customers with explicit menu_id | COMMENT |
| LOW⚡ | …/web/static/tests/webclient/actions/load_state.test.js | 1691 | // Step 2: Emulate F5 reload | COMMENT |
| LOW | addons/web/static/tests/legacy/qunit.js | 329 | * The purpose of this function is to reset the timer nesting level of the execution context | COMMENT |
| LOW | addons/web/static/lib/owl/owl.js | 1811 | // Step 1: calling all willPatch lifecycle hooks | COMMENT |
| LOW⚡ | addons/web/static/lib/owl/owl.js | 1825 | // Step 2: patching the dom | COMMENT |
| LOW⚡ | addons/web/static/lib/owl/owl.js | 1828 | // Step 4: calling all mounted lifecycle hooks | COMMENT |
| LOW⚡ | addons/web/static/lib/owl/owl.js | 1837 | // Step 5: calling all patched hooks | COMMENT |
| LOW | addons/web/static/lib/hoot/hoot_utils.js | 1419 | // Step 1: remove "exact" parts of the string query and add them as exact string | COMMENT |
| LOW | addons/web/static/lib/hoot/hoot_utils.js | 1431 | // Step 2: split remaining string query on white spaces and: | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 110 | // Step 1: Take measurements | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 113 | // Step 2: Apply Dimensions | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 116 | // Step 3: Set initial position | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 119 | // Step 4: Setup event handlers after everything has been properly resized and positioned | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 122 | // Step 5: Mark as ready | COMMENT |
| LOW | …/static/src/model/relational_model/relational_model.js | 783 | * occurrences to be updated. The purpose of this function is to find and | COMMENT |
| LOW | addons/web/controllers/pivot.py | 32 | # Step 1: writing col group headers | COMMENT |
| LOW | addons/web/controllers/pivot.py | 64 | # Step 2: writing measure headers | COMMENT |
| LOW | addons/web/controllers/pivot.py | 77 | # Step 4: writing data | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 9 | # Step 1: create a simple certification | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 50 | # Step 2: link the certification to a slide of category 'certification' | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 58 | # Step 3: add portal user as member of the channel | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 68 | # Step 4: fill in the created user_input with wrong answers | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 79 | # Step 5: simulate a 'retry' | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 89 | # Step 6: fill in the new user_input with wrong answers again | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 99 | # Step 7: add portal user as member of the channel once again | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 108 | # Step 8: fill in the created user_input with correct answers this time | COMMENT |
| LOW | addons/privacy_lookup/wizard/privacy_lookup_wizard.py | 53 | # Step 1: Retrieve users/partners liked to email address or name | COMMENT |
| LOW | addons/privacy_lookup/wizard/privacy_lookup_wizard.py | 98 | # Step 3: Retrieve info on other models | STRING |
| LOW⚡ | addons/project/controllers/project_sharing_chatter.py | 17 | So, we need to check if the chatter is for a task and if the res_id is a task | STRING |
| LOW⚡ | addons/project/controllers/project_sharing_chatter.py | 20 | If we do not have any token, then we need to check if the portal user is a follower of the project shared. | STRING |
| LOW⚡ | …_of_sale/static/tests/pos/tours/product_screen_tour.js | 964 | // Step 1: Search and add first variant | COMMENT |
| LOW⚡ | …_of_sale/static/tests/pos/tours/product_screen_tour.js | 974 | // Step 2: Search and add product without attributes (used to delay UI update) | COMMENT |
| LOW⚡ | …_of_sale/static/tests/pos/tours/product_screen_tour.js | 983 | // Step 3: Search and add second variant of the original product | COMMENT |
| LOW | …ons/point_of_sale/static/src/app/services/pos_store.js | 2035 | // We need to check if a preparation display is configured to avoid unnecessary sync | COMMENT |
| LOW | addons/l10n_hu_edi/models/res_company.py | 140 | # Step 1: Request a list of all transactions made during the specified time interval. | STRING |
| LOW | addons/l10n_hu_edi/models/res_company.py | 162 | # Step 2: Query unknown transactions in reverse order (latest first) and update invoice states accordingly. | STRING |
| LOW | addons/account/tests/test_account_account.py | 821 | # Step 2: Unmerge the account | COMMENT |
| LOW | addons/account/wizard/account_merge_wizard.py | 141 | # Step 1: Keep track of the company_ids and codes we should write on the account. | COMMENT |
| LOW⚡ | addons/account/wizard/account_merge_wizard.py | 157 | # Step 2: Check that we have write access to all the accounts and access to all the companies | COMMENT |
| LOW⚡ | addons/account/wizard/account_merge_wizard.py | 161 | # Step 3: Update records in DB. | COMMENT |
| LOW | addons/account/wizard/account_merge_wizard.py | 195 | # Step 4: Remove merged accounts | COMMENT |
| LOW | addons/account/wizard/account_merge_wizard.py | 208 | # Step 5: Write company_ids and codes on the account | COMMENT |
| LOW⚡ | addons/account/models/account_account.py | 1255 | # Step 1: Check access rights. | STRING |
| LOW⚡ | addons/account/models/account_account.py | 1258 | # Step 2: Create new accounts. | STRING |
| LOW⚡ | addons/account/models/account_account.py | 1476 | # Step 4: Change check_company fields to only keep values compatible with the account's company, and update comp | STRING |
| LOW⚡ | addons/account/models/account_account.py | 1486 | # Step 5: Put a log in the chatter of the newly-created accounts | STRING |
| LOW | addons/account/models/account_account.py | 1275 | # Step 3: Update foreign keys in DB. | STRING |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | odoo/addons/base/models/res_users_deletion.py | 65 | # Step 1: Delete User | COMMENT |
| LOW⚡ | odoo/addons/base/models/res_users_deletion.py | 85 | # Step 2: Delete Linked Partner | COMMENT |
| LOW | …website_sale_slides/tests/test_course_purchase_flow.py | 42 | # Step 2: create a sale_order with the course product | COMMENT |
| LOW⚡ | …website_sale_slides/tests/test_course_purchase_flow.py | 57 | # Step 3: check that the customer is now a member of both channel | COMMENT |
| LOW⚡ | …website_sale_slides/tests/test_course_purchase_flow.py | 61 | # Step 4: Same test as salesman | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 752 | # Step 1: Use the popover delete wizard to delete the next occurrence of the event. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 760 | # Step 2: Use another delete wizard to handle the deletion of the next occurrence. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 768 | # Step 3: Send cancellation notifications and delete the next occurrence. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 776 | # Step 0: Retrieve the recurring event to be deleted. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 779 | # Step 1: Use the popover delete wizard to delete all occurrences of the event. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 787 | # Step 2: Use another delete wizard to handle the deletion of the event recurrence. | COMMENT |
| LOW⚡ | addons/calendar/tests/test_event_recurrence.py | 795 | # Step 3: Send cancellation notifications and delete all recurrences. | COMMENT |
| LOW⚡ | …/web/static/tests/webclient/actions/load_state.test.js | 1684 | // Step 1: Navigate to Sale->Customers with explicit menu_id | COMMENT |
| LOW⚡ | …/web/static/tests/webclient/actions/load_state.test.js | 1691 | // Step 2: Emulate F5 reload | COMMENT |
| LOW | addons/web/static/lib/owl/owl.js | 1811 | // Step 1: calling all willPatch lifecycle hooks | COMMENT |
| LOW⚡ | addons/web/static/lib/owl/owl.js | 1825 | // Step 2: patching the dom | COMMENT |
| LOW⚡ | addons/web/static/lib/owl/owl.js | 1828 | // Step 4: calling all mounted lifecycle hooks | COMMENT |
| LOW⚡ | addons/web/static/lib/owl/owl.js | 1837 | // Step 5: calling all patched hooks | COMMENT |
| LOW | addons/web/static/lib/hoot/hoot_utils.js | 1419 | // Step 1: remove "exact" parts of the string query and add them as exact string | COMMENT |
| LOW | addons/web/static/lib/hoot/hoot_utils.js | 1431 | // Step 2: split remaining string query on white spaces and: | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 110 | // Step 1: Take measurements | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 113 | // Step 2: Apply Dimensions | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 116 | // Step 3: Set initial position | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 119 | // Step 4: Setup event handlers after everything has been properly resized and positioned | COMMENT |
| LOW⚡ | addons/web/static/src/core/bottom_sheet/bottom_sheet.js | 122 | // Step 5: Mark as ready | COMMENT |
| LOW | addons/web/controllers/pivot.py | 32 | # Step 1: writing col group headers | COMMENT |
| LOW | addons/web/controllers/pivot.py | 64 | # Step 2: writing measure headers | COMMENT |
| LOW | addons/web/controllers/pivot.py | 77 | # Step 4: writing data | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 9 | # Step 1: create a simple certification | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 50 | # Step 2: link the certification to a slide of category 'certification' | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 58 | # Step 3: add portal user as member of the channel | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 68 | # Step 4: fill in the created user_input with wrong answers | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 79 | # Step 5: simulate a 'retry' | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 89 | # Step 6: fill in the new user_input with wrong answers again | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 99 | # Step 7: add portal user as member of the channel once again | COMMENT |
| LOW⚡ | …ides_survey/tests/test_course_certification_failure.py | 108 | # Step 8: fill in the created user_input with correct answers this time | COMMENT |
| LOW | addons/privacy_lookup/wizard/privacy_lookup_wizard.py | 53 | # Step 1: Retrieve users/partners liked to email address or name | COMMENT |
| LOW | addons/privacy_lookup/wizard/privacy_lookup_wizard.py | 98 | # Step 3: Retrieve info on other models | STRING |
| LOW⚡ | …_of_sale/static/tests/pos/tours/product_screen_tour.js | 964 | // Step 1: Search and add first variant | COMMENT |
| LOW⚡ | …_of_sale/static/tests/pos/tours/product_screen_tour.js | 974 | // Step 2: Search and add product without attributes (used to delay UI update) | COMMENT |
| LOW⚡ | …_of_sale/static/tests/pos/tours/product_screen_tour.js | 983 | // Step 3: Search and add second variant of the original product | COMMENT |
| LOW | addons/l10n_hu_edi/models/res_company.py | 140 | # Step 1: Request a list of all transactions made during the specified time interval. | STRING |
| LOW | addons/l10n_hu_edi/models/res_company.py | 162 | # Step 2: Query unknown transactions in reverse order (latest first) and update invoice states accordingly. | STRING |
| LOW | addons/account/tests/test_account_account.py | 821 | # Step 2: Unmerge the account | COMMENT |
| LOW | addons/account/wizard/account_merge_wizard.py | 141 | # Step 1: Keep track of the company_ids and codes we should write on the account. | COMMENT |
| LOW⚡ | addons/account/wizard/account_merge_wizard.py | 157 | # Step 2: Check that we have write access to all the accounts and access to all the companies | COMMENT |
| LOW⚡ | addons/account/wizard/account_merge_wizard.py | 161 | # Step 3: Update records in DB. | COMMENT |
| LOW | addons/account/wizard/account_merge_wizard.py | 195 | # Step 4: Remove merged accounts | COMMENT |
| LOW | addons/account/wizard/account_merge_wizard.py | 208 | # Step 5: Write company_ids and codes on the account | COMMENT |
| LOW⚡ | addons/account/models/account_account.py | 1255 | # Step 1: Check access rights. | STRING |
| LOW⚡ | addons/account/models/account_account.py | 1258 | # Step 2: Create new accounts. | STRING |
| LOW⚡ | addons/account/models/account_account.py | 1476 | # Step 4: Change check_company fields to only keep values compatible with the account's company, and update comp | STRING |
| LOW⚡ | addons/account/models/account_account.py | 1486 | # Step 5: Put a log in the chatter of the newly-created accounts | STRING |
| LOW | addons/account/models/account_account.py | 1275 | # Step 3: Update foreign keys in DB. | STRING |
| LOW⚡ | addons/l10n_ro_edi/tests/test_ro_edi.py | 21 | # Step 1: First send succeeds, index 'AA' received | COMMENT |
| LOW⚡ | addons/l10n_ro_edi/tests/test_ro_edi.py | 26 | # Step 2: SPV refuses via fetch → sent doc deleted, refused doc created | COMMENT |
| LOW | addons/l10n_ro_edi/tests/test_ro_edi.py | 47 | # Step 3: Resend succeeds → refused doc preserved, new sent doc added | COMMENT |
| LOW | addons/l10n_ro_edi/tests/test_ro_edi.py | 59 | # Step 4: SPV validates → all old docs deleted, only invoice_validated remains | COMMENT |
| LOW⚡ | addons/l10n_ro_edi/tests/test_ro_edi.py | 93 | # Step 1: First send succeeds, index 'AA' received | COMMENT |
| LOW⚡ | addons/l10n_ro_edi/tests/test_ro_edi.py | 99 | # Step 2: SPV refuses via fetch (status 'nok') → invoice_sent deleted, invoice_refused created | COMMENT |
| 4 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/http.py | 1597 | CODE | |
| LOW | odoo/http.py | 1784 | CODE | |
| LOW | odoo/tools/mail.py | 416 | CODE | |
| LOW | odoo/tools/image.py | 296 | CODE | |
| LOW | odoo/tools/_vendor/send_file.py | 32 | CODE | |
| LOW | odoo/addons/test_access_rights/tests/test_feedback.py | 185 | CODE | |
| LOW | odoo/addons/base/tests/common.py | 471 | CODE | |
| LOW | odoo/addons/base/wizard/base_module_update.py | 29 | CODE | |
| LOW | odoo/addons/base/models/ir_mail_server.py | 394 | CODE | |
| LOW | odoo/addons/base/models/ir_mail_server.py | 562 | CODE | |
| LOW | odoo/addons/base/models/ir_mail_server.py | 799 | CODE | |
| LOW | odoo/addons/base/models/res_users_settings.py | 39 | CODE | |
| LOW | odoo/addons/base/models/ir_binary.py | 154 | CODE | |
| LOW | odoo/addons/base/models/assetsbundle.py | 48 | CODE | |
| LOW | odoo/tests/common.py | 2322 | CODE | |
| LOW | odoo/tests/common.py | 2450 | CODE | |
| LOW | odoo/orm/models.py | 3752 | CODE | |
| LOW | addons/website_event_track/models/event_track.py | 483 | CODE | |
| LOW | addons/website_event_track/controllers/webmanifest.py | 41 | CODE | |
| LOW | addons/website_event_track/controllers/webmanifest.py | 58 | CODE | |
| LOW | addons/website_event_track/controllers/event_track.py | 430 | CODE | |
| LOW | addons/l10n_sa_edi/tests/common.py | 251 | CODE | |
| LOW | addons/l10n_sa_edi/tests/common.py | 291 | CODE | |
| LOW | addons/l10n_sa_edi/tests/common.py | 329 | CODE | |
| LOW | addons/hr_holidays_attendance/models/hr_leave.py | 59 | CODE | |
| LOW | …s/hr_holidays_attendance/models/hr_leave_allocation.py | 56 | CODE | |
| LOW | addons/mail_plugin/controllers/mail_plugin.py | 248 | CODE | |
| LOW | …_tax_tags/tests/test_account_update_tax_tags_wizard.py | 40 | CODE | |
| LOW | addons/calendar/models/calendar_alarm_manager.py | 101 | CODE | |
| LOW | addons/calendar/models/res_users.py | 64 | CODE | |
| LOW | addons/pos_self_order/controllers/self_entry.py | 42 | CODE | |
| LOW | …oud_storage_google/utils/cloud_storage_google_utils.py | 112 | CODE | |
| LOW | addons/website_hr_recruitment/controllers/main.py | 32 | CODE | |
| LOW | …/mrp_subcontracting/report/mrp_report_bom_structure.py | 22 | CODE | |
| LOW | addons/mail/tools/discuss.py | 497 | CODE | |
| LOW | addons/mail/tests/common.py | 212 | CODE | |
| LOW | addons/mail/tests/common.py | 224 | CODE | |
| LOW | addons/mail/tests/common.py | 245 | CODE | |
| LOW | addons/mail/tests/common.py | 285 | CODE | |
| LOW | addons/mail/tests/common.py | 1007 | CODE | |
| LOW | addons/mail/models/mail_thread.py | 2182 | CODE | |
| LOW | addons/mail/models/mail_thread.py | 2706 | CODE | |
| LOW | addons/mail/models/mail_thread.py | 2878 | CODE | |
| LOW | addons/mail/models/mail_thread.py | 3377 | CODE | |
| LOW | addons/web/models/models.py | 349 | CODE | |
| LOW | addons/web/controllers/binary.py | 72 | CODE | |
| LOW | addons/web/controllers/binary.py | 185 | CODE | |
| LOW | addons/web/controllers/webmanifest.py | 82 | CODE | |
| LOW | addons/web/controllers/pivot.py | 97 | CODE | |
| LOW | addons/website_slides/controllers/main.py | 535 | CODE | |
| LOW | …webauthn/registration/generate_registration_options.py | 42 | CODE | |
| LOW | addons/account_peppol/tools/peppol_iap_connector.py | 64 | CODE | |
| LOW | addons/website/models/ir_module_module.py | 420 | CODE | |
| LOW | addons/website/models/website.py | 1164 | CODE | |
| LOW | addons/mrp/tests/common.py | 12 | CODE | |
| LOW | addons/mrp/tests/test_order.py | 4672 | CODE | |
| LOW | addons/mrp/models/stock_scrap.py | 41 | CODE | |
| LOW | addons/mrp/models/mrp_production.py | 1386 | CODE | |
| LOW | addons/mrp/report/mrp_report_bom_structure.py | 170 | CODE | |
| LOW | addons/crm/tests/common.py | 317 | CODE | |
| 34 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/logging.py | 7 | __all__ = [ # noqa: RUF022 | CODE |
| LOW | odoo/tools/mail.py | 34 | __all__ = [ | CODE |
| LOW | odoo/tools/misc.py | 59 | __all__ = [ | CODE |
| LOW | odoo/tools/translate.py | 45 | __all__ = [ | CODE |
| LOW | odoo/tools/float_utils.py | 10 | __all__ = [ | CODE |
| LOW | odoo/tools/template_inheritance.py | 13 | __all__ = [] | CODE |
| LOW | odoo/tools/query.py | 230 | def set_result_ids(self, ids: Iterable[int], ordered: bool = True) -> None: | CODE |
| LOW | odoo/tools/date_utils.py | 47 | __all__ = [ | CODE |
| LOW | odoo/tools/convert.py | 4 | __all__ = [ | CODE |
| LOW | odoo/tools/mimetypes.py | 15 | __all__ = ['guess_mimetype'] | CODE |
| LOW | odoo/tools/lru.py | 7 | __all__ = ['LRU'] | CODE |
| LOW | odoo/tools/barcode.py | 6 | __all__ = ['check_barcode_encoding', 'createBarcodeDrawing', 'get_barcode_font'] | CODE |
| LOW | odoo/tools/xml_utils.py | 15 | __all__ = [ | CODE |
| LOW | odoo/tools/safe_eval.py | 33 | __all__ = ['const_eval', 'safe_eval'] | CODE |
| LOW | odoo/tools/sql.py | 22 | __all__ = [ | CODE |
| LOW | odoo/tools/which.py | 42 | __all__ = ['F_OK', 'R_OK', 'W_OK', 'X_OK', 'defpath', 'defpathext', 'dirname', 'pathsep', 'which', 'which_files'] | CODE |
| LOW | odoo/tools/urls.py | 4 | __all__ = ['urljoin'] | CODE |
| LOW | odoo/tools/image.py | 23 | __all__ = ["image_process"] | CODE |
| LOW | odoo/tools/func.py | 10 | __all__ = [ | CODE |
| LOW | odoo/tools/pdf/_pypdf2_2.py | 5 | __all__ = [ | CODE |
| LOW | odoo/tools/pdf/_pypdf2_1.py | 5 | __all__ = [ | CODE |
| LOW | odoo/tools/pdf/_pypdf.py | 8 | __all__ = [ | CODE |
| LOW | odoo/tools/arabic_reshaper/__init__.py | 21 | __all__ = ['reshape'] | CODE |
| LOW | odoo/addons/test_lint/tests/test_docstring.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | odoo/addons/base/models/ir_cron.py | 571 | def _update_failure_count(self, job: dict, status: CompletionStatus) -> None: | STRING |
| LOW | odoo/tests/shell.py | 1 | __all__ = ['run_tests'] | CODE |
| LOW | odoo/orm/models.py | 6066 | def _update_cache(self, values: ValuesType, validate: bool = True) -> None: | STRING |
| LOW | odoo/orm/fields.py | 491 | def _setup_attrs__(self, model_class: type[BaseModel], name: str) -> None: | CODE |
| LOW | odoo/orm/fields.py | 1188 | def update_db_related(self, model: BaseModel) -> None: | CODE |
| LOW | odoo/orm/fields.py | 1609 | def _update_cache(self, records: BaseModel, cache_value: typing.Any, dirty: bool = False) -> None: | CODE |
| LOW | odoo/orm/registry.py | 383 | def _setup_models__(self, cr: BaseCursor, model_names: Iterable[str] | None = None) -> None: # noqa: PLW3201 | CODE |
| LOW | odoo/orm/environments.py | 738 | def update_raw(self, records: BaseModel, field: Field, values: Iterable, dirty: bool = False) -> None: | CODE |
| LOW | odoo/modules/module_graph.py | 257 | def _update_depends(self, names: Iterable[str]) -> None: | CODE |
| LOW | odoo/modules/module_graph.py | 271 | def _update_depth(self, names: Iterable[str]) -> None: | CODE |
| LOW | odoo/modules/module_graph.py | 280 | def _update_from_database(self, names: Iterable[str]) -> None: | CODE |
| LOW | odoo/modules/module.py | 40 | __all__ = [ | CODE |
| LOW | addons/spreadsheet/controllers/main.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/mail/controllers/attachment.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/auth_passkey/_vendor/webauthn/__init__.py | 13 | __all__ = [ | CODE |
| LOW | …dons/auth_passkey/_vendor/webauthn/helpers/__init__.py | 23 | __all__ = [ | CODE |
| LOW | …/auth_passkey/_vendor/webauthn/helpers/tpm/__init__.py | 4 | __all__ = ["parse_cert_info", "parse_pub_area"] | CODE |
| LOW | addons/google_recaptcha/models/ir_http.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/website/models/mixins.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/website/models/ir_http.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/website/models/website_page.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/website/models/website.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/website/controllers/main.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/product/controllers/product_document.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/html_editor/tools.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/html_editor/models/ir_qweb_fields.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/web_unsplash/controllers/main.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/website_cf_turnstile/models/ir_http.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | …le_pdf_quote_builder/controllers/quotation_document.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/rpc/controllers/xmlrpc.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/rpc/controllers/jsonrpc.py | 7 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/website_sale/models/website.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | addons/api_doc/controllers/api_doc.py | 28 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/tools/safe_eval.py | 486 | # make sure to patch pytz before exposing | STRING |
| LOW | odoo/addons/base/tests/test_db_cursor.py | 145 | # make sure to fetch the field from the database | COMMENT |
| LOW | odoo/addons/base/tests/test_install.py | 33 | # make sure to reset the transaction | COMMENT |
| LOW | addons/l10n_in_edi/models/account_move.py | 227 | # make sure to clear the error before sending again | COMMENT |
| LOW | addons/l10n_in_edi/models/account_move.py | 361 | # make sure to clear the error before cancelling again | COMMENT |
| LOW | addons/l10n_in_edi/models/account_move_line.py | 46 | # Please make sure to change, if any change in error codes | COMMENT |
| LOW | addons/calendar/models/calendar_event.py | 939 | # don't forget to update recurrences if there are some base events in the set to unlink, | COMMENT |
| LOW | addons/calendar/models/calendar_event.py | 939 | # don't forget to update recurrences if there are some base events in the set to unlink, | COMMENT |
| LOW | addons/web/static/src/core/utils/patch.js | 62 | * If the intent is to patch a class, don't forget to patch the prototype, unless | COMMENT |
| LOW | …rc/views/fields/iframe_wrapper/iframe_wrapper_field.js | 40 | // If HTML, don't forget to adjust the sanitize options to avoid stripping most of the metadata | COMMENT |
| LOW | …ns/hr_recruitment/views/hr_recruitment_stage_views.xml | 110 | Don't forget to specify the department if your recruitment process | CODE |
| LOW | …dons/website_slides/static/src/js/tours/slides_tour.js | 115 | content: markup(_t("Once you're done, don't forget to <b>Publish</b> your course.")), | CODE |
| LOW | addons/google_recaptcha/static/src/scss/recaptcha.scss | 1 | // Hide google recaptcha V3 don't forget to add legal | COMMENT |
| LOW | addons/mass_mailing/data/mailing_data_templates.xml | 61 | <t t-if="mailing.ab_testing_winner_selection == 'manual'">Don't forget to send your preferred version</t> | CODE |
| LOW | addons/mass_mailing/data/mailing_data_templates.xml | 62 | <t t-elif="not mailing.ab_testing_schedule_datetime">Since the date and time for this test has not been scheduled, | CODE |
| LOW | …ons/website_forum/views/forum_forum_templates_post.xml | 148 | - no need to answer the same question twice. Also, please <b>don't forget to vote</b> | CODE |
| LOW | addons/pos_stripe/views/pos_payment_method_views.xml | 12 | <button name="action_stripe_key" type="object" icon="oi-arrow-right" string="Don't forget to complet | CODE |
| LOW | addons/microsoft_calendar/utils/microsoft_event.py | 136 | # don't forget to also set the global event ID on the Odoo event to ease | COMMENT |
| LOW | addons/microsoft_calendar/utils/microsoft_event.py | 136 | # don't forget to also set the global event ID on the Odoo event to ease | COMMENT |
| LOW | addons/website_event/static/src/js/tours/event_tour.js | 30 | content: markup(_t("Don't forget to click <b>save</b> when you're done.")), | CODE |
| MEDIUM⚡ | addons/account/tests/test_account_account.py | 93 | # Test that you can modify the code of an account in another company by writing on `code_mapping_ids`. | COMMENT |
| MEDIUM⚡ | addons/account/tests/test_account_account.py | 97 | # Test that you can modify the code of an account in another company by passing a CREATE value to `code_mapping_ | COMMENT |
| MEDIUM | addons/account/tests/test_account_account.py | 45 | # Test that you can add a company to an account if you add the code at the same time | COMMENT |
| LOW | addons/account/wizard/account_payment_register.py | 1161 | # Fix the balance but make sure to peek the liquidity and counterpart lines first. | STRING |
| LOW⚡ | addons/account/models/account_tax.py | 2529 | Don't forget to call '_add_tax_details_in_base_lines' and '_round_base_lines_tax_details' before calling this me | STRING |
| LOW⚡ | addons/account/models/account_tax.py | 2718 | Don't forget to call '_add_tax_details_in_base_lines' and '_round_base_lines_tax_details' before calling this me | STRING |
| LOW | addons/account/models/account_tax.py | 3052 | Don't forget to call '_add_tax_details_in_base_lines', '_round_base_lines_tax_details' and | STRING |
| LOW | addons/stock/models/stock_picking.py | 1126 | # make sure to write `schedule_date` *after* the `stock.move` creation in | COMMENT |
| LOW | addons/sale_purchase/models/product_template.py | 13 | help="If ticked, each time you sell this product through a SO, a RfQ is automatically created to buy the product | CODE |
| MEDIUM | addons/survey/models/survey_survey.py | 154 | help="This code will be used by your attendees to reach your session. Feel free to customize it however you like | CODE |
| LOW | addons/website_sale/models/product_template.py | 530 | # make sure to fetch the right product for the given combination | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/static/src/webclient/actions/reports/report_action.js | 46 | print() { | CODE |
| HIGH | addons/web/static/src/core/utils/nested_sortable.js | 22 | * to verify if a drop location is allowed. return True by default | COMMENT |
| HIGH | addons/api_doc/static/src/utils/doc_code_gen.js | 92 | print(data) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …oud_storage_google/utils/cloud_storage_google_utils.py | 126 | Generate a V4 signed URL to provide query-string auth'n to a resource. This function is a simplified version of the | STRING |
| HIGH | …/webauthn/registration/verify_registration_response.py | 77 | Verify an authenticator's response to navigator.credentials.create() Args: - `credential`: The value return | STRING |
| HIGH | …authn/authentication/verify_authentication_response.py | 56 | Verify a response from navigator.credentials.get() Args: - `credential`: The value returned from `navigator | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | addons/api_doc/static/src/utils/doc_code_gen.js | 38 | const apiKey = "YOUR_API_KEY"; | CODE |
| HIGH | addons/api_doc/static/src/utils/doc_code_gen.js | 64 | --oauth2-bearer YOUR_API_KEY \\ | CODE |
| HIGH | addons/api_doc/static/src/utils/doc_code_gen.js | 79 | api_key = "YOUR_API_KEY" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | odoo/tools/misc.py | 752 | def do_stuff(): | STRING |
| LOW | odoo/addons/test_convert/tests/test_convert.py | 80 | def test_function(self): | CODE |
| LOW | addons/web/static/lib/jquery/jquery.js | 4469 | function getData( data ) { | CODE |
| LOW | addons/html_editor/static/lib/cropperjs/cropper.js | 478 | function getData(element, name) { | CODE |
| LOW | addons/html_editor/static/lib/cropperjs/cropper.js | 2732 | getData: function getData() { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s/l10n_es_edi_tbai/models/l10n_es_edi_tbai_document.py | 705 | # Render digital signature scaffold from QWeb | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | addons/l10n_fr_pdp/models/pdp_flow_xml_builder.py | 408 | # TODO: implement ? Seller always has TT-34, so this not usefull ?? | COMMENT |