diff options
| author | David Beguin <dbe@odoo.com> | 2019-03-06 15:33:17 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2019-03-08 11:15:07 +0000 |
| commit | f38a81f9812b99b7fb95e2b0eca7b1252401972f (patch) | |
| tree | 8b1693fa9e6e7bec9b09f57e0864e0910fae7765 | |
| parent | 6091062e66ff2598260fe0a0c1ed7b4141f7ce76 (diff) | |
[IMP] website_slide_survey : set slide completed when quizz_passed
This commit sets the completed flag to True for a slide of type certification
when this certification is succeeded (quizz_passed set to True).
Also, the Download certification button has been added to the fullscreen mode
if the certification is passed by the user.
Task ID : 1941250
PR #31697
4 files changed, 31 insertions, 1 deletions
diff --git a/addons/website_slides_survey/__manifest__.py b/addons/website_slides_survey/__manifest__.py index e54847bb6b5..3ccd9168ece 100644 --- a/addons/website_slides_survey/__manifest__.py +++ b/addons/website_slides_survey/__manifest__.py @@ -15,6 +15,7 @@ 'views/slide_slide_views.xml', 'views/website_slides_templates_course.xml', 'views/website_slides_templates_lesson.xml', + 'views/website_slides_templates_lesson_fullscreen.xml', 'views/website_slides_templates_homepage.xml', 'views/survey_templates.xml', 'views/website_profile.xml', diff --git a/addons/website_slides_survey/models/slide_slide.py b/addons/website_slides_survey/models/slide_slide.py index 731e7a37f4e..ef6122a4f40 100644 --- a/addons/website_slides_survey/models/slide_slide.py +++ b/addons/website_slides_survey/models/slide_slide.py @@ -20,6 +20,19 @@ class SlidePartnerRelation(models.Model): for record in self: record.survey_quizz_passed = record in passed_slide_partners + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if vals.get('survey_quizz_passed'): + vals['completed'] = True + return super(SlidePartnerRelation, self).create(vals_list) + + @api.multi + def _write(self, vals): + if vals.get('survey_quizz_passed'): + vals['completed'] = True + return super(SlidePartnerRelation, self)._write(vals) + class Slide(models.Model): _inherit = 'slide.slide' diff --git a/addons/website_slides_survey/static/src/xml/website_slides_fullscreen.xml b/addons/website_slides_survey/static/src/xml/website_slides_fullscreen.xml index 97f35fc3a32..c5d22bfc46f 100644 --- a/addons/website_slides_survey/static/src/xml/website_slides_fullscreen.xml +++ b/addons/website_slides_survey/static/src/xml/website_slides_fullscreen.xml @@ -2,9 +2,14 @@ <templates> <t t-extend="website.slides.fullscreen"> <t t-jquery=".o_wslides_fs_content" t-operation="append"> - <div class="o_wslides_fs_certification" t-if="slide.slide_type == 'certification'"> + <div class="o_wslides_fs_certification" t-if="slide.slide_type == 'certification' && !slide.certificationDone"> <a class="btn btn-primary" t-att-href="'/slides/slide/' + slide.slug" target="new"><i class="fa fa-trophy"/> Pass Certification</a> </div> + <div class="o_wslides_fs_certification" t-if="slide.slide_type == 'certification' && slide.certificationDone"> + <a role="button" t-att-data-survey_id="slide.certificationId" class="btn btn-primary o_wslides_survey_download_certification" href="#"> + <i class="fa fa-fw fa-trophy" role="img" aria-label="Download certification" title="Download certification"/> Download certification + </a> + </div> </t> </t> diff --git a/addons/website_slides_survey/views/website_slides_templates_lesson_fullscreen.xml b/addons/website_slides_survey/views/website_slides_templates_lesson_fullscreen.xml new file mode 100644 index 00000000000..b604582ce34 --- /dev/null +++ b/addons/website_slides_survey/views/website_slides_templates_lesson_fullscreen.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo><data> + + <template id="slide_fullscreen_sidebar_category" inherit_id="website_slides.slide_fullscreen_sidebar_category"> + <xpath expr="//div[@t-attf-index='#{i}']" position="attributes"> + <attribute name="t-att-data-certification-done">course_slide.user_membership_id.survey_quizz_passed</attribute> + <attribute name="t-att-data-certification-id">course_slide.survey_id.id</attribute> + </xpath> + </template> + +</data></odoo> |
