添加功能

This commit is contained in:
zhou
2025-07-02 16:54:14 +08:00
parent b093f1c462
commit 783b38930c
4 changed files with 64 additions and 2 deletions
+1
View File
@@ -23,6 +23,7 @@ Long description of module's purpose
# always loaded # always loaded
'data': [ 'data': [
# 'security/ir.model.access.csv', # 'security/ir.model.access.csv',
'views/ir_ui_view.xml'
], ],
# only loaded in demonstration mode # only loaded in demonstration mode
"application": True, "application": True,
+11 -1
View File
@@ -7,12 +7,22 @@ class IrUiView(models.Model):
_inherit = 'ir.ui.view' _inherit = 'ir.ui.view'
manager_data = fields.Json(string='data') manager_data = fields.Json(string='data')
group_ids = fields.Many2many('res.groups', string='Groups')
def get_manager_data(self): def get_manager_data(self):
if not self:
return {}
self.ensure_one() self.ensure_one()
return self.manager_data or {}
resp = self.manager_data or {}
resp.update({
'show': self.env.uid in self.group_ids.users.ids
})
return resp
def save_manager_data(self, manager_data): def save_manager_data(self, manager_data):
if not self:
return False
self.ensure_one() self.ensure_one()
self.sudo().write({ self.sudo().write({
'manager_data': manager_data 'manager_data': manager_data
@@ -3,7 +3,7 @@
<t t-inherit="web.ListView" t-inherit-mode="extension"> <t t-inherit="web.ListView" t-inherit-mode="extension">
<xpath expr="//t[@t-set-slot='layout-buttons']" position="inside"> <xpath expr="//t[@t-set-slot='layout-buttons']" position="inside">
<div class="o-dropdown dropdown o-dropdown--no-caret" t-ref="ooManagerRef"> <div class="o-dropdown dropdown o-dropdown--no-caret" t-ref="ooManagerRef" t-if="ooManager.show">
<button type="button" class="btn btn-primary" t-on-click="()=>this.ooManager.state = !this.ooManager.state"> <button type="button" class="btn btn-primary" t-on-click="()=>this.ooManager.state = !this.ooManager.state">
<i class="fa fa-cogs" /> <i class="fa fa-cogs" />
</button> </button>
+51
View File
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="oo_list_manager_ir_ui_view_tree" model="ir.ui.view">
<field name="name">ir.ui.view.tree</field>
<field name="model">ir.ui.view</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="model"/>
<field name="xml_id"/>
</tree>
</field>
</record>
<record id="oo_list_manager_ir_ui_view_form" model="ir.ui.view">
<field name="name">ir.ui.view.form</field>
<field name="model">ir.ui.view</field>
<field name="arch" type="xml">
<form>
<sheet>
<notebook>
<page string="群组">
<field name="group_ids" options="{'no_open': True, 'no_create': True, 'no_edit': True}">
<tree editable="bottom" create="0">
<field name="name"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="oo_list_manager_ir_ui_view_act" model="ir.actions.act_window">
<field name="name">List视图管理</field>
<field name="res_model">ir.ui.view</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('type', '=', 'tree')]</field>
<field name="context">
{
'tree_view_ref': 'oo_list_manager.oo_list_manager_ir_ui_view_tree',
'form_view_ref': 'oo_list_manager.oo_list_manager_ir_ui_view_form',
}
</field>
</record>
<menuitem id="oo_list_manager_ir_ui_view_menu" name="List视图管理" parent="base.menu_administration" sequence="10" action="oo_list_manager_ir_ui_view_act"/>
</odoo>