156 lines
8.9 KiB
XML
156 lines
8.9 KiB
XML
<?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>
|
|
<!-- Certification Attempts -->
|
|
<xpath expr="//ul[hasclass('o_wprofile_nav_tabs')]" position="inside">
|
|
<li t-if="show_certification_tab" class="nav-item">
|
|
<a role="tab" aria-controls="certification" href="#profile_tab_content_certification" t-attf-class="nav-link #{ 'active' if active_tab == 'certification' else '' }" data-bs-toggle="tab">
|
|
<t t-if="user_inputs" t-out="len(user_inputs)" /> Certification Attempts
|
|
</a>
|
|
</li>
|
|
</xpath>
|
|
<xpath expr="//div[hasclass('o_wprofile_tabs_content')]" position="inside">
|
|
<div t-if="show_certification_tab" role="tabpanel" t-attf-class="tab-pane #{ 'show active' if active_tab == 'certification' else '' }" id="profile_tab_content_certification">
|
|
<h5 class="d-flex justify-content-between align-items-end border-bottom pb-1">
|
|
Certification Attempts
|
|
<form method="get">
|
|
<div class="input-group" role="search">
|
|
<input type="text" class="form-control" name="certification_search" t-att-value="certification_search_terms or ''" placeholder="Search Attempts..."/>
|
|
<div class="input-group-append">
|
|
<button type="submit" class="btn btn-primary" aria-label="Search" title="Search">
|
|
<i class="fa fa-search"/>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</h5>
|
|
<t t-if="not user_inputs">
|
|
<p t-if="certification_search_terms">No certification found for the given search term.</p>
|
|
<p t-else="">You have not taken any certification yet.</p>
|
|
<a href="/slides/all?slide_category=certification">
|
|
<i class="oi oi-arrow-right"/> See Certifications
|
|
</a>
|
|
</t>
|
|
<div t-else="" class="card p-3 mb-3" t-foreach="user_inputs" t-as="user_input">
|
|
<div class="row">
|
|
<div class="col-sm-3" t-out="user_input.create_date" t-options="{'widget': 'datetime'}"/>
|
|
<div class="col-sm-4">
|
|
<a t-if="user_input.slide_id"
|
|
t-attf-href="/slides_survey/slide/get_certification_url?slide_id=#{user_input.slide_id.id}"
|
|
t-out="user_input.survey_id.title"/>
|
|
<t t-else="" t-out="user_input.survey_id.title"/>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
Attempt n°<t t-out="user_input.attempts_number"/>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<span t-attf-class="badge #{ 'text-bg-primary' if user_input.scoring_success else 'text-bg-danger'}">
|
|
<t t-out="user_input.scoring_percentage"/>%
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</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="ps-5 pe-4 rounded-start" 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="fw-bold">Score: <span t-esc="certificate.scoring_percentage"/> %</small>
|
|
<div class="float-end">
|
|
<a role="button" class="float-end" 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="me-2" href="#"
|
|
t-attf-onclick="event.stopPropagation(); $('#slideShareModal_#{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 t-set="email_sharing" t-value="certificate.slide_id.channel_id.share_channel_template_id"/>
|
|
</t>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
<t t-elif="my_profile">
|
|
<div class="text-muted d-inline-block">
|
|
Certifications are exams that you successfully passed. <br />
|
|
<a href="/slides/all?slide_type=certification" class="btn-link">
|
|
<i class="fa fa-arrow-right"></i> Get Certified
|
|
</a>
|
|
</div>
|
|
</t>
|
|
<t t-else="">
|
|
<div class="text-muted d-inline-block">No certifications yet!</div>
|
|
<div class="text-end d-inline-block pull-right">
|
|
<a href="/slides/all?slide_category=certification" class="btn btn-link btn-sm"><i class="oi oi-arrow-right me-1"/>All Certifications</a>
|
|
</div>
|
|
</t>
|
|
</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-end pe-3 text-nowrap all_user_certification_count">
|
|
<b t-esc="user['certification_count']"/> <span class="text-muted small fw-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-end">
|
|
<b t-esc="badge.granted_users_count"/>
|
|
<i class="text-muted"> awarded users</i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</xpath>
|
|
</template>
|
|
</data></odoo>
|