Приветствую всех.
Я расширяю класс hr.employee, чтобы добавить оборудование для сотрудников. Поскольку это оборудование рано или поздно потребуется заменить, я хочу сделать кнопку, чтобы, если флажок был отмечен, он перенесет единицу из складского запаса в складской участок.
Причина в том, что обновленный инвентарь и история использования этих элементов. Я недавно начал программировать, используя платформу, предоставляемую Odoo, и правда в том, что я несколько растерялся.
class HrEmployeeLprl(models.Model):
_inherit = 'hr.employee'
# Botón actualizar
@api.one
@api.depends('hr', 'stock')
def action_lprl_update_inventory(self):
if self.renew_glasses:
move = self.env['stock.move'].create({
'name': '',
'location_id': self.glasses.property_stock_production.id,
'location_dest_id': self.scrap_location.id,
'product_id': self.glasses.id,
'product_uom': self.glasses.uom_id.id,
'product_uom_qty': 1
})
move._action_confirm()
move._action_assign()
move.move_line_ids.write({qty_done: 1})
move._action_done()
glasses = fields.Many2one(
comodel_name='product.product',
domain="[('categ_id', '=', 'LPRL / Gafas'), ('qty_available', '>', 0)]",
string=u'Equipo de protección visual',
help=u'Si no se muestra ningún producto compruebe que existan productos de la categoría en cuestión y que el stock sea mayor de 0'
)
renew_glasses = fields.Boolean(string="¿Renovar equipo de protección visual?")
scrap_location = fields.Many2one(
comodel_name='stock.location',
string=u'Destino del desecho',
help=u'¿En donde se almacena el desecho?'
)
В журнале выдается следующее сообщение:
> /srv/http/odoo/odoo10/custom-addons/hr_lprl/models/hr_employee_lprl.py(34)action_lprl_update_inventory()
-> move._action_confirm()
И вид остается замороженным. Буду признателен за советы и рекомендации, где go глубже, спасибо.