~savoirfairelinux-openerp/openerp-usa/openerp-usa

« back to all changes in this revision

Viewing changes to shipping_api_ups/report/summary_report.py

  • Committer: Sinoj Sebastian
  • Date: 2011-12-20 08:13:31 UTC
  • Revision ID: ssebastian@novapointgroup.com-20111220081331-10la9pb56q41n8rd
Updated all modules with latest versions

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- coding: utf-8 -*-
2
 
##############################################################################
3
 
#
4
 
#    OpenERP, Open Source Management Solution
5
 
#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
6
 
#
7
 
#    This program is free software: you can redistribute it and/or modify
8
 
#    it under the terms of the GNU Affero General Public License as
9
 
#    published by the Free Software Foundation, either version 3 of the
10
 
#    License, or (at your option) any later version.
11
 
#
12
 
#    This program is distributed in the hope that it will be useful,
13
 
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
#    GNU Affero General Public License for more details.
16
 
#
17
 
#    You should have received a copy of the GNU Affero General Public License
18
 
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
 
#
20
 
##############################################################################
21
 
 
22
 
import time
23
 
from report import report_sxw
24
 
import pooler
25
 
 
26
 
 
27
 
class summary_report_print(report_sxw.rml_parse):
28
 
    def __init__(self, cr, uid, name, context):
29
 
        super(summary_report_print, self).__init__(cr, uid, name, context)
30
 
        db_pool = pooler.get_pool(self.cr.dbname)
31
 
        self.localcontext.update({
32
 
            'time': time,
33
 
            'get_total':self.get_total,
34
 
            'get_items':self.get_items,
35
 
        })
36
 
    def get_total(self):
37
 
        ship_ids=pooler.get_pool(self.cr.dbname).get('shipping.move').search(self.cr,self.uid,[('state','=','ready_pick')])
38
 
        return str(len(ship_ids))
39
 
    def get_items(self):
40
 
        ret = {}
41
 
        ship_ids=pooler.get_pool(self.cr.dbname).get('shipping.move').search(self.cr,self.uid,[('state','=','ready_pick')])
42
 
        if ship_ids:
43
 
            for ship_id in pooler.get_pool(self.cr.dbname).get('shipping.move').browse(self.cr,self.uid,ship_ids):
44
 
                key = ship_id.service and ship_id.service.description or ''
45
 
                ret[key] = 1 + ret.get(key,0)
46
 
        return ret.items()
47
 
 
48
 
 
49
 
report_sxw.report_sxw(
50
 
        'report.summary_report_print',
51
 
        'shipping.move',
52
 
        'addons/shipping_api/report/summary_report.rml',
53
 
        parser=summary_report_print
54
 
)
55