添加功能
This commit is contained in:
@@ -62,6 +62,18 @@ class SoongWorkflowRecord(models.Model):
|
||||
res.append_date2(res)
|
||||
return res
|
||||
|
||||
def log(self):
|
||||
log = self.env['soong.workflow.log'].search([("model", "=", self.res_model),
|
||||
("res_id", "=", self.res_id)])
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': '日志',
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'soong.workflow.log',
|
||||
'domain': [('id', 'in', log.ids)],
|
||||
}
|
||||
|
||||
|
||||
def restore(self):
|
||||
workflow_ids = self.env["soong.workflow.record"].browse(
|
||||
self._context.get('active_ids', self._context.get('active_id', [])))
|
||||
|
||||
@@ -90,12 +90,15 @@
|
||||
<field name="is_manager" column_invisible="1"/>
|
||||
<field name="meal" column_invisible="1"/>
|
||||
<field name="workflow_happen_date" string="发生日期" column_invisible="1"/>
|
||||
|
||||
<button name="delete_record" type="object" string="删除" class="btn-primary" confirm="你确定要删除吗?"
|
||||
invisible="not (is_manager or approve_state == 'start') "/>
|
||||
<button name="reminders_record" type="object" string="催办" class="btn-primary"
|
||||
groups="soong_workflow.group_soong_workflow_manager" invisible="approve_state in ['start', 'end']"/>
|
||||
<button name="revoke_record" type="object" string="撤销" class="btn-primary"
|
||||
groups="soong_workflow.group_soong_workflow_manager"/>
|
||||
<button name="log" type="object" string="日志" class="btn-primary"
|
||||
groups="soong_workflow.group_soong_workflow_manager"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -28,6 +28,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
comment = fields.Char(compute='_compute_comment', store=True)
|
||||
state_list = fields.Char(string="状态列表")
|
||||
record_id = fields.Integer()
|
||||
is_selection = fields.Boolean(string="是否自动选择")
|
||||
trans_link_id = fields.Many2one('trans.link', string='转交节点')
|
||||
document_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
return_link_id = fields.Many2one('trans.link', string='退回节点')
|
||||
@@ -64,6 +65,14 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
store=True
|
||||
)
|
||||
|
||||
@api.onchange('is_selection')
|
||||
def _onchange_is_selection(self):
|
||||
if self.is_selection:
|
||||
all_employees = self.env['hr.employee'].search([('id', 'in', self.employee_ids1.ids)])
|
||||
self.employee_ids = all_employees
|
||||
else:
|
||||
self.employee_ids = False
|
||||
|
||||
@api.onchange('employee_ids1')
|
||||
def _onchange_employee_ids1(self):
|
||||
if len(self.employee_ids1) == 1:
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_this_company"/>
|
||||
<field name="is_selection"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="employee_ids1" widget="many2many_tags" string="人员范围" invisible="1"/>
|
||||
<field name="employee_ids" widget="many2many_tags" string="人员范围" domain = "[('company_id', '=', company_id), ('id', 'in', employee_ids1)] if is_this_company else [('id', 'in', employee_ids1)]" options="{'no_create': True}"/>
|
||||
|
||||
@@ -11,11 +11,11 @@ class YuthonServiceApproval(models.Model):
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_service_approval_code'))
|
||||
service_type_id = fields.Many2one('yuthon.service.type', string="服务类型")
|
||||
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
|
||||
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.snv.user.id)
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门", store=True)
|
||||
department_id = fields.Many2one(related='users_id.employee_ids.department_id', string="部门", store=True)
|
||||
employee_id = fields.Many2one('hr.employee', string="员工姓名", default=lambda self: self.env.user.employee_id.id)
|
||||
company_id = fields.Many2one(related="users_id.employee_id.company_id", string="公司", store=True)
|
||||
company_id = fields.Many2one(related="users_id.employee_ids.company_id", string="公司", store=True)
|
||||
tenant_user_card = fields.Many2one('ir.attachment', string="身份证")
|
||||
|
||||
onboarding_time = fields.Date(related='employee_id.open_start_time', string="入职日期")
|
||||
|
||||
@@ -7,7 +7,7 @@ from odoo.exceptions import UserError, ValidationError
|
||||
|
||||
class PropertyDeviceRelief(models.Model):
|
||||
_name = 'property.device.repair'
|
||||
_description = '报事报修(办公设备)'
|
||||
_description = '报事报修'
|
||||
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
|
||||
|
||||
name = fields.Char(string='标题', compute='_compute_name', store=True)
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
</field>
|
||||
</record>
|
||||
<record id="property_device_repair_action" model="ir.actions.act_window">
|
||||
<field name="name">报事报修(办公设备)</field>
|
||||
<field name="name">报事报修</field>
|
||||
<field name="res_model">property.device.repair</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
@@ -19,7 +19,7 @@ class PropertyLeaseRenewal(models.Model):
|
||||
company_id = fields.Many2one(related='user_id.company_id', string="公司")
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('property_lease_renewal_code'))
|
||||
renewal_type = fields.Selection([('early_checkout', '提前退租'), ('lease', '承租方变更')], string='变更类型')
|
||||
renewal_type = fields.Selection([('early_checkout', '合同终止'), ('lease', '承租方变更')], string='变更类型')
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
def _get_default_name_title(self):
|
||||
|
||||
@@ -186,7 +186,7 @@ class PenaltyLineWizard(models.Model):
|
||||
if non_realtime_lines:
|
||||
prev_line = non_realtime_lines[-1]
|
||||
if round(prev_line.remaining_principal or 0, 2) != 0:
|
||||
base_date = prev_line.date + relativedelta(months=1)
|
||||
base_date = (prev_line.date + relativedelta(months=1)).replace(day=1)
|
||||
days_overdue = (self.calculation_date - base_date).days - 1
|
||||
days_overdue = max(0, days_overdue)
|
||||
# 计算违约金
|
||||
|
||||
@@ -116,6 +116,12 @@ class YuthonWillTask(models.Model):
|
||||
if record.start_date:
|
||||
record.task_week = weekdays[record.start_date.weekday()]
|
||||
|
||||
def one_time(self):
|
||||
will_ids = self.env["yuthon.will.task"].browse(
|
||||
self._context.get('active_ids', self._context.get('active_id')))
|
||||
for record in will_ids:
|
||||
record._check_task_time()
|
||||
|
||||
@api.constrains('start_date', 'request_hour_from', 'request_hour_to')
|
||||
def _check_task_time(self):
|
||||
for record in self:
|
||||
|
||||
@@ -255,4 +255,11 @@
|
||||
<field name='domain'>[('user_role_ids.name', 'in', ['董事长', '分管领导', '总经理', '部门副经理', '副总经理', '司机'])]</field>
|
||||
<field name="context">{'search_default_next_seven_days': 1}</field>
|
||||
</record>
|
||||
<record id="all_yuthon_will_task" model="ir.actions.server">
|
||||
<field name="name">更新</field>
|
||||
<field name="model_id" ref="yuthon_will_task.model_yuthon_will_task"/>
|
||||
<field name="binding_model_id" ref="yuthon_will_task.model_yuthon_will_task"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">action = model.one_time()</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -38,11 +38,6 @@
|
||||
name="报事报修(物业)"
|
||||
action="yuthon_maintain.property_report_repair_action"
|
||||
sequence="20"/>
|
||||
<menuitem id="property_device_repair_action_brand"
|
||||
parent="information_root_board"
|
||||
name="报事报修(办公设备)"
|
||||
action="yuthon_maintain.property_device_repair_action"
|
||||
sequence="20"/>
|
||||
<menuitem id="processing_order_approval_action_menu"
|
||||
parent="information_root_board"
|
||||
name="处理单审批"
|
||||
|
||||
@@ -702,12 +702,17 @@
|
||||
parent="holiday_manage_menu_root_board"
|
||||
action="soong_workflow.soong_workflow_record_done_action"
|
||||
sequence="4"/>
|
||||
<menuitem id="property_device_repair_action_brand"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
name="报事报修"
|
||||
action="yuthon_maintain.property_device_repair_action"
|
||||
sequence="5"/>
|
||||
|
||||
<menuitem id="yuthon_notice_menu1_board"
|
||||
parent="holiday_manage_menu_root_board"
|
||||
name="通知公告"
|
||||
action="yuthon_notice.approval_notice_action"
|
||||
sequence="5"/>
|
||||
sequence="7"/>
|
||||
<menuitem id='menu_yuthon_will_task_root'
|
||||
name='我的日程'
|
||||
parent='holiday_manage_menu_root_board'
|
||||
|
||||
Reference in New Issue
Block a user