| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/website |
| GIT | |
| GIT | https://github.com/OCA/website.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/website/tree/8.0/website_slides |
| VERSION | |
| VERSION | 2.0.1 |
| CATEGORY | |
| CATEGORY | Website |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Odoo SA, Incaser Informatica - Sergio Teruel |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Odoo SA, Incaser Informatica - Sergio Teruel |
| COMMITTERS | |
| COMMITTERS | Holger Brunn, Pedro M. Baeza, GitHub, Jairo Llopis, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, sergio-incaser, Andhitia Rama |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/website |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:27 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - website - web - base - share - base_setup - web_kanban - website_mail - email_template - marketing |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_frontend |
Slide | ir.ui.view | qweb | Inherits website.assets_frontend |
channel_not_found |
Private Presentation | ir.ui.view | qweb | New |
channels |
Channels | ir.ui.view | qweb | New |
embed_slide |
Embedded Slide Page | ir.ui.view | qweb | New |
embed_slide_forbidden |
Forbidden Embedded Slide | ir.ui.view | qweb | New |
home |
Odoo Slides | ir.ui.view | qweb | New |
opt_subscription_on_channels |
Subscription | ir.ui.view | qweb | Inherits website_slides.channels |
pdf_js_lib |
PDF JS Library | ir.ui.view | qweb | New |
related_slides |
Related Slide | ir.ui.view | qweb | New |
slide_detail_view |
Slide Detailed View | ir.ui.view | qweb | New |
slide_footer |
Footer Slides Link | ir.ui.view | qweb | Inherits website.footer_default |
slide_social_email |
Share by Email | ir.ui.view | qweb | New |
slide_social_embed |
Share on Your Website | ir.ui.view | qweb | New |
slide_social_media |
Share on Social Networks | ir.ui.view | qweb | New |
slides_channel_header |
Slides Channel Header | ir.ui.view | qweb | New |
slides_grid_view |
Slides (Grid View) | ir.ui.view | qweb | New |
slides_search |
Searching Slides | ir.ui.view | qweb | New |
slides_share |
Slides Media Share | ir.ui.view | qweb | New |
view_slide_channel_form |
slide.channel.form | slide.channel | form | New |
view_slide_channel_tree |
slide.channel.tree | slide.channel | tree | New |
view_slide_slide_form |
slide.slide.form | slide.slide | form | New |
view_slide_slide_graph |
slide.slide.graph | slide.slide | graph | New |
view_slide_slide_search |
slide.slide.filter | slide.slide | search | New |
view_slide_slide_tree |
slide.slide.tree | slide.slide | tree | New |
view_slide_tag_form |
slide.tag.form | slide.tag | form | New |
view_slide_tag_tree |
slide.tag.tree | slide.tag | tree | New |
view_slides_category_form |
slide.category.form | slide.category | form | New |
view_slides_category_tree |
slide.category.tree | slide.category | tree | New |
view_website_config_settings |
Website livechat settings | website.config.settings | xpath | Inherits website.view_website_config_settings |
website_slides.slide_embed_assets |
Website slides embed assets | ir.ui.view | qweb | New |
channel_id
Many2one → slide.channel
ondelete='cascade'
required=True
string='Channel'
args: 'slide.channel'
name
Char
required=True
translate=True
args: 'Name'
nbr_documents
Integer
compute='_count_presentations'
store=True
args: 'Number of Documents'
nbr_infographics
Integer
compute='_count_presentations'
store=True
args: 'Number of Infographics'
nbr_presentations
Integer
compute='_count_presentations'
store=True
args: 'Number of Presentations'
nbr_videos
Integer
compute='_count_presentations'
store=True
args: 'Number of Videos'
sequence
Integer
default=10
help='Display order'
slide_ids
One2many → slide.slide
string='Slides'
args: 'slide.slide', 'category_id'
total
Integer
compute='_count_presentations'
store=True
No public methods.
access_error_msg
Html
default='<p>This channel is private and its content is restricted to some users.</p>'
help='Message to display when not accessible due to access rights'
translate=True
args: 'Error Message'
can_see
Boolean
compute='_compute_access'
search='_search_can_see'
args: 'Can See'
can_see_full
Boolean
compute='_compute_access'
args: 'Full Access'
can_upload
Boolean
compute='_compute_access'
args: 'Can Upload'
category_ids
One2many → slide.category
string='Categories'
args: 'slide.category', 'channel_id'
custom_slide_id
Many2one → slide.slide
string='Slide to Promote'
args: 'slide.slide'
description
Html
translate=True
args: 'Description'
group_ids
Many2many → res.groups
help='Groups allowed to see presentations in this channel'
string='Channel Groups'
args: 'res.groups', 'rel_channel_groups', 'channel_id', 'group_id'
name
Char
required=True
translate=True
args: 'Name'
nbr_documents
Integer
compute='_count_presentations'
store=True
args: 'Number of Documents'
nbr_infographics
Integer
compute='_count_presentations'
store=True
args: 'Number of Infographics'
nbr_presentations
Integer
compute='_count_presentations'
store=True
args: 'Number of Presentations'
nbr_videos
Integer
compute='_count_presentations'
store=True
args: 'Number of Videos'
promote_strategy
Selection
default='most_voted'
required=True
string='Featuring Policy'
args: [('none', 'No Featured Presentation'), ('latest', 'Latest Published'), ('most_voted', 'Most Voted'), ('most_viewed', 'Most Viewed'), ('custom', 'Featured Presentation')]
promoted_slide_id
Many2one → slide.slide
compute='_compute_promoted_slide_id'
store=True
string='Featured Slide'
args: 'slide.slide'
publish_template_id
Many2one → email.template
default=<expr>
help='Email template to send slide publication through email'
string='Published Template'
args: 'email.template'
sequence
Integer
default=10
help='Display order'
share_template_id
Many2one → email.template
default=<expr>
help='Email template used when sharing a slide'
string='Shared Template'
args: 'email.template'
slide_ids
One2many → slide.slide
string='Slides'
args: 'slide.slide', 'channel_id'
total
Integer
compute='_count_presentations'
store=True
upload_group_ids
Many2many → res.groups
help='Groups allowed to upload presentations in this channel. If void, every user can upload.'
string='Upload Groups'
args: 'res.groups', 'rel_upload_groups', 'channel_id', 'group_id'
visibility
Selection
default='public'
required=True
args: [('public', 'Public'), ('private', 'Private'), ('partial', 'Show channel but restrict presentations')]
change_visibility(self)
count_views
Integer
default=1
args: '# Views'
slide_id
Many2one → slide.slide
index=True
required=True
string='Presentation'
args: 'slide.slide'
url
Char
required=True
args: 'Third Party Website URL'
add_embed_url(self, slide_id, url)
category_id
Many2one → slide.category
domain="[('channel_id', '=', channel_id)]"
string='Category'
args: 'slide.category'
channel_id
Many2one → slide.channel
required=True
string='Channel'
args: 'slide.channel'
datas
Binary
date_published
Datetime
description
Text
translate=True
args: 'Description'
dislikes
Integer
document_id
Char
help='Youtube or Google Document ID'
args: 'Document ID'
download_security
Selection
default='user'
required=True
string='Download Security'
args: [('none', 'No One'), ('user', 'Authentified Users Only'), ('public', 'Everyone')]
embed_code
Text
compute='_get_embed_code'
readonly=True
args: 'Embed Code'
embed_views
Integer
embedcount_ids
One2many → slide.embed
string='Embed Count'
args: 'slide.embed', 'slide_id'
image
Binary
attachment=True
args: 'Image'
image_medium
Binary
attachment=True
compute='_get_image'
store=True
args: 'Medium'
image_thumb
Binary
attachment=True
compute='_get_image'
store=True
args: 'Thumbnail'
index_content
Text
likes
Integer
mime_type
Char
name
Char
required=True
translate=True
args: 'Title'
slide_type
Selection
default='document'
help='Document type will be set automatically depending on file type, height and width.'
required=True
string='Type'
args: [('infographic', 'Infographic'), ('presentation', 'Presentation'), ('document', 'Document'), ('video', 'Video')]
slide_views
Integer
tag_ids
Many2many → slide.tag
string='Tags'
args: 'slide.tag', 'rel_slide_tag', 'slide_id', 'tag_id'
total_views
Integer
compute='_compute_total'
default='0'
store=True
args: 'Total # Views'
url
Char
help='Youtube or Google Document URL'
args: 'Document URL'
website_message_ids
One2many → mail.message
domain=<expr>
help='Website communication history'
string='Website Messages'
args: 'mail.message', 'res_id'
check_field_access_rights(self, operation, fields)
create(self, values)
get_most_viewed_slides(self, limit=20)
get_related_slides(self, limit=20)
on_change_url(self)
send_share_email(self, email)
write(self, values)
name
Char
required=True
args: 'Name'
No public methods.
website_slide_google_app_key
Char
string='Google Doc Key'
get_default_website_slide_google_app_key(self, fields)
set_website_slide_google_app_key(self)
No new fields.
Public methods (1)open_website_url(self, cr, uid, ids, context=None)