Добавление функциональности к кнопке в Odoo 11 - PullRequest
0 голосов
/ 23 февраля 2019

Я хочу сделать кнопку, которая удалит текущих игроков в игре.Это мой класс в models.py

class pista(models.Model):

 _name = 'bowling_module.pista'
 id_pista =  fields.Integer(string="Número pista",  required = True)
 estado = fields.Selection([('0','Desuso'),('1','Jugando'),('2','Mantenimiento')],string = "Estado de la pista")
 descripcion = fields.Text(string = "Notas de la pista")
 jugador = fields.One2many('bowling_module.jugador', 'pista', required = True)
 _sql_constraints = [
     ('PK_NM', 'unique (id_pista)','Ese id ya existe')]


class jugador(models.Model):
_name = 'bowling_module.jugador'
pista = fields.Many2one('bowling_module.pista', 'id_pista', required = True)
nombre = fields.Char(string = "Nombre de cliente", required = True)
pie = fields.Integer(string = "Numero de jugador", required = True)

views.xml

  <record model="ir.ui.view" id="bowling_module.pista">
  <field name="name">Listado de pistas</field>
  <field name="model">bowling_module.pista</field>
  <field name="arch" type="xml">
    <tree>
      <field name="id_pista"/>
      <field name="estado"/>
      <field name="descripcion"/>
      <field name="jugador"/>
      <button name="Eliminar" string="Eliminar" class="oe_highlight"/>
    </tree>
  </field>
</record>

Я могу добавить кнопку и посмотреть ее.Но.Как я могу добавить функциональность?Я хочу удалить текущих игроков Удаление игроков

Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Во-первых, вы должны создать представление в XML, как показано ниже:

    <record model="ir.ui.view" id="bowling_module.pista">
      <field name="name">Listado de pistas</field>
      <field name="model">bowling_module.pista</field>
      <field name="arch" type="xml">
      <tree>
         <field name="id_pista"/>
         <field name="estado"/>
         <field name="descripcion"/>
         <field name="jugador"/>
        <button name="Eliminate" string="Eliminar" type="object" class="oe_highlight"/>
     </tree>
 </field>
 </record>

Затем создайте один метод в классе Pista, как показано ниже:

    def Eliminate(self):
       for record in self:
           for line in record.jugador:
                line.unlink()

Когда вы нажимаетена этой кнопке в то время выполняется этот метод и отсоедините ваши записи.

Может эта Работа.Спасибо.

0 голосов
/ 23 февраля 2019

Вы должны добавить метод для этого, как это

def Eliminate(self):

   for record in self:
       for line in record.jugador:
            line.unlink()
...