Files
odoo-addons/addons/ks_dashboard_ninja/views/ks_dashboard_ninja_view.xml

405 lines
25 KiB
XML

<odoo>
<data>
<record model="ir.ui.view" id="ks_dashboard_ninja.board_form">
<field name="name">ks_dashboard_ninja View</field>
<field name="model">ks_dashboard_ninja.board</field>
<field name="arch" type="xml">
<form string="Dashboards" duplicate="false" class="ks_form_view">
<sheet class="ks_form_sheet">
<group class="p-2 column">
<group class="d-flex flex-row w-100 h-100">
<field name="ks_dashboard_state" invisible="1"/>
<div>
<label for="name" class="form-label">Dashboard Name</label>
<field name="name" placeholder="Enter Dashboard Name"
class="form-control form-input-box form-input-filled validation"
readonly="(ks_dashboard_state == 'Locked')"/>
</div>
<div>
<label for="ks_dashboard_default_template" class="form-label">Dashboard Template
</label>
<field name="ks_dashboard_default_template" placeholder="Template one"
class="form-control form-input-box form-input-filled validation"
readonly="(id > 0)"
required="(id &lt;= 1)"
options="{'no_create': True, 'no_create_edit':True, 'no_open': True}"/>
</div>
<div>
<label for="ks_dashboard_menu_name" class="form-label">Menu Name
</label>
<field name="ks_dashboard_menu_name" placeholder="Enter Menu Name"
class="form-control form-input-box form-input-filled validation"
readonly="(ks_dashboard_state == 'Locked')"
required="(ks_dashboard_state != 'Locked')"/>
</div>
</group>
<group class="d-flex flex-row w-100 h-100">
<div>
<label for="ks_dashboard_top_menu_id" class="form-label">Show Under Menu</label>
<field name="ks_dashboard_top_menu_id" placeholder="Select Under Menu"
class="form-control form-input-box w-100 h-100 validation form-input-filled"
options="{'no_create': True, 'no_create_edit':True, 'no_open': True}"
readonly="(ks_dashboard_state == 'Locked')"
required="(ks_dashboard_state != 'Locked')"/>
</div>
<div>
<label for="ks_dashboard_menu_sequence" class="form-label">Menu Sequence</label>
<field name="ks_dashboard_menu_sequence" placeholder="Enter Menu Sequence"
class="form-control form-input-box validation"/>
</div>
<div class="column">
<div class="row">
<p>Status</p>
</div>
<div class="row align-items-center">
<field name="ks_dashboard_active" class="form-control form-input-box ps-3 validation mb-0"
readonly="(ks_dashboard_state == 'Locked')"/>
<label for="ks_dashboard_active" class="form-label ks-active-label w-auto ps-2 d-flex align-items-center mb-0">Active</label>
</div>
</div>
</group>
</group>
<notebook>
<page name="pre_defined_filters" string="Pre Defined Filters">
<field name="ks_dashboard_defined_filters_ids" widget="section_and_note_one2many">
<list>
<control>
<create name="add_filter_control" string="Add a filter"/>
<create name="add_section_control" string="Add a separator"
context="{'default_display_type': 'line_section'}"/>
</control>
<field name="sequence" widget="handle"/>
<field name="display_type" column_invisible="True"/>
<field name="id" column_invisible="True"/>
<field name="ks_model_name" column_invisible="True"/>
<field name="name"/>
<field name="ks_model_id"/>
<field name="ks_domain"/>
<field name="ks_is_active"/>
</list>
</field>
</page>
<page name="custom_defined_filters" string="Custom Filters">
<field name="ks_dashboard_custom_filters_ids">
<list editable="bottom">
<field name="name" required="1"/>
<field name="ks_model_id" required="1"/>
<field name="ks_domain_field_id" required="1" options="{'no_create': True, 'no_create_edit': True}"/>
</list>
</field>
</page>
<page name="advance_setting" string="Advance Settings">
<div class="row r-g-16">
<group class="d-flex flex-column w-100">
<div class="column">
<label for="multi_layouts" class="form-label">Enable Multi-Dashboard Layouts
</label>
<field name="multi_layouts"
class="form-control form-input-box validation"
nolabel="1"/>
</div>
</group>
<div class="col-lg-6 col-12 d-flex flex-column gap-2">
<label for="ks_dashboard_group_access" class="form-label mb-0">Group Access
</label>
<field name="ks_dashboard_group_access"
placeholder="Select Multiple Group Access"
class="form-control form-input-box encapsulated-form-arrow bg-white encap-custom-input"
widget="many2many_tags" nolabel="1"/>
</div>
<div class="column col-lg-6 col-12 d-flex flex-column gap-2 ">
<label for="ks_date_filter_selection" class="form-label mb-0">Default Date
Filter
</label>
<field name="ks_date_filter_selection" nolabel="1"
class="form-control form-input-box validation h-100 bg-white" required="1"/>
</div>
<div class="column col-lg-6 col-12 d-flex flex-column gap-2" invisible="ks_date_filter_selection != 'l_custom'">
<label for="ks_dashboard_start_date" class="form-label mb-0">Start Date
</label>
<field name="ks_dashboard_start_date"
readonly="(ks_date_filter_selection != 'l_custom')"
required="(ks_date_filter_selection == 'l_custom')"
placeholder="Select Start Date"
class="form-control start-date form-input-box validation"
nolabel="1"/>
</div>
<div id="ks_dashboard_end_date_div" class="column col-lg-6 col-12 d-flex flex-column gap-2" invisible="ks_date_filter_selection != 'l_custom'">
<label for="ks_dashboard_end_date" class="form-label mb-0">End Date</label>
<field name="ks_dashboard_end_date"
readonly="(ks_date_filter_selection != 'l_custom')"
required="(ks_date_filter_selection == 'l_custom')"
placeholder="Select End Date"
class="form-control end-date form-input-box validation" nolabel="1"/>
<!-- <field name="ks_default_end_time"/>-->
</div>
<div class="column col-xl-6 col-12 d-flex align-items-center gap-2 ">
<label for="ks_default_end_time" class="form-label mb-0">Default End Time
</label>
<field name="ks_default_end_time"
class="form-control form-input-box validation w-fit-content mb-0"
nolabel="1"/>
</div>
</div>
</page>
<page string="Auto Update" name="update_settings">
<div class="col-6 d-flex flex-column gap-2">
<label for="ks_set_interval" class="form-label">Default Update Interval</label>
<field name="ks_set_interval" nolabel="1"
class="form-control form-input-box validation bg-white"/>
</div>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="ks_dashboard_ninja.board_tree">
<field name="name">ks_dashboard_ninja View</field>
<field name="model">ks_dashboard_ninja.board</field>
<field name="arch" type="xml">
<list import="0" string="My Dashboard">
<field name="ks_dashboard_state" column_invisible="True"/>
<!-- invisible="1" nolabel="1"/>-->
<field name="id" column_invisible="True"/>
<!-- invisible="1" nolabel="1"/>-->
<field name="name"/>
<field name="ks_dashboard_menu_name"
required="(ks_dashboard_state != 'Locked')"/>
<field name="ks_dashboard_menu_sequence"/>
<field name="ks_dashboard_top_menu_id"
options="{'no_create': True, 'no_create_edit':True, 'no_open': True}"
readonly="(ks_dashboard_state == 'Locked')"
required="(ks_dashboard_state != 'Locked')"/>
<field name="ks_dashboard_active" readonly="(ks_dashboard_state == 'Locked')"/>
<field name="ks_dashboard_default_template"
readonly="(id > 0)" required="(id &lt;= 1)"
options="{'no_create': True, 'no_create_edit':True, 'no_open': True}"/>
<field name="ks_set_interval"/>
<field name="ks_date_filter_selection" required="1"/>
<field name="ks_dashboard_start_date"
readonly="(ks_date_filter_selection != 'l_custom')"
required="(ks_date_filter_selection == 'l_custom')"
/>
<field name="ks_dashboard_end_date"
readonly="(ks_date_filter_selection != 'l_custom')"
required="(ks_date_filter_selection == 'l_custom')"
/>
<field name="ks_dashboard_group_access" widget="many2many_tags"/>
<button name="ks_view_items_view" string="View Items" type="object" class="dash-btn-red"/>
</list>
</field>
</record>
<record model="ir.ui.view" id="ks_dashboard_ninja.board_template_form">
<field name="name">Dashboard Template Form View</field>
<field name="model">ks_dashboard_ninja.board_template</field>
<field name="arch" type="xml">
<form string="Dashboard Template">
<sheet>
<group>
<group>
<field name="name"/>
<field name="ks_template_type" readonly="1"/>
<field name="ks_dashboard_board_id" invisible="(ks_template_type != 'ks_custom')"
required="(ks_template_type == 'ks_code')"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="ks_dashboard_ninja.board_defined_filters">
<field name="name">Dashboard Defined Filter Form View</field>
<field name="model">ks_dashboard_ninja.board_defined_filters</field>
<field name="arch" type="xml">
<form string="Dashboard Defined Filter">
<sheet>
<group>
<div class="w-100">
<label for="name" class="form-label"
string="Separator Name"
invisible="(display_type != 'line_section')"
required="(display_type == 'line_section')"/>
<field name="name" placeholder="Enter Separator Name (eg. Order States, Deadlines)"
class="form-control form-input-box validation w-100" nolabel="1"
invisible="(display_type != 'line_section')"
required="(display_type == 'line_section')"/>
</div>
<group class="d-flex flex-column" invisible="(display_type == 'line_section')">
<field name="id" invisible="1"/>
<field name="display_type" invisible="1"/>
<field name="ks_model_name" invisible="1"/>
<label for="name" class="form-label mb-0">Filter Label</label>
<field name="name" class="form-control form-input-box w-100 validation" nolabel="1"
required="(display_type != 'line_section')" placeholder="Enter Filter Name"/>
<field name="ks_domain_temp" invisible="1"/>
</group>
<group class="d-flex flex-column" invisible="(display_type == 'line_section')">
<label for="ks_model_id" class="form-label mb-0">Model</label>
<field name="ks_model_id" nolabel="1" placeholder="Select Model"
class="form-control form-input-box w-100 validation"
required="(display_type != 'line_section')"/>
</group>
</group>
<div class="d-flex flex-column mt-lg-4 mt-3" invisible="(display_type == 'line_section')">
<label for="ks_domain" class="form-label">Domain</label>
<field name="ks_domain" widget="domain" nolabel="1"
class="ks_domain_content form-input-box form-control validation"
context="{'current_id': id}"
options="{'model': 'ks_model_name', 'in_dialog': True}"
required="(display_type != 'line_section')"/>
</div>
<div class="column" invisible="(display_type == 'line_section')">
<div class="row mt-3">
<p>Status</p>
</div>
<div class="row align-items-center">
<field name="ks_is_active" class="w-auto pe-2"
required="(display_type != 'line_section')"/>
<label for="ks_is_active" class="form-label w-auto ps-0 mb-1">Active</label>
</div>
</div>
<!-- <div>-->
<!-- <field name="ks_is_active"-->
<!-- required="(display_type != 'line_section')"/>-->
<!-- <label for="ks_is_active" class="form-label ms-1">Status</label>-->
<!-- </div>-->
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="ks_dashboard_ninja.board_template_tree">
<field name="name">Dashboard Template List View</field>
<field name="model">ks_dashboard_ninja.board_template</field>
<field name="arch" type="xml">
<list string="Dashboard Template" editable="top">
<field name="name"/>
<field name="ks_template_type" invisible="1"/>
<field name="ks_dashboard_board_id" readonly="(ks_template_type != 'ks_custom')"
required="(ks_template_type == 'ks_custom')"
options="{'no_create': True, 'no_create_edit':True, 'no_open': True}"/>
</list>
</field>
</record>
<record model="ir.ui.view" id="ks_dashboard_ninja.child_board_tree">
<field name="name">Dashboard Layout List View</field>
<field name="model">ks_dashboard_ninja.child_board</field>
<field name="arch" type="xml">
<list string="Dashboard Layout" editable="top" create="0">
<field name="name"/>
<field name="ks_dashboard_ninja_id" string="Dashboard"/>
<field name="company_id" string="Company"/>
</list>
</field>
</record>
<!-- Dashboard -->
<!-- <record id="ks_dashboard_ninja.board_dashboard_action_window" model="ir.actions.client">-->
<!-- <field name="name">My Dashboard</field>-->
<!-- <field name="tag">ks_dashboard_ninja</field>-->
<!-- <field name="params" eval="{'ks_dashboard_id': ref('ks_dashboard_ninja.ks_my_default_dashboard_board')}"/>-->
<!-- <field name="res_model">ks_dashboard_ninja.board</field>-->
<!-- <field name="context" eval="{'ks_dashboard_id': ref('ks_dashboard_ninja.ks_my_default_dashboard_board')}"/>-->
<!-- </record>-->
<record model="ir.actions.act_window" id="ks_dashboard_ninja.board_form_tree_action_window">
<field name="name">Dashboard Manager</field>
<field name="res_model">ks_dashboard_ninja.board</field>
<field name="view_mode">list,form</field>
<field name="context">{'form_view_ref':'ks_dashboard_ninja.board_form',
'list_view_ref':'ks_dashboard_ninja.board_tree', 'ks_dashboard_name': 'Dashboards'}
</field>
</record>
<record model="ir.actions.act_window" id="ks_dashboard_ninja.template_tree_action_window">
<field name="name">Dashboard Template</field>
<field name="res_model">ks_dashboard_ninja.board_template</field>
<field name="view_mode">list,form</field>
<field name="context">{'default_ks_template_type':'ks_custom'}
</field>
</record>
<record id="action_dashboard_ninja_config_settings" model="ir.actions.act_window">
<field name="name">Settings</field>
<field name="res_model">res.config.settings</field>
<field name="view_id" ref="res_config_settings_inherit_view"/>
<field name="view_mode">form</field>
<field name="target">inline</field>
<field name="context">{'module' : 'dashboard_ninja_config'}</field>
</record>
<record model="ir.actions.act_window" id="ks_dashboard_ninja.layout_tree_action_window">
<field name="name">Dashboard layout</field>
<field name="res_model">ks_dashboard_ninja.child_board</field>
<field name="view_mode">list,form</field>
<field name="domain">[('board_type', '!=', 'default')]</field>
<field name="context">{'group_by':'ks_dashboard_menu_name', 'ks_dashboard_name': 'Dashboard Layouts'}
</field>
</record>
<record model="ir.actions.client" id="ks_dashboard_ninja.dashboard_action_window">
<field name="name">My Dashboard</field>
<field name="tag">dashboard_ninja</field>
</record>
<menuitem name="My Dashboard" id="ks_dashboard_ninja.board_menu_root"
web_icon="ks_dashboard_ninja,static/description/icon.png"
action="ks_dashboard_ninja.dashboard_action_window"/>
<menuitem name="My Dashboards" id="ks_dashboard_ninja.dashboards_menu_root"
parent="ks_dashboard_ninja.board_menu_root" sequence="15"/>
<menuitem name="Quick Access" id="ks_dashboard_ninja.quick_access_menu"
parent="ks_dashboard_ninja.board_menu_root"/>
<menuitem name="Overview" id="ks_dashboard_ninja.overview_menu"
parent="ks_dashboard_ninja.quick_access_menu"
action="ks_dashboard_ninja.dashboard_action_window"/>
<menuitem name="Inbox" id="ks_dashboard_ninja.inbox_menu"
parent="ks_dashboard_ninja.quick_access_menu"
action="mail.action_discuss"/>
<menuitem name="Configuration" id="ks_dashboard_ninja.configuration_menu"
parent="ks_dashboard_ninja.board_menu_root"
groups="ks_dashboard_ninja_group_manager" sequence="100"/>
<menuitem name="Dashboards" id="ks_dashboard_ninja.dashboard_menu"
parent="ks_dashboard_ninja.configuration_menu"
action="ks_dashboard_ninja.board_form_tree_action_window" groups="ks_dashboard_ninja_group_manager"/>
<menuitem id="menu_dashboard_ninja_config_settings"
name="Settings"
sequence="1"
action="ks_dashboard_ninja.action_dashboard_ninja_config_settings"
parent="ks_dashboard_ninja.configuration_menu"
groups="ks_dashboard_ninja_group_manager"/>
<menuitem name="Dashboard Layouts" id="ks_dashboard_ninja.dashboard_layout_menu"
parent="ks_dashboard_ninja.configuration_menu"
action="ks_dashboard_ninja.layout_tree_action_window" groups="ks_dashboard_ninja_group_manager"/>
<!-- <menuitem name="Dashboard Templates" id="ks_dashboard_ninja.dashboard_template_menu"-->
<!-- parent="ks_dashboard_ninja.configuration_menu"-->
<!-- action="ks_dashboard_ninja.template_tree_action_window" groups="ks_dashboard_ninja_group_manager"/>-->
</data>
</odoo>