diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website_slides_survey/views | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_slides_survey/views')
11 files changed, 354 insertions, 0 deletions
diff --git a/addons/website_slides_survey/views/assets.xml b/addons/website_slides_survey/views/assets.xml new file mode 100644 index 00000000..5b8fd3a0 --- /dev/null +++ b/addons/website_slides_survey/views/assets.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" ?> +<odoo> + <data> + <template id="assets_frontend" inherit_id="website.assets_frontend" name="Slides Certification"> + <xpath expr="//link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/website_slides_survey/static/src/scss/website_slides_survey.scss"/> + </xpath> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/website_slides_survey/static/src/js/slides_upload.js"/> + <script type="text/javascript" src="/website_slides_survey/static/src/js/slides_course_fullscreen_player.js"/> + <script type="text/javascript" src="/website_slides_survey/static/src/js/slides_certification_upload_toast.js"/> + </xpath> + </template> + </data> +</odoo> diff --git a/addons/website_slides_survey/views/slide_channel_views.xml b/addons/website_slides_survey/views/slide_channel_views.xml new file mode 100644 index 00000000..6baaef01 --- /dev/null +++ b/addons/website_slides_survey/views/slide_channel_views.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="slide_channel_view_form" model="ir.ui.view"> + <field name="name">slide.channel.view.form.inherit.survey</field> + <field name="model">slide.channel</field> + <field name="inherit_id" ref="website_slides.view_slide_channel_form"/> + <field name="arch" type="xml"> + <xpath expr="//span[@name='members_done_count_label']" position="replace"> + <field name="nbr_certification" invisible="1"/> + <span class="o_stat_text" attrs="{'invisible': [('nbr_certification', '>', 0)]}">Finished</span> + <span class="o_stat_text" attrs="{'invisible': [('nbr_certification', '=', 0)]}">Certified</span> + </xpath> + <xpath expr="//field[@name='slide_type']" position="after"> + <field name="survey_id"/> + </xpath> + <xpath expr="//create[@name='add_slide_lesson']" position="after"> + <create name="add_slide_certificate" string="Add Certification" groups="survey.group_survey_user" context="{'default_slide_type': 'certification'}"/> + </xpath> + </field> + </record> + + <record id="slide_channel_view_kanban" model="ir.ui.view"> + <field name="name">slide.channel.view.kanban.inherit.survey</field> + <field name="model">slide.channel</field> + <field name="inherit_id" ref="website_slides.slide_channel_view_kanban"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='website_published']" position="after"> + <field name="nbr_certification"/> + </xpath> + <xpath expr="//span[@name='done_members_count_label']" position="replace"> + <t t-if="record.nbr_certification.raw_value"><span class="text-muted">Certified</span></t> + <t t-else=""><span class="text-muted">Finished</span></t> + </xpath> + </field> + </record> +</odoo> diff --git a/addons/website_slides_survey/views/slide_slide_views.xml b/addons/website_slides_survey/views/slide_slide_views.xml new file mode 100644 index 00000000..483d0030 --- /dev/null +++ b/addons/website_slides_survey/views/slide_slide_views.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="slide_slide_view_form" model="ir.ui.view"> + <field name="name">slide.slide.view.form.inherit.survey</field> + <field name="model">slide.slide</field> + <field name="inherit_id" ref="website_slides.view_slide_slide_form"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='slide_type']" position="after"> + <field name="survey_id" + attrs="{'invisible': [('slide_type', '!=', 'certification')], 'required': [('slide_type', '=', 'certification')]}" + domain="[('certification', '=', True)]"/> + </xpath> + </field> + </record> + + <record id="slide_slide_action_certification" model="ir.actions.act_window"> + <field name="name">Certifications</field> + <field name="res_model">slide.slide</field> + <field name="view_mode">tree,form,graph</field> + <field name="domain">[('slide_type', '=', 'certification')]</field> + <field name="context">{'default_slide_type': 'certification'}</field> + <field name="help" type="html"> + <p class="o_view_nocontent_smiling_face"> + Add a new certification + </p> + </field> + <field name="view_id" ref="website_slides.view_slide_slide_tree"/> + </record> +</odoo> diff --git a/addons/website_slides_survey/views/survey_survey_views.xml b/addons/website_slides_survey/views/survey_survey_views.xml new file mode 100644 index 00000000..afabb660 --- /dev/null +++ b/addons/website_slides_survey/views/survey_survey_views.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="survey_survey_action_slides" model="ir.actions.act_window"> + <field name="name">Certifications</field> + <field name="res_model">survey.survey</field> + <field name="view_mode">kanban,tree,form</field> + <field name="domain">[('certification', '=', True)]</field> + <field name="context">{'default_certification': True, 'default_scoring_type': 'scoring_with_answers'}</field> + <field name="help" type="html"> + <p class="o_view_nocontent_smiling_face"> + Add a new certification + </p> + </field> + </record> + + <record id="survey_survey_action_slides_report" model="ir.actions.act_window"> + <field name="name">Certifications</field> + <field name="res_model">survey.survey</field> + <field name="view_mode">tree,kanban,form,graph</field> + <field name="domain">[('certification', '=', True)]</field> + <field name="context">{'default_certification': True, 'default_scoring_type': 'scoring_with_answers'}</field> + <field name="help" type="html"> + <p class="o_view_nocontent_smiling_face"> + Add a new certification + </p> + </field> + </record> + + <record id="survey_survey_view_form" model="ir.ui.view"> + <field name="name">survey.survey.view.form.inherit.website_slides</field> + <field name="model">survey.survey</field> + <field name="inherit_id" ref="survey.survey_form"/> + <field name="arch" type="xml"> + <xpath expr="//button[@name='action_survey_user_input_certified']" position="before"> + <button name="action_survey_view_slide_channels" + type="object" + class="oe_stat_button" + attrs="{'invisible': [('slide_channel_count', '=', 0)]}" + icon="fa-graduation-cap" + groups="website_slides.group_website_slides_officer"> + <field string="Courses" name="slide_channel_count" widget="statinfo"/> + </button> + </xpath> + </field> + </record> +</odoo> diff --git a/addons/website_slides_survey/views/survey_templates.xml b/addons/website_slides_survey/views/survey_templates.xml new file mode 100644 index 00000000..b495ac60 --- /dev/null +++ b/addons/website_slides_survey/views/survey_templates.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + <template id="survey_fill_form_done_inherit_website_slides" inherit_id="survey.survey_fill_form_done"> + <xpath expr="//div[hasclass('o_survey_finished')]/div[last()]" position="after"> + <div t-if="channel_url" class="mt16"> + <a role="button" + class="btn btn-primary btn-lg" + t-att-href="channel_url"> + Go back to course + </a> + </div> + </xpath> + </template> + + <template id="o_wss_certification_icon"> + <t t-set="icon_url" t-value="icon_url if icon_url else '/website_slides_survey/static/src/img/certification.svg'"/> + <t t-set="icon_classes" t-value="icon_classes if icon_classes else 'o_wss_certification_icon'"/> + <img t-att-class="icon_classes" t-att-src="icon_url" alt="Certification icon"/> + </template> + </data> +</odoo> diff --git a/addons/website_slides_survey/views/website_profile.xml b/addons/website_slides_survey/views/website_profile.xml new file mode 100644 index 00000000..8d52bb0f --- /dev/null +++ b/addons/website_slides_survey/views/website_profile.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo><data> + <template id="user_profile_content" inherit_id="website_profile.user_profile_content"> + <xpath expr="//div[@id='profile_about_badge']" position="before"> + <t t-if="channel"> + <div class="mb32"> + <h5 class="border-bottom pb-1">Certifications</h5> + <t t-call="website_slides_survey.display_certificate"/> + </div> + </t> + </xpath> + </template> + + <template id="display_certificate"> + <t t-if="certificates"> + <div class="row"> + <div class="col-12 col-lg-6" t-foreach="certificates" t-as="certificate"> + <div class="card mb-2"> + <div class="card-body o_wprofile_slides_course_card_body p-0 d-flex" t-attf-onclick="location.href='/slides/#{slug(certificate.slide_id.channel_id)}';"> + <div class="pl-5 pr-4 rounded-left" t-attf-style="background-image: url(#{website.image_url(certificate.slide_id, 'image_128')}); background-position: center"/> + <div class="p-2 w-100"> + <h5 class="mt-0 mb-1" t-esc="certificate.survey_id.title"/> + <div t-if="user.id == uid"> + <small class="font-weight-bold">Score : <span t-esc="certificate.scoring_percentage"/> %</small> + <div class="float-right"> + <a role="button" class="float-right" t-att-href="'/survey/%s/get_certification' % certificate.survey_id.id"> + <i class="fa fa-download" aria-label="Download certification" title="Download Certification"/> + </a> + <a role="button" class="mr-2" href="#" + t-attf-onclick="event.stopPropagation(); $('#slideChannelShareModal_#{certificate.slide_id.channel_id.id}').modal('show');"> + <i class="fa fa-share-alt" aria-label="Share" title="Share"/> + </a> + </div> + </div> + </div> + </div> + </div> + <t t-call="website_slides.slide_share_modal"> + <t t-set="record" t-value="certificate.slide_id.channel_id"/> + </t> + </div> + </div> + </t> + <t t-else=""> + <div class="text-muted d-inline-block">No certifications yet!</div> + </t> + <div class="text-right d-inline-block pull-right"> + <a href="/slides/all?slide_type=certification" class="btn btn-link btn-sm"><i class="fa fa-arrow-right mr-1"/>All Certifications</a> + </div> + </template> + + <template id="top3_user_card" inherit_id="website_profile.top3_user_card"> + <xpath expr="//div[hasclass('o_wprofile_top3_card_footer')]//div[last()]" position="after"> + <div class="col py-3"><b t-esc="user['certification_count']"/> <span class="text-muted">Certifications</span></div> + </xpath> + </template> + + <template id="all_user_card" inherit_id="website_profile.all_user_card"> + <xpath expr="//td[hasclass('all_user_badge_count')]" position="after"> + <td class="align-middle text-right pr-3 text-nowrap all_user_certification_count"> + <b t-esc="user['certification_count']"/> <span class="text-muted small font-weight-bold">Certifications</span> + </td> + </xpath> + </template> + + <template id="badge_content" inherit_id="website_profile.badge_content"> + <xpath expr="//div[@id='website_profile_badges']" position="after"> + <t t-if="certification_badges"> + <div class="row"> + <div class="col-12"> + <h1 class="mt-4 mt-lg-2">Certification Badges</h1> + <p class="lead"> + You can gain badges by passing certifications. Here is a list of all available certification badges. + <br />Follow the links to reach new heights and skill up! + </p> + <div class="row col-12 align-items-center p-0" t-foreach="certification_badges" t-as="badge"> + <div class="col-3"> + <t t-call="website_profile.badge_header"> + <t t-if="badge.id in certification_badge_urls" t-set="badge_url" t-value="certification_badge_urls[badge.id]"/> + </t> + </div> + <div class="col-6"> + <span t-field="badge.description"/> + </div> + <div class="col-3 text-right"> + <b t-esc="badge.granted_users_count"/> + <i class="text-muted"> awarded users</i> + </div> + </div> + </div> + </div> + </t> + </xpath> + </template> +</data></odoo> diff --git a/addons/website_slides_survey/views/website_slides_menu_views.xml b/addons/website_slides_survey/views/website_slides_menu_views.xml new file mode 100644 index 00000000..4c3f5113 --- /dev/null +++ b/addons/website_slides_survey/views/website_slides_menu_views.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <menuitem name="Certifications" + id="website_slides_menu_courses_certification" + parent="website_slides.website_slides_menu_courses" + sequence="3" + action="survey_survey_action_slides"/> + + <menuitem name="Certifications" + id="website_slides_menu_report_certification" + parent="website_slides.website_slides_menu_report" + sequence="40" + action="survey_survey_action_slides_report"/> +</odoo> diff --git a/addons/website_slides_survey/views/website_slides_templates_course.xml b/addons/website_slides_survey/views/website_slides_templates_course.xml new file mode 100644 index 00000000..a616aee8 --- /dev/null +++ b/addons/website_slides_survey/views/website_slides_templates_course.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + <template id="course_main" inherit_id="website_slides.course_main" name="Certification Course Main"> + <xpath expr="//div[@id='wrap']" position="attributes"> + <attribute name="t-attf-class" separator=" " add="#{'o_wss_certification_channel' if channel.nbr_certification > 0 else ''}"/> + </xpath> + + <xpath expr="//div[@id='courseMainTabContent']//div[@id='home']/t" position="before"> + <t t-set="first_slide" t-value="channel.slide_content_ids[0] if len(channel.slide_content_ids) > 0 else None"/> + <div t-if="channel.nbr_certification > 0 and channel.is_member and channel.completion == 0" class="alert alert-success d-flex align-items-center justify-content-between flex-wrap"> + <div>Begin your <b>certification</b> today!</div> + + <a t-attf-href="#{'/slides_survey/slide/get_certification_url?slide_id=%s' %(first_slide.id) if first_slide.slide_type == 'certification' and channel.total_slides == 1 else '/slides/slide/%s?fullscreen=1' %(slug(first_slide))}" class="btn btn-success mt-2 mt-sm-0"> + <span>Start Now</span><i class="fa fa-chevron-right ml-2 align-middle"/> + </a> + </div> + </xpath> + </template> + + <template id="slide_icon_inherit_survey" inherit_id="website_slides.slide_icon"> + <xpath expr="//i[last()]" position="after"> + <i t-if="slide.slide_type == 'certification'" t-att-class="'fa fa-trophy %s' % icon_class"></i> + </xpath> + </template> + + <template id="course_slides_list_slide_inherit_survey" inherit_id="website_slides.course_slides_list_slide"> + <xpath expr="//a[hasclass('o_wslides_js_slides_list_slide_link')]" position="attributes"> + <attribute name="t-attf-href">#{'/slides_survey/slide/get_certification_url?slide_id=%s' %(slide.id) if slide.slide_type == 'certification' and slide.channel_id.total_slides == 1 else '/slides/slide/%s' %(slug(slide))}</attribute> + </xpath> + <xpath expr="//a[@name='o_wslides_list_slide_add_quizz']" position="attributes"> + <attribute name="t-if">channel.can_upload and not slide.question_ids and slide.slide_type != 'certification'</attribute> + </xpath> + </template> + + <template id="course_slides_list_inherit_survey" inherit_id="website_slides.course_slides_list"> + <xpath expr="//div[hasclass('o_wslides_content_actions')]" position="inside"> + <div class="o_wslides_survey_certification_upload_toast"/> + </xpath> + </template> + </data> +</odoo> diff --git a/addons/website_slides_survey/views/website_slides_templates_homepage.xml b/addons/website_slides_survey/views/website_slides_templates_homepage.xml new file mode 100644 index 00000000..eaa17833 --- /dev/null +++ b/addons/website_slides_survey/views/website_slides_templates_homepage.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + <template id="courses_home_inherit_survey" inherit_id="website_slides.courses_home"> + <xpath expr="//a[hasclass('o_wslides_home_all_slides')]" position="after"> + <a class="nav-link nav-link d-flex" href="/slides/all?slide_type=certification"> + <t t-call="website_slides_survey.o_wss_certification_icon"/> + <span class="ml-1">Certifications</span> + </a> + </xpath> + </template> + + <template id="course_card_inherit_survey" inherit_id="website_slides.course_card"> + <xpath expr="//div/div" position="after"> + <div t-if="channel.nbr_certification > 0" class="position-absolute py-1 px-2 h5" style="right:0; top:0"> + <t t-call="website_slides_survey.o_wss_certification_icon"/> + </div> + </xpath> + </template> + </data> +</odoo> diff --git a/addons/website_slides_survey/views/website_slides_templates_lesson.xml b/addons/website_slides_survey/views/website_slides_templates_lesson.xml new file mode 100644 index 00000000..9056d943 --- /dev/null +++ b/addons/website_slides_survey/views/website_slides_templates_lesson.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + <template id="slide_content_detailed" inherit_id="website_slides.slide_content_detailed"> + <xpath expr="//div[hasclass('o_wslides_lesson_content_type')]" position="inside"> + <div t-if="slide.slide_type == 'certification' and not channel_progress[slide.id].get('completed')" class="col mt32 mb8 d-flex justify-content-center"> + <a role="button" + class="btn btn-primary btn-lg" + t-att-href="'/slides_survey/slide/get_certification_url?slide_id=%s' %(slide.id)"> + <i class="fa fa-fw fa-graduation-cap" role="img"/> + <t t-if="slide.channel_id.is_member and slide.channel_id.active">Begin Certification</t> + <t t-else="">Test Certification</t> + </a> + </div> + <div t-if="slide.slide_type == 'certification' and channel_progress[slide.id].get('completed')" class="col mt32 mb8 d-flex justify-content-center"> + <a role="button" class="btn btn-primary btn-lg" t-att-href="'/survey/%s/get_certification' % slide.survey_id.id"> + <i class="fa fa-fw fa-trophy" role="img" aria-label="Download certification" title="Download certification"/> Download certification + </a> + </div> + </xpath> + </template> + </data> +</odoo> 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 00000000..feada894 --- /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="//li[@t-att-data-id='slide.id']" position="attributes"> + <attribute name="t-att-data-certification-id">slide.survey_id.id</attribute> + <attribute name="t-att-data-is-member">slide.channel_id.is_member</attribute> + </xpath> + </template> + +</data></odoo> |
