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_forum/views | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_slides_forum/views')
6 files changed, 230 insertions, 0 deletions
diff --git a/addons/website_slides_forum/views/assets.xml b/addons/website_slides_forum/views/assets.xml new file mode 100644 index 00000000..9c36aa33 --- /dev/null +++ b/addons/website_slides_forum/views/assets.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <template id="assets_frontend" inherit_id="website.assets_frontend" name="Website slide forum frontend assets"> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/website_slides_forum/static/src/js/website_slides_forum.editor.js"></script> + </xpath> + </template> +</odoo> diff --git a/addons/website_slides_forum/views/forum_views.xml b/addons/website_slides_forum/views/forum_views.xml new file mode 100644 index 00000000..482f35cf --- /dev/null +++ b/addons/website_slides_forum/views/forum_views.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="forum_forum_view_form" model="ir.ui.view"> + <field name="name">forum.forum.view.form.inherit.slides</field> + <field name="model">forum.forum</field> + <field name="inherit_id" ref="website_forum.view_forum_forum_form"/> + <field name="arch" type="xml"> + <xpath expr="//group[@name='group_order']" position="after"> + <group string="eLearning" name="group_slides"> + <field name="slide_channel_id" readonly="True"/> + </group> + </xpath> + <xpath expr="//field[@name='privacy']" position="attributes"> + <attribute name="attrs">{'invisible': [('slide_channel_id', '!=', False)], 'required': [('slide_channel_id', '!=', 'False')]}</attribute> + </xpath> + <xpath expr="//field[@name='authorized_group_id']" position="attributes"> + <attribute name="attrs">{'invisible': ['|', ('privacy', '!=', 'private'), ('slide_channel_id', '!=', False)], 'required': [('privacy', '=', 'private')]}</attribute> + </xpath> + <xpath expr="//field[@name='privacy']" position="before"> + <field name="visibility" attrs="{'invisible': [('slide_channel_id', '=', False)]}"/> + </xpath> + </field> + </record> + + <record id="forum_forum_action_channel" model="ir.actions.act_window"> + <field name="name">eLearning Forums</field> + <field name="res_model">forum.forum</field> + <field name="view_mode">tree,form</field> + <field name="domain">[('slide_channel_ids', '!=', 'False')]</field> + </record> + + <record id="forum_post_action_channel" model="ir.actions.act_window"> + <field name="name">eLearning Forum Posts</field> + <field name="res_model">forum.post</field> + <field name="view_mode">tree,form</field> + <field name="domain">[('forum_id.slide_channel_ids', '!=', 'False')]</field> + <field name="context">{'search_default_questions': 1}</field> + <field name="help" type="html"> + <p class="o_view_nocontent_smiling_face"> + Create a new forum post + </p> + </field> + </record> + + <record id="forum_post_view_graph_slides" model="ir.ui.view"> + <field name="name">forum.post.view.graph.slides</field> + <field name="model">forum.post</field> + <field name="arch" type="xml"> + <graph string="eLearning Forum Posts" sample="1"> + <field name="create_date" interval="month" type="col"/> + <field name="forum_id" type="row"/> + </graph> + </field> + </record> + + <record id="forum_post_action_report" model="ir.actions.act_window"> + <field name="name">eLearning Forum Posts</field> + <field name="res_model">forum.post</field> + <field name="view_mode">graph</field> + <field name="view_id" ref="forum_post_view_graph_slides"/> + <field name="domain">[('forum_id.slide_channel_ids', '!=', 'False')]</field> + <field name="help" type="html"> + <p class="o_view_nocontent_smiling_face"> + No data yet! + </p> + </field> + </record> +</odoo> diff --git a/addons/website_slides_forum/views/slide_channel_views.xml b/addons/website_slides_forum/views/slide_channel_views.xml new file mode 100644 index 00000000..29a56ef1 --- /dev/null +++ b/addons/website_slides_forum/views/slide_channel_views.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="website_slides_forum_channel_inherit_view_form" model="ir.ui.view"> + <field name="name">website.slides_forum.view.form.inherit.slide.channel</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="//button[@name='action_view_ratings']" position="after"> + <button name="action_redirect_to_forum" + type="object" + class="oe_stat_button" + attrs="{'invisible': [('forum_id', '=', False)]}" + icon="fa-comment"> + <field string="Forum Posts" name="forum_total_posts" widget="statinfo"/> + </button> + </xpath> + <xpath expr="//field[@name='allow_comment']" position="after"> + <field string="Forum" name="forum_id"/> + </xpath> + </field> + </record> +</odoo> diff --git a/addons/website_slides_forum/views/website_slides_forum_templates.xml b/addons/website_slides_forum/views/website_slides_forum_templates.xml new file mode 100644 index 00000000..9589a39f --- /dev/null +++ b/addons/website_slides_forum/views/website_slides_forum_templates.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo><data> + <template id="website_slides_forum_header" inherit_id="website_forum.header"> + <xpath expr="//div[hasclass('o_forum_nav_header_container')]" position="before"> + <t t-if="forum.slide_channel_id"> + <div class="o_wforum_elearning_navtabs_container"> + <div class="container"> + <ul class="nav nav-tabs o_wprofile_nav_tabs mt-0 flex-nowrap" role="tablist" id="profile_extra_info_tablist"> + <li class="nav-item"> + <a t-att-href="'/slides/%s%s' % (slug(forum.slide_channel_id), '/%s' % slug(category) if category else '')" + t-att-class="'nav-link o_wprofile_navlink'" style="border-left: 0px"> + <i class="fa fa-home"/> Course</a> + </li> + <li t-if="forum.slide_channel_id.allow_comment" class="nav-item"> + <a t-att-href="'/slides/%s?active_tab=review' % (slug(forum.slide_channel_id))" + t-att-class="'nav-link o_wprofile_navlink'" style="border-left: 0px"> + Reviews<t t-if="forum.slide_channel_id.rating_count"> (<t t-esc="forum.slide_channel_id.rating_count"/>)</t> + </a> + </li> + <li class="nav-item"> + <a t-att-href="'/forum/%s' % (slug(forum))" t-att-class="'nav-link active o_wprofile_navlink'" style="border-left: 0px">Forum</a> + </li> + </ul> + </div> + </div> + </t> + </xpath> + </template> + + <template name="Split regular forums/courses" id="website_slides_forum_index" inherit_id="website_forum.forum_all" active="True" customize_show="True"> + <xpath expr="//div[@id='o_wforum_forums_index_list']/*[@t-if='forums']" position="replace"> + <t t-if="forums"> + <t t-set="courses_discussions" t-value="forums.filtered(lambda f: f.slide_channel_id)"/> + <t t-set="regular_forums" t-value="forums - courses_discussions"/> + + <div class="row mb-4"> + <t t-if="len(regular_forums) == 1"> + <t t-set="forum" t-value="regular_forums"/> + <div class="col-md-10 col-lg-8 mb-2"> + <div class="row align-items-start"> + <div class="col-12 col-sm-4"> + <a t-attf-href="/forum/#{slug(forum)}"> + <div t-attf-class="h-100 w-100 o_editable #{not forum.image_1920 and 'rounded o_wforum_forum_card_bg shadow-sm flex-shrink-0'}"> + <div t-if="forum.image_1920 or editable" t-attf-class="h-100" + t-field="forum.image_1920" t-options="{'widget': 'image', 'preview_image': 'image_256', 'class': 'w-100 h-100 o_object_fit_cover rounded'}" /> + </div> + </a> + </div> + <div class="col-12 col-sm-7 mt-2 mt-sm-0"> + <a t-attf-href="/forum/#{slug(forum)}" class="text-reset" t-att-title="forum.name"> + <h3 class="h2" t-field="forum.name"/> + </a> + <p t-attf-class="m-0 lead #{not forum.description and 'css_non_editable_mode_hidden'}" + placeholder="Description" + t-field="forum.teaser"/> + </div> + </div> + </div> + </t> + <t t-else=""> + <t t-call="website_forum.forum_all_all_entries"> + <t t-set="_forums" t-value="regular_forums"/> + </t> + </t> + </div> + + <div class="d-flex border-bottom pb-1 pt-3 mb-3"> + <h2 class="h4 mb-0 text-muted">Courses Discussions</h2> + <div class="flex-grow-1 text-right"> + <a href="/slides" title="See all Courses">Check our Courses <i class="fa fa-chevron-right"/></a> + </div> + </div> + <div class="row"> + <t t-call="website_forum.forum_all_all_entries"> + <t t-set="_forums" t-value="courses_discussions"/> + </t> + </div> + </t> + </xpath> + </template> +</data></odoo> diff --git a/addons/website_slides_forum/views/website_slides_menu_views.xml b/addons/website_slides_forum/views/website_slides_menu_views.xml new file mode 100644 index 00000000..e3a8b9dd --- /dev/null +++ b/addons/website_slides_forum/views/website_slides_menu_views.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <menuitem name="Forum" + id="website_slides_menu_forum" + parent="website_slides.website_slides_menu_root" + sequence="2"/> + <menuitem name="Forums" + id="website_slides_menu_forum_forum" + parent="website_slides_menu_forum" + sequence="1" + action="forum_forum_action_channel"/> + <menuitem name="Posts" + id="website_slides_menu_forum_post" + parent="website_slides_menu_forum" + sequence="2" + action="forum_post_action_channel"/> + + <menuitem name="Forum" + id="website_slides_menu_report_forum" + parent="website_slides.website_slides_menu_report" + sequence="8" + action="forum_post_action_report"/> +</odoo> diff --git a/addons/website_slides_forum/views/website_slides_templates.xml b/addons/website_slides_forum/views/website_slides_templates.xml new file mode 100644 index 00000000..09971c6f --- /dev/null +++ b/addons/website_slides_forum/views/website_slides_templates.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" ?> +<odoo><data> + <template id='course_main' inherit_id="website_slides.course_main"> + <!-- Channel (training) main template: add link to forum --> + <xpath expr="//li[hasclass('o_wslides_course_header_nav_review_training')]" position="after"> + <li class="nav-item" t-if="channel.forum_id"> + <a t-att-href="'/forum/%s' % (slug(channel.forum_id))" + t-att-class="'nav-link'" target="new">Forum</a> + </li> + </xpath> + <!-- Channel (documentation) main template: add link to forum --> + <xpath expr="//li[hasclass('o_wslides_course_header_nav_review_documentation')]" position="after"> + <li class="nav-item" t-if="channel.forum_id"> + <a t-att-href="'/forum/%s' % (slug(channel.forum_id))" + t-att-class="'nav-link'" target="new">Forum</a> + </li> + </xpath> + </template> + + <template id="slide_fullscreen" inherit_id="website_slides.slide_fullscreen"> + <xpath expr="//a[hasclass('o_wslides_fs_review')]" position="after"> + <a t-if="slide.channel_id.forum_id" id="fullscreen_forum_button" class="d-flex align-items-center px-3" t-attf-href="/forum/#{slug(slide.channel_id.forum_id)}" target="new"> + <i class="fa fa-comments"/><span class="ml-1 d-none d-md-inline-block">New Post</span> + </a> + </xpath> + </template> + +</data></odoo> |
