TIP: You can type at any time to perform a new search.
Marketing Card
marketing_card · odoo/odoo
Security findings
- Repository
- odoo/odoo · module folder
- Module version
- 1.1
- Category
- Marketing/Marketing Card
- Folder size
- 2.66 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-10-05 00:19:52
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier Morel, Raphael Collet, Thibault Delavallée, odoo, Odoo Translation Bot, Aaron Bohy, Julien Castiaux, Xavier-Do, Romeo Fragomeli, Victor Feyens, Adrien Dieudonné, std-odoo, Rémy Voet (ryv), Tiffany Chang (tic), Pierre Paridans, abd-msyukyu-odoo, luvi, Renaud Thiry, Louis (loco), Dylan Kiss (dyki), Chong Wang (cwg), guce, Pierre Pulinckx, pish-odoo, Krzysztof Magusiak (krma), Julien Launois (jula), Louis, Parth Vyas, Haroune Hassine (Hahas), Julien Piron, Lou !, GaetanVandenBergh
Code Analysis
Views touched (18)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
card_campaign_crawler |
Share campaign Crawler View | ir.ui.view | qweb | New |
card_campaign_linkedin_share_composer |
card_campaign_linkedin_share_composer | ir.ui.view | qweb | New |
card_campaign_preview |
Share campaign | ir.ui.view | qweb | New |
card_campaign_view_form |
card.campaign.view.form | card.campaign | form | New |
card_campaign_view_kanban |
card.campaign.view.kanban | card.campaign | kanban | New |
card_campaign_view_search |
card.campaign.view.search | card.campaign | search | New |
card_campaign_view_tree |
card.campaign.view.list | card.campaign | list | New |
card_card_view_list |
card.card.view.list | card.card | list | New |
card_card_view_search |
card.card.view.search | card.card | search | New |
card_template_view_form |
card.template.view.form | card.template | form | New |
common_template |
common_template | ir.ui.view | qweb | New |
mailing_mailing_view_form_inherit_marketing_card |
mailing.mailing.view.form.inherit.marketing.card | mailing.mailing | form | Inherits mass_mailing.view_mail_mass_mailing_form |
robots |
robots | ir.ui.view | qweb | Inherits website.robots |
template_1 |
template_1 | ir.ui.view | qweb | Inherits common_template |
template_2 |
template_2 | ir.ui.view | qweb | Inherits common_template |
template_3 |
template_3 | ir.ui.view | qweb | Inherits common_template |
template_4 |
template_4 | ir.ui.view | qweb | Inherits common_template |
template_5 |
template_5 | ir.ui.view | qweb | Inherits common_template |
HTTP endpoints (6)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/cards/<model("card.card"):card>/card.jpg |
MarketingCardController.card_campaign_image |
public | http | ALL | sudo website |
/cards/<model("card.card"):card>/preview |
MarketingCardController.card_campaign_preview |
public | http | ALL | sudo website |
/cards/<model("card.card"):card>/redirect |
MarketingCardController.card_campaign_redirect |
public | http | ALL | sudo website |
/cards/<model("card.card"):card>/share/linkedin/post |
MarketingCardLinkedinController.linkedin_post_card |
public | http | POST | website |
| (inherited route override) | MarketingCardLinkedinController.linkedin_share_callback |
public | http | ALL | sudo website |
/cards/<model("card.card"):card>/share/linkedin |
MarketingCardLinkedinController.linkedin_share_start |
public | http | ALL | sudo website |
Models touched (8)
New fields (45)
-
activeBooleandefault=True -
body_htmlHtmlreadonly=Falserelated='card_template_id.body'render_engine='qweb' -
card_click_countIntegercompute='_compute_card_stats' -
card_countIntegercompute='_compute_card_stats' -
card_idsOne2many → card.cardinverse_name='campaign_id' args: 'card.card' -
card_share_countIntegercompute='_compute_card_stats' -
card_template_idMany2one → card.templatedefault=_default_card_template_idrequired=Truestring='Design' args: 'card.template' -
content_backgroundImageargs: 'Background' -
content_buttonCharargs: 'Button' -
content_headerChardefault=<expr>translate=True args: 'Header' -
content_header_colorCharargs: 'Header Color' -
content_header_dynBooleanargs: 'Is Dynamic Header' -
content_header_pathCharargs: 'Header Path' -
content_image1_pathCharargs: 'Dynamic Image 1' -
content_image2_pathCharargs: 'Dynamic Image 2' -
content_sectionChardefault=<expr>translate=True args: 'Section' -
content_section_dynBooleanargs: 'Is Dynamic Section' -
content_section_pathCharargs: 'Section Path' -
content_sub_headerChartranslate=True args: 'Sub-Header' -
content_sub_header_colorCharargs: 'Sub Header Color' -
content_sub_header_dynBooleanargs: 'Is Dynamic Sub-Header' -
content_sub_header_pathCharargs: 'Sub-Header Path' -
content_sub_section1Chartranslate=True args: 'Sub-Section 1' -
content_sub_section1_dynBooleanargs: 'Is Dynamic Sub-Section 1' -
content_sub_section1_pathCharargs: 'Sub-Section 1 Path' -
content_sub_section2Chartranslate=True args: 'Sub-Section 2' -
content_sub_section2_dynBooleanargs: 'Is Dynamic Sub-Section 2' -
content_sub_section2_pathCharargs: 'Sub-Section 2 Path' -
image_previewImageattachment=Falsecompute='_compute_image_preview'compute_sudo=Falsereadonly=Truestore=True -
link_tracker_idMany2one → link.trackerondelete='restrict' args: 'link.tracker' -
mailing_countIntegercompute='_compute_mailing_count' -
mailing_idsOne2many → mailing.mailingargs: 'mailing.mailing', 'card_campaign_id' -
nameCharrequired=True -
post_suggestionTexthelp='Description below the card and default text when sharing on X and LinkedIn' -
preview_record_refReferencerequired=Trueselection='_get_model_selection'string='Preview On' -
request_descriptionTexttranslate=True args: 'Request Description' -
request_titleChardefault=<expr>translate=True args: 'Request' -
res_modelSelectioncompute='_compute_res_model'precompute=Truereadonly=Truerequired=Trueselection='_get_model_selection'store=Truestring='Model Name' -
reward_messageHtmlstring='Thank You Message'translate=True -
reward_target_urlCharstring='Reward Link' -
tag_idsMany2many → card.campaign.tagstring='Tags' args: 'card.campaign.tag' -
target_urlCharhelp='Redirection link for clicks on the cards, defaults to the relevant record or the home page.'string='Post Link' -
target_url_click_countIntegerrelated='link_tracker_id.count' -
target_url_placeholderCharcompute='_compute_target_url_placeholder' -
user_idMany2one → res.usersdefault=<expr>domain="[('share', '=', False)]"string='Responsible' args: 'res.users'
-
action_preview(self) -
action_share(self) -
action_view_cards(self) -
action_view_cards_clicked(self) -
action_view_cards_shared(self) -
action_view_mailings(self) -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (2)
-
colorIntegerdefault=_get_default_color -
nameCharrequired=True
No public methods.
New fields (8)
-
activeBooleandefault=True args: 'Active' -
campaign_idMany2one → card.campaignindex=Trueondelete='cascade'required=True args: 'card.campaign' -
imageImage -
langSelectionrequired=Trueselection=_lang_getstring='Language' -
requires_syncBooleandefault=Truehelp='Whether the image needs to be updated to match the campaign template.' -
res_idMany2oneReferencemodel_field='res_model'required=True args: 'Record ID' -
res_modelSelectionrelated='campaign_id.res_model' -
share_statusSelectionargs: [('shared', 'Shared'), ('visited', 'Visited')]
No public methods.
New fields (7)
-
bodyHtmlsanitize_attributes=Falsesanitize_tags=False -
default_backgroundImage -
nameCharrequired=Truetranslate=True -
primary_colorChardefault='#f9f9f9'required=True -
primary_text_colorChardefault='#000000'required=True -
secondary_colorChardefault='#000000'required=True -
secondary_text_colorChardefault='#ffffff'required=True
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (3)
-
card_campaign_idMany2one → card.campaignindex='btree_not_null' args: 'card.campaign' -
card_langSelectioncompute='_compute_card_lang'help='Language in which the cards will be rendered'readonly=Falseselection=_lang_getstore=Truestring='Card Language' -
card_requires_sync_countIntegercompute='_compute_card_requires_sync_count'
-
action_put_in_queue(self)Detect mismatches before scheduling. -
action_send_mail(self, res_ids=None) -
action_update_cards(self)Update the cards in batches, commiting after each batch.
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…