Somebody please help me , i got an error while using on_change method ..
this is py code:
def _get_kehadiran_persen(self, cr, uid, ids, field, arg, context=None):
val = self.browse(cr,uid,ids,context=context)
result = {}
for x in val:
result[x.id] = (len(x.peserta_ids) / float(x.kursi)) * 100.0
return result
def onchange_hitung_kuota(self, cr, uid, ids, kursi, peserta):
val = {
'value': {'kuota_kehadiran_persen': (len(peserta) / float(kursi)) * 100.0}
}
if kursi <= 0:
val = {
'warning': {
'title': 'Perhatian',
'message': 'Jumlah kursi harus diatas 0'
}
}
return val
---------------------------------------------------------------------------------------------------------------------------------------------
this is xml code :
<record model="ir.ui.view" id="sesi_form_view">
<field name="name">training.sesi.form</field>
<field name="model">training.sesi</field>
<field name="arch" type="xml">
<form string="Form Sesi" version="7.0">
<header>
<button name="draft_sesi" states="confirmed" string="Reset to Draft" icon="terp-stock_effects-object-colorize"/>
<button name="confirm_sesi" states="draft" string="Confirm" icon="gtk-apply"/>
<button name="done_sesi" states="confirmed" string="Mark as done" icon="gtk-apply"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors='{"draft":"red","confirmed":"blue"}'/>
</header>
<sheet>
<group col="4">
<field name="name" colspan="4"/>
<field name="instructur_id" />
<field name="kursus_id"/>
<field name="tanggal_mulai" />
<field name="durasi"/>
<field name="kursi" on_change="onchange_hitung_kuota(kursi, peserta_ids)"/>
<field name="active"/>
<field name="kuota_kehadiran_persen" widget="progressbar" colspan="4"/>
<field name="image" widget="image" class="oe_avatar oe_left"/>
</group>
<separator string="Peserta" colspan="4"/>
<field name="peserta_ids" colspan="4" nolabel="1" on_change="onchange_hitung_kuota(kursi, peserta_ids)">
<tree string="Peserta" editable="top">
<field name="peserta_id"/>
</tree>
</field>
</sheet>
</form>
</field>
</record>
-------------------------------------------------------------------------------------------------------
i got this error message :
Traceback (most recent call last): File "/home/ajeng/odoo/odoo/openerp/http.py", line 500, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/home/ajeng/odoo/odoo/openerp/http.py", line 517, in dispatch result = self._call_function(**self.params) File "/home/ajeng/odoo/odoo/openerp/http.py", line 283, in _call_function return checked_call(self.db, *args, **kwargs) File "/home/ajeng/odoo/odoo/openerp/service/model.py", line 113, in wrapper return f(dbname, *args, **kwargs) File "/home/ajeng/odoo/odoo/openerp/http.py", line 280, in checked_call return self.endpoint(*a, **kw) File "/home/ajeng/odoo/odoo/openerp/http.py", line 733, in __call__ return self.method(*args, **kw) File "/home/ajeng/odoo/odoo/openerp/http.py", line 376, in response_wrap response = f(*args, **kw) File "/home/ajeng/AddonsDeveloper/addons/web/controllers/main.py", line 975, in call_kw return self._call_kw(model, method, args, kwargs) File "/home/ajeng/AddonsDeveloper/addons/web/controllers/main.py", line 967, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "/home/ajeng/odoo/odoo/openerp/api.py", line 237, in wrapper return old_api(self, *args, **kwargs) File "/home/ajeng/odoo/odoo/openerp/api.py", line 360, in old_api result = method(recs, *args, **kwargs) File "/home/ajeng/odoo/odoo/openerp/models.py", line 5729, in onchange record._onchange_eval(name, field_onchange[name], result) File "/home/ajeng/odoo/odoo/openerp/models.py", line 5663, in _onchange_eval method_res = getattr(self._model, method)(*args) AttributeError: 'training.sesi' object has no attribute 'onchange_hitung_kuota'