19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:32:43 +01:00
parent 4607ccbd2e
commit 825ff6514e
487 changed files with 184979 additions and 195262 deletions

View file

@ -4,12 +4,12 @@
<field name="name">Challenges List</field>
<field name="model">gamification.challenge</field>
<field name="arch" type="xml">
<tree string="Challenges" decoration-info="state == 'draft'" decoration-muted="state == 'done'">
<list string="Challenges" decoration-info="state == 'draft'" decoration-muted="state == 'done'">
<field name="name"/>
<field name="period"/>
<field name="manager_id"/>
<field name="state"/>
</tree>
</list>
</field>
</record>
@ -19,9 +19,9 @@
<field name="arch" type="xml">
<form string="Challenge">
<header>
<button string="Start Challenge" type="object" name="action_start" states="draft" class="oe_highlight"/>
<button string="Refresh Challenge" type="object" name="action_check" states="inprogress"/>
<button string="Send Report" type="object" name="action_report_progress" states="inprogress,done" groups="base.group_no_one"/>
<button string="Start Challenge" type="object" name="action_start" invisible="state != 'draft'" class="oe_highlight"/>
<button string="Refresh Challenge" type="object" name="action_check" invisible="state != 'inprogress'"/>
<button string="Send Report" type="object" name="action_report_progress" invisible="state not in ('inprogress', 'done')" groups="base.group_no_one"/>
<field name="state" widget="statusbar" options="{'clickable': '1'}"/>
</header>
<sheet>
@ -37,10 +37,9 @@
name="%(goals_from_challenge_act)d"
class="oe_stat_button"
icon="fa-gift"
attrs="{'invisible': [('state','=','draft')]}">
invisible="state == 'draft'">
<div class="o_field_widget o_stat_info">
<span class="o_stat_text">Related</span>
<span class="o_stat_text">Goals</span>
<span class="o_stat_text">Related Goals</span>
</div>
</button>
</div>
@ -56,38 +55,38 @@
</div>
<group>
<group>
<field name="period" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="period" readonly="state != 'draft'"/>
<field name="visibility_mode" widget="radio" colspan="1" />
</group>
<group>
<field name="manager_id"/>
<field name="start_date" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="end_date" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="start_date" readonly="state != 'draft'"/>
<field name="end_date" readonly="state != 'draft'"/>
</group>
</group>
<notebook>
<page string="Goals" name="goals">
<field name="line_ids" nolabel="1" colspan="4">
<tree string="Line List" editable="bottom" >
<list string="Line List" editable="bottom" >
<field name="sequence" widget="handle"/>
<field name="definition_id" />
<field name="condition"/>
<field name="target_goal" string="Target"/>
<field name="definition_full_suffix"/>
</tree>
</list>
</field>
<field name="description" placeholder="Describe the challenge: what is does, who it targets, why it matters..."/>
</page>
<page string="Reward" name="reward">
<group>
<field name="reward_id" attrs="{'required': [('reward_realtime','=', True)]}" />
<field name="reward_id" required="reward_realtime" />
<field name="reward_first_id" />
<field name="reward_second_id" attrs="{'invisible': [('reward_first_id','=', False)]}" />
<field name="reward_third_id" attrs="{'invisible': ['|',('reward_first_id','=', False),('reward_second_id','=', False)]}" />
<field name="reward_failure" attrs="{'invisible': [('reward_first_id','=', False)]}" />
<field name="reward_second_id" invisible="not reward_first_id" />
<field name="reward_third_id" invisible="not reward_first_id or not reward_second_id" />
<field name="reward_failure" invisible="not reward_first_id" />
<field name="reward_realtime" />
</group>
<div class="oe_grey">
<div class="opacity-50">
<p>Badges are granted when a challenge is finished. This is either at the end of a running period (eg: end of the month for a monthly challenge), at the end date of a challenge (if no periodicity is set) or when the challenge is manually closed.</p>
</div>
</page>
@ -96,13 +95,13 @@
<field name="invited_user_ids" widget="many2many_tags" />
</group>
<group string="Notification Messages">
<div class="oe_grey" colspan="4">
<div class="opacity-50" colspan="4">
<p>Depending on the Display mode, reports will be individual or shared.</p>
</div>
<group colspan="4">
<field name="report_message_frequency"/>
<field name="report_template_id" attrs="{'invisible': [('report_message_frequency','=','never')]}" />
<field name="report_message_group_id" attrs="{'invisible': [('report_message_frequency','=','never')]}" />
<field name="report_template_id" invisible="report_message_frequency == 'never'" />
<field name="report_message_group_id" invisible="report_message_frequency == 'never'" />
</group>
</group>
<group string="Reminders for Manual Goals">
@ -118,10 +117,7 @@
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>
@ -130,27 +126,17 @@
<field name="name">Challenge Kanban</field>
<field name="model">gamification.challenge</field>
<field name="arch" type="xml">
<kanban string="Challenges" class="oe_background_grey">
<kanban string="Challenges">
<field name="line_ids"/>
<templates>
<t t-name="kanban-box">
<div t-attf-class="oe_kanban_card o_kanban_gamification oe_kanban_global_click">
<div class="o_kanban_content">
<strong>
<h4 class="o_kanban_record_title"><field name="name"/></h4>
<div class="o_kanban_record_subtitle">
<a type="action" name="%(goals_from_challenge_act)d"
style="margin-right: 10px" tabindex="-1">
<span><t t-esc="record.line_ids.raw_value.length"/> Goals</span>
</a><br />
<a type="object" name="action_view_users"
style="margin-right: 10px" tabindex="-1">
<span><field name="user_count"/> Participants</span>
</a>
</div>
</strong>
</div>
</div>
<t t-name="card" class="fw-bold">
<field class="fs-5" name="name"/>
<a type="action" name="%(goals_from_challenge_act)d" class="me-2" tabindex="-1">
<t t-esc="record.line_ids.raw_value.length"/> Goals
</a>
<a type="object" name="action_view_users" class="me-2" tabindex="-1">
<field name="user_count"/> Participants
</a>
</t>
</templates>
</kanban>
@ -160,7 +146,7 @@
<record id="challenge_list_action" model="ir.actions.act_window">
<field name="name">Challenges</field>
<field name="res_model">gamification.challenge</field>
<field name="view_mode">kanban,tree</field>
<field name="view_mode">kanban,list</field>
<field name="context">{'search_default_inprogress':True, 'default_inprogress':True}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
@ -196,7 +182,7 @@
<filter name="hr_challenges" string="HR Challenges"
domain="[('challenge_category', '=', 'hr')]"/>
<field name="name"/>
<group expand="0" string="Group By">
<group>
<filter string="State" name="state" domain="[]" context="{'group_by':'state'}"/>
<filter string="Period" name="period" domain="[]" context="{'group_by':'period'}"/>
</group>