summaryrefslogtreecommitdiff
path: root/addons/website_slides
diff options
context:
space:
mode:
authorqmo-odoo <qmo@odoo.com>2019-02-08 10:35:39 +0000
committerjem-odoo <jem@openerp.com>2019-02-12 11:22:59 +0000
commit5aa645c89fca727f40e7bd5b70d90984c7e3129f (patch)
tree5857130d214f7edf4c69218f07eae508173840c2 /addons/website_slides
parentc2a38e460282a8da6e1cec9839d3f5d7caa727da (diff)
[IMP] website_slides: add external links on slide
A slide can now have some external link. For instance, links to the origin of the document (sources for scientifics papers, ...). A new model is added to allow the user to provide several link per slide. Those are display below the channel on website page. Task-1938643
Diffstat (limited to 'addons/website_slides')
-rw-r--r--addons/website_slides/models/slide_slide.py10
-rw-r--r--addons/website_slides/security/ir.model.access.csv2
-rw-r--r--addons/website_slides/views/slide_slide_views.xml10
-rw-r--r--addons/website_slides/views/website_slides_templates.xml12
4 files changed, 34 insertions, 0 deletions
diff --git a/addons/website_slides/models/slide_slide.py b/addons/website_slides/models/slide_slide.py
index 908513c5da8..808570a22c3 100644
--- a/addons/website_slides/models/slide_slide.py
+++ b/addons/website_slides/models/slide_slide.py
@@ -31,6 +31,15 @@ class SlidePartnerRelation(models.Model):
completed = fields.Boolean('Completed')
+class SlideLink(models.Model):
+ _name = 'slide.slide.link'
+ _description = "External URL for a particular slide"
+
+ slide_id = fields.Many2one('slide.slide', required=True)
+ name = fields.Char('Title', required=True)
+ link = fields.Char("External Link", required=True)
+
+
class EmbeddedSlide(models.Model):
""" Embedding in third party websites. Track view count, generate statistics. """
_name = 'slide.embed'
@@ -130,6 +139,7 @@ class Slide(models.Model):
datas = fields.Binary('Content', attachment=True)
url = fields.Char('Document URL', help="Youtube or Google Document URL")
document_id = fields.Char('Document ID', help="Youtube or Google Document ID")
+ link_ids = fields.One2many('slide.slide.link', 'slide_id', string="External URL for this slide")
mime_type = fields.Char('Mime-type')
# website
website_id = fields.Many2one(related='channel_id.website_id', readonly=True)
diff --git a/addons/website_slides/security/ir.model.access.csv b/addons/website_slides/security/ir.model.access.csv
index 6f12b3236c7..9dbfa916ff6 100644
--- a/addons/website_slides/security/ir.model.access.csv
+++ b/addons/website_slides/security/ir.model.access.csv
@@ -17,3 +17,5 @@ access_slide_category_all,slide.category.all,model_slide_category,,1,0,0,0
access_slide_category_publisher,slide.category.publisher,model_slide_category,website.group_website_publisher,1,1,1,1
access_slide_embed_all,slide.embed.all,model_slide_embed,,1,0,0,0
access_slide_embed_user,slide.embed.user,model_slide_embed,base.group_user,1,1,1,1
+access_slide_slide_link_all,slide.slide.link.all,model_slide_slide_link,,1,0,0,0
+access_slide_slide_link_publisher,slide.slide.link.publisher,model_slide_slide_link,website.group_website_publisher,1,1,1,1 \ No newline at end of file
diff --git a/addons/website_slides/views/slide_slide_views.xml b/addons/website_slides/views/slide_slide_views.xml
index 0cf7bb08751..4a621d6206e 100644
--- a/addons/website_slides/views/slide_slide_views.xml
+++ b/addons/website_slides/views/slide_slide_views.xml
@@ -92,6 +92,16 @@
<label for="index_content"/>
<field name="index_content"/>
</page>
+ <page string="External Links">
+ <group>
+ <field name="link_ids" widget="one2many" nolabel="1">
+ <tree editable="top">
+ <field name="name"/>
+ <field name="link" widget="url"/>
+ </tree>
+ </field>
+ </group>
+ </page>
</notebook>
</sheet>
<div class="oe_chatter">
diff --git a/addons/website_slides/views/website_slides_templates.xml b/addons/website_slides/views/website_slides_templates.xml
index 97ebb4fe59d..c26ce86ecbb 100644
--- a/addons/website_slides/views/website_slides_templates.xml
+++ b/addons/website_slides/views/website_slides_templates.xml
@@ -513,6 +513,11 @@
<i class="fa fa-bar-chart"></i> Statistics
</a>
</li>
+ <li class="nav-item" t-if="slide.link_ids">
+ <a href="#external-links" aria-controls="external-links" class="nav-link" role="tab" data-toggle="tab">
+ <i class="fa fa-link"></i> External Links
+ </a>
+ </li>
</ul>
<div class="tab-content" style="padding: 20px 5px 5px 5px; word-wrap: break-word;">
<div role="tabpanel" t-att-class="not comments and 'tab-pane fade in show active' or 'tab-pane fade'" id="about">
@@ -628,6 +633,13 @@
</div>
</div>
</div>
+ <div role="tabpanel" class="tab-pane fade oe_slides_transcript" id="external-links" t-if="slide.link_ids">
+ <ul>
+ <t t-foreach="slide.link_ids" t-as="link">
+ <li><a t-att-href="link.link" target="_blank"><t t-esc="link.name"/></a></li>
+ </t>
+ </ul>
+ </div>
</div>
</div>
</div>