From 489196ee763b2e242aa89269504e6d1ce8447bf7 Mon Sep 17 00:00:00 2001 From: "Chirag Dodiya (OpenERP Trainee)" Date: Tue, 11 Jun 2013 17:43:10 +0530 Subject: [PATCH 001/175] Added selection field into company, set font dynamically to all para style in header bzr revid: chiragdd7@gmail.com-20130611121310-35ogs0ler806hkov --- openerp/addons/base/res/res_company.py | 43 +++++++++++++++++++- openerp/addons/base/res/res_company_view.xml | 3 ++ openerp/report/render/rml2pdf/customfonts.py | 1 + openerp/report/render/rml2pdf/trml2pdf.py | 15 ++++++- 4 files changed, 59 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_company.py b/openerp/addons/base/res/res_company.py index 02dfefe1e38..6705a893910 100644 --- a/openerp/addons/base/res/res_company.py +++ b/openerp/addons/base/res/res_company.py @@ -20,7 +20,7 @@ ############################################################################## import os - +import re import openerp from openerp import SUPERUSER_ID, tools from openerp.osv import fields, osv @@ -28,6 +28,25 @@ from openerp.tools.translate import _ from openerp.tools.safe_eval import safe_eval as eval from openerp.tools import image_resize_image +_select_font=[ ('DejaVu Sans',"DejaVu Sans"), + ('DejaVu Sans Bold',"DejaVu Sans Bold"), + ('DejaVu Sans Oblique',"DejaVu Sans Oblique"), + ('DejaVu Sans BoldOblique',"DejaVu Sans BoldOblique"), + ('Liberation Serif',"Liberation Serif"), + ('Liberation Serif Bold',"Liberation Serif Bold"), + ('Liberation Serif Italic',"Liberation Serif Italic"), + ('Liberation Serif BoldItalic',"Liberation Serif BoldItalic"), + ('Liberation Serif',"Liberation Serif"), + ('Liberation Serif Bold',"Liberation Serif Bold"), + ('Liberation Serif Italic',"Liberation Serif Italic"), + ('Liberation Serif BoldItalic',"Liberation Serif BoldItalic"), + ('FreeMono',"FreeMono"), + ('FreeMono Bold',"FreeMono Bold"), + ('FreeMono Oblique',"FreeMono Oblique"), + ('FreeMono BoldOblique',"FreeMono BoldOblique"), + ('Sun-ExtA',"Sun-ExtA") +] + class multi_company_default(osv.osv): """ Manage multi company default value @@ -108,7 +127,7 @@ class res_company(osv.osv): size = (180, None) result[record.id] = image_resize_image(record.partner_id.image, size) return result - + def _get_companies_from_partner(self, cr, uid, ids, context=None): return self.pool['res.company'].search(cr, uid, [('partner_id', 'in', ids)], context=context) @@ -147,6 +166,7 @@ class res_company(osv.osv): 'vat': fields.related('partner_id', 'vat', string="Tax ID", type="char", size=32), 'company_registry': fields.char('Company Registry', size=64), 'paper_format': fields.selection([('a4', 'A4'), ('us_letter', 'US Letter')], "Paper Format", required=True), + 'font': fields.selection(_select_font, "Select Font"), } _sql_constraints = [ ('name_uniq', 'unique (name)', 'The company name must be unique !') @@ -178,6 +198,25 @@ class res_company(osv.osv): if state_id: return {'value':{'country_id': self.pool.get('res.country.state').browse(cr, uid, state_id, context).country_id.id }} return {} + + def onchange_font_name(self, cr, uid, ids, font, context=None): + """ + To change default header style of all and drawstring. + """ + def _change_header(header,font): + """ + Replace default fontname use in header and setfont tag + """ + default_para = re.sub('fontName.?=.?".*"', 'fontName="%s"'% font,header) + return re.sub('("%s"\g<3>'% font,default_para) + if not ids: return {} + data = self.browse(cr, uid, ids[0], context=context) + return {'value':{ + 'rml_header': _change_header(data.rml_header,font), + 'rml_header2':_change_header(data.rml_header2,font), + 'rml_header3':_change_header(data.rml_header3,font) + }} + def on_change_country(self, cr, uid, ids, country_id, context=None): res = {'domain': {'state_id': []}} currency_id = self._get_euro(cr, uid, context=context) diff --git a/openerp/addons/base/res/res_company_view.xml b/openerp/addons/base/res/res_company_view.xml index b261f80822b..57b487cace1 100644 --- a/openerp/addons/base/res/res_company_view.xml +++ b/openerp/addons/base/res/res_company_view.xml @@ -83,6 +83,9 @@ + + + - +