显示Model not found: staff.transfer
。在安装此模块时,始终会递归显示此错误。希望有人能帮忙!
staff_transfer.py
from datetime import datetime, timedelta
from odoo import models, fields, _
class StaffTransfer(models.Model):
_name = 'staff.transfer'
_rec_name = "staff_id"
staff_id = fields.Many2one('hr.employee',string ="Employee Name")
staff_job_id = fields.Many2one('hr.job', string='Designation',compute='_compute_staff_details', store=True)
staff_date = fields.Datetime('Date')
current_company_id = fields.Many2one('res.company',"Current Company",compute='_compute_staff_details', store=True)
cmp_id = fields.Many2one('res.company', 'To Company')
staff_purpose = fields.Text("Purpose Of Transfer")
staff_work_location = fields.Char('Work Location',compute='_compute_staff_details', store=True)
state = fields.Selection([('draft','New'),
('in progress','In Progress'),
('approve','Approved'),
('rejected','Rejected')], index='true', default='draft')
@api.depends('staff_id')
def _compute_staff_details(self):
if self.staff_id:
self.staff_work_location = self.staff_id.work_location
self.staff_job_id = self.staff_id.job_id
self.current_company_id = self.staff_id.company_id
@api.multi
def set_start(self):
self.write({'state': 'in progress'})
@api.multi
def set_close(self):
if self.cmp_id:
self.staff_id.company_id = self.cmp_id
staff_var = self.env['hr.employee'].search([('id','=',self.staff_id.id)])
staff_var_list = []
if staff_var:
ele = {
'company_date': self.staff_date,
'from_company': self.current_company_id.id,
'to_company': self.cmp_id.id,
'reason' : self.staff_purpose,
}
staff_var_list.append(ele)
# raise UserError(str(ele))
staff_var.employee_line_ids = staff_var_list
# variable.stud_name = self.student_name.id
self.write({'state': 'approve'})
@api.multi
def set_reject(self):
self.write({'state': 'rejected'})
@api.multi
def set_to_reset(self):
self.write({'state': 'draft'})
class HrEmployee(models.Model):
_inherit = 'hr.employee'
employee_line_ids = fields.One2many('staff.transfer.line','employee_line_id')
class StaffTransferLine(models.Model):
_name = "staff.transfer.line"
_description = 'Staff Transfer Line'
employee_line_id = fields.Many2one('hr.employee')
company_date = fields.Date("Date")
from_company = fields.Many2one('res.company', 'From Branch')
to_company = fields.Many2one('res.company','To Branch')
reason = fields.Char("Transfer Reason")
staff_transfer_views.xml
<odoo>
<!-- Staff Transfer Request Form -->
<record id="staff_transfer_request_tree" model="ir.ui.view">
<field name="name">staff.transfer.tree</field>
<field name="model">staff.transfer</field>
<field name="arch" type="xml">
<tree string="Staff Transfer Request">
<field name="staff_id"/>
<field name="staff_date"/>
<field name="staff_job_id"/>
<field name="current_company_id"/>
<field name="cmp_id"/>
<field name="staff_work_location"/>
<field name="staff_purpose"/>
</tree>
</field>
</record>
<record id="staff_transfer_request_menu_kanban" model="ir.ui.view">
<field name="name">staff.transfer.kanban</field>
<field name="model">staff.transfer</field>
<field name="priority">10</field>
<field name="arch" type="xml">
<kanban class="o_hr_staff_transfer_model_kanban">
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<ul>
<li><strong>Name : </strong><field name="staff_id"/></li>
<li><strong>Date : </strong><field name="staff_date"/></li>
<li><strong>Designation : </strong><field name="staff_job_id"/></li>
<li><strong>From : </strong><field name="current_company_id"/></li>
<li><strong>To : </strong><field name="cmp_id"/></li>
<li><strong>Purpose : </strong><field name="staff_purpose"/></li>
</ul>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="staff_transfer_request_menu_form" model="ir.ui.view">
<field name="name">staff.transfer.form</field>
<field name="model">staff.transfer</field>
<field name="arch" type="xml">
<form string="Staff Transfer Request">
<header>
<button name="set_start" string="Start" type="object" help="start" states="draft" class="oe_highlight"/>
<button name="set_close" string="Approve" type="object" help="close" states="in progress" class="oe_highlight"/>
<button name="set_reject" string="Reject" type="object" help="reject" states="in progress" class="oe_highlight"/>
<field name="state" widget="statusbar" statusbar_visible="draft,in progress,approve,rejected"/>
</header>
<sheet>
<group>
<group>
<field name="staff_id" required="1" options="{'no_create_edit': True}"/>
<field name="staff_job_id" required="1" readonly="1" />
<field name="current_company_id" required="1" readonly="1" />
<field name="staff_purpose" required="1"/>
</group>
<group>
<field name="staff_date" required="1" />
<field name="staff_work_location" required="1" />
<field name="cmp_id" required="1" options="{'no_create_edit': True}"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="action_staff_transfer_request_form" model="ir.actions.act_window">
<field name="name">Staff Transfer Request</field>
<field name="res_model">staff.transfer</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
<field name="domain">[]</field>
<field name="context">{}</field>
<field name="view_id" eval="False"/>
<field name="help" type="html">
<p>
Staff Transfer Request
</p>
</field>
</record>
<record id="view_hr_employee_form_inherited" model="ir.ui.view">
<field name="name">hr.employee</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="priority">10</field>
<field name="arch" type="xml">
<xpath expr="//form/sheet/notebook/page[@name='public']" position="after">
<page string="Staff's Transfer Details">
<group>
<field name="employee_line_ids" readonly="1" nolabel="1">
<tree string="Staff's Transfer Details">
<field name="company_date"/>
<field name="from_company"/>
<field name="to_company"/>
<field name="reason"/>
</tree>
</field>
</group>
</page>
</xpath>
</field>
</record>
<menuitem id="menu_staff_transfer_request"
name="Employee Transfer Request"
parent="hr_employee_updation.menu_hr_management"
action="action_staff_transfer_request_form"
sequence="3"/>
</odoo>
在Odoo 10中创建自定义模块时,我被困在这里。上面是代码。仍然我都没有发现任何错误。如果有人可以帮助我,请! python代码和xml代码都在这里。
答案 0 :(得分:1)
将此行添加到您的__init__.py
文件中:
import staff_transfer