TIP: You can type at any time to perform a new search.

Security findings

Repository
odoo/odoo · module folder
Module version
1.1
Category
Marketing
Folder size
1.35 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-10-05 00:19:47
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Xavier Morel, Raphael Collet, Odoo Translation Bot, Christophe Matthieu, Xavier-Do, Victor Feyens, Tiffany Chang (tic), Gorash, Renaud Thiry, Victor Piryns (pivi), Pierre-Yves Dufays, Dylan Kiss (dyki), Chong Wang (cwg), Krzysztof Magusiak (krma), Dirk Douglas, romc-odoo, Mongy (abmn), Julien Launois (jula), Yash Tiwari (Yatiw), mear-odoo
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
account, base_automation, crm, event, hr, hr_recruitment, im_livechat, mail_plugin, mass_mailing, point_of_sale, project, sale_management, stock, survey, website, website_sale, website_slides
Description
Send KPI Digests periodically
=============================

Code Analysis info_outline

Views touched (13)
XML IDNameModelTypeStatus
digest_digest_view_form digest.digest.view.form digest.digest form New
digest_digest_view_search digest.digest.view.search digest.digest search New
digest_digest_view_tree digest.digest.view.list digest.digest list New
digest_mail_layout digest_mail_layout ir.ui.view qweb New
digest_mail_main digest_mail_main ir.ui.view qweb New
digest_section_mobile digest_section_mobile ir.ui.view qweb New
digest_test_view_form digest.test.view.form digest.test form New
digest_tip_view_form digest.tip.view.form digest.tip form New
digest_tip_view_search digest.tip.view.search digest.tip search New
digest_tip_view_tree digest.tip.view.list digest.tip list New
digest_tool_kpi digest_tool_kpi ir.ui.view qweb New
portal_digest_unsubscribed Unsubscription ir.ui.view qweb New
res_config_settings_view_form res.config.settings.view.form.inherit.digest res.config.settings form Inherits mail.res_config_settings_view_form
HTTP endpoints (3)
Route(s)HandlerAuthTypeMethodsFlags
/digest/<int:digest_id>/set_periodicity DigestController.digest_set_periodicity user http ALL website
/digest/<int:digest_id>/unsubscribe DigestController.digest_unsubscribe public http GET, POST sudo website
/digest/<int:digest_id>/unsubscribe_oneclik DigestController.digest_unsubscribe_oneclick public http POST csrf off website
Models touched (5)

New fields (13)
  • available_fields Char
    compute='_compute_available_fields'
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • currency_id Many2one
    readonly=False related='company_id.currency_id' string='Currency'
  • is_subscribed Boolean
    compute='_compute_is_subscribed' args: 'Is user subscribed'
  • kpi_mail_message_total Boolean
    args: 'Messages Sent'
  • kpi_mail_message_total_value Integer
    compute='_compute_kpi_mail_message_total_value'
  • kpi_res_users_connected Boolean
    args: 'Connected Users'
  • kpi_res_users_connected_value Integer
    compute='_compute_kpi_res_users_connected_value'
  • name Char
    required=True string='Name' translate=True
  • next_run_date Date
    string='Next Mailing Date'
  • periodicity Selection
    default='daily' required=True string='Periodicity' args: [('daily', 'Daily'), ('weekly', 'Weekly'), ('monthly', 'Monthly'), ('quarterly', 'Quarterly')]
  • state Selection
    default='activated' readonly=True string='Status' args: [('activated', 'Activated'), ('deactivated', 'Deactivated')]
  • user_ids Many2many → res.users
    domain="[('share', '=', False)]" string='Recipients' args: 'res.users'
Public methods (9)
  • action_activate(self)
  • action_deactivate(self)
  • action_launch_test_wizard(self)
  • action_send(self)
    Send digests emails to all the registered users.
  • action_send_manual(self)
    Manually send digests emails to all registered users. In that case do not update periodicity as this is not an automation rule that could be considered as unwanted spam.
  • action_set_periodicity(self, periodicity)
  • action_subscribe(self)
  • action_unsubscribe(self)
  • create(self, vals_list)
    @api.model_create_multi

New fields (2)
  • digest_id Many2one → digest.digest
    ondelete='cascade' required=True string='Digest' args: 'digest.digest'
  • user_ids Many2many → res.users
    default=<expr> domain="[('share', '=', False)]" string='Recipients' args: 'res.users'
Public methods (1)
  • send_mail_test(self)

New fields (5)
  • group_id Many2one → res.groups
    default=<expr> string='Authorized Group' args: 'res.groups'
  • name Char
    translate=True args: 'Name'
  • sequence Integer
    default=1 help='Used to display digest tip in email template base on order' args: 'Sequence'
  • tip_description Html
    sanitize=False translate=html_translate args: 'Tip description'
  • user_ids Many2many → res.users
    help='Users having already received this tip' string='Recipients' args: 'res.users'
Public methods (0)

No public methods.

New fields (2)
  • digest_emails Boolean
    config_parameter='digest.default_digest_emails' string='Digest Emails'
  • digest_id Many2one → digest.digest
    config_parameter='digest.default_digest_id' string='Digest Email' args: 'digest.digest'
Public methods (0)

No public methods.

New fields (1)
  • digest_ids Many2many → digest.digest
    string='Digests' args: 'digest.digest'
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
    Automatically subscribe employee users to default digest if activated

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…