109 lines
4.8 KiB
XML
109 lines
4.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- ============================================================ -->
|
|
<!-- Leaderboard Views -->
|
|
<!-- ============================================================ -->
|
|
|
|
<record id="view_genius_leaderboard_tree" model="ir.ui.view">
|
|
<field name="name">genius.leaderboard.tree</field>
|
|
<field name="model">genius.leaderboard</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Leaderboard" decoration-bf="rank <= 3" decoration-success="rank == 1">
|
|
<field name="rank"/>
|
|
<field name="user_id"/>
|
|
<field name="points"/>
|
|
<field name="topics_completed"/>
|
|
<field name="quizzes_passed"/>
|
|
<field name="time_spent_hours"/>
|
|
<field name="period_type"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Leaderboard Action -->
|
|
<record id="action_genius_leaderboard" model="ir.actions.act_window">
|
|
<field name="name">Leaderboard</field>
|
|
<field name="res_model">genius.leaderboard</field>
|
|
<field name="view_mode">tree</field>
|
|
<field name="domain">[('period_type', '=', 'alltime')]</field>
|
|
</record>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Reminder Views -->
|
|
<!-- ============================================================ -->
|
|
|
|
<record id="view_genius_reminder_tree" model="ir.ui.view">
|
|
<field name="name">genius.reminder.tree</field>
|
|
<field name="model">genius.reminder</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Reminders">
|
|
<field name="name"/>
|
|
<field name="user_id"/>
|
|
<field name="reminder_type"/>
|
|
<field name="scheduled_date"/>
|
|
<field name="state" widget="badge" decoration-success="state == 'sent'"
|
|
decoration-warning="state == 'pending'" decoration-danger="state == 'failed'"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_genius_reminder_form" model="ir.ui.view">
|
|
<field name="name">genius.reminder.form</field>
|
|
<field name="model">genius.reminder</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Reminder">
|
|
<header>
|
|
<button name="action_send" type="object"
|
|
string="Send Now" class="btn-primary"
|
|
attrs="{'invisible': [('state', '!=', 'pending')]}"/>
|
|
<button name="action_cancel" type="object"
|
|
string="Cancel"
|
|
attrs="{'invisible': [('state', '!=', 'pending')]}"/>
|
|
<field name="state" widget="statusbar"/>
|
|
</header>
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="user_id"/>
|
|
<field name="reminder_type"/>
|
|
</group>
|
|
<group>
|
|
<field name="scheduled_date"/>
|
|
<field name="sent_date"/>
|
|
<field name="is_recurring"/>
|
|
<field name="recurrence_interval" attrs="{'invisible': [('is_recurring', '=', False)]}"/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<field name="topic_id" attrs="{'invisible': [('reminder_type', 'not in', ['incomplete_topic', 'new_topic'])]}"/>
|
|
<field name="plan_id" attrs="{'invisible': [('reminder_type', '!=', 'incomplete_plan')]}"/>
|
|
</group>
|
|
<field name="custom_message" attrs="{'invisible': [('reminder_type', '!=', 'custom')]}"/>
|
|
<field name="message_body" readonly="1"/>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Reminder Action -->
|
|
<record id="action_genius_reminder" model="ir.actions.act_window">
|
|
<field name="name">Reminders</field>
|
|
<field name="res_model">genius.reminder</field>
|
|
<field name="view_mode">tree,form</field>
|
|
</record>
|
|
|
|
<!-- Menu Items -->
|
|
<menuitem id="menu_analytics_leaderboard"
|
|
name="Leaderboard"
|
|
parent="menu_analytics"
|
|
action="action_genius_leaderboard"
|
|
sequence="10"/>
|
|
|
|
<menuitem id="menu_analytics_reminders"
|
|
name="Reminders"
|
|
parent="menu_analytics"
|
|
action="action_genius_reminder"
|
|
sequence="20"/>
|
|
</odoo>
|