You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
3.3 KiB
69 lines
3.3 KiB
# -*- encoding: utf-8 -*-
|
|
##############################################################################
|
|
#
|
|
# Author: Houssine BAKKALI
|
|
# Copyright Open Architects Consulting
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as
|
|
# published by the Free Software Foundation, either version 3 of the
|
|
# License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
##############################################################################
|
|
|
|
from openerp import api, fields, models, _
|
|
|
|
class cooperative_report(models.TransientModel):
|
|
_name = 'cooperative.history.report'
|
|
|
|
def _print_report(self, data):
|
|
|
|
return {'type': 'ir.actions.report.xml',
|
|
'report_name': data['report'],
|
|
'datas': data}
|
|
|
|
def check_report(self):
|
|
data = {}
|
|
|
|
report_name = ''
|
|
obj_ids = []
|
|
if self._context.get('active_ids') :
|
|
data['ids'] = self._context.get('active_ids', [])
|
|
else:
|
|
if self.report == 'coop_register':
|
|
report_name = 'easy_my_coop.cooperator_register_G001'
|
|
res_partner_obj = self.pool.get('res.partner')
|
|
domain = []
|
|
domain.append(('cooperator','=','True'))
|
|
if self.display_cooperator == 'member' :
|
|
domain.append(('member','=','True'))
|
|
obj_ids = res_partner_obj.search(cr,uid, domain, order='cooperator_register_number')
|
|
elif self.report == 'operation_register' :
|
|
report_name = 'energiris_wp_sync.cooperator_subscription_G001'
|
|
obj_ids = self.pool.get('subscription.register').search(cr,uid,[], order='register_number_operation')
|
|
else :
|
|
raise osv.except_osv(_("Error!"), _("the report you've specified doesn't exist !"))
|
|
|
|
data['model'] = context.get('active_model', 'ir.ui.menu')
|
|
data['report'] = report_name
|
|
#data['form'] = self.read(cr, uid, ids, ['date_from', 'date_to','display_time','display_cooperator','group_by_task','group_by_task_work'], context=context)[0]
|
|
data['ids'] = obj_ids
|
|
return self._print_report(cr, uid, ids, data, context=context)
|
|
|
|
name = fields.Char(string='Name')
|
|
report = fields.Selection([('coop_register', 'Cooperators Register'),
|
|
('operation_register', 'Operations Register')],
|
|
string='Report',
|
|
required=True, default='coop_register')
|
|
display_cooperator = fields.Selection([('all', 'All'),
|
|
('member', 'Effective member')],
|
|
string='Display cooperator',
|
|
required=True, default='all')
|