İçereği Atla
Menü
Bu soru işaretlendi
6028 Görünümler

I have 3 many2many fields in a wizard(hr.expense.report.wizard).My aim is to get the data from the fields and pass to the search view of another model(hr.expense) ie) In Group by, Accordingly the report should be filtered.I passed the date field through domain which is working fine.

Now i need to pass the values of many2many fields....

My .xml file

<?xml version="1.0"?>
<odoo>

<record id="expense_report_view" model="ir.ui.view">
 <field name="name">Expense Report</field>
 <field name="model">hr.expense.report.wizard</field>
 <field name="arch" type="xml">
 <form string="Expense Reports">
      <group>
           <field name="employees" widget="many2many_tags" options="{'no_create': True}"/>
      </group>
      <group>
           <field name="all_products" widget="many2many_tags" options="{'no_create': True}"/>
      </group>
      <group>
           <field name="operating" widget="many2many_tags" options="{'no_create': True}"/>
          </group>
          <group col="4">
               <field name="date_from"/>
               <field name="date_to"/>
          </group>
          <footer>
               <button string="Continue" name="filter_report" type="object" class="oe_highlight"/>
               or
               <button string="Cancel" class="oe_link" special="cancel"/>
          </footer>
     </form>
     </field>
</record>

<record id="hr_expense_get_expense_report_wizard" model="ir.actions.act_window">
     <field name="name">Expense Reports</field>
     <field name="res_model">hr.expense.report.wizard</field>
     <field name="type">ir.actions.act_window</field>
     <field name="view_type">form</field>
     <field name="view_mode">form</field>
     <field name="view_id" ref="expense_report_view"/>
     <field name="target">new</field>
</record>

<menuitem  id="menu_hr_expense_reports_to_get" 
           name="Get Expense Reports"
           action="hr_expense_get_expense_report_wizard"
           parent="hr_expense.menu_hr_expense_reports"
           sequence="100"/>
</odoo>

My .py file

# -*- coding: utf-8 -*-

from odoo import api, fields, models

class HrExpenseReport(models.TransientModel):
     _name = "hr.expense.report.wizard"
     _description = "Get Expense Reports"


     date_from = fields.Date(string='Start Date',required=True)
     date_to = fields.Date(string='End Date',required=True)
     operating = fields.Many2many('operating.unit',string='Operating Units',default=[],required=False)
     employees = fields.Many2many('hr.employee',string="Employees",default=lambda self: self.env['hr.employee'].search([]))
     all_products = fields.Many2many('product.product',string="Products",default=[])


     @api.multi
     def filter_report(self):
          return {
                  'name': ('Expense Reports'),
                  'view_type': 'pivot',
                  'view_mode': 'pivot,list,kanban,graph',
                  'res_model': 'hr.expense',
                  'view_id': False,
                  'type': 'ir.actions.act_window',
                  'target':'current',
                  'domain': "[('date','>=','"+ self.date_from+"'),('date','<=','"+self.date_to+"')]",
                  }


Avatar
Vazgeç