mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[IMP] add departmeent on hours block and add hours block button on project form view
This commit is contained in:
33
analytic_hours_block/project.py
Normal file
33
analytic_hours_block/project.py
Normal file
@@ -0,0 +1,33 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from osv import orm
|
||||
from openerp.tools.translate import _
|
||||
|
||||
|
||||
class project_project(orm.Model):
|
||||
_inherit = 'project.project'
|
||||
|
||||
def hours_block_tree_view(self, cr, uid, ids, context):
|
||||
invoice_line_obj = self.pool.get('account.invoice.line')
|
||||
hours_block_obj = self.pool.get('account.hours.block')
|
||||
project = self.browse(cr, uid , ids)[0]
|
||||
invoice_line_ids = invoice_line_obj.search(cr, uid, [('account_analytic_id', '=', project.analytic_account_id.id)])
|
||||
invoice_lines = invoice_line_obj.browse(cr, uid, invoice_line_ids)
|
||||
invoice_ids = [x.invoice_id.id for x in invoice_lines]
|
||||
res_ids = hours_block_obj.search(cr, uid, [('invoice_id','in',invoice_ids)])
|
||||
domain=False
|
||||
if res_ids:
|
||||
domain = [('id', 'in', res_ids)]
|
||||
else:
|
||||
raise orm.except_orm(_('Warning'), _("No Hours Block for this project"))
|
||||
|
||||
return {
|
||||
'name': _('Hours Blocks'),
|
||||
'domain': domain,
|
||||
'res_model': 'account.hours.block',
|
||||
'type': 'ir.actions.act_window',
|
||||
'view_id': False,
|
||||
'view_mode': 'tree,form',
|
||||
'view_type': 'form',
|
||||
'limit': 80,
|
||||
'res_id' : res_ids or False,
|
||||
}
|
||||
Reference in New Issue
Block a user