弹窗权限配置

This commit is contained in:
李鹏宇
2025-12-30 19:07:12 +08:00
parent 5d8342fc6c
commit 809a1042a9
7 changed files with 70 additions and 6 deletions
+4 -4
View File
@@ -1,7 +1,5 @@
# -*- coding: utf-8 -*-
# email:pengyuthon@163.com
{
'name': 'Yuthon attendances',
'summary': '',
@@ -65,6 +63,9 @@
'views/back_approval.xml',
'views/hr_attendance_portal_templates.xml',
'views/meal_approval.xml',
'views/applet_address_views.xml',
'views/all_attendance_menu.xml',
'wizard/hr_attendance_month_wizard_views.xml',
'wizard/yuthon_delete_planning_wizard_views.xml',
'wizard/attendance_controls_wizard.xml',
@@ -73,8 +74,7 @@
'wizard/vacation_confirm_wizard_views.xml',
'wizard/planning_slot_update_display_name_wizard.xml',
'wizard/yuthon_run_wizard.xml',
'views/applet_address_views.xml',
'views/all_attendance_menu.xml',
'wizard/applet_security_quick_perm_views.xml',
],
'assets': {
'web.assets_backend': [
@@ -58,6 +58,20 @@ class AppletSecurity(models.Model):
'applet_security_setting_ids': [(4, clock_in_setting.id)],
})
def action_quick_add_permissions(self):
applet_ids = self.env["applet.security"].browse(self._context.get('active_ids', self._context.get('active_id')))
return {
"type": "ir.actions.act_window",
"name": "快速添加权限",
"res_model": "applet.security.quick.perm.wizard",
"view_mode": "form",
"target": "new",
"context": {
"default_applet_security_ids": applet_ids.ids, # 默认员工
# "default_employee_ids": applet_ids.employee_id.ids, # 默认员工
},
}
class AppletSecuritySeeting(models.Model):
_name = 'applet.security.setting'
@@ -79,4 +79,5 @@ access_staff_dining_report,staff.dining.report,model_staff_dining_report,base.gr
access_vacation_confirm_wizard,vacation.confirm.wizard,model_vacation_confirm_wizard,base.group_user,1,1,1,1
access_vacation_put_wizard,vacation.put.wizard,model_vacation_put_wizard,base.group_user,1,1,1,1
access_message_reminder_tasks,message.reminder.tasks,model_message_reminder_tasks,base.group_user,1,1,1,1
access_message_reminder_tasks,message.reminder.tasks,model_message_reminder_tasks,base.group_user,1,1,1,1
access_applet_security_quick_perm_wizard,access_applet_security_quick_perm_wizard,model_applet_security_quick_perm_wizard,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
79
80
81
82
83
@@ -62,6 +62,15 @@
<field name="code">action = model.init_applet_security()</field>
</record>
<record id="applet_security_quick_perm_server" model="ir.actions.server">
<field name="name">快速添加权限</field>
<field name="model_id" ref="yuthon_hr_attendance.model_applet_security"/>
<field name="binding_model_id" ref="yuthon_hr_attendance.model_applet_security"/>
<field name="state">code</field>
<field name="code">action = model.action_quick_add_permissions()</field>
</record>
<record id="applet_security_setting_tree" model="ir.ui.view">
<field name="name">applet.security.setting.tree</field>
<field name="model">applet.security.setting</field>
+2 -1
View File
@@ -7,4 +7,5 @@ from . import attendance_correct_wizard
from . import yuthon_run_wizard
from . import planning_slot_update_display_name_wizard
from . import vacation_confirm_wizard
from . import vacation_put_wizard
from . import vacation_put_wizard
from . import applet_security_quick_perm_wizard
@@ -0,0 +1,26 @@
<odoo>
<record id="view_applet_security_quick_perm_wizard_form" model="ir.ui.view">
<field name="name">applet.security.quick.perm.wizard.form</field>
<field name="model">applet.security.quick.perm.wizard</field>
<field name="arch" type="xml">
<form string="快速添加权限">
<group>
<field name="applet_security_ids" widget="many2many_tags" invisible="1"/>
<field name="applet_security_setting_ids" widget="many2many_tags"/>
</group>
<footer>
<button name="confirm" string="确认" type="object" class="oe_highlight"/>
<button string="取消" class="btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_applet_security_quick_perm_wizard" model="ir.actions.act_window">
<field name="name">快速添加权限</field>
<field name="res_model">applet.security.quick.perm.wizard</field>
<field name="view_mode">form</field>
<field name="view_id" ref="view_applet_security_quick_perm_wizard_form"/>
<field name="target">new</field>
</record>
</odoo>
@@ -0,0 +1,13 @@
from odoo import models, fields
class AppletSecurityQuickPermWizard(models.TransientModel):
_name = 'applet.security.quick.perm.wizard'
_description = '快速添加权限'
applet_security_ids = fields.Many2many('applet.security', string="权限记录集")
applet_security_setting_ids = fields.Many2many('applet.security.setting', string='权限板块')
def confirm(self):
for applet in self.applet_security_ids:
applet.write({'applet_security_setting_ids': [(6, 0, self.applet_security_setting_ids.ids)]})