合并企业版代码(未测试,先提交到测试分支)
This commit is contained in:
9
web_studio/views/actions.xml
Normal file
9
web_studio/views/actions.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="action_web_studio_app_creator" model="ir.actions.client">
|
||||
<field name="name">Studio App Creator</field>
|
||||
<field name="tag">action_web_studio_app_creator</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
15
web_studio/views/assets.xml
Normal file
15
web_studio/views/assets.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<data>
|
||||
|
||||
<!-- Reports -->
|
||||
<template id="web_studio.report_layout" inherit_id="web.report_layout">
|
||||
<xpath expr="//head" position="inside">
|
||||
<t t-if="studio" t-call-assets="web_studio.report_assets"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
|
||||
</odoo>
|
||||
31
web_studio/views/base_import_module_view.xml
Normal file
31
web_studio/views/base_import_module_view.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="simplified_form_view_import_module" model="ir.ui.view">
|
||||
<field name="name">base.import.module.form.simplified</field>
|
||||
<field name="model">base.import.module</field>
|
||||
<field name="priority">1</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<field name="state" invisible="1"/>
|
||||
<group states="init" col="4">
|
||||
<field name="module_file" string="Module file (.zip)" colspan="4"/>
|
||||
<field name="force" groups="base.group_no_one"/>
|
||||
</group>
|
||||
<group states="done" col="4">
|
||||
<field name="import_message" colspan="4" nolabel="1" readonly="1"/>
|
||||
</group>
|
||||
<footer>
|
||||
<div states="init">
|
||||
<button name="import_module" string="Import" type="object" class="btn-primary" data-hotkey="q"/>
|
||||
<button special="cancel" data-hotkey="z" string="Cancel" class="btn-secondary"/>
|
||||
</div>
|
||||
<div states="done">
|
||||
<button special="cancel" data-hotkey="z" string="Close" class="btn-primary"/>
|
||||
</div>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
41
web_studio/views/ir_actions_report_xml.xml
Normal file
41
web_studio/views/ir_actions_report_xml.xml
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="act_report_xml_view_kanban" model="ir.ui.view">
|
||||
<field name="name">ir.actions.report.kanban</field>
|
||||
<field name="model">ir.actions.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_web_studio_report_kanban" js_class="studio_report_kanban">
|
||||
<field name="name"/>
|
||||
<field name="report_name"/>
|
||||
<field name="report_type"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click">
|
||||
<div class="o_dropdown_kanban dropdown" t-if="!selection_mode">
|
||||
<a role="button" class="dropdown-toggle btn" data-bs-toggle="dropdown" href="#" aria-label="Dropdown menu" title="Dropdown menu"><span class="fa fa-ellipsis-v"/></a>
|
||||
<div class="dropdown-menu" role="menu">
|
||||
<t t-if="widget.deletable">
|
||||
<a role="menuitem" type="delete" class="dropdown-item">Delete</a>
|
||||
</t>
|
||||
<a role="menuitem" class="dropdown-item" type="object" name="copy_report_and_template">Duplicate</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="o_kanban_image">
|
||||
<div t-if="record.report_type.value == 'PDF'" class="o_image" data-mimetype="application/pdf" role="img" aria-label="PDF file" title="PDF file"/>
|
||||
<div t-else="1" class="o_image" data-mimetype="text/file" role="img" aria-label="File" title="File"/>
|
||||
</div>
|
||||
<div class="oe_kanban_details">
|
||||
<strong>
|
||||
<field name="name"/>
|
||||
</strong>
|
||||
<small><field name="report_name" groups="base.group_no_one"/></small>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
15
web_studio/views/ir_model_data.xml
Normal file
15
web_studio/views/ir_model_data.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record model="ir.ui.view" id="studio_customizations_filter">
|
||||
<field name="name">web_studio.customizations_filter</field>
|
||||
<field name="model">ir.model.data</field>
|
||||
<field name="inherit_id" ref="base.view_model_data_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="module" position="after">
|
||||
<filter string="Studio Customizations" name="studio_customiz" domain="[('studio', '=', True)]"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
155
web_studio/views/studio_approval_views.xml
Normal file
155
web_studio/views/studio_approval_views.xml
Normal file
@@ -0,0 +1,155 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Approval Entries -->
|
||||
<record id="studio_approval_entry_tree_view" model="ir.ui.view">
|
||||
<field name="name">studio.approval.entry.tree</field>
|
||||
<field name="model">studio.approval.entry</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="write_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="studio_approval_entry_form_view" model="ir.ui.view">
|
||||
<field name="name">studio.approval.entry.form</field>
|
||||
<field name="model">studio.approval.entry</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Studio Approval Entry">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="rule_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="model"/>
|
||||
<field name="res_id"/>
|
||||
<field name="reference" widget="reference" string="Record"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="studio_approval_entry_search_view" model="ir.ui.view">
|
||||
<field name="name">studio.approval.entry.search</field>
|
||||
<field name="model">studio.approval.entry</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Approval Entries">
|
||||
<field name="name"/>
|
||||
<field name="model"/>
|
||||
<field name="res_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="rule_id" invisible="1"/>
|
||||
<separator/>
|
||||
<filter string="My entries" name="my_entries" domain="[('user_id','=',uid)]"/>
|
||||
<separator/>
|
||||
<filter string="Approved" name="approved" domain="[('approved','=', True)]"/>
|
||||
<filter string="Rejected" name="rejected" domain="[('user_id','=', False)]"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="User" name="user" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Model" name="model" domain="[]" context="{'group_by':'model'}"/>
|
||||
<filter string="Method" name="model" domain="[]" context="{'group_by':'method'}"/>
|
||||
<filter string="Action" name="model" domain="[]" context="{'group_by':'action_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="studio_approval_entry_action" model="ir.actions.act_window">
|
||||
<field name="name">Studio Approval Entries</field>
|
||||
<field name="res_model">studio.approval.entry</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_studio_approval_entry" name="Studio Approval Entries" sequence="11" action="studio_approval_entry_action" parent="base.next_id_2" groups="base.group_system"/>
|
||||
<!-- Approval Rules -->
|
||||
<record id="studio_approval_rule_tree_view" model="ir.ui.view">
|
||||
<field name="name">studio.approval.tree</field>
|
||||
<field name="model">studio.approval.rule</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="message"/>
|
||||
<field name="group_id"/>
|
||||
<field name="model_id"/>
|
||||
<field name="conditional"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="studio_approval_rule_form_view" model="ir.ui.view">
|
||||
<field name="name">studio.approval.form</field>
|
||||
<field name="model">studio.approval.rule</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Studio Approval Rule">
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box" attrs="{'invisible': [('id', '=', False)]}">
|
||||
<button class="oe_stat_button" type="action" name="%(studio_approval_entry_action)d"
|
||||
icon="fa-thumbs-up"
|
||||
context="{'search_default_rule_id':active_id, 'default_chart_id': active_id}">
|
||||
<field string="Entries" name="entries_count" widget="statinfo"/>
|
||||
</button>
|
||||
</div>
|
||||
<field name="active" invisible="1"/>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
|
||||
<div class="oe_title">
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="group_id"/>
|
||||
<field name="model_id" />
|
||||
<field name="model_name" invisible="1"/>
|
||||
<field name="method" attrs="{'required': [('action_id', '=', False)]}"/>
|
||||
<field name="action_id" attrs="{'required': [('method', '=', False)]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="domain" widget="domain" options="{'model': 'model_name'}"/>
|
||||
<field name="exclusive_user"/>
|
||||
<field name="message"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="studio_approval_rule_search_view" model="ir.ui.view">
|
||||
<field name="name">studio.approval.search</field>
|
||||
<field name="model">studio.approval.rule</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Approval Rules">
|
||||
<field name="name"/>
|
||||
<field name="group_id"/>
|
||||
<field name="model_id"/>
|
||||
<separator/>
|
||||
<filter string="Active" name="active" domain="[('active','=',True)]"/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="Group" name="group" domain="[]" context="{'group_by':'group_id'}"/>
|
||||
<filter string="Model" name="model" domain="[]" context="{'group_by':'model_id'}"/>
|
||||
<filter string="Method" name="model" domain="[]" context="{'group_by':'method'}"/>
|
||||
<filter string="Action" name="model" domain="[]" context="{'group_by':'action_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="studio_approval_rule_action" model="ir.actions.act_window">
|
||||
<field name="name">Studio Approvals</field>
|
||||
<field name="res_model">studio.approval.rule</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{'active_test': False}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_studio_approval_rule" name="Studio Approvals Rules" sequence="10" action="studio_approval_rule_action" parent="base.next_id_2" groups="base.group_system"/>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user