56 lines
2.6 KiB
Python
56 lines
2.6 KiB
Python
# Part of Flectra. See LICENSE file for full copyright and licensing details.
|
|
|
|
from flectra import api, models, fields
|
|
|
|
|
|
class StockAgeingWizard(models.TransientModel):
|
|
|
|
_name = 'stock.ageing.wizard'
|
|
_description = 'Wizard that opens the stock ageing'
|
|
|
|
company_id = fields.Many2one('res.company', string="Company",
|
|
default=lambda self: self.env.user.company_id)
|
|
branch_id = fields.Many2one('res.branch', string="Branch",
|
|
default=lambda self:
|
|
self.env.user.default_branch_id)
|
|
warehouse_ids = fields.Many2many("stock.warehouse", string="Warehouse")
|
|
location_ids = fields.Many2many("stock.location", string='Location',
|
|
domain="[('usage', '=', 'internal')]")
|
|
product_category_ids = fields.Many2many("product.category",
|
|
string="Product Category")
|
|
product_ids = fields.Many2many('product.product', string='Product',
|
|
domain="[('type', '=', 'product')]")
|
|
period_length = fields.Integer(string='Period Length (days)', default=30)
|
|
date = fields.Datetime(string="Date",
|
|
help="Choose a date to get the inventory ageing "
|
|
"report",
|
|
default=fields.Datetime.now())
|
|
|
|
@api.multi
|
|
def print_report(self):
|
|
"""
|
|
To get the Stock Ageing report and print the report
|
|
@return : return stock ageing report
|
|
"""
|
|
datas = {'ids': self._context.get('active_ids', [])}
|
|
res = self.read(
|
|
['company_id', 'branch_id', 'warehouse_ids', 'location_ids',
|
|
'product_category_ids', 'product_ids',
|
|
'period_length', 'date'])
|
|
for ageing_dict in res:
|
|
res = res and res[0] or {}
|
|
res['company_id'] = ageing_dict['company_id'] and\
|
|
ageing_dict['company_id'][0] or False
|
|
res['branch_id'] = ageing_dict['branch_id'] and \
|
|
ageing_dict['branch_id'][0] or False
|
|
res['warehouse_id'] = ageing_dict['warehouse_ids']
|
|
res['location_id'] = ageing_dict['location_ids']
|
|
res['product_category_id'] = ageing_dict['product_category_ids']
|
|
res['product_id'] = ageing_dict['product_ids']
|
|
res['period_length'] = ageing_dict['period_length'] or False
|
|
res['date'] = ageing_dict['date'] or False
|
|
datas['form'] = res
|
|
return self.env.ref(
|
|
'stock_ageing_report.action_stock_ageing_report'
|
|
'').report_action(self, data=datas)
|