From 1912a2c6962d7044bf8ee52177ce1db77614e546 Mon Sep 17 00:00:00 2001 From: SHEREEF PT Date: Fri, 5 May 2017 12:34:58 +0530 Subject: [PATCH] [ADD]Initial Commit --- car_workshop_report/README.rst | 48 ++ car_workshop_report/__init__.py | 24 + car_workshop_report/__openerp__.py | 42 ++ car_workshop_report/report/__init__.py | 25 + car_workshop_report/report/car_pdf_report.py | 405 +++++++++++++ car_workshop_report/report/car_xls_report.py | 571 ++++++++++++++++++ .../static/description/banner.jpg | Bin 0 -> 66353 bytes .../static/description/cybro_logo.png | Bin 0 -> 50824 bytes .../static/description/icon.png | Bin 0 -> 12458 bytes .../static/description/index.html | 99 +++ .../static/description/pdf.png | Bin 0 -> 39693 bytes .../static/description/wizard.png | Bin 0 -> 29250 bytes .../static/description/xls.png | Bin 0 -> 37269 bytes car_workshop_report/views/report_wizard.xml | 67 ++ .../views/workshop_pdf_template.xml | 70 +++ car_workshop_report/wizards/__init__.py | 23 + car_workshop_report/wizards/report_wizard.py | 62 ++ 17 files changed, 1436 insertions(+) create mode 100644 car_workshop_report/README.rst create mode 100644 car_workshop_report/__init__.py create mode 100644 car_workshop_report/__openerp__.py create mode 100644 car_workshop_report/report/__init__.py create mode 100644 car_workshop_report/report/car_pdf_report.py create mode 100644 car_workshop_report/report/car_xls_report.py create mode 100644 car_workshop_report/static/description/banner.jpg create mode 100644 car_workshop_report/static/description/cybro_logo.png create mode 100644 car_workshop_report/static/description/icon.png create mode 100644 car_workshop_report/static/description/index.html create mode 100644 car_workshop_report/static/description/pdf.png create mode 100644 car_workshop_report/static/description/wizard.png create mode 100644 car_workshop_report/static/description/xls.png create mode 100644 car_workshop_report/views/report_wizard.xml create mode 100644 car_workshop_report/views/workshop_pdf_template.xml create mode 100644 car_workshop_report/wizards/__init__.py create mode 100644 car_workshop_report/wizards/report_wizard.py diff --git a/car_workshop_report/README.rst b/car_workshop_report/README.rst new file mode 100644 index 000000000..b202fd893 --- /dev/null +++ b/car_workshop_report/README.rst @@ -0,0 +1,48 @@ + +Report To Car Workshop v9 +========================= + +This module manages the report of Car Workshop. This is fully +integrated with Car Workshop Management module. + + +Installation +============ + +To install this module, you need to install Car Workshop Management +module located in: +https://apps.odoo.com/apps/modules/9.0/fleet_car_workshop/ +Also Report Xls located in : https://github.com/OCA/reporting-engine + + +Implementation +============== + +Reports can be in downloaded in XLS and PDF format.Also we can +filter results based on: + +Vehicle + +Date + +State/Status + +Customer + +Assigned Person. + +Credits +======= +* Cybrosys Techno Solutions, http://www.Cybrosys.com + +Author +------ +Developer: Treesa Maria Jude @ cybrosys, treesa@cybrosys.in +Guidance: Nilmar Shereef @ cybrosys, shereef@cybrosys.in + + + + + + + + + + + + diff --git a/car_workshop_report/__init__.py b/car_workshop_report/__init__.py new file mode 100644 index 000000000..942f00d16 --- /dev/null +++ b/car_workshop_report/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +import report +import wizards diff --git a/car_workshop_report/__openerp__.py b/car_workshop_report/__openerp__.py new file mode 100644 index 000000000..5e17b96aa --- /dev/null +++ b/car_workshop_report/__openerp__.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +{ + 'name': 'Car Workshop Report', + 'version': '9.0.1.0.0', + 'summary': 'Reports for Car Workshop Management', + 'category': 'Industries', + 'author': 'Cybrosys Techno Solutions', + 'website': "http://www.cybrosys.com", + 'company': 'Cybrosys Techno Solutions', + 'depends': ['report_xls', 'fleet_car_workshop'], + 'data': [ + 'views/report_wizard.xml', + 'views/workshop_pdf_template.xml' + ], + 'license': 'LGPL-3', + 'images': ['static/description/banner.jpg'], + 'installable': True, + 'auto_install': False, + 'application': False, +} + diff --git a/car_workshop_report/report/__init__.py b/car_workshop_report/report/__init__.py new file mode 100644 index 000000000..94ab9152c --- /dev/null +++ b/car_workshop_report/report/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +import car_xls_report +import car_pdf_report + diff --git a/car_workshop_report/report/car_pdf_report.py b/car_workshop_report/report/car_pdf_report.py new file mode 100644 index 000000000..aaee4d04d --- /dev/null +++ b/car_workshop_report/report/car_pdf_report.py @@ -0,0 +1,405 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## + +import datetime +from openerp.report import report_sxw +from openerp.osv import osv + + +def get_xls(obj): + getvals = { + 'name': obj.name, + 'vehicle': obj.vehicle_id.name.name, + 'date_deadline': obj.date_deadline, + 'partner_id': obj.partner_id.name, + 'user_id': obj.user_id.name, + 'amount_total': obj.amount_total, + 'stage_id': obj.stage_id.name, + } + return getvals + + +class CarReport(report_sxw.rml_parse): + + def __init__(self, cr, uid, name, context=None): + super(CarReport, self).__init__(cr, uid, name, context=context) + self.localcontext.update({ + 'get_details': self.get_details, + 'get_date': self.get_date, + }) + self.context = context + + def get_date(self): + date = datetime.datetime.now() + return date + + def get_details(self, data): + + lines = [] + + if data['filter_vehicle'] is True: + if data['filter_user'] is True: + + # ----------------------- FILTER ON DATE PARTNER STATE SP ------------------------- + if data['filter'] == 'filter_date' and data['filter_partner'] is True \ + and data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE AND PARTNER SP ------------------------- + elif data['filter'] == 'filter_date' and data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE AND STATE SP------------------------- + elif data['filter'] == 'filter_date' and data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON PARTNER AND STATE SP------------------------- + elif data['stage_id'] is not False and data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE SP------------------------- + elif data['filter'] == 'filter_date': + for k in range(0, len(data['vehicles'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON PARTNER SP------------------------- + elif data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.partner_id.id == data['partner_name'][j] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON STATE SP------------------------- + elif data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ------------------------ FILTER ON SP--------------------------------------- + else: + for k in range(0, len(data['vehicles'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.user_id.id == data['sales_person'][l] \ + and obj.vehicle_id.name.id == data['vehicles'][k]: + lines.append(get_xls(obj)) + else: + # ----------------------- FILTER ON DATE PARTNER STATE ------------------------- + if data['filter'] == 'filter_date' and data['filter_partner'] is True \ + and data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.stage_id.id == data['stage_id'][0]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE AND PARTNER ------------------------- + elif data['filter'] == 'filter_date' and data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.partner_id.id == data['partner_name'][j]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE AND STATE ------------------------- + elif data['filter'] == 'filter_date' and data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) and (data['date_to'] >= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.stage_id.id == data['stage_id'][0]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON PARTNER AND STATE ------------------------- + elif data['stage_id'] is not False and data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.partner_id.id == data['partner_name'][j]: + lines.append(get_xls(obj)) + # ----------------------- FILTER ON DATE ------------------------- + elif data['filter'] == 'filter_date': + for k in range(0, len(data['vehicles'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and (data['date_to'] >= obj.date_deadline): + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON PARTNER ------------------------- + elif data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.partner_id.id == data['partner_name'][j] \ + and obj.vehicle_id.name.id == data['vehicles'][k]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON STATE ------------------------- + elif data['stage_id'] is not False: + + for k in range(0, len(data['vehicles'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] and obj.vehicle_id.name.id == data['vehicles'][k]: + lines.append(get_xls(obj)) + + # ----------------------- VEHICLE ONLY ------------------------- + else: + for k in range(0, len(data['vehicles'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.vehicle_id.name.id == data['vehicles'][k]: + lines.append(get_xls(obj)) + + else: + if data['filter_user'] is True: + # ----------------------- FILTER ON DATE PARTNER STATE SP ------------------------- + if data['filter'] == 'filter_date' and data['filter_partner'] is True \ + and data['stage_id'] is not False: + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.stage_id.id == data['stage_id'][0] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE AND PARTNER SP ------------------------- + elif data['filter'] == 'filter_date' and data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE AND STATE SP------------------------- + elif data['filter'] == 'filter_date' and data['stage_id'] is not False: + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.stage_id.id == data['stage_id'][0] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON PARTNER AND STATE SP------------------------- + elif data['stage_id'] is not False and data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE SP------------------------- + elif data['filter'] == 'filter_date': + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON PARTNER SP------------------------- + elif data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON STATE SP------------------------- + elif data['stage_id'] is not False: + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + + # ------------------------ FILTER ON SP--------------------------------------- + else: + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.user_id.id == data['sales_person'][l]: + lines.append(get_xls(obj)) + else: + # ----------------------- FILTER ON DATE PARTNER STATE ------------------------- + if data['filter'] == 'filter_date' and data['filter_partner'] is True \ + and data['stage_id'] is not False: + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.stage_id.id == data['stage_id'][0]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE AND PARTNER ------------------------- + elif data['filter'] == 'filter_date' and data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE AND STATE ------------------------- + elif data['filter'] == 'filter_date' and data['stage_id'] is not False: + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) and (data['date_to'] >= obj.date_deadline) \ + and obj.stage_id.id == data['stage_id'][0]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON PARTNER AND STATE ------------------------- + elif data['stage_id'] is not False and data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] and obj.partner_id.id == data['partner_name'][j]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON DATE ------------------------- + elif data['filter'] == 'filter_date': + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) and (data['date_to'] >= obj.date_deadline): + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON PARTNER ------------------------- + elif data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.partner_id.id == data['partner_name'][j]: + lines.append(get_xls(obj)) + + # ----------------------- FILTER ON STATE ------------------------- + elif data['stage_id'] is not False: + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0]: + lines.append(get_xls(obj)) + + # ----------------------- NO FILTERS ------------------------- + else: + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + lines.append(get_xls(obj)) + + return lines + + +class PrintReport(osv.AbstractModel): + _name = 'report.car_workshop_report.workshop_pdf' + _inherit = 'report.abstract_report' + _template = 'car_workshop_report.workshop_pdf' + _wrapped_report_class = CarReport diff --git a/car_workshop_report/report/car_xls_report.py b/car_workshop_report/report/car_xls_report.py new file mode 100644 index 000000000..80b834cc6 --- /dev/null +++ b/car_workshop_report/report/car_xls_report.py @@ -0,0 +1,571 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## + +import xlwt +import datetime +from openerp.addons.report_xls.report_xls import report_xls + + +def get_xls(obj): + getvals = { + 'name': obj.name, + 'vehicle': obj.vehicle_id.name.name, + 'date_deadline': obj.date_deadline, + 'partner_id': obj.partner_id.name, + 'user_id': obj.user_id.name, + 'amount_total': obj.amount_total, + 'stage_id': obj.stage_id.name, + } + templist1 = [(1, 3, 0, 'text', getvals['name']), + (2, 3, 0, 'text', getvals['vehicle']), + (3, 2, 0, 'text', getvals['date_deadline']), + (4, 2, 0, 'text', getvals['partner_id']), + (5, 2, 0, 'text', getvals['user_id']), + (6, 1, 0, 'number', getvals['amount_total']), + (7, 1, 0, 'text', getvals['stage_id']), + ] + return templist1 + + +class SaleOrderReport(report_xls): + + def generate_xls_report(self, _p, _xs, data, objects, wb): + report_name = "Car Workshop Report" + ws = wb.add_sheet(report_name[:31]) + ws.panes_frozen = True + ws.remove_splits = True + ws.portrait = 1 + ws.fit_width_to_pages = 1 + row_pos = 0 + ws.set_horz_split_pos(row_pos) + ws.header_str = self.xls_headers['standard'] + ws.footer_str = self.xls_footers['standard'] + _xs.update({ + 'xls_title': 'font: bold true, height 350;' + }) + _xs.update({ + 'xls_sub_title': 'font: bold false, height 250;' + }) + cell_style = xlwt.easyxf(_xs['xls_title'] + _xs['center']) + cell_center = xlwt.easyxf(_xs['center']) + cell_center_bold_no = xlwt.easyxf(_xs['center'] + _xs['bold']) + cell_left_b = xlwt.easyxf(_xs['left'] + _xs['bold']) + c_specs = [('report_name', 8, 0, 'text', report_name)] + row_pos += 1 + row_data = self.xls_row_template(c_specs, ['report_name']) + row_pos = self.xls_write_row(ws, row_pos, row_data, row_style=cell_style) + ws.row(row_pos - 1).height_mismatch = True + ws.row(row_pos - 1).height = 220 * 2 + row_pos += 1 + date_report = "Date Of Report :" + str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M %p")) + top2 = [('entry1', 3, 0, 'text', date_report)] + row_data = self.xls_row_template(top2, [x[0] for x in top2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_left_b) + row_pos += 1 + + if data['filter'] == 'filter_date': + filter1 = "Filter By Date:" + 'Date' + top4 = [(1, 2, 0, 'text', filter1)] + + row_data = self.xls_row_template(top4, [x[0] for x in top4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center_bold_no) + + date_from = "Date from :" + str(data['date_from']) + date_to = "Date to :" + str(data['date_to']) + top6 = [(1, 2, 0, 'text', date_from), ] + row_data = self.xls_row_template(top6, [x[0] for x in top6]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + top6 = [(1, 2, 0, 'text', date_to), ] + row_data = self.xls_row_template(top6, [x[0] for x in top6]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + row_pos += 1 + + else: + filter1 = "Filter By Date:" + 'No filter' + top4 = [(1, 2, 0, 'text', filter1)] + + row_data = self.xls_row_template(top4, [x[0] for x in top4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center_bold_no) + + templist = [(1, 3, 0, 'text', 'Task '), + (2, 3, 0, 'text', 'Vehicle'), + (3, 2, 0, 'text', 'Deadline'), + (4, 2, 0, 'text', 'Customer'), + (5, 2, 0, 'text', 'Assignrd To'), + (6, 1, 0, 'text', 'Total'), + (7, 1, 0, 'text', 'Status'), ] + row_pos += 1 + row_data = self.xls_row_template(templist, [x[0] for x in templist]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center_bold_no) + + if data['filter_vehicle'] is True: + if data['filter_user'] is True: + # ----------------------- FILTER ON DATE PARTNER STATE SP ------------------------- + if data['filter'] == 'filter_date' and data['filter_partner'] is True \ + and data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + templist1 = get_xls(obj) + + row_data = self.xls_row_template(templist1, [x[0] for x in templist1]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE AND PARTNER SP ------------------------- + elif data['filter'] == 'filter_date' and data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE AND STATE SP------------------------- + elif data['filter'] == 'filter_date' and data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON PARTNER AND STATE SP------------------------- + elif data['stage_id'] is not False and data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE SP------------------------- + elif data['filter'] == 'filter_date': + for k in range(0, len(data['vehicles'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline)\ + and (data['date_to'] >= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON PARTNER SP------------------------- + elif data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.partner_id.id == data['partner_name'][j] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + + templist3 = get_xls(obj) + + row_data = self.xls_row_template(templist3, [x[0] for x in templist3]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON STATE SP------------------------- + elif data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.user_id.id == data['sales_person'][l]: + + templist4 = get_xls(obj) + + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ------------------------ FILTER ON SP--------------------------------------- + else: + for k in range(0, len(data['vehicles'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.user_id.id == data['sales_person'][l] \ + and obj.vehicle_id.name.id == data['vehicles'][k]: + + templist4 = get_xls(obj) + + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + else: + # ----------------------- FILTER ON DATE PARTNER STATE ------------------------- + if data['filter'] == 'filter_date' and data['filter_partner'] is True \ + and data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.stage_id.id == data['stage_id'][0]: + templist1 = get_xls(obj) + + row_data = self.xls_row_template(templist1, [x[0] for x in templist1]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE AND PARTNER ------------------------- + elif data['filter'] == 'filter_date' and data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.partner_id.id == data['partner_name'][j]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE AND STATE ------------------------- + elif data['filter'] == 'filter_date' and data['stage_id'] is not False: + for k in range(0, len(data['vehicles'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline)\ + and (data['date_to'] >= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.stage_id.id == data['stage_id'][0]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON PARTNER AND STATE ------------------------- + elif data['stage_id'] is not False and data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and obj.partner_id.id == data['partner_name'][j]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE ------------------------- + elif data['filter'] == 'filter_date': + for k in range(0, len(data['vehicles'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and obj.vehicle_id.name.id == data['vehicles'][k] \ + and (data['date_to'] >= obj.date_deadline): + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON PARTNER ------------------------- + elif data['filter_partner'] is True: + for k in range(0, len(data['vehicles'])): + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.partner_id.id == data['partner_name'][j] \ + and obj.vehicle_id.name.id == data['vehicles'][k]: + templist3 = get_xls(obj) + + row_data = self.xls_row_template(templist3, [x[0] for x in templist3]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON STATE ------------------------- + elif data['stage_id'] is not False: + + for k in range(0, len(data['vehicles'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.vehicle_id.name.id == data['vehicles'][k]: + templist4 = get_xls(obj) + + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- VEHICLE ONLY ------------------------- + else: + if len(data['vehicles']) == 0: + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + templist4 = get_xls(obj) + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + else: + for k in range(0, len(data['vehicles'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.vehicle_id.name.id == data['vehicles'][k]: + templist4 = get_xls(obj) + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + else: + if data['filter_user'] is True: + # ----------------------- FILTER ON DATE PARTNER STATE SP ------------------------- + if data['filter'] == 'filter_date' and data['filter_partner'] is True \ + and data['stage_id'] is not False: + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j]\ + and obj.stage_id.id == data['stage_id'][0] \ + and obj.user_id.id == data['sales_person'][l]: + templist1 = get_xls(obj) + + row_data = self.xls_row_template(templist1, [x[0] for x in templist1]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE AND PARTNER SP ------------------------- + elif data['filter'] == 'filter_date' and data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE AND STATE SP------------------------- + elif data['filter'] == 'filter_date' and data['stage_id'] is not False: + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.stage_id.id == data['stage_id'][0] \ + and obj.user_id.id == data['sales_person'][l]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON PARTNER AND STATE SP------------------------- + elif data['stage_id'] is not False and data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE SP------------------------- + elif data['filter'] == 'filter_date': + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.user_id.id == data['sales_person'][l]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON PARTNER SP------------------------- + elif data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.partner_id.id == data['partner_name'][j] \ + and obj.user_id.id == data['sales_person'][l]: + templist3 = get_xls(obj) + + row_data = self.xls_row_template(templist3, [x[0] for x in templist3]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON STATE SP------------------------- + elif data['stage_id'] is not False: + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.user_id.id == data['sales_person'][l]: + templist4 = get_xls(obj) + + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ------------------------ FILTER ON SP--------------------------------------- + else: + for l in range(0, len(data['sales_person'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.user_id.id == data['sales_person'][l]: + templist4 = get_xls(obj) + + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + else: + # ----------------------- FILTER ON DATE PARTNER STATE ------------------------- + if data['filter'] == 'filter_date' and data['filter_partner'] is True \ + and data['stage_id'] is not False: + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j] \ + and obj.stage_id.id == data['stage_id'][0]: + templist1 = get_xls(obj) + + row_data = self.xls_row_template(templist1, [x[0] for x in templist1]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE AND PARTNER ------------------------- + elif data['filter'] == 'filter_date' and data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) \ + and (data['date_to'] >= obj.date_deadline) \ + and obj.partner_id.id == data['partner_name'][j]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE AND STATE ------------------------- + elif data['filter'] == 'filter_date' and data['stage_id'] is not False: + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) and (data['date_to'] >= obj.date_deadline) \ + and obj.stage_id.id == data['stage_id'][0]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON PARTNER AND STATE ------------------------- + elif data['stage_id'] is not False and data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0] \ + and obj.partner_id.id == data['partner_name'][j]: + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON DATE ------------------------- + elif data['filter'] == 'filter_date': + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if (data['date_from'] <= obj.date_deadline) and (data['date_to'] >= obj.date_deadline): + templist2 = get_xls(obj) + + row_data = self.xls_row_template(templist2, [x[0] for x in templist2]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON PARTNER ------------------------- + elif data['filter_partner'] is True: + for j in range(0, len(data['partner_name'])): + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.partner_id.id == data['partner_name'][j]: + templist3 = get_xls(obj) + + row_data = self.xls_row_template(templist3, [x[0] for x in templist3]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- FILTER ON STATE ------------------------- + elif data['stage_id'] is not False: + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + if obj.stage_id.id == data['stage_id'][0]: + templist4 = get_xls(obj) + + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + + # ----------------------- NO FILTERS ------------------------- + else: + for i in self.pool.get('car.workshop').search(self.cr, self.uid, []): + obj = self.pool.get('car.workshop').browse(self.cr, self.uid, i) + templist4 = get_xls(obj) + row_data = self.xls_row_template(templist4, [x[0] for x in templist4]) + row_pos = self.xls_write_row(ws, row_pos, row_data, cell_center) + +SaleOrderReport('report.workshop_report', 'car.workshop') diff --git a/car_workshop_report/static/description/banner.jpg b/car_workshop_report/static/description/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..629c28f7e3198e0a7c81d370a721f7b61e6f50e3 GIT binary patch literal 66353 zcmeFa2V7LUwm7_pp%>|0U}z#BWhg@j>Am+Z%nU`!PzD54P()OUR6#&RL8J*t7gVs( zQKX58f>Z$kDFV{JJs|2i_munYJ@>x%{r+d`&Q4ZVl9gm-C0Q#IcHZm^A8=3)a(4j$ zeSJUx003fu2toruK_3MC2S8W=f?YoVI73*!`;S8of5X88ao_;x0_@=H2NB!#(}Di@ z3+@2^x3ssx?<;_G^9%s+QSE<~Q5a`5%*YLc#rV5nd|;}k2-smucW)Htgg-wZCJL95 z6_o`4!$f6d;WDz4;s5}>3Hd?WO}zd5p*}aE`+mrMuq@m|2!VdXCH%P_5cVJSfE@a{ z9(a)Nc?jcu&zs`#UUq;M_yt>J@4NG6XBHset%0MeJ^A-p&9J0gw|D z6O#~=laP>8laZ29(^Ha@Q_?fh($dq?GEtN7KHoljfnU223NkW^0~AyT4p7k@IB4fSXVV7l20%fl@^>mDxCaVA@bC!; ziHJ!^$-vJ4Wh4Z^gYHLC0T6r$6b~PdfQXQo07@ zNFcdO0w*(f{ zyKSsU=)e~{o+AMsgtH}I>`s@64e^CdxY0#!=I|#f3$~i1@gzS4z1q61gvJk99tje7 zy&LsBqkD!my>afqKuvQCOqp9%_og!s`31Uwu1~o+C2`4O$I+D!zMwyQOh6xHYpv_8 zY=@jU_yX$CauNHu&p*A-ckKmcZKLzc2*6I2c+{v+Ao>1n^ik{Di+NjA72~?-nOLdg zlI%m-+b6b9n&b`D)Mck@3*X36d;?Rp zb0wENJ{2-y8@(zLKU$^+eEA43F22U+xdX&4yDvLNn`dS-QyeWwRMzYZH#@bFjc{&e@y zMS%TTnaXlS5*vSIcde_@bgJUzOx3a@MUhRBk0~${b0=?Q%$_Jq2|FKBbT?kvBV7v? ze()fvjEC)VlF2xK~?f~v9@GBuHAz{mvss+n} zAtlE3dA7Fvr^h&S>R5ock5{(@i~2WbKW_&JVVLf98}_VeLr|HE3S^Ds>4LW6;;6_Cuah1{W%xB8k*qc2MXNGH*TSt@O^U>CFYA)o zwA+$p-m5sN%=OH}<3!Ei>+Qm%xf4rzxjoh0MSR#Bd2i=R-@GJm^z~};=b?H%I2$um zH&GSM9F`w9-8Z>?MUXVBH#x_Sjj=G}Jd}R0@Y+gbs)c0HY*Y2SPf(@IlWxe>&>NpS zN7wVbr><*9RK9slR9Pv1@9aaw>NQVHr(yoOXXLsZVm)IAxTf*ZB%y;XG`VB>cfTraXz6JDp=D;)F6Yi8|f( zucl>!sz;nnb*srOB8^^@94Ib(-!C~<*U>rPv81GJy0CR4b*rN6MV1}~b)olaW#&Vq zGCzCT^_9SJu?zL=0}8S?I(eT@zNmzL@+`+p&U{%>Fq`mxt}I7$G@y=wi~C4o4CbN= zZ7Sttla*@pxa#y;D1S(uW7LBkKq_Q)>v8>Nk6?(BMOLA3^??aXgA|%U=~b_Fhs+0S z9TUAyG?GBvlP;NI_)}MsxcBn3o7CrE9CXtIAyOtA^vqX~*4{#+Ujj=XoK>XoAiKM= zQ4iO-9Q|4h`a;@L+U$J??*q>IN9&IIj!h}-ZxXIy+4E`F9bX5}xiTMY)M})kP9;Z9 zf7t;n&#funE_Sx9xskT6x31{51GJlqDg&1f+|s`6e~^99HqYdqtV#UIHxrK{DrbEB z56T>HKj6eMKq_?7;nl=^0BL~rl)ZUvl6lNMufV302RYW|I0vua7(!<#T*?n&&tASz z=;&Y2Hq}uSix{(y`miGHteEO#ZF_yPbh*>8DB;9FU`S|X{fk?sz3W%5$lXC=Ke1Wg zjVl+GSs{0I?&~gX+yRvPPO?soZROuceS6wab1g?Uw0xvDE#Sq}DoSy^ftjM>jK0X} z8kyWzO&;!dW-=}6Cq5Ni%k5hMxkTH!$kKAkd`z|pIj+zz9Wbo;fLXnW>z1luZ92vy zBXkES+fJyu(-;0}!4n-Y)AUj5t_!w}wLVm)+<&^bwIOnP{;q#spyUqV8oe+(q`Tee zxGp%kY}&URSD2|u%ZNvr6SHY&^JWz|T-oouUijsG{HAAm+|8k`b!_jt&5U)wy)K7H zPUo4|sFV8UA!C)D=ApOE4YS_Xy_&6hvw6xh({zS%S+VUzt}}PYBkm&9$A10ThGzHt zWXZeuMhdbE(`7L!{pyt=(#vJj^;zX zTG=ZtF27gtsHA8$Lvilq4*z=9R0jgj>@8NBzA}mv{)7y^G;j=ek3@6+Sjf%U0NU!c z*});*sXTlAuPZEmf~OHxQkF>FgM1cq$l*5kdTTi0>C?(RsOW;4Ir_4RvQ(4JjF1ac zZqP3^Ld#o1apf~Rz{)Ko+B(ifbttB*^?J33UF&o>3(MzMBZQ-`-#^=A;o5+8?{tk> z)T@j3%V+r1-XwT6QT_hX6{~ftxmYlpuEE4+ZELQ#AG*tzk6}CBGIaL9 zJv+RvaH!vZe!<&)`N+xBU%X4Y4y-$_yzOr)?OE2Hoa$(8$clXC7IdsKf~wElX&`j{ z(+)sX;~R(`XDE%lk2bwmLDHA_k@9wANTi2h>1R~1$7(^1&sg%;v(#@p+RBSs{U6pT z+Ksj`8%|KgY6?p)w8h1peUx^C1~eot6;{b&Bru9v>7MgC_N`sVcH>r52G*1Av) z9g99!6P{~LD_nza&#r`Ce(M_&cu4W^g9B$)qZY1P1!No@s`@D9@4f>Ve%V?MjkSGI z@c??5RTms%E;rI#Co*4hB2VkoR&QBM6;}(s^6_}Lf*sY;yfNNfx}`e%70xQ&d_@eD$oR!ewMkG0^z5MZH^6)dOaam2+zY zR%P^Wiwt`9!7vG$m4s;3{ibkIuL)#6=cX5Fn-u4;%PXww5H0L<#w=SKo2p!(o z0p6t6uurdy_m}hX|6Y^~k|gn!_MD2t^{`sSG0LjAcS>O!G#hSP&sKMUQjtKVhb6eI z1%|vh?t|iPg}*ydsPc-}z{BV5jfrPlAVqhibGf(((x|EP2DOu?%ezlyW?@e}(Vh9Y zT904%GVJ8M-bN$G;3n@TtJ37l6PtaTn~tlqx8pyhh)P`Ve6ncrE_Dzdx;o6W17yn# zEjcbNgbkHxYx>zHZZwJvZt|3Tah2Ql*bWuhSkXSr`1q=Y0qYsQzDD>Phpx~`-Oo(* zC+8C>p9Mdu6IuIO|M}JJ%QJk{+da;i(}UfcRKr>0DwHOGC42jMVO+_AVcxahq+(S8O_ zUT8CQD>D$ZSJ++xBR>qr#T1PV@G*2gjszpg!A+VUfC2xx05HH5Km%AH0Pw+O1(5oD z#|A^Y*{FD8y}waJ?i}FmiFNnh%@T|!*~M1Xx7OWj4LMvEctW7_qsBBp)!5Jn>yGjE z2jdxWn5sTl@BK=Em2~#|9x!qB*Z&?+_48K!5%9+T2Phs#r5n%kf*qnj$^-;6{GPqt>__b{{IFAI8Vh4GnfK$f54uuKUe* z02g5b(xigHVliHx7;o2aNyztOa3uT$r`U&^xVyUj96`1p0n+vzA2(K@vwJjr(|bVn zzq{k;&~Ds;Z-s&%r89e@54yMuBL#q+-RIkwq}YYxMt#t3dgkw8_T93UcEcpQF6cmZ zc^A|a;U3a&Lk9%!;x6w(wEz(p7cj;XbV2qD2UjB;XPWFnh<73MpbNtAj_$pnUTS9*_N`BF`Z{1&#RFJ_b7uK6WI-{19@GY+AXC)Ui#^%qzNkZ4a&GjtGE+h5B}UvFQg5$}V4 zflT6t@e5J*ba&lvDayUdYwd%xci=5C5$n{#!r%w|@9<{qW!V;lK66f9r>TQXT)TAKvNT-A{3X+a>_iB!HVJ z+=hx0PzF$-D%2TNEWp66l^f{Cg0KIs52pyA{Syorpb9Ec5x5L@cW{(9K`%g1<%RLV zsR41C3|v9DhX{PZgB(AeeJu|N0ktJNJ3nH6`1axW`<~zX;*#KU`1}344gThV|2KKy zhu8oh5@3J|eD?&-0W&8*S2Pwh1mTqXIGrX=8UgxPtm-dxo1_L#Soc7*aexy}54md; z!5KTgX*YKz6wV;>a~Nkd`8jOn=e=u|!4*vE;_ivo!1#HAip@Q<7OBQ}2pCUbWS}XA zqm&f1I-vbLosekMzU6`38>8=p#iDmrbNfJ6te=y&zmJn2+8Y_H=8knk`zd?6g4$KA zo7cAzD1QY8bKlqKG5tnrFHn*EUBQQ&BPeg-QUF3;pyChw{%Aw|Z`x^G#fU&1qd#cP z`mXlfO__yD2oQVuOPm0|c)K&sp6;J$@4P1j*coO-xnZ$BvLYhh{=!bUbE(2ejF(7| zlaB~oSX2a%R|@iRLVBRFFlRKVGFIUF{Ggr-=8jU}vXs;p)%Q_FySZzH_@PZh49t)r z9!MD!my#k(K1epm%f}0ib%F(Xd3yWH1}SjuW-bf*abOWH*e(jzLxF4e^eD_q-w39P z@k7HTg~f%CqHs72fe?mENFosMBQWqtteA)>_#Ytzmynf2$cjn9zCB!EX?`ddSravl zZ)JfY1+H(EI&tEJ@Ck8YjGwCrTt-F)mxq{`5QrhUKPB2zGwTJZMBbxLVm~d0rl3qg`vM#%_L4nKN%gGfja@+^)$_4x02eP|EA1oOpPyA=NwyG*)u-LtIiuT}(n!9Ih?}hbxOB zq}0R^5^Ca->Ke-GdvyiVs$q};INsS$ivrV%i>XMfsjG-1Bt*qo|G-OL>4}>qqtXb5I6r;Sct!|F@B+;^g|x=jpDvH_A~MBuL_qq!Q8y z7iTAFX(4I2jFS)?jz$PMyEwZDxgZcu64DX~7nGQkya;a4fm!U0XV4Q60A`}9uAvG? zNUEudtEj6ZaBU<5mr<8glai5vtE!1B|6?*->*88S6fO;l5h)2#DKSxmG#m^`i>t_J zz$GOl)x>1rYQLZI&)W9)Q%Z_EiHpmi(L$oqCvxP&-D zQtbE3l#zCkfFoUSf)yz)Bq8O35|WkzyGFuA94+A@C4)f25x<{WSw>n#Oj=q7p)3m0 z4u{LAs;Vd>5bEMmQpyr)aE+f*?so4UuZaBMjNf9aUHK-f<&I;r;BV|;iuV1^7_eQD zChLU69pF&lLgK^>8pZVu?EV`A?aw-NKkW(d$iW}Vp1qR&F)r8>;H0nY3J%IY6Kx{D zN4LLI;2%>hp{y*W2KKzV_}&m#hD)hyNJ*)wtBQ)LNlAk;Xpfvp&>3VrmCT)A|?9UO!C|HfJ>OcMP4OyEM$UxCZT590-M^6>#J<=~PO<1G^Cjrz7;`p(QSEC%+|%<;PohC=&+ zi`wrD`*ShhX@LEe1^y|gX-NG4qKE$ZhWpVCxK8<#e*1S=Tk_v)IGO(=LsU)X&sHM; zC~AIl#r2;RHQ$HFzR37_?EIA@=AY-ZKjE!^Rwn%E5dHJD;(xn`b|>_`d0FJwQ}$k1 zZBNi?;AH3SK0@}lCg*>K_rOhsEV!ur7goW0lGeZCj?ix8aF(8}5dM)VRq4^IM~X9rJ?J0bmj^i4I)a7uhoqX@&P z7IFS>52*KFdA(;(=@!y5g2DD9{>d*j(#H?9C_s!rd~p=0`v(0Hpx^TZ7H2Dl%!7V9 zXAhho4|f8X&JQFI^fTf7u6zC?yEuFPqc}gx%Nw-R;NfWYL3yEY{^y|oVqgI7Bso+M z^hXA|qd|KFv2a86!fqqfYPwr=Cq6+%uK~n~~ z>rZ~?pZr+xNH>TJsA7DAcMmzk4kP(tpvqqwriDJ?3EG*2j6gGnlOGB+GI;qoc?Sc) zUY&8N0GfYL+wOw*oIi~G3Ga`*xW3(sUozh9GYCWb57>{CKVTTpdLs?~;sYB01Lm9t z0M+LKfa&cI7|%`c+&}~XRCWAR9|j!1{A2=gMAd;`iYJs;64G3GsdA|79f{_wnebJy;1Hs zjSbA*`xlD&pK|yYll_zf&b!CgpojMMHbCbn3{Z8@0npiY0H2l&fZE*vV<6xAO^?I^ zcXl4Ib0RB#h68zl^Gk6aT zH*gpb0>l6*Kn^$xr~^8HAz%hr0}cQZJVN3H{#xY(a0)mJL;}%3Ja7d_2Qq=%Kt50m zlmXSiL*NO}2(*Fs)${@bzz1L)_yo)YE5HW$V;dp}1%wvD4B>$ALIfdV5NU`aL>;0B zF@ab^jzL@@-jD#uDabiUG$av{4!H%%hm=BUAWtAIkWNTHWEe69S%j?PLGj4(=EfB;+2gt5`QnA(Mc`e=yNZ{EcNeb;?+IQTUN7DUyia(`;8iwcPzER` zR0t{!RfQTtZJ;htKWHd43Yr4Vf)+z-p-s?k=m+QwbPb;npB5j6FN80LuZ3@pkHq)I z55IBvK$UByu9c5=9cF5#1%K zC+Z>^C;CcEM$ADhMyx?>L+ni)PMktqKwL-MMf{O?gM^BNmqeDtkOV~%OcFHeU!|A>X^h6o-`#`yS3Z+`~`EFU{}4f1Ur8 z0G@!PfSW*uK!+fnAVSbx@Va2<5rQK!N4$?@9qAJy7g81q6e<)N7G@CE6Al-y7M>H~ z5wQ_T5NQ(G7L^qB6um7v0H=ZLz{BCS@I^5JF{D_ASdTb`xQ2L`_gb)LAC>u) zk1O9*o>LK3@l&Z(Syh!)J+1m!4XUQ87Nz!5okrbUJzafJgG<9zqfldBQ&RJ!=3^}a zEnTeytv+owZKQU-_Pmai&S{mj3-RsCZ|lAOleIWO$$s{%v8+c%m&O4n+KRbwV<@Hv&gqt zwN$fAwESQtVs+Z8&6>s9-TJ-_k&T7T9h+rab=xbp<93pEk#?```Rs%2TO3#%JRKf6 zQaU<0mLDTHW_hgO*rt=AQX53ZX)7=-2YaP!#zUpDGTow ziS+s4E9-m3civCe?~Xsj-`@W|mJVD@wFevyI3F+^s2G?L`1ORviSi)oAn%~|V1eLE z!5>33LUK;xpG2N~dW!SZ*;B)(l~3Oag@ihXJ`LjziwGM(qj@IpEa_Q~voFF$!xO{5 zoU=Sv8^IQFCSvrw=J~?N1Cf4_eHY{|WM0I-=zj6#CGksXm$su&QLWLU(J9fJG02$K zSa|H!*qzHRmtV#q;%>wf#(T%VPEbn7OQcQ=NgPemPpV3WB}XNHx#D=GB}F17GnF(o zAoasly{q@rc+%q2Hq+hGdoxrrO0FHecIn#cb=38)8%J*xXR>8RXRhCLzxn2t=B=u% zLs===gxP`F6SpmHH|0p@H9??IFt0S$8sN1Ozsb7BV^LXZo>yy!^j!y@kSv~7{Zv6aZ zgKk4}qekPiCgrC3W`*X5EwU{&teV~=)ETdzTH=WFxVZ~E-|KDVv!$0FMo0t&9Xx*s9+Vm%AONplQ#K}~ zbpo$nqZ3QGMMS@M``NHKgY!I(U-$yAs)T7`RvFU&siYcTQg%6l(F}!s)-^(W=o|?t z6LUney2kAai*ED7EQ_N{xEt8e0q3vm-NN=em#|4|S-AyWyqb5v`OV~4ei?0R_uxxu z`86&5Q)>dUIyT2cqS6a$Ti;Hv@7>l0B_IHAki#d2LcMl>8Hc+tPMN?Mq?pk6Y=YRW z(s{Zkox|KJ^d`=J3*tNys^JWYro36mvZqA;U6Lbe=NQeBz`N;~m=7V;S@=*`bE(Db z@@I$nyGNHIl5bc1l4OmaZjSr;;<#VX{0Aie>Vh}xvVb|J!l0Ztg{79x#SQjR59k90 zX3W8$>UV(WFC%`!Gug$obUttEaiRJ;+MwVBJNNzPg@Tc&6y5|1^Ya?Y>38;W`zaAF z^Z$A<47~E~uc_+==lr_!C!f41&pf{x_i^~k2ToXS4THhYP4}18uE2Og$WLEDTF;k+ z#d*l>6;Lt1HXh9PwEyx!ZH}+gOWW4j8!ydA8HVr=y%o7S(SyuLhM+DM;Uy|lI8G(p zxOwpngIy6rB(tB{`0(Qc!aOI3?Dz(vV^4Wp?S4HLC*A$<*&7zmdJPAq>G^6*XqQf& z8SuW*knsLX6(0ZNvy`sG=SW(ZX`jZvh;F?p$>#F*rP;Y?{Q!~Gz=gTSIz?s@J&?f# zd3!z!eQ=++2ZPmqVHdI!tN zrQFe^k`1F@E*(BB+k5Gav#UmJUSwYT2#%J zNT;gF=vH1@7|x9o1SM>W>hd0vo`t9QrQ8XHEjXb30Mq=hwWyZV;*I2c?+zD}3t38Pkyo&Cx8U#g!^v7D=l=Gwu1-d^oOuu(rX?&@$$RkcbYezag zQd}(XUv%!8c4RuYedOEpNOqkZI#j_b-Q9a~d|ne**le5+>%0*Aid-WvLx6f&{3q``5kxqGd6TDv;ow1MQT z3SHRK33;iE1cjSzZv^=*=q>2D-%O~+xhZJsM=lwhl=XFhsf8t%^vf`7G>FAa4zMk5 zy?B?Poux&Z?8g(bb@j>Do>MPPV={9dz&K2~dwMOkYt8A*&p(FVBlVl|6N1Z?o@QR= z93RN3IL~HvKTv1^upG(iK3(71%6aNg#z#AqZY9CcID3JB%D`YL@e6dYD+5mURV||h z{gJkhx-x~2yBd@|y!NjMDbqJO8n`Fji!ce zo$;U-QJ&4x`gcN|yM~O*twwxOsimX~+(@9lNiD48@Rw1#UK3=Wv>BRg&Q!RZ>v3A3 zSpO>B+Ngp^aylc|kV=S;Cq?Ar&)MXCzYx66?XMag#SO-_=#Ra{5adR6f78OcC{=vR z+2T>I)Zd*-|BYEOIrxHJRo!K3@mdLV6n(C$&g=Rk&wJ4^K($xD{dEQH_)FBo+kO{P zzv$Y^rSVFw0)`|yMmuH8GsT)3S zFcW$?XmdY$HHYkFH0zF9@7%osqKQx z^#(dEPDi;7dE=a3oLQl7fg{%)lJehvl42}Vid3Q$A?2s`2D!)sJlI%&p zsTBV?zM5-BXM*x_+yp{{oDNVm`i}@WICPdA$-W=H$P?tv-yE5jLkx>y`k*N>c2z#T zt0LA^r-zqnA=NN`E3xO897|9P5=uK(el>o{B30vlWpBOq8-g&CtdoKA9&P!iUx!7r zo$!uD3HQtdP}p{dYc&*QRm+eZd-*&N@QTSomBzd)9bpnIimYE_&fO4GC%hS z@lmx{YzURM+aC%$V7n;%sp^6Jw69s{{gCV(fM)i1^PtsBq5k0Jn?~sr7e8kxk&2}r zG!$K^k(A*)bF77yon%3CoA*Lhh8NnRK8@|MypWT(o}srM!u-iIyLS#;!E$Ym3%L7s zt#*Lt2GZL%YeEyh=u99Z&Y#xd&FF+T+l4=kIzj5DwXrC#ci-5&1@3c9T{&;1!M@qz z%DXR21=pWX;Zur-TZmepdH3qrp+tfLK|#{kMtWZ~VZ`SsHaqhtXD2NnlQP zr1%Jtsoq{k?DYJleO{2V^pN&Qey^b+^>9?#RkU`NHC3;b8H!otuU}wCJ`C4Zncqt9 zIkiM)8*U8@Pkv!L_g1>1F_d@xYuKBiO%ujxDR$`RcFN|lxe&uI>N%fN*UedH1*T7u z4C@dDWc4h=&ZV(<9U0M9c$rys(vk3#vuIh+{Tg`v{N>8+4a2YSG)1}_VU1C8YKyOP zJ@TLV$`&*+^ThWm5YHw>ijk3w;hT!IUtlKTp}B6r{4`FR8;i7`eokH8nNZXZEh~EG zr|osbSBivLOJiPIs~?!l$vxVs(J=Dm`U`8BC3>(!@KsP2x?XaQscx^WY|m;6sj~8V zREP9ISZ}jkDH%!h;2()GA5$qHxieoMmMA(tpq?z2pA zE{S73j5fVxaPr&cxse(VtFEYBcu7m z#1qM9DJKy#nb~~zI3rV(HS1BsCzUEpjAT4sM<0uFx|d!5iZRu@G|}#-hsg@QJ8_A? z{#8M^dkrflDgNHmLs7SnKjk$oCjd65E-EX#S0$-)OSEVMAJ7N1d~MD(RcUZ0M{TLR z4YomCnB@)aC1pt{hk^r=gJwA1Dn7PFG!VR^cBl6*W!K^cQ+-vh(^cZVx*Wd@47M4tzUdYIvd!`T zOpCD7_ZL^xJ}RqXpxn!cMCrllYheeqv`}Zl1!Pe)-&7*M(53wM>iid~If@(h$u^Ym z=r9pc?r7rZUv->mj&G)G!~027w2$^*>)^1za3A}lmS)x0Kcs;=tk4B;<_W^hJhU_S z@|wlL+tc@TV*d*@{VVq*Kgds;>^sGSmyG3^k2Me+#h)# zv|zCp-yJkhw6c%R@ENK?_;U)*QdV7G>^;Zo$E*f9%*`OG28x5sT0E>? zTn+LW7U1>{Q&sWGd%G~dV!gH|<)yny15~ZhQN6+T+>N>tVUFqXQR4^3&&r=#>y(=6 zoKsaH9(d=Xd-*j^-@DID2f#(!es_T20zrcZh*cnSZoqZ>etdkhGQJsB2EY1$X?!{U zkJbW@{1@96E&AH)>{HEqyjvwlWZe@6%BpWS_lO(ztz6*HoDD17kU+iAIERH>RTrvVcN#ov}1q_=*1o2s{G4A=hGU& zMROUwkID@V%GhC)2IkN+Z#>Ow!emj|SI_Dh!1V9g%Pm62m+WVgrc0|bj;$mK5%K3# z*CzBupJ{cva{7>cQ^QKCkj#n)Q#CqlDZUQd1L{kjsdSBdn4T)`e!)EQ^zh^@y4WVJ zlVKuj)(*sYp5<)vz>((cwI z2GF>#GICV3c7`WSVOCw9BHZb%VNXHL<*Ahk^Ke zqbjz!*ncsANx0fAHpItzF4f(jF zB<}!=1KMT1m`YZ`=4a1%Zw=K}=T)E;uA+l)AH_#FGc+u-@*ly>dES;xd~10r?ve&q zy}sCEPg`p`qpx6#zbQn5^H^*rw!6Rs!E!9AORA6BmPBj3>9x8-gW!JFR>Bf8&!I9U3|23z+^P(3iVSCQ4gEJ{Gw^GX_o8H z-o4k;cJ((R@MzGS$(zX*$3HqYlBnCM#Chsdf%~9m<*OSmNxD6{nv-x|WITTWmS|>i zv>|_UXl&g2CUMm}lffG~9~DIG7aL0o)*iGi9l3P+(A5Aoj#ta5ngqTtbn1K}XUghP z8`f%C@mT{fjbYc1j^pDWuSrDfYidE31%U>bGhNHURX>h^O3w~=5$(G zt{-2$J}07nErf0I+6|?H!WR|&M5)hiTOMg$;2s>EXaCqasI%BGH2!(K_YF1cdsLIq zyLc5cW?|`5)HkOe6PWJ+;hxX0-M>B7C=Wl?Jy9b0NztVTS>Kz+GI7}Ay`CEteoP_( zQP{-^J7+G0Zw^=R?fyeQGy0dz){@qYIQR>OqJqZGNv$uJNDh0CsXlb;`D&Wyx^-vk z?J2u7{`IJ<$!$>=1ulQ+UrD!(sa z%;)vyTgybur3-l?%|IKSVjJn$e`0HmSH36-zSZ@KIjzhrWeM&vMV<#v7FKDPilLc^A3EC9u|$>xhY-=%q>Y&? zsFc$Xy-!P^dyYR|01t3YU|PfE z+-zb}hO+tU&cLbcZ8W+COPo~*QA%Ugn+R0X5#6{WC&psq>KMM(ggrCQILvj<`v{8laM(-mujpW;tk+UTHOgG?b$zwf#(#qM zu!!tZM5pe`{Y#;g5!;OirJpdwluK#RfpdGplA1Ph>W!^L!Y!7BP&;q-iUUzOr)isJ zO;h>6#v6XN<`c*C$kKN6!{Up~RPO*XAyvZ%J>2JdA{)GwUE|Nr82KKr+P84E=CTIVDi-40B+d0Co@KwX{A=q5JT^I0`NUYoDG53zh&m4zJ1(aFmv zb(EZT01RoC@T|mpSN-&ti}W>RHKuG056|Vz-IWvF0nR^XQD#`fEZHvJ*=VV5obHkA zNS(7u>EjE$ba^|uVyk2zJ(E-0R?0Cw zZ@Xr;bA+3HsV3376_;((o8*gL9&W<_%8>OSap1<9H{^i>vb=4Hzj1Gqhnq=e%x?s9 zEQPfznss?&n>#T=Q7PTe?}l}{@XZP-_PB-`ZKYsVP8HtZnHKUCB``~^g2j>Y^YiN)HK{G=9FEI6&sSs+5wiT+b!!t?HN@nD|)clq_gk` zl=jkiFJ0ep@vXskfTRVd`7^P}K@qLt)+K9{HcNczqkWP>=IAO%{YQwH1qZ^q7~bGB`zzPXkAoYz`aoA8E0Qj0@S=c)Hu!nwH$%x=|zF`D`0$@v!S z9H4ZszPfbwl6Oo*QgWi;?V#%dx4kKS6I@g%UXOHrpb8c@;=Uen6RW9^!*LJ9jiR3` z!s7V8>pS0Pf3{$|8uoOUFkZb5u~e0sJ>_t`r(%oc)2DRw!-rmT0xa1Vk35WgF;(ie zwmrmdor$OQ{#iUQlZd*yKaZS+g(J9cHCR)`4!wqvhrXTJRq?3%2>#z)ko|$>dx{bi zd9AcLpa`W4TOfbZvdk!a@El}wWCsY682Z}Ax2cA%4MmqI!4}`O`0fq;H{X}1*FtTB z#Wu|9DqdS)qZ(g-?oLycZP#<-xtX;v@^}Fgw^nwy95D5kc9=<8!o0MJjcvCPzAk8+ z5~J%c#-hL!UvT^MjVltZ^N-ou%2p9R@u@_Tl zs4<$Q=B4C4aM+4}a;PoM_e!)c>Ts9i-twC6TYuhCT)dD`8OJ}pFrAKih~glhmpm<# zUA)jN7xy)8W(-Zuss1p8DC3g|S8$)|l6Oq)<*O=MhpSU|xpG5jq#nnW;Lft+1g-ZPq7NwOJ;8yc%CVPh0K9WSvvt@I7I z-?geuxgjd!{N9$Ue`_rji{({;!_*H8v9>RusQybW%%FZo^6}8 zu8%qoD?1jN~n zYAz8Sf@lkTpy+Un=8Qb%X+3^c?n0W?ON3T(L&RQO`l77k{|>rz)Imd^Bg zt~F%a@+3@~q+cAHxDcVb_D)7ysd;p}M8H46tUrR)a0ie9|8HR&+Z3%cS8bc}j~i!J z_TM^xVP+*!d8Mv(Q|Y*LX~2;()FeA&8pTh$LEO4B|7FsNmrCj#&of=$hm}J}NFwp~ zMbn?HI{z{Q{2ytp{ym;x%kq$Vi^w^Uje6o5F~ekTt(7fENyvIES((n1R%0;Db*(+| zxW((1T$5Iefs9Nul;`qM=R4>1bnR=xo^D-hl15AnihH*`eDRS@PPGfw!>Q#xu3>J4 zyaM5k6*M1nQ?xdNY2Rtl1D0aJfw^kjNpYKD2e7ECp=5jaxR-&un(6F2Mh>rx?fcD_ zSrFYvs@PAbO6;|7sm|wU>DWHY%S~a>XjjGq4THH=f+NNFY>h$*usOPx{9<8=*pyP| z=8BvgD0^ek&NfF4W6J$6r0{E$Pt0q2{Z2Uh!#oSGTpJf8A;3 z^Q{XyWqjZ^g*(z5+@^$x7ON+2{=uF?Z$`d!!d~N@-PF4N?06}!+AG^O0UFuMTDQH< zG~-`Prs&P-&3QIp|8!*)&Mx*$AUQyh{4Rt^+3bmY{zPgyV}ACKWJ26)My|I=>dV(^ zmdKheu&r5gKbPx%YVyg$BRYSyy6V!$`&Yu%$&cIj#~m%GMkg7zjYlM|s!jE=8;H+LIZ> z>Bo2&lCB7-dpOYLh{+=#rIO6)pd+nNZg(^;t4Uye%+Ib8@ibUGGw6|IJ?oYG_C>Id zvJ*LVMe)(;pqqT2_+3XUIyNajI#|=Zo55c1nE5)pMD{=a!V3AEsK7i$R6v9 zpFnw_IGZ^BFf4+UyLtLz&iiI_b9$cZX8NEPO$%d}ngSLpO@^IaZG=1)Hde=aSB6>3h87^b(*rue-0WbViMp@oXh6Vm$ zm&Dg7b>kWr7bAd~opbO8?YrbN+5lKwuq}tY3@-DBtWCWZ_h%b|@pwXkd{@6LH z=P?TJj85!!M&48(;eb(P`pXYMBkRSte77cp?h{_1^3uwA8<KGRbWDX1W;UWlN>B{y#awma#ko%Y&Rspvg`IYg=`JKekC<(H{c(P?Y|8X|L_DPYrz5ZD9hbrz zFsw{p{1E<>iQC=oY|p|`gEu5Oc->0#QrE+#9ee7h4uq{`6ES@@B$-nk3P!e9QKfyZ z$QaPlw05mdkp#63Xee>~XH%LKC+D9g!ru^XpegeYEbsrG0D4n+kC{+~M*dvs2-}o& z&O7__=e~{5V#5l!XVZ(0l~TKFuScHv1vFGMA~NzDichs!l?Dp@2AwnJqFvr!wI@rz zI?ilx%sw`ujT$rgC(Z_fe@bwzN#Cktd`nk1u+ZA>NHZnsy1Vjr>mj9?a#qp7cQJe} z^lMEwb#{PsK@5=niK{njz}t@+16q9Jjx>nqlAr5YXCE-AJf|0}Z(elQsHiq~(<1+A zMp)9-*JIrumD)svUJy-;gPr)0va-a+#o(>}^lpY84%yx}|gs zG&Ki>x!1RhCbWp@IFXVZ0e3YCijHwsh|a0*wmX8pvS)k_em2mBu;!i~v)lo=c|W9U z#t0>@eQJ^AyT18Q*ek+i>lUqhdKAQhAegH>w8ua`wBv2_Qy1RkEFN}+HM%&C2_ED7 z0#g{DySdK9HdKBy^|}Tk`7=XTL4`8MhX-VG^?9emKABY5DL87z(U05AC)TKOK7TJW z|Df67bl1b>JNDG>le*p(as&K2tq)N|mk7_uN-=QIi1au5z^x1~jnrRNv@BcvIDxJ# z3SSSj6tlHgCZ1wSG&qtykS@is==W7;q+7b@#`s$14v@G5*n{O-Y#|R{=wbcXe6ORq z9(G;!*`{uurtUybPPmlS>_8}X+dXV-Xnjq-{LxkC^WF*D!Q0NPmxfwv?dm7z6V@%v zmAsE0=PX&wwN`5T8s=1Hb*uNX^%sL3fKxs*r|D*#m?2F^-n$kq+vX1(8qxz7o;X}? zXDQjNr(ExR!HvCU{I)aHb#t`~YY2aFTR21Lokb#3@mz|!3R~!_%VN2iwDX&W?8GBH zHt1xiUS|8C{i}z|PA0PAD(ok^H3U7%K)(xa11sVba_jy|C$9nYnf; zZd?Caxf0@`{8h`3ecO5@N)rr}J$^xsJr;tu%dHzvn@}h{J7laD%QU9_KkL)s`o5?@7w0mGp%leiB~Wtky$z5F(W>FpF{@hqen7L zyX1@3E{$8|X0;IXpl3?(;%tbfN@t9ln7KllR{dzhR%>vThrPUV!L(B{&jcjnDcfwhqtOyPazG~xp{vv@k`C(J@y?k+xM2wrdH3u70-Nxh#gu5BbW!<*yOt(vSfQ!S&bK&C!&0!ZG z96X(rbK!{34j}Ej13U;cb1@W~P$lR7(g^=5$Mpu3TBv4E}$-y>(oa{kA?lSb!i1DBayi zHzOk5oq}|OfJieaokMpiDBU2^N)3%LgtWv^3c?UFFf+XOv!8v=@9e#wea`Rmp7-=j7|pvk-aX{r@{Xm z@8QHi%d>!GOgwh6`7uH5ku}F7@i5=`{E%UT;Rv7pS%ka0sn+Q^@ffZhQmj+w7_9T@ zA^ja8p%|Zg@GUFmZP%#FDrDr!HHiPEUVj70P>URaaF|?}FfqrBMJGfhz!MP{iQbz@ zzl+0P3_3rf;V=3+OI-0oE);pMD8Kr^-J`a&#oUyza_Y8?x&Sr3sRl>y3g?ogGLi_o zRYg$Rlxm*ip_01o_wW@-_!qTsGxxHG-9_AtR^}H|^mm@eHqerhD$OxfBZ6y?#d_GS!`Re2lc@zOD+S-08rZUP zQ?<5IeMI{L=eK@s*Jc$j(A~6Pr%~WaojxT}i^NW=fDo{(euj-JD~i5!J6KTE&j22q zQwG6MQxw_6+3djwd>>Is7jjY--iUi`bptfi^gY0dGBO4oq{S%lJpgS&D%1?MGm@!< zgzFbxgOp!Cc4i7-aWZg|R2(i3N2TOJQIc*B1O~+l`~W8gyfsN;P1hhnfY=*uN**6C zq}M1JUrU!WJJG6NtbOYf@UTxQ} z^YRmc_dfS+^Iv$9X(F9FOFCrN5JoHuoC8QsK_UznFrPoL0pFL|I&tMHl?S`G#t)%q2Izcm!r}4F-bdFm38J&TR*3k2KbIS3O4@=$@)5$N#KJaZv8q{@uil{ z_V(7sR?2Q1E_zF@98`R|jA36D@>bq`e7WGbJ((g3k#PPf)^0a zLREaoHapfnl{JDG;fG-D*6YqQnDN+bn_-RlLi^&*X^9b2KJt0>m_PhyT_5%%ZH`1H za2Am9V7pXRe8?app&S>n2d@30{&bqx~2!wQ@=jtMR_sk5_#`JKADV35iHte)dsla2=O{^roL1q*vy{-tF?li;57p$D(kv_FM80hkF|aAzOq4$80QiOD)6i2jUqBStz|IVbkCO zi2;2spZ{d$|M5c9k4e!E!77J|6z6w-*2r0U0kx=<9P~H%S5{z|@X>ijE|3Bxzq*DL zq}$j>Ss0>8FMHq+*t4OOJmX{`nRt`GX=s0mZ@*PC4{j|@P-3DMU>{joIlconFxof& z?uJzQZPl1K)4Namk~1pbo^jB7g;^4(0~dpJmH(Mt zkh3M}XJs?eNEac>$81epj9j4#s8P###+jd@t{*xtV4z^~@0@aIWY_D{?AUqhRST+iU!+$P5gd+byXCgEE+AKJiw1u+@?J zm4qWTXGFD(!b#8&?#Sh@x$4ai@#TU+W-nteJHg6}P&D+6Mo4g?Pf11BKJ*DX59yf` zTwzA z%$4Ml(|;nBk(%pY5eQR6n@*cwTo`-_k(3xp6M-3dMmmI$dF*n z$a*E|$V=&V@rE~UWZSdDiBYf>ZQYI&t>P?W9}DJhP28g_61Z~-2EarN>qalSDTb3& zt6vV`*C5J6$cFA_c;)u)Y0;>x<-949JpH)d=U$`fa*ZG9<2PdWu=P0Cpjo#{n|Ql> z(UbJ{=(ZE3cmTB47J2#7NRs>A??>_uY4^(OD0A!QhK@RDIN*69ZV>DWjP&q43ve8+ zH(k>eVDoElPb!XCR3j3-Q*@Ub$R0d`jcTJQcwYm0Qd;6e98cgnGw#{4oxNL6HcMEY zSd8e$$TH0ZbzEcHnusTQ!~>#7&9n;S;{DE49Sce_x+F>~Bg!9SSlmMkQNF`pDO9~L z=0EWk)r5+M;Jn#1OIMo3ol+^bAx7zxx?dnRX@hc!R0Y{>#!M4Ua#Q_S^YiZfGa2=d zHn@MUTK`x}NqNlMVj3yy!>R)N^tf7i!(6b1j^?PdOefRS^N=-TQI%SW_oup`=%JP! zk>>3TtidQVDu1x{i43XFW6gV9YEZW-@bp4-F7636r|n7PMO=8+hY4H373~(#{BFCBuY&-WJ0dQ z2WJiZTM+P$tk#v&Aw|~uske*9VIg$Rn%c&>t zNa85n|LZTmItu9b7e^V#o2$Pp1sFbW_8P;WL4R%_p>}cf%X1EjYFOtwE?NC$1m30u zwzOScEC1W^%le@~ZFMnMM|%FSAYaPHkH^L~HQ{-+6O;WC!~kw=^S5%Ama)wqXDH*C zzXlOrgP^T>99e(JihoLs|9TrLx-)zM))xw}zRM7Yrx6jM|DN@2H-k(l?oI904~S*G z_+4?gIu%#zj!rT8S}0o+!xw(#1bQaXu@j4~u_O(oWX7^vK*N^SDk?~^YXH2%@^am# za?xP>=qXO9bKmUdJPgWP@`Vrk$X{O=XgXIX)6?2Y%OR2$LNaV;_8^Fijw)C8yu~GX z?O8#vDy5C?Jo+o4YfwtYBxRbN(EZa00D>e>C8${`eKPe=Qe%7aw&D}vV^-rH+Nv*n zg^!-o2cuW!I~Q+8i+5DVa%*+@e4|sYKKd-n3{W%?N!K(6}_xZ4WhW zdwpo5QkpP8g;TkaQL#k0X_JDlYsZia&Xw}ZZ~nn!Zq8L>Hs_F$Yh-jw=(u<@1qO{w z-*NUs_-)_oN%N&yICQt%Cm1pkYN$6NOf&?O&%AY$Wa^L6j-*3HqEg-kl;}^3^0?w3 z)Hd(oRz6FPj*)oL;W_k3x)K4ZV*n$`PTd zVLwr7Ul*F=l7yKco=wfKXrl%CGGHWkme`U>G$@AFasa%O&gR?5<7F-ET{!4+#HZ%1 zC$3!Pg&pP1zm>ZwL|*`)v7}TReYyA-sn}`O@_jjtCuG;4n;HIWt%HQd6GerKb8Yrw z1@9LV`6pgXjSGPF{1jSlf~qL(ub$(2UNo`MKK8NZEk!=T8eyHBv6}VWAKM#q_i7QQ z58v7A+^D0bH}SUJFwsh781occMAeNYR+&FOpK2By*i(^rdGA+=M(QNqwUsng3^hh= zPYy4R&thhqvsAs@o*TqeCaYJ?17f1_9Tl%zy#{gU8FYWcN&e!?%#W#y7*%^?(hLvF zw@}E~IwR*)L8@k@g_oOgPC|9+!)4YQgziW4Z#!f_EP$KC>{>{wsh{ zN|n-$)EtbL(!6q|E#DXa+0V3x)iV5^xkf3-AdU5R4Sn8}rUgG3%(50WvZ>qGWTyL+ z^)A8)^IjLLEhj0lffLdA2f*a-TyRHN3BjtCKmQhF)l;%b2%Gg%n>k3$chjd-i)Tbn zp{L-Th%!^N#RW~5xh9e7>Bf4dtVCSeB$;5|GU%9--_qOkcN(TKys0}C^~T~Sg2^b5Ff$;F#pDlzM_cr@;Nd@ z4ZEq+Q+WP;&NZ6^D z3z5lvGR!0F<|IwntdvifqY;-zYG;)KF1Ld*Z)mKlK)KX0V~{oe&&z*(A!=rlF39XH z@m-HvEn!TYZ6-pi117$sFVohCXg$953OPGSm%y$;+!)uU(%>$@Rq)p}I-ok&MH$5@ zrUX{hat|?OuqE1ACI~$k4*9<#QvNTvmj7=y`S1MsE{9Q-1KKen1NZ)r;<9ts{o~ut zLw&2Fizu#A-@cg9>6R=G3&GXpeh@usA=-1;_Y-$R`*irF6U~;KF2m1+o(*F=^M8Z# zzg0a?mZwv?6|OWD=Ym6b{Do$i1jD#eH*_c0`x@k$b(MjF%NYQ7sPeDx60o4SlGBb_ z(m>u&iYqx7j*4bI+h04`^rabi1G03Y=j*3EJ%Bcs&@Z06Re%N_r*xB%3NPcHveN7+ z48Ou;*;G0t<5TPgNB5WB4Lm@Dp?|>4`|=9&1mW(+_r9a;h1!=JB8~UoeTWPD*oPyM z%=fSy3)9F_UZZD4aAa)AiZl)DWJ)2C-}nxj|#V1b*Ftbg?w9Qs&^U+(p4HP29G75s1QEv zEfh6+*o()>ocV39J?X9ZTWeR*<+WesEY398+c*+wYPU;jJ4?1lRm_5F$g!&ruk=P; zg*Z`7oRkvLf&OaxsecF?m9}L8o?~YDcS6L~I=fz*l&HJkYAk+^!)^L7(n;wXVVFuR zr}`+*C{I>P*Bf=$>=;scArWsb=91KULNN(>y$4=TYFcV$XGU*V3&@P0+r+9jpt#?7 zv5DlWZ}mv@(Wvr=m&2$JC+5;Bp*dW@AKhD*9hSUBiuac0zPE(G zv8X%3^{ypnDmt#Q0vC|{7G7j{9tjlm>|6d_uAvuP?c`{~FGm3@wj=PWaQ4f5B#bv_ zp3N3ZkgTFJQ7Nfw0{@%7rV*-olAltYvMUuo_+3b9QA-~8g*^Tz2?Ex-{xmsG&I#+yd`H?Tuzm@H* zq~|ID7MOlWWoi(GyY#m;7H(ClY$YirDRMEB)+XQq9xpsuykSAbyX zPWI$qhsB8uH%G%fMBl!DL5eF9rq8p||4qGg6&CV>s^-9KRhRd*Jg@FupZ>!{6J56q~lC;M+fDzPpqwv)bD087BcqcWcX! zuc{l&#`Z%sDwULD{2JFeX%3`y>a)Luxbu~6R_m82VVuuRZbs0^KdAVyyEs_E0{dXH zY^6$xU^ahx@(|Z0`E|JK)XA^YeDD!+)7(!?V(g|T)K$@5^R;HKR8z4maspmc9{0^x zOX!g)CnP{Qc@3g}mg4#Euqe>rpBxf7mPjbTcMTH#a_|#PEl1ym2L(QZ`nxixD;V?N zh47AtFIcIQK2-+UdvipPozFWmz;NtHC?Ebsq2%WAYzks-Mk8|JqRAT=FoDDFgkW|a*F_V@vL~mg1jZcxJjQ(%Tcg9C)ZKqp`891^dC9iW{05&2APWW`s4sA1$UtnPmGx||^(??HaVXFFR zWz03`J2HQ##DipZ52)4wJz|Y@Ka;bwjD+eS8e+t-%E|DIdA66&xVaTq1&#&ccP}$n$an=RByPSC1&6BL$r4xejcDD-W zOHqW%%QFRzT5h-?v85oSClrugTzM1x74X$#x})v~_zcPE7CP}^Xzt1JdtW}MvJXio zcW+Z=p*Dn~?>g`!`IV*!J%`o`a;2E%+e^;!IfxUr!6vK%K9kr7=m6S;P`!M<#9<0?rp#+wy2-4o&pbvEXiDCGFg`pMR*dqqn%$lg?KseLxy(xI z?5F>dTiNr|cztXr?!g9`Jx(NXb!QHufOxpuK-pxLHEHb!b-^#{&Pe^dR6h@bEBq_T zNG>W0AwiI!CqEYAwAh->G>w4UH@(?6jG8+rHD+6$3Q_4zdMF(%z^-MYLjKwQRz+w? zfUtVeXk$PoWhR}{@FoRmaaq-aT9y)c6;J!IC*s1ZkL6{XZA&9yrkg}(wNs$`h%Zux z>@MRaya@?(fFdXXuqTa|T?7@)BK+Gh-ua&d&EQ`}YJ|Rok5_Lat=F=9^42!_Nbd=p zYR|~hWVD@iH~cV8@W}VS)V&7v@K~DK3BJg)mdTetWiRkKv*IyZKHk|iDb43mJBkqH z>4~x_^mx2=vc?q}>U_D{=KkK&S+gt;X7aqik*uzKJFZ$*A`a=or_B4&#L3*kd%+xq zLfjLA@QY_}MB2=_Z6!M7C=xcP^h(LfO&Qs9e_Ky!w`f>|GYml zc4bE#!??m>H`M?F(zBYmj}qgP6J3z3eUOi#f;+v%8u&PY`jn>0@QI zzNxg;?Eoq8i&LYZk?_ zC*OrCv|9ynZI-(qU@dvqMpMV-61)_u*iY(qLemgkzRfXi47$0?MR%JTl14w!f-G-?< z1%UVaKdPF4 z-u(~Kx$@kY9Y36*{*~83tWMDlyjvc`8u1+e>N_*dLU^GRp#^rkd#Ui#@o{V)Vm1E`G~&`&r7 zzogR)kp}$E2D1c@mzt}KXZQxxTI1%_^FB{M=pk1k8M^W_L4HZ6x31n`NrQRP9~|0= zC$c=dIjApa%fWWxwA{^IBk?N-r?k5QT|dQwyapw|-2HHai=HLm)p!fF=PJF`J_pb? zV4H1vZ+IlExB}(1!**gBDT*r2l`Og&hmf4zKySU`@aeM;dM@P?W<6~(iP$N zU0V)ZmdrQ9AnEniR_Bs$?$P+*)t~fSQfLF62BRK8mME`x%sevNyb|3 za#)@uWqrs%5R9?5Jt#l5!E9w*gG`N~SG*D9cV3WNVo)n}_jrc<9DxCY5F8Ui8{D zdQo{3tIa!5$b2uFoeF3BAP7k_vX~Hc4SLd%rCKnQDWDSTzOT(V)I!v=b(9r{?cES2 z8P{T(+A0i2wia|Yakk8Pd}yox#47LIILu1wB?^iH6U2Fc@55M{zGNk4ujo(mEbid} zBQ1BWP6)vp%7Tp{ibK(iFahumLvW6-pX^LldrWEowJ`xN=*CZz>H31!;e>(L{q)MH zx~(pO5qg_e_{#;yT>R>3L@pwwC{LaF{#{nvL>8-s(T1@hk*!3E>2~|}Wt7eILabr# zh{PySvCL!R<1vNt5!!5UCSVdlca*pqwU?|eTgv9ezK!hV4vcY0SXR^~JJv@v4m+^w zoAl$T_v|nR&zvvvhFT^qTAgmIa&*}75L0GLB+|x7BkzvGe)6jm`Ze2U&h%b`7+bDE zQ&?|zDWy{CW_CvDz$qh@Ni=bJ&rf7PiFFi92M~($W09w=xQeqin*uzN@MWA1ii>sK z(^zjxwlU!``dB~Fo>X+$7^ksv13sP8&5;-q@RnUOKu3&3S8C>me+IMLrCN>Cv71tM zrqX=yv(+$#dgN!rx+pp{nJB|h(9IFw;ha-QX5-dpLDl7$?0i*)}(um=W!xby$W1^5EC zD=_bECWhDi|D0Pap(tg5ysDFcRj`-&_}-h%i5bkCr1nmFJj*KMZIsZ}Se+*54g;B? z`_VPCGF6p*a@i;BhS-u6BH$MBahsg-`C#gGB_yjdCDwhCIYW1WQr9GSe~o4Kl6 z7=7e4O%}Yf#>*jX8GBq)GhB7~{FlP_HZFW$TQYj6H1H-QeSI?i{>N0^@7L9}G%K#G zR?$_N-({&!i0VutO*=E=iZi90K=+2(3CpVdl!qb3qHC8QS0F<<;O+eJ4I&17BY5+{ z6Syfnakl#7`k~ETdnL80`7*{wq+E<1m(UY_DhDKe>jTbdwevBO`{Xt*Vju@r$!PB2 zBA(E&dC2~f?=^_o4)6o|2**g|vpsz4)S$WjOk87b&Xvb?cr(d?WjaMq={sd$+~;7c zX5*wAuj-S?m1{KFvu6@3G#i;l73#b8Q9l@hj#!;(yW+QHxMnS3AB zAZ(M{bY;0r^{1XJUtxmf3f`%_Bw=Mx1|412ZSvQ0?3lXOFA(c>BDNbJf%;LB_+d$a z(446gzuwvHHcVZd__mzEL-2mB0GO7c>J0=ARO4PSXabY2_cUwb8!lgLW8XS})1BHx)a&KJ}bxWODJ=QIhh zXw37~NsQ4L4RV`!tcGPg^OYF+{M<3sl;?qcl42`~H+_i;?F%z58LI~wx<4d;N8!_w&?b`>*PZE(0s+021XW*W5t6iinTGZoDmC1n zJwM)m!r9&NdKJt*xH~{6@_hstH+kRSz7kL$O3C>lIkuJa4}#$z2E=N7f?R!l2q_*t z8#$>^rDZBBHz^@9tOR;y+CJ+i;^zf{ckC0p<`EO`St|)MYY4vzKIFzWzGc}?8qL0d zR&+3)b~{YB&?E}$H_y0_b2Q~}KwAfB?f_$ka_mgJUYE`Px|6ld$K8vFu5vkWFE=Yf zrer!zo{iCc@saFY!+LXAU4D$Tey22(iq#kS4(Tr5CBB>%YDJ%n)+-0OjJ+z$#R4wX zt?{Xz-5u;(woz{kTOGs983Sr)5~Tp7f-9#obaockm+@9{Rv41S_|5Mjv2&N%BF#(_ z2eZSQLki^Yg)5C6ZXY@+*yO2MUFtiB`);{~Dtt@N!Ja+vU+*x$; zNMRrFka({HJ{@g{!XhLCuq-Jl09 zLl^t&ZCS91BHx*0#+H18(_|kr^enk?Yl~MOFIVgoDi`X5f{e?Vv`<}w6qox%-qWu- z_z$U)gx_%9;4Z_sRZ_-?E%1iLX^H$o4J8uIYqzwxvmH@%Q%%R^*uh6_FBzF@n2Mck}!-za$NRvoAnDvTE-2~HfnQBs(*2!4N^I3>6g|y18%II1yYku zv&BfvAIh2D{<=a{To=nQxDcpHv)oGHb$s)N@O9ef#y+%D<-70HWOZH{X(I#d_4^6j zypzX)Vl6*)>ZzOURIS-#;@i$FI+|j)!e$tLn)4hHfGK5`Cf9NUf92m@8jE*)-@m-k z7?WA0_qxGY>&)2i%i||ej-BoakY!4qTjEK zQGE6V7$**3Hh7!z6|z6+dkw;+CkB-b5-Oa4PdqhFqF#G`F#D$I$||nvZI_Y!hFp@g zh#0bJcf2Xc%aMG4h~flzu&D9iL>WF~W*GCC9Xg)9qgv%JVv_?8j)MqbP2H`XkEssc zt7d3F(GADBu-_87ac(7u4GM6z`0Cl5m&m+l+ZkEHOAn4r+VAZd`7EYO%Sz)RDNjsR zYbPQL87e9?3bjHGe1MjlX#4S%u_igKfCMvnOE$1($ADhUS;!-{Lfgz05o#L%M?c$E znk8j_v%s80;AHV;q>@0?`6E&|zll~t0e@tKVJOr-eALpdVeXJAV59jgK#>XuT0zjy zskKB=OEoyad?&H-*EsQbf$)SB-Nyn~ThZ#|XMA4*Oz{|%_OzpWU>Tc(Hl~w|Oi?K1 z3A6bOU-@!pZ;**s;mW>EhSag|El7j)F~2Ei?7eSFPi4K~fWck!k-)r&X)0vt{zz@~ zGC5voLh*OmgT6<$-QH-->{$?1Glm|1YDe}a)uQP#EnWJ4^W6q-n$RT(55Jbg3v7Tw4cB3pl>MJdFagIS;5`WZ zQP6>sYgH`Ug5kI1uzS&w-sm8i?TRjWpc;MbH&bl?SBf#bxVq1#UeW9@#=w+FVA+B6Q|tj@=czs>dru-U?r z)J)!!xSIqi+);fI-a&r3i`9l*303)&OaCZAamqm!5=$cKJgqA&lvu;H+cSlyHX~QG zr|+mJDVG>D*~FGGf~T)R1Kil?xogn=e9$#W1qsoR5js@fesm3z0|PJ1fb^+cE6@+v zv39APc4^zkzZGgre6o20MeFw{{D7Rfb^$_R0Qdv2lhv3tHW&g|KI{0WT@dI&h8@@r z!$n!>Kb*+le!1w6eL}siL2>dc1bNEqKJL6kfxP89nDG=b$*7?b(o1c!z+k`2#F52s zrkVjS&vhjwi26_>LoRAcLbL^|q=L2}l9M>9H!m z<@sCy-(m41i>Lm>gq1`4$`1NZh@LLJRAC<6XFt@R4&MUTiWQ`-@wgQAxT?lf=k?Fr z^tzI^mwa93zF-=b61yX?fvr1gJVoy0*S<54r@1NHgo%A{yADl8+{YF#7N5RlEdV>Q z*_XC$2~yBbi)IK<1%HLsg69)3k3W2Ln^Ogl; zj~EX08*->$eR9&J&#;)3FdqG{q@{2H_<0l|EQ*vg&FC4wh7E%BhG9-3(LdL@fOOtG zT1XnG5lXT5^TmURrT<@M1pa$J9sr(zR)^!K$RQSaBad*VG{y*x_d}A@&-gW!F_|F-H+59mI6-)U6o zr~-S&g80*Rv_}qDRO8j)&$~W0N03k&RuMgIqSyGT z%6c|dJ{XCsoFzCc$K_$z*;-y(QSRcfxNm-N<7t9C-9BTkq&AZX1az^%ZEL@C9P<7% zP8UjOIQ0%=|BEpIfCe5D^o)Ro2`VDM#`j|>l?bEWx;R@!_X!f^YAez&_L(1BwdJ6Q zkp+AYo~;egtzcd`tm1V_%miy=jTxfPz0oGO{A5-fI$GGW;KUl>1=ZbH#2Me`70zT| z#fL1%RLT1k*Py5##157W>oGX%5)dd}M^HcWL-9_Lk4+Uc^Yg8|T%4KoYfxT;QQBzv zk752kffzIBmj+{SmM%rwN~9HOGs7{jAt0+i;aM_@(tWr^B%Y-B4PB*c75JTzE?y>p z?WUIu8yB)D-IswQz;&Xv`x!f**`8a?X$2)$CVQqWRf6yviH4UOYXA=C;Dt$C;FP(D zhU;FnlTc0@)&0XH#d8i96v|mIQJ|_u|Hkly$y5cthX@$$-obO|@^V)Q{Ye zvBf~(1Q+t}XczUZ>*J^m#UK)$0Kv1+d7;r9B*6Gb|ndiFd3<^f*T?}E$Teu4BeNw$4V zec<03HeB>v7It&MVLjZ{?HIIJ#cGRb4Z}oY5 z5J7Am%ctf}a%4{hUTdOGX!`E|FYy$-M#*-d<t||u*Pz%JJ}zEc zq@=jB`~nS0kdZnh14fhd8Z^zicB14iqpAD~e6GcCM_^AHYY0gO@`h6uHU%J&as`h? z>Aqcq76kqmzX=obp!7A|T{S;`Wp_T{b@O29>ULsHR1IJjWa+5HeZ_2SXw{JGu5FJP z;ec_jst!V?qKV0hqD}EAkHYt2q08fw=^k7yy<|(ax$vJquR%o=0w_J%fgOfiC*xu2 zcl8(Py~JY{O2Rbt@030QwtsC*|5A|3YN7IF&*8fx+Ed50zYzIX1Pu;HcIN+3=N+)0 z2pD5(Z~sf5nt?-J$q(vMD1DB#R|u3u+RHU#i3fG-sQ zg*x|Vl(JmPt;pZ=oZ|N%i^R7gKe>7^p_dyVgE%w4KcC(J2^thP1 zJ18=U+1~`ZxB=q}XRT`7);}%HP{N80HT;gWHoQDL4oOO&I+DTMQg>G`2k^>_M*L1BcEw#`-s_Vi`kp+7E7j{H)1JpaCfO z|M*w`?2(q=m$N*%llw+fS)-#-Vd{`Em1%u;_C@TCH+cH+mm#(WDVuO!eu2^i?-agw z0de6iCX6nGsyB1P)U2_0PI@rvi$xfwWymAHewLzF}|l|Hc*fuf|8+)?9=0uLGh+ChtMfnx8oW?e07_&9`^Q zrc^m^ut4l(vp-qs-IUR$D33l*%cjj*wtIa$7EgooZ;$EQZAo^(`rX=?ceW{B< ziMy`ZPwz3GGSj*#bv`wjKACCv;MS_pFu3nC?Nk581|QZi1AJX3Xw)Y9!!m^5!^`n? z%*qL$pWVK7u5nUm3D>1ELrMJpsTV|ww@_eol1Yt+B6};@zuFL^z<&oN)wU_P_;`S( zbkQ06EayAigSE58c6cl038@O`n0`5ED|f`Z@!LMHO&mRMD3={~apbQjJZ*b%AL6M? ztyypk?sC%Ixo!LE(&Jt0p22g&K9R2WL)W#tWxpFn*-9JwomsdDmUcf^h$Y$v(e0*8 zl_bg&kGjmf{JnPfgVcEE$-;32sltsBsbrqlI*a#eX5^~W-jkHy_}HJanr+w>IJfVq z`c7}Rg|Mpa*6$D8F;nh`j7^)57&F-n&Oq=RB`YCLkhm5pO%$d`O(WnmeUM&cbfY;-z<1NI7Xz6w3-W>$rE~Ok3E( zY5`-?-w^dSR-A~E9d;~;D?6}FGPQ2d*YABT=F8&&h#ITJ^+YG zOV=Q}6|*d{5)3dA+|}PS2jcMG!K>!2n2fPPD7i{I1{>~`Dyo-GH9S^ zBI|zBGH#{FPAE3Y7K`cm!+OvZ-1GUw`M5JxT3ZI-W&rO%aBF3V`aV6h%ysv&yT!k= zZZr$;8nl*PMw=2%sPZ`LLHJ_l)%G>$s3^;BPOjo?l~kGG?S7!)**%`ogaYvFn7?ui z{N?*6-+GdJq(y#-y7H7vmWk#0J+gHP(G`+Z+%hO6dFa6ubK&hX@Z?(`TdoZ-u~kkD z?pD%r!WY4FD~l||>{4Rj;YvyYYwgr!SCcH)|y;$HkdA z-Kr;P_ghtjAcZV(KFB@#sJ+v}vKtzJ+-+|m$vcnGe!tIo+vMR^-1zLfWPeOiOG?C; zy5v(88BZj=I27nkSy5{@U*_TZ_J%xywnuy#9={)?4cI*>F1ULqe(f_@T`t#95Ss(H zIKZfrwbr(mRuf)C&>6mi;g}43Hbq_-@eyI$)sS6XHTc*++39A9m-R6-rl=|5yNwaq zMnG*<^*5}3sI`lg4qS01v%>YkS9AO>5hUsi*Q7g2k1Qzf0 zURII^FtDpj9(5|8@SM<~-FY7skU)F2!>u*E!uln zISLA&c-JEXVRD zp_9)}iUvv&-r=*4?ml~epyehNYYU@%VJkylE3kgqoul~B3-$2BBe3zTL&EtPiz-+b z${Hl|lJC*^B;#d6KTv%tfsdU`5)+7^bNp>sA{1DtM_(Ta8O{VtQ3^b%|# zm!;88GSPsZbYAxFBx41vI>}|DEo-#i#-w~%)-05^XAHWpw1|Q}YhnEoB9vLi-QWVp zxNHrUG45Mv6hyu&lF~+xcf#*(OjFr_|~thT=3V4aEvylQ2U}q z5#4+8{D(iy&I7A2N-D12el6+??)V5YhLfGkS@;RZ*pJzD&wSepl2r7$HhcKbsD!g& zY&N97vTi#%8)kBlw+%%z5bx})kTdLxtD=AQ?7anujCqD}0U&dC^C@59gZDpxi;7-C z7#={1S2#`@uR$N8G5RKJIo)=$5&a|_Ya8&sU7H$GMGCp^ z&G9U4_@msg6HHDLl3%(CIRVOC=zj3KXspu^)`ue~g~36D;Hk?!!T!>b;isb}mS@^s|OWk}6R)#_DG`^jzBn*_DtRGFV{Ef}1*}hwEEM zI#qW=F~~iaj@RF}*v~F&&wt|Un9yJVE^ik26#K!?S6JR%WRy%}ibWzyio*L{r&04o zUhxD1;mCb!7ET>Lc`i;~WD&)1`W)XOrT1Z(&PH@BgAAgjaB8bBfBi_~eJIrGchPuy z2T^O8R9T<;OJX(8-bndqN=*9d{#-Zb-?8LJB7lso! zmTAT&=h3aWl*^K{7wQ)!Sl3e0!hmJfD7+%=qe(DY3n=}Hew>4ma0)cQkX!H%uAE&l zpq%5e_aL=A9+wy>x*15GcY5X@wuXelux2)Z{9^SZZn05HDq4xKtmLLnXiA(V*Z=$M z{l}+DgmzN@)2Tpbf&WhxO%O49(-H0G3q?gjv0C<2s5?JpR?|?gQP0W(CJv{!_s?C8 zniES5V+~&uE>{NF>kRiUNqDhanj`1Zwmf-NU2U=`bbBo~ykqPOodKZtlqQ$EvK(Ll z8ii6)G;DhrME2X!-Otfqq&gcY&Gs*u>kG?cMq%%u`*zX) zQtfb5cO4qj>wJm})NEYOdwYKR5K@aFNUV3PPWdfWu0fdx+E^t3Y|Ik2!uUe*0{qfn z?utxKsJjcTVfUZwueNfhNi_tLhk80LlZ#eo!+cK8eB`Hq4OTE_e)nA{N*0&*bN zE^qV4W@TWF!+HwZQ_G7<_d&$gEcOd>QRN}p<|lwtkGFHj-qqFDm#uPf$lfT1ht$;n zD{{nIj(ksP5h;McLbvh=n*W$ZQ47qX*pN52rj&W83ryg4?`C&!a};JvxMd}SbwRz; z77Q5K->WHYPFhebeWcaNW*C!pH2}7cZxUx%7|Zu6-n7fev}?Cr;z4DOR?*JC-tck=JH zm5lhrXJsNkpz@v+Y0quieJpVHeBc1Zxl_dm{Pp$@`WApHb2vvaTp^Aq*9t|zA0e9Z+SMOh!+7M>eV=$-qV#YF_9>uD{BF^EP z`_LuCm9XpxE1x z4>C-_f7|M9ZDB92N$RZQCoh925i>X{R>aT>naAw(()$sN_e)An1Pj_by=VFwq-Hf0 z7aL$pyECoxRBkG!GyxY%#A9_X(C5rcU3haC(pLVcVO!|Ck)Ay&Pg zPwpL3{X$S=yq#^S5G80PHFJJzsvBwe!R4qfMvWZcna9TI`MFFH6j|qG&F{nUU^n&0 zuR#F)5swjvV{;C3T7!offlHen3E7kmZOS)dI0ojB@Cf|Y^UDDb^o$WsN;?)kH(twP zFqvWhRCoA3Z6+0m$)xnT3)OUiPikg-^INazNbZd!-f1k*!2+0;2|3WLkjeKxyw#nWPqRdR8u+c9my+1i;%jsl%LKXr|pTl9a&E*l9x_@DDydd!HSz0>IQTS&{ad~ zC@@c9`JTYhpwJ(HkIPFusO}o{P!53P?eRN5PsKC-8hsm10ZeZDnSNYZidy4fZ5Po$ z%!=%a$9gqkrQ2cXUf^-%5K2IYzoK`}LT?dg`(k*ErpYvBYOD2BSe?li1DFUE!U%5J z*AfceIgnH(Y(i>}=fbklH8SnZYbG5{ZBDnpfP~9#`yw9WG7Tk}5;lPTpZ2~xtf{Qq z8@pJ*4hRyYND+t>DN>@M6cLajO(Y^sx_~q(M*%5PB3)__q>D%u5s3;RbfidEO6by( zP(sS_J32FtQ=GZqz3;r={qA$0hkwF3`|P#WZmay(+H>t3q0HR0#^UECw9zz~1H3L* z2QKREU?4tmoTA6X+gELS_g-w)8#ieo-a0PgBB1>^Zr+faOSrDvo?%#Qv_-l-W&*JU zLLoK%!J_rO{Issblrwds!U4pAwuLSd`ygKdHWq0uSfFw7>QgNV6I--m$sBy*=pjTv#JePS_HWF;mum3vaX&1ZjCM3VHubhqdf z1q5;38MJT4A9R%7Q01#I;VaH8=yj~EZPn6nx%v89Oz+4xFFr1G|1RUiP#(+1jRAFt zV@@@g_2QFjoQNw|8p&xNABkw;#KrH2DND>+L)P)(w&JYmD!nAj6>NC4NmavYXSHw> zPa)&kayHXFjP^~cJCG03ZuPDV`fAo1RM`#ZhL{d`X;|Xnvw-%ex_TMe1C!H)>Q_HR>ioeb{AmjRS!zQG@~GFMKGD6L z^O40NJ9kUzc$W=tEsWpk2WA!>8^O;#C;6rXj_|U*wSt$(XHB-Uw;J;vu8)D|If=Ff z`KvyL*~+r4UIiv6$gVrIxjJ0%TxVI@DNb>2%*RcYChs9T&Ui@%Q|n?fBzZ5tvQ6TL zm9Hv_8rGj<-wDBhd@`kDCB3i6y|7Bsgzfb=U^vCae@|O&OGD1d0w5-VTtDD*^rG>x$)&Fo_fAJsp^zYaDq# zl4k4CViF?}myr2xh9?Khp?yp{m{jxBNAq1!irWD?k5+!i3zx#<8dXlc9B$r3yLmYK z8%5@|WN|-EB`8i^vo682<|K_BKtp4GZQr^tnu~yY_0>E& ze3fZ*96>HvjDdY9VzC9(>HcOD1>OfL(!9@Kj0POe8bfKPhy`QnQqh zkJ$#-d1SLxb)QK#Dp*(e`W+@z8FkyCQm&KkKLuH(_XgXYWKt@@hopmB| z6pZOy-nC$QwJ#r;XP4xMcD8eni?4e1K*h<470#o#Fr;$M^hw|8itwt3=3KCR>#hT} zo4kKU_*H9>tfBlVbGj#H_Lw~08%Fa1uJBVsU$z3|yfqalBMV{usQOpu&F{_{Wt->n zyvq-1@UFfQLB^-QRvyuJUN`uHVQKvt!}9VTgki~laQTHEv5BY@TFODb0u_9CQ%p)- zx!0QYq#~n}KO$b|iJH}JZ5+qVQInW46~D`%ZU4G>J*91-Nj-NVOD*F@qF&xk?A-~X z@wG-&=!sOmk3OUt)FfQ0f8D>S&CWWklQQHY&S`ZhKMp^Ps;yx?eOER1uGDf7g-zl2 zXqn~jP-(khEyyHe_k#7X%=LUZ!OV&-?nqgY#MqYyq78C+oYou-#iI7HvJDlA(ducF zoz=Y)p^{+^icrZW!|{C$4f-Lr%7f!(AptgNr_akL!)@G!TIB=Q^NQ9Han(Z4t4t!= z)Y;S+#AZ8W@*+^ai9kcsRJd9R+xFW!K-+~I^?dM*p(oWUeEaJ4PD*bG*?fNuALqHH zw4Pa!v^KRBGufw@Q7oF8wcnsDG^{M}FiPhv%LCJ<{DSz}Jz*w9s0NCOSH)mcn$>S> zpxk+1Q7c2(agOi&1JDMvnfd721~cG!Bz+qr!#&OQ0g)=468oB5%bpWUNjruc zZ%53nNfo(m89&Zu`0)5P<$QFQ?WGEi2V>{>-xjUstp{YRx2dxytFz6+MK&of9_Kk; zhkF2HTG5AsrPpwq4yM$_0z%LsAY7f8i@bW(xbfEWn@=tjAJp0LTqw=ZMJd#|{T`-O ztA!mVJ8Wn&VBBmg!tL2_DO4AK?LCJxj_F{d;<4TFCx37{{0Nf@{CUY=$R>+NJ~Zx) zIZ0lyKT}!y!ZMPobu3K0#~lSOs zm&*ni+&{B(h*Na4_8r6bTGy40Lb_9}?eO@ns5&vaVxF&jKYGRsG1~!|TnuQEzNPaz z%L7^nq_bhcBqTwU4(F#Ei(*FhgSI$SL(#Yjr2@VTofV-T-?x(YI}dOp-WLPe2{d(# zdLz_4tcbiBiVPRyiO1LXf`wspNz9m@{R&&*!W7)hb$2YTTezdQ>$Y}<4lY19fzrn# zBp)GdD;bq0({s_anOWsMeH;<|X>)fk68Yk-$Tu5!Sq>#r#cd>eUtJ;uvJg#0PSJcl}czd{6GHc*A zQWog*!jC)jJJuQ@u36r4I59XN^O^ z*z>)#jX%-u#_&Qw&=6QMCeF)8%g*%=I&ur3>2`Z-9K92{T@f zUCkW+uBa|WK^$$Y{b{#7?5)wWWn_}2Y!JY_6_n&d3|~hR%yB3(8Ph0j)-zShywxz$ z1mAVv8MWY2OLnn9FWrQUJ1a%K4vnmUPb|VtD=$L^yHndw2i^-3q6ZGjDYkUuq|)|< zhy^bZI0cv9nsB}V{5+kxC z&dg4OygRXShMyTs;gnF6%ty#(g28$k!7;}*Bq-zy#YWs%+WV)S{vr;NBW1u@#)YnU zDZTRAXtVM^dhsuW`25owozEGXwwik!>6TpKIl1B9nK@-fWi0PusfV*4&8prXj-XZ^ zpzR4jRagx}8+aJKc(Ljk}#7%Nic*h#ik*lgRJ;7!v@F-Mn!P0faf5e zs02M0F_sDn6F)Q1%28yf@OBE+UlH+G(K>n#ikTc(Bv>bWW|(*ayoOwml6btzD*&p( z+5%p1`%^`qt<#3?6AToT4(`iO%(vJa=&4L+_8up*FcgG{Ys$V@K`$> za&$mz;0~0>f~!YCapZ68slgvYw;m{D_V?`@)2=rP5t3Qk!9<-fa@{B(7uh%`Tg%m$ z;0VixbzYYZUvb15;o^XkZVH=}4Z9o4F-`L?4?S*Knmi|$0uId-Zg{gOas zMx+3QF%lBU$em9XHq4CV-oqh=5~w6bMU}R?8-BU(?o0BECwj7-_Gkb{ApqSMz3NvH zWHMNxwYJ|Q=`#aCcL7Dst?_GD^7?IM#NTKw#+@UzC!G4_POM_jx^L&&Td5!}oCv^BZaBjoAHT&O*uDs^jB00m}im6t#V-0%s0JCf|{F z$+y>jU%pNA&{Fz?h6_!M(`Cc_dstPAkDNKG?*HsLFYNA8qXq9>hpKB^I*+wqiQiu5 zl9O9dlJxHGXj03-QJ!l{uM(`NS}~h9i>qM6{SuM8J~QAOP=o`(VhrR6LuBjHQoKJT zP)-C>Qofd!1-VglA}|uXj9ZskEBf|-gX~xA%nPa%pj0^6k`36ejC2^?MDNCQK@N5U zzhteo4l0CL;HRPBQ@#<%X%dVQ`}NsXiUVR;Wf5!vq9$mI#X!d-Vnq;u0;rKMmj{3v z)G!_L%IxYiD5~3Oaf6)aeMC+i-RlecA6b!yIm%6WK;(p>slBJDmgyK>mc$$e~WtAy6QS zD33{9g;V5lU=|!g8xwlJQ4bsU0_5h9%U&q@1>_7Qr>Ar&^kU{3baEjYh@eLw=HJR! zB;gmnG^*dQ^4{imA_gxvS@u6ZJm&IfK9(0=n?P|Qe?pE4Ko}5ya651j)`)xc>rf(9 zL8RL33}y43OA3WAb>BYAYqQhfJmU5xMtSSVqhxI0)a5Z~6X~L)q1>F0l$Z62ZxwqR z!EO9)wlB~XYV{_;3u##XA2vMa6UHQ==9x@ohopTK^MTX3c z&MJ>GIXR-J&%h@Y%@J=8B^Shi^G?+xC1r;aClxHrms1>Uigc8yDvL6OCmX9Z1#NS1 zUpK|~G6g=#bz_AjU=racV6P!CJ--IMTkLxC)CCAOKql%cS7E;wyOjYeNk1z2gNXbPW(LiOA6*x>JVgY|$icwm7?eR^*#UqWg%{izp zL4c)bHqe^p946Db{Qh~z^{x+_Re5eS@on4lzE8JrO0D0s1m9IJ3%nX?C%@8-N^;%q zym!MT@IWbTO9oWGM-(yA3)-|sl-=A0+$lq@P2j#n!dqnqmj3SdW|CHMP<@-6syb`N zWn_QPwzF9g;HyUnpxeZU4#?HemVtz)a1YL^p9ZBUuY9W>)OTzUSb|V)N)xg zoZrSvQd=ED+s?09IK&BKg`R1?E9TPU%;XUmw2}{kTn~>CV;Cs$2gCT1q^Lics-ZnVVCRRfqi#5t=};+nAWTHZ9vY1nsO1HT7!0v zw_d%QE3$W6-_V!X4|{JNYU=0M4{QYY0k)>?^O+$ni1^n+&wZtc?*cSXZ|RDjJI>nt z0ow4-Z8N|5@{j9YZc$8%R9E)gPvy@(hkX#uq|P2ok5s~XG%Upuw(NV79k|DbX{*K` ziv;~LJ-*8X_Vr#j`^>D#;=#OQF9FUeF%1d=2v8QB`7nKpgYyL) zxd7lBnJ0s3=~ZYNfeC`^2Q#At?@_uHWV3AtbBkS?uU z$v8;0D+NrpJTQ3u*JJsge)>nSz<1;*oj-GcJM;BezJrbZ2Xkbm(|dn^`#h;+``a5a zJaoH&K>m=tR3Ui3JM0vPr$MM$C(1^VK(Cb9Utcz(yK0F5mT~ty<5R__0YS>mo6w-; zXubq5(0M3OQS1;ADQRwy?_~Zh&a$^H=BT1%%(omzQRN)Z>P?H_=tng zdfz`q3`2U?M(2!*BP({OHE7sgr`#wE0t=l%NPXH5y|b7Pm9MKwUXbayvYW0mMPD6u zKYZM**wPK8B7)@k?4=~BrQj!;$_g&9Xpf2HU}hh44(Gl|zFPH4g$t<1P&iqh&l9b> z&eIBB4QM`m>WKcp$H~r~?G|cQs;L%1CzZ)20T-V3PgQ+j%08TU;RL!@u>Mkb7R^LU zE2n!jo@-a;@)9Ks(lp|dbAawzNVDUa$2>J!kL+B4oK`{@e7KJSzYpSzLYn;jONE%H zh==o{b7*1#C{x23Qv>^=+O_@1UP=6=s~>;mzy3;tcRS)nLP(zL)4qmWFM*YL?C$MP z>)d5cjaGwHA2!K)YEhB2i)^QDuG_OBS0LgWoCwG`%q#(tf!Yb^urj(!OU?bvpxX#W z19^?K9{5x(UDELRq(PGWD@3g0+`QXP@8sn8(Cd+m`*fEsJXIUf+Kcs`#6K%z!{>)j zFrGazMj11siK7TIN3!zjZ$1oVWHabm^sMkeN&ej;((iHI^$24zS37u+@%6RSJdbAl z6QxaTuKxG?F0XpU;cG7`g7m=&m{cA{1s-F$hgh!Ru)RZayLRc%1v?PU#K*{()?$# z`irN3?n?Xjum}}Y)o0=0T^^jnXqktqUL*>B8{NO4_%}X>zvuREv%`Pt>K~b-Up}4P z<4P&s0o|>IdAc#qXUE^I_`hf9cZ=ySOr9^vu)oaxe~iEUK~1w*>ABR0-q-Ugziv@c z>i@sbPTg~~ahw>kr!e5T8&|-AJl2geCMbF2_Wd61HjeqVMMQ1%l#3|zG zF3^4RY6V1s$BZ3%LaP$O&;eq+peYnhbfx93!9JlTd22RbrI=2w>n*P2TG<B_lrI0U< zf?p4X-(~Sjcme8BQ7bsoKIF##Xom>+Z`w6uzwhD;8{bhwtNxyF;P)*t-;uiR`8`*^ z zyNcxXenlwU8sgENL2#<2nA5Uist`_}kjo-p;72Klu_G%2)mN54$l?7{N4@{E`=R2X zSc5wMEx+L&%=8rv+8kO2sN+`J!|+LS3N|5}+ClTt1@A$w`nE<=Fipv)?W>f@D#1!s~bvzD!Y zXE6L{f65RGBjPjjYLZ=9ZJg5M*|!NB-0L^Jbc-h;k2^$Q2=i)UwQ_u9gCyQIM?fV6 zVB88UVen9r19VqL{A|tTclJ+2-1MRQ5W*hQ{bmlU?MQBpQ@vKvzn+gf?(0M+cc@_p zQJhk&45C%1XvR;Xqk>rq>Xz`$)Jl__m;@5wLAP{Tl8ST7u`RXf+09$hYJ2OD4QB*X zcE`;L!sVK*=1y1Kd@J>%$xZUL03?*Boq{8Eg=g@Io;8K9JaY!RoC;{e>Sa(xE@_h< zu3)W-<>kHw$6JH_JvNLxo|RQRU$GXd$;m`Wf>Ysu_1^6<&*8W{HaA(q=|mWEmy3$i z%+2vy(CGl;@m(lqb-GxC_2n}$lkIN1t?*jnsz)5mgexk1UPya>RI>o79rS9BO^Y#3 zlP-J9Dyluttx_iFlgPDVkdqgq3T3>DGjg4ZIb+G2;!yEsJJSMP1c(#JEYuPPBB?8$s&<{OIsRZLPFA!^zon14vAix{uS}|6voBzfA9(B~m@@_l6 z>L?-kU0nWf9n}mgqyAKkTR;$xV;;e!g)!jheGmGOnP5F9n)y?B4aQ`m77Nd$sP50| zw~;b_nw4uKD7iGd@$C`OF{4+ilI~Loa85F z$>9N;XAgzVEu@x8CF1lWjPE^+zCB^Yu&=*=+U0_$xgdMOylM%PZn44V_y2=7G@t#= zPV%mAvByFK>hbv{N&bo|d$a}o1&D%aS(8O4Y~9xmt@TDovUn(io=q7+m4Y)Q@@f2% z&ry~UD5;3oN=qvIw#iMdI_+>zL<`b-3MSrPYrVUiggY2$u*XRPvxlOE)n zTIW&R{ZY2<=axMmtBFy_mhg4{<@7nXRL!?NtDT+hLBrbNN}hL^BM!dUpu-4dR3)r> z@%LLbgzg!XKasfgY>Q&79_T>YMJcfD{E*O{ijR8Qq%x~7&~o88ZjN;@JnA!phcvYu z$;|e0w)e;}F(w8DSnDuUr)oJI6HLAm(^^FuHu@Nf4|0%?FHz<4-+tZdL*lj2eViIp zjTsuU9K}|)`+RwQL-d^x?W?8ffOheH`!Hg+yL*Ym48aw3(L zGvIy4!>!J`%$PkOuvd*PH{FC3$V7oWw4`13m|Rd5T=HhCJzE^Bq_nuYaKlL6KG*0m zefku<9K7J{*#sPq%&#bhlOENwerBk=U!CSk;_0XBeYj`3x325)rL1NZM%}{-ON_lUeudo|(}-lKwXOJMFy9dGoh3A3ww4 zaGc4BZ~;00oODfsFJ45L%l;~a=Dh&Scut7INCxL8=iNk$9F0{SdAqHp4Z>U<99-Gk zu%QpmOS+sxQE?yk`t`y}QEa-8>rb;sZm8vCgDyv&B%C!-k7?t)b|r5i$#XJ#T4%=k z`ST=Mz_W8}yr8+~_$_P2>hIa+vRwUs_|${UuZp=bb3xvP`1G<&9da!`6?MMMlRQ)Rh}TkoSxh6 qvn1{6Xd+Qdf700Xwovc=d+Y+6((95fQ5|tGUac`~MFL*IdZ} literal 0 HcmV?d00001 diff --git a/car_workshop_report/static/description/cybro_logo.png b/car_workshop_report/static/description/cybro_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bb309114c865e3b356880cb5f4029c7cfe1394da GIT binary patch literal 50824 zcmZ5{WmKEZ)^>0xT4-@AS_;M8U5Z1CYw_Z)L0h0maQC9c-67BxcMT3L9wbnl5cu*u z?~il7bF)}vC1GaI>}y}MZN6%0DB(Y&dqeP7A;)8Tp68 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 literal 0 HcmV?d00001 diff --git a/car_workshop_report/static/description/icon.png b/car_workshop_report/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e275f674ee2a0cce24da9141a6506a1cb1e68345 GIT binary patch literal 12458 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 literal 0 HcmV?d00001 diff --git a/car_workshop_report/static/description/index.html b/car_workshop_report/static/description/index.html new file mode 100644 index 000000000..8d104e82b --- /dev/null +++ b/car_workshop_report/static/description/index.html @@ -0,0 +1,99 @@ +
+
+

Car Workshop Management PDF/XLS Report

+

Reports with filter facilities

+

Cybrosys Technologies , www.cybrosys.com

+
    +
  •    Reporting Module for Car Workshop Application.
  • +
  •    PDF & XLS Reports.
  • +
  •    Filter Facilities.
  • +
+
+
+ +
+
+
+

Report Wizard

+

Both XLS and PDF reports

+
+
+

+Reports can be downloaded in XLS and PDF format. +Filter results based on: +

+
    +
  • ⇨   Vehicles
  • +
  • ⇨   Date.
  • +
  • ⇨   State/Status.
  • +
  • ⇨   Customers.
  • +
  • ⇨   Technician.
  • +
+ +
+
+
+ +
+
+
+
+ +
+
+
+

PDF Report

+
+
+
+ +
+
+
+
+ +
+
+
+

XLS Report

+
+
+
+ +
+
+
+
+ +
+
+
+

+ If you want to analyze the working of Car Workshop Management Module, Click Here:

+
+ +
+
+
+ +
+

Need Any Help?

+ + +
+ + + diff --git a/car_workshop_report/static/description/pdf.png b/car_workshop_report/static/description/pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..7b51fdde1e47d644526204c2c87d6f8a793b4c51 GIT binary patch literal 39693 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 DbAz_O literal 0 HcmV?d00001 diff --git a/car_workshop_report/static/description/wizard.png b/car_workshop_report/static/description/wizard.png new file mode 100644 index 0000000000000000000000000000000000000000..206f5fd1679d12eadb6023848009f931bbb1d6ea GIT binary patch literal 29250 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 g$sc<(CJ&OWkh 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 y*AVrZAC; + + + + workshop.xls.Report.view + workshop.report + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + Workshop Report + workshop.report + form + form + new + + + + + + \ No newline at end of file diff --git a/car_workshop_report/views/workshop_pdf_template.xml b/car_workshop_report/views/workshop_pdf_template.xml new file mode 100644 index 000000000..084c62b4d --- /dev/null +++ b/car_workshop_report/views/workshop_pdf_template.xml @@ -0,0 +1,70 @@ + + + + + + + \ No newline at end of file diff --git a/car_workshop_report/wizards/__init__.py b/car_workshop_report/wizards/__init__.py new file mode 100644 index 000000000..9a45dc5fa --- /dev/null +++ b/car_workshop_report/wizards/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +import report_wizard diff --git a/car_workshop_report/wizards/report_wizard.py b/car_workshop_report/wizards/report_wizard.py new file mode 100644 index 000000000..f141c8a71 --- /dev/null +++ b/car_workshop_report/wizards/report_wizard.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from openerp import models, fields + + +class SaleReportWizard (models.Model): + _name = "workshop.report" + + filter_partner = fields.Boolean('Enable Partner Filter') + filter = fields.Selection([('filter_date', 'Date'), ], "Filter by") + date_from = fields.Date("Start Date") + date_to = fields.Date("End Date") + filter_user = fields.Boolean("Enable Sales Person Filter") + filter_vehicle = fields.Boolean("Filter By Vehicle") + sales_person = fields.Many2many('res.users', string='Sales Person') + partner_name = fields.Many2many('res.partner', 'multiple_partners', 'partner_names', string='Partner Name') + vehicles = fields.Many2many('fleet.vehicle', string='Vehicle Name',) + stage_id = fields.Many2one('worksheet.stages', string='Select State') + + def check_report(self, cr, uid, ids, context): + data = self.read(cr, uid, ids, ['partner_name', 'filter_partner', 'filter_user', + 'filter', 'date_from', 'sales_person', + 'date_to', 'filter_vehicle', 'vehicles', 'stage_id'], context=context)[0] + + return {'type': 'ir.actions.report.xml', + 'report_name': 'workshop_report', + 'datas': data} + + def print_pdf(self, cr, uid, ids, context=None): + if context is None: + context = {} + data = self.read(cr, uid, ids, ['partner_name', 'filter_partner', 'filter_user', + 'filter', 'date_from', 'sales_person', + 'date_to', 'filter_vehicle', 'vehicles', 'stage_id'], context=context)[0] + datas = { + 'ids': context.get('active_ids', []), + 'model': 'workshop.report', + 'form': data + } + datas['form']['active_ids'] = context.get('active_ids', False) + return self.pool['report'].get_action(cr, uid, [], 'car_workshop_report.workshop_pdf', data=data, + context=context)