Hi everybody!!!
I have a class named seetek_contrat which contains three fields: date_end, company_id, and seetek_contrat_line_id and an other class which contains other three fields which are employee_id, employee_company_id and date_from i want to display the list of employees of one company where the date_end of their contract < date_end that one user can choose.
Here is my code:
class seetek_ferier(osv.osv):
_name ='seetek.ferier'
def _get_year_selection (self, cursor, user_id, context=None):
return (
('2014', '2014'),
('2015', '2015'),
('2016', '2016'),
('2017', '2017'),
('2018', '2018'),
('2019', '2019'),
('2020', '2020'))
_columns = {
'company_id': fields.many2one('res.company', 'Company'),
'date_end': fields.date('Date from', required=True, select=1),
'seetek_contrat_ids': fields.one2many('seetek.contrat.line','employee_company_convention_id', 'seetek_employee Inputs'),
}
def get_inputs(self, cr, uid,ids, employee_id, company_id, context=None):
ret = []
obj = self.pool.get('hr.contract')
obj_ids = obj.search(cr, uid, [('company_id', '=', company_id), ('date_end', '>', date_end)])
res = obj.read(cr, uid, obj_ids, ['employee_id','company_id','date_end', 'id'], context)
for r in res :
inputs = {
'contrat_id': r['id'],
'employee_id': employee_id,
'date_end': r['date_end']
}
ret += [inputs]
return ret
def on_change_company_id(self, cr, uid, ids, date_end, company_id, context=None):
res = {'value':{'seetek_contrat_ids': self.get_inputs(cr, uid, ids, date_end, company_id, context=context),
}
}
return res
seetek_ferier()
class seetek_contrat_line(osv.osv):
_name = 'seetek.contrat.line'
_description= "Seetek_Contrat line"
_columns = {
'employee_company_id' : fields.many2one('seetek.contrat', 'index convention', required=True,select=True,ondelete='cascade'),
'employee_id' : fields.many2one('hr.employee'),
'date_end': fields.datetime('amount'),
}
seetek_contrat_line()
and my view:
<record id="seetek_ferier_form" model="ir.ui.view">
<field name="name">seetek.ferier.form</field>
<field name="model">seetek.ferier</field>
<field name="arch" type="xml">
<form string="Seetek Ferier">
<group>
<group name="a" position="inside">
<field name="date_end" string="Période des données horaires DE"/>
<field name="company_id" on_change="on_change_company_id(date_end,company_id)"/>
<field name="seetek_contrat_ids">
<tree string="Input Data" editable="bottom">
</tree>
</group>
</group>
</form>
</field>
</record>
<record id="seetek_ferier_tree" model="ir.ui.view">
<field name="name">seetek.ferier.tree</field>
<field name="model">seetek.ferier</field>
<field name="arch" type="xml">
<tree string="Seetek Ferier">
<field name="date_from" string="Période des données horaires DE"/>
<field name="company_id"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_seetek_ferier">
<field name="name">SeeTek Ferier</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">seetek.ferier</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
But it doesnt work. I got this error: AttributeError: 'NoneType' object has no attribute '_table'
Please who can help me please.