添加功能

This commit is contained in:
zhouzhou
2024-11-18 11:36:06 +08:00
parent 8b0ddc0de6
commit cff0f548bb
10 changed files with 12 additions and 86 deletions
-1
View File
@@ -26,7 +26,6 @@
'report/meet_check_report.xml',
'wizard/room_booking_sign_wizard.xml',
'wizard/room_booking_partner_create_wizard.xml',
'wizard/room_select_range_wizard_views.xml',
],
'demo': [
'demo/room_office.xml',
-10
View File
@@ -53,16 +53,6 @@ class RoomBooking(models.Model):
# 关联流程
relevancy_type = fields.Selection([('none', '无')], string="关联流程类型")
def open_select_range_wizard(self):
return {
'name': '选择范围',
'type': 'ir.actions.act_window',
'view_mode': 'form',
'res_model': 'room.select.range.wizard',
'target': 'new',
'context': {'default_room_booking_id': self.id},
}
@api.model_create_multi
def create(self, vals_list):
bookings = super(RoomBooking, self).create(vals_list)
+1 -2
View File
@@ -8,5 +8,4 @@ access_room_booking_user,access.room.booking.user,room.model_room_booking,base.g
access_room_meeting_sign,access.room.meeting.sign,model_room_meeting_sign,base.group_user,1,1,1,1
access_room_meeting_type,access.room.meeting.type,model_room_meeting_type,base.group_user,1,1,1,1
access_room_booking_sign_wizard,room.booking.sign.wizard,model_room_booking_sign_wizard,,1,1,1,1
access_room_booking_partner_create_wizard,room.booking.partner.create.wizard,model_room_booking_partner_create_wizard,,1,1,1,1
access_room_select_range_wizard,room_select_range_wizard,model_room_select_range_wizard,base.group_user,1,1,1,1
access_room_booking_partner_create_wizard,room.booking.partner.create.wizard,model_room_booking_partner_create_wizard,,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
8 access_room_meeting_type access.room.meeting.type model_room_meeting_type base.group_user 1 1 1 1
9 access_room_booking_sign_wizard room.booking.sign.wizard model_room_booking_sign_wizard 1 1 1 1
10 access_room_booking_partner_create_wizard room.booking.partner.create.wizard model_room_booking_partner_create_wizard 1 1 1 1
11
-3
View File
@@ -155,9 +155,6 @@
<group>
<field name="is_notice"/>
</group>
<group>
<button name="open_select_range_wizard" string="选择范围" type="object" class="btn btn-primary horizontal-button"/>
</group>
</group>
<group>
<group>
+1 -1
View File
@@ -2,7 +2,7 @@
from . import room_booking_sign_wizard
from . import room_booking_partner_create_wizard
from . import room_select_range_wizard
-43
View File
@@ -1,43 +0,0 @@
from odoo import api, fields, models, tools
from odoo.exceptions import ValidationError
class RoomSelectRangeWizard(models.Model):
_name = 'room.select.range.wizard'
_description = '选择范围弹窗'
department_ids = fields.Many2many('hr.department', string='部门范围')
employee_ids = fields.Many2many('hr.employee', string='人员范围')
users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
room_booking_id = fields.Many2one('room.booking')
room_users_ids = fields.Many2many('res.users', string="会议参加人员", compute="compute_room_users_ids", store=True)
@api.depends('department_ids', 'employee_ids', 'users_role_ids')
def compute_room_users_ids(self):
department_users_list = users_role_list = []
for users in self:
if users.department_ids:
# 查看是否下级部门
for depart in users.department_ids:
department_users_data = users.env['hr.employee'].search([('department_id', '=', depart.id)])
department_users_list = [de.user_id.id for de in department_users_data]
if depart.child_ids:
for child in depart.child_ids:
department_child_users_data = users.env['hr.employee'].search(
[('department_id', '=', child.id)])
department_users_list += [de.user_id.id for de in department_child_users_data]
employee_users_list = users.employee_ids.user_id.ids
if users.users_role_ids:
for user_id in users.users_role_ids:
user_role_data = users.env['hr.employee'].search(
['|', ('user_role_id', '=', user_id.id), ('user_role_ids', '=', user_id.id)])
users_role_list = [ro.user_id.id for ro in user_role_data]
publish_user_list = department_users_list + employee_users_list + users_role_list
false_none_list = [x for x in publish_user_list if x != False]
users.room_users_ids = [(6, 0, list(set(false_none_list)))]
def action_select_values(self):
self.ensure_one()
self.room_booking_id.write({
'room_users_ids': [(6, 0, self.room_users_ids.ids)],
})
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="view_room_select_range_wizard_form" model="ir.ui.view">
<field name="name">room.select.range.wizard.form</field>
<field name="model">room.select.range.wizard</field>
<field name="arch" type="xml">
<form>
<group col="2">
<group>
<field name="department_ids" widget="many2many_tags"/>
<field name="employee_ids" widget="many2many_tags"/>
<field name="users_role_ids" widget="many2many_tags"/>
</group>
<gourp/>
</group>
<footer>
<button string="保存" name="action_select_values" type="object" class="btn-primary"/>
<button string="取消" special="cancel" class="btn-secondary"/>
</footer>
</form>
</field>
</record>
</odoo>
@@ -41,6 +41,6 @@ class YuthonHrDepartment(models.Model):
@api.depends('name')
def _compute_display_name(self):
for record in self:
record.display_name = f"{record.name}-({record.parent_id.name})"
record.display_name = f"{record.name}({record.parent_id.name})"
+2 -1
View File
@@ -1 +1,2 @@
from . import inherit_hr_payroll_structure
from . import inherit_hr_payroll_structure
from . import inherit_hr_salary_rule
@@ -0,0 +1,7 @@
from odoo import api, fields, models, _
import re
class InheritHrSalaryRule(models.Model):
_inherit = 'hr.salary.rule'
category_id = fields.Many2one('hr.salary.rule.category', required=False)