| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/marketing_card |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Marketing/Marketing Card |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Thibault Delavallée, Xavier Morel, qsm-odoo, Julien Castiaux, Tiffany Chang (tic), Gorash, Pierre Paridans, William Braeckman, Mathieu Walravens, Renaud Thiry, Gaetan Vanden Bergh (gavb), Louis Wicket (wil), Maximilien (malb), Victor Piryns (pivi), Levi Siuzdak (sile), Dylan Kiss (dyki), Bruno Boi (boi), nihp-odoo, Shaan Thakkar (THSH), thle-odoo, pish-odoo, Thomas Josse (THJO), Krzysztof Magusiak (krma), saurabh |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:46 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - link_tracker - utm - base - web - base_setup - bus - web_tour - html_editor - mass_mailing - contacts - html_builder - social_media - digest - portal - http_routing - auth_signup - resource - website - google_recaptcha |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
geoip2 |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
card_campaign_crawler |
Share campaign Crawler View | 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 | xpath | 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 |
active
Boolean
default=True
body_html
Html
readonly=False
related='card_template_id.body'
render_engine='qweb'
card_click_count
Integer
compute='_compute_card_stats'
card_count
Integer
compute='_compute_card_stats'
card_ids
One2many → card.card
inverse_name='campaign_id'
args: 'card.card'
card_share_count
Integer
compute='_compute_card_stats'
card_template_id
Many2one → card.template
default=_default_card_template_id
required=True
string='Design'
args: 'card.template'
content_background
Image
content_button
Char
content_header
Char
content_header_color
Char
content_header_dyn
Boolean
content_header_path
Char
content_image1_path
Char
content_image2_path
Char
content_section
Char
content_section_dyn
Boolean
content_section_path
Char
content_sub_header
Char
content_sub_header_color
Char
content_sub_header_dyn
Boolean
content_sub_header_path
Char
content_sub_section1
Char
content_sub_section1_dyn
Boolean
content_sub_section1_path
Char
content_sub_section2
Char
content_sub_section2_dyn
Boolean
content_sub_section2_path
Char
image_preview
Image
attachment=False
compute='_compute_image_preview'
compute_sudo=False
readonly=True
store=True
link_tracker_id
Many2one → link.tracker
ondelete='restrict'
args: 'link.tracker'
mailing_count
Integer
compute='_compute_mailing_count'
mailing_ids
One2many → mailing.mailing
name
Char
required=True
post_suggestion
Text
help='Description below the card and default text when sharing on X'
preview_record_ref
Reference
required=True
selection='_get_model_selection'
string='Preview On'
request_description
Text
request_title
Char
default=<expr>
args: 'Request'
res_model
Selection
compute='_compute_res_model'
precompute=True
readonly=True
required=True
selection='_get_model_selection'
store=True
string='Model Name'
reward_message
Html
string='Thank You Message'
reward_target_url
Char
string='Reward Link'
tag_ids
Many2many → card.campaign.tag
string='Tags'
args: 'card.campaign.tag'
target_url
Char
string='Post Link'
target_url_click_count
Integer
related='link_tracker_id.count'
user_id
Many2one → res.users
default=<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)
write(self, vals)
color
Integer
default=_get_default_color
name
Char
required=True
No public methods.
active
Boolean
default=True
args: 'Active'
campaign_id
Many2one → card.campaign
index=True
ondelete='cascade'
required=True
args: 'card.campaign'
image
Image
requires_sync
Boolean
default=True
help='Whether the image needs to be updated to match the campaign template.'
res_id
Many2oneReference
model_field='res_model'
required=True
args: 'Record ID'
res_model
Selection
related='campaign_id.res_model'
share_status
Selection
No public methods.
body
Html
sanitize_attributes=False
sanitize_tags=False
default_background
Image
name
Char
required=True
translate=True
primary_color
Char
default='#f9f9f9'
required=True
primary_text_color
Char
default='#000000'
required=True
secondary_color
Char
default='#000000'
required=True
secondary_text_color
Char
default='#ffffff'
required=True
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
card_campaign_id
Many2one → card.campaign
index='btree_not_null'
args: 'card.campaign'
card_requires_sync_count
Integer
compute='_compute_card_requires_sync_count'
mailing_model_id
Many2one
compute='_compute_mailing_model_id'
readonly=False
store=True
action_put_in_queue(self)
action_send_mail(self, res_ids=None)
action_update_cards(self)
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/marketing_card |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Marketing/Social Marketing |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Thibault Delavallée, Xavier Morel, Aaron Bohy, Odoo Online, Adrien Dieudonné, Gorash, Mathieu Walravens, Renaud Thiry, Gaetan Vanden Bergh (gavb), Louis Wicket (wil), Levi Siuzdak (sile), Dylan Kiss (dyki), omra-odoo, nihp-odoo, sami odoo, thle-odoo, pish-odoo, Krzysztof Magusiak (krma) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:59 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - link_tracker - utm - base - web - base_setup - bus - web_tour - html_editor - mass_mailing - contacts - web_editor - social_media - digest - portal - http_routing - auth_signup - resource - website - google_recaptcha |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
geoip2 |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
card_campaign_crawler |
Share campaign Crawler View | 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 | xpath | 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 |
active
Boolean
default=True
body_html
Html
readonly=False
related='card_template_id.body'
render_engine='qweb'
card_click_count
Integer
compute='_compute_card_stats'
card_count
Integer
compute='_compute_card_stats'
card_ids
One2many → card.card
inverse_name='campaign_id'
args: 'card.card'
card_share_count
Integer
compute='_compute_card_stats'
card_template_id
Many2one → card.template
default=_default_card_template_id
required=True
string='Design'
args: 'card.template'
content_background
Image
content_button
Char
content_header
Char
content_header_color
Char
content_header_dyn
Boolean
content_header_path
Char
content_image1_path
Char
content_image2_path
Char
content_section
Char
content_section_dyn
Boolean
content_section_path
Char
content_sub_header
Char
content_sub_header_color
Char
content_sub_header_dyn
Boolean
content_sub_header_path
Char
content_sub_section1
Char
content_sub_section1_dyn
Boolean
content_sub_section1_path
Char
content_sub_section2
Char
content_sub_section2_dyn
Boolean
content_sub_section2_path
Char
image_preview
Image
attachment=False
compute='_compute_image_preview'
compute_sudo=False
readonly=True
store=True
link_tracker_id
Many2one → link.tracker
ondelete='restrict'
args: 'link.tracker'
mailing_count
Integer
compute='_compute_mailing_count'
mailing_ids
One2many → mailing.mailing
name
Char
required=True
post_suggestion
Text
help='Description below the card and default text when sharing on X'
preview_record_ref
Reference
required=True
selection='_get_model_selection'
string='Preview On'
request_description
Text
request_title
Char
default=<expr>
args: 'Request'
res_model
Selection
compute='_compute_res_model'
precompute=True
readonly=True
required=True
selection='_get_model_selection'
store=True
string='Model Name'
reward_message
Html
string='Thank You Message'
reward_target_url
Char
string='Reward Link'
tag_ids
Many2many → card.campaign.tag
string='Tags'
args: 'card.campaign.tag'
target_url
Char
string='Post Link'
target_url_click_count
Integer
related='link_tracker_id.count'
user_id
Many2one → res.users
default=<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, create_vals)
write(self, vals)
color
Integer
default=_get_default_color
name
Char
required=True
No public methods.
active
Boolean
default=True
args: 'Active'
campaign_id
Many2one → card.campaign
ondelete='cascade'
required=True
args: 'card.campaign'
image
Image
requires_sync
Boolean
default=True
help='Whether the image needs to be updated to match the campaign template.'
res_id
Many2oneReference
model_field='res_model'
required=True
args: 'Record ID'
res_model
Selection
related='campaign_id.res_model'
share_status
Selection
No public methods.
body
Html
sanitize_attributes=False
sanitize_tags=False
default_background
Image
name
Char
required=True
primary_color
Char
default='#f9f9f9'
required=True
primary_text_color
Char
default='#000000'
required=True
secondary_color
Char
default='#000000'
required=True
secondary_text_color
Char
default='#ffffff'
required=True
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
card_campaign_id
Many2one → card.campaign
card_requires_sync_count
Integer
compute='_compute_card_requires_sync_count'
mailing_model_id
Many2one
compute='_compute_mailing_model_id'
readonly=False
store=True
action_put_in_queue(self)
action_send_mail(self, res_ids=None)
action_update_cards(self)
No new fields.
Public methods (0)No public methods.