diff --git a/addons/fleet/data/fleet_cars_data.xml b/addons/fleet/data/fleet_cars_data.xml index c2f4c011ddc1557fba5aaefe7f484ead57ea838c..a3ca54750df976761360d1812b3f86d742c708b3 100644 --- a/addons/fleet/data/fleet_cars_data.xml +++ b/addons/fleet/data/fleet_cars_data.xml @@ -2,267 +2,267 @@ <odoo> <record id="brand_abarth" model="fleet.vehicle.model.brand"> <field name="name">Abarth</field> - <field name="image" type="base64" file="fleet/static/img/brand_abarth-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_abarth-image.png"/> </record> <record id="brand_acura" model="fleet.vehicle.model.brand"> <field name="name">Acura</field> - <field name="image" type="base64" file="fleet/static/img/brand_acura-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_acura-image.png"/> </record> <record id="brand_alfa" model="fleet.vehicle.model.brand"> <field name="name">Alfa</field> - <field name="image" type="base64" file="fleet/static/img/brand_alfa-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_alfa-image.png"/> </record> <record id="brand_audi" model="fleet.vehicle.model.brand"> <field name="name">Audi</field> - <field name="image" type="base64" file="fleet/static/img/brand_audi-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_audi-image.png"/> </record> <record id="brand_austin" model="fleet.vehicle.model.brand"> <field name="name">Austin</field> - <field name="image" type="base64" file="fleet/static/img/brand_austin-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_austin-image.png"/> </record> <record id="brand_bentley" model="fleet.vehicle.model.brand"> <field name="name">Bentley</field> - <field name="image" type="base64" file="fleet/static/img/brand_bentley-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_bentley-image.png"/> </record> <record id="brand_bmw" model="fleet.vehicle.model.brand"> <field name="name">Bmw</field> - <field name="image" type="base64" file="fleet/static/img/brand_bmw-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_bmw-image.png"/> </record> <record id="brand_bugatti" model="fleet.vehicle.model.brand"> <field name="name">Bugatti</field> - <field name="image" type="base64" file="fleet/static/img/brand_bugatti-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_bugatti-image.png"/> </record> <record id="brand_buick" model="fleet.vehicle.model.brand"> <field name="name">Buick</field> - <field name="image" type="base64" file="fleet/static/img/brand_buick-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_buick-image.png"/> </record> <record id="brand_byd" model="fleet.vehicle.model.brand"> <field name="name">Byd</field> - <field name="image" type="base64" file="fleet/static/img/brand_byd-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_byd-image.png"/> </record> <record id="brand_cadillac" model="fleet.vehicle.model.brand"> <field name="name">Cadillac</field> - <field name="image" type="base64" file="fleet/static/img/brand_cadillac-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_cadillac-image.png"/> </record> <record id="brand_chevrolet" model="fleet.vehicle.model.brand"> <field name="name">Chevrolet</field> - <field name="image" type="base64" file="fleet/static/img/brand_chevrolet-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_chevrolet-image.png"/> </record> <record id="brand_chrysler" model="fleet.vehicle.model.brand"> <field name="name">Chrysler</field> - <field name="image" type="base64" file="fleet/static/img/brand_chrysler-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_chrysler-image.png"/> </record> <record id="brand_citroen" model="fleet.vehicle.model.brand"> <field name="name">Citroen</field> - <field name="image" type="base64" file="fleet/static/img/brand_citroen-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_citroen-image.png"/> </record> <record id="brand_corre_la_licorne" model="fleet.vehicle.model.brand"> <field name="name">Corre La Licorne</field> - <field name="image" type="base64" file="fleet/static/img/brand_corre-la-licorne-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_corre-la-licorne-image.png"/> </record> <record id="brand_daewoo" model="fleet.vehicle.model.brand"> <field name="name">Daewoo</field> - <field name="image" type="base64" file="fleet/static/img/brand_daewoo-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_daewoo-image.png"/> </record> <record id="brand_dodge" model="fleet.vehicle.model.brand"> <field name="name">Dodge</field> - <field name="image" type="base64" file="fleet/static/img/brand_dodge-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_dodge-image.png"/> </record> <record id="brand_ferrari" model="fleet.vehicle.model.brand"> <field name="name">Ferrari</field> - <field name="image" type="base64" file="fleet/static/img/brand_ferrari-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_ferrari-image.png"/> </record> <record id="brand_fiat" model="fleet.vehicle.model.brand"> <field name="name">Fiat</field> - <field name="image" type="base64" file="fleet/static/img/brand_fiat-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_fiat-image.png"/> </record> <record id="brand_ford" model="fleet.vehicle.model.brand"> <field name="name">Ford</field> - <field name="image" type="base64" file="fleet/static/img/brand_ford-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_ford-image.png"/> </record> <record id="brand_holden" model="fleet.vehicle.model.brand"> <field name="name">Holden</field> - <field name="image" type="base64" file="fleet/static/img/brand_holden-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_holden-image.png"/> </record> <record id="brand_honda" model="fleet.vehicle.model.brand"> <field name="name">Honda</field> - <field name="image" type="base64" file="fleet/static/img/brand_honda-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_honda-image.png"/> </record> <record id="brand_hyundai" model="fleet.vehicle.model.brand"> <field name="name">Hyundai</field> - <field name="image" type="base64" file="fleet/static/img/brand_hyundai-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_hyundai-image.png"/> </record> <record id="brand_infiniti" model="fleet.vehicle.model.brand"> <field name="name">Infiniti</field> - <field name="image" type="base64" file="fleet/static/img/brand_infiniti-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_infiniti-image.png"/> </record> <record id="brand_isuzu" model="fleet.vehicle.model.brand"> <field name="name">Isuzu</field> - <field name="image" type="base64" file="fleet/static/img/brand_isuzu-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_isuzu-image.png"/> </record> <record id="brand_jaguar" model="fleet.vehicle.model.brand"> <field name="name">Jaguar</field> - <field name="image" type="base64" file="fleet/static/img/brand_jaguar-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_jaguar-image.png"/> </record> <record id="brand_jeep" model="fleet.vehicle.model.brand"> <field name="name">Jeep</field> - <field name="image" type="base64" file="fleet/static/img/brand_jeep-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_jeep-image.png"/> </record> <record id="brand_kia" model="fleet.vehicle.model.brand"> <field name="name">Kia</field> - <field name="image" type="base64" file="fleet/static/img/brand_kia-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_kia-image.png"/> </record> <record id="brand_koenigsegg" model="fleet.vehicle.model.brand"> <field name="name">Koenigsegg</field> - <field name="image" type="base64" file="fleet/static/img/brand_koenigsegg-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_koenigsegg-image.png"/> </record> <record id="brand_lagonda" model="fleet.vehicle.model.brand"> <field name="name">Lagonda</field> - <field name="image" type="base64" file="fleet/static/img/brand_lagonda-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_lagonda-image.png"/> </record> <record id="brand_lamborghini" model="fleet.vehicle.model.brand"> <field name="name">Lamborghini</field> - <field name="image" type="base64" file="fleet/static/img/brand_lamborghini-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_lamborghini-image.png"/> </record> <record id="brand_lancia" model="fleet.vehicle.model.brand"> <field name="name">Lancia</field> - <field name="image" type="base64" file="fleet/static/img/brand_lancia-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_lancia-image.png"/> </record> <record id="brand_land_rover" model="fleet.vehicle.model.brand"> <field name="name">Land Rover</field> - <field name="image" type="base64" file="fleet/static/img/brand_land-rover-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_land-rover-image.png"/> </record> <record id="brand_lexus" model="fleet.vehicle.model.brand"> <field name="name">Lexus</field> - <field name="image" type="base64" file="fleet/static/img/brand_lexus-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_lexus-image.png"/> </record> <record id="brand_lincoln" model="fleet.vehicle.model.brand"> <field name="name">Lincoln</field> - <field name="image" type="base64" file="fleet/static/img/brand_lincoln-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_lincoln-image.png"/> </record> <record id="brand_lotus" model="fleet.vehicle.model.brand"> <field name="name">Lotus</field> - <field name="image" type="base64" file="fleet/static/img/brand_lotus-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_lotus-image.png"/> </record> <record id="brand_maserati" model="fleet.vehicle.model.brand"> <field name="name">Maserati</field> - <field name="image" type="base64" file="fleet/static/img/brand_maserati-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_maserati-image.png"/> </record> <record id="brand_maybach" model="fleet.vehicle.model.brand"> <field name="name">Maybach</field> - <field name="image" type="base64" file="fleet/static/img/brand_maybach-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_maybach-image.png"/> </record> <record id="brand_mazda" model="fleet.vehicle.model.brand"> <field name="name">Mazda</field> - <field name="image" type="base64" file="fleet/static/img/brand_mazda-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_mazda-image.png"/> </record> <record id="brand_mercedes" model="fleet.vehicle.model.brand"> <field name="name">Mercedes</field> - <field name="image" type="base64" file="fleet/static/img/brand_mercedes-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_mercedes-image.png"/> </record> <record id="brand_mg" model="fleet.vehicle.model.brand"> <field name="name">Mg</field> - <field name="image" type="base64" file="fleet/static/img/brand_mg-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_mg-image.png"/> </record> <record id="brand_mini" model="fleet.vehicle.model.brand"> <field name="name">Mini</field> - <field name="image" type="base64" file="fleet/static/img/brand_mini-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_mini-image.png"/> </record> <record id="brand_mitsubishi" model="fleet.vehicle.model.brand"> <field name="name">Mitsubishi</field> - <field name="image" type="base64" file="fleet/static/img/brand_mitsubishi-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_mitsubishi-image.png"/> </record> <record id="brand_morgan" model="fleet.vehicle.model.brand"> <field name="name">Morgan</field> - <field name="image" type="base64" file="fleet/static/img/brand_morgan-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_morgan-image.png"/> </record> <record id="brand_nissan" model="fleet.vehicle.model.brand"> <field name="name">Nissan</field> - <field name="image" type="base64" file="fleet/static/img/brand_nissan-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_nissan-image.png"/> </record> <record id="brand_oldsmobile" model="fleet.vehicle.model.brand"> <field name="name">Oldsmobile</field> - <field name="image" type="base64" file="fleet/static/img/brand_oldsmobile-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_oldsmobile-image.png"/> </record> <record id="brand_opel" model="fleet.vehicle.model.brand"> <field name="name">Opel</field> - <field name="image" type="base64" file="fleet/static/img/brand_opel-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_opel-image.png"/> </record> <record id="brand_peugeot" model="fleet.vehicle.model.brand"> <field name="name">Peugeot</field> - <field name="image" type="base64" file="fleet/static/img/brand_peugeot-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_peugeot-image.png"/> </record> <record id="brand_pontiac" model="fleet.vehicle.model.brand"> <field name="name">Pontiac</field> - <field name="image" type="base64" file="fleet/static/img/brand_pontiac-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_pontiac-image.png"/> </record> <record id="brand_porsche" model="fleet.vehicle.model.brand"> <field name="name">Porsche</field> - <field name="image" type="base64" file="fleet/static/img/brand_porsche-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_porsche-image.png"/> </record> <record id="brand_rambler" model="fleet.vehicle.model.brand"> <field name="name">Rambler</field> - <field name="image" type="base64" file="fleet/static/img/brand_rambler-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_rambler-image.png"/> </record> <record id="brand_renault" model="fleet.vehicle.model.brand"> <field name="name">Renault</field> - <field name="image" type="base64" file="fleet/static/img/brand_renault-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_renault-image.png"/> </record> <record id="brand_rolls-royce" model="fleet.vehicle.model.brand"> <field name="name">Rolls-Royce</field> - <field name="image" type="base64" file="fleet/static/img/brand_rolls-royce-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_rolls-royce-image.png"/> </record> <record id="brand_saab" model="fleet.vehicle.model.brand"> <field name="name">Saab</field> - <field name="image" type="base64" file="fleet/static/img/brand_saab-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_saab-image.png"/> </record> <record id="brand_scion" model="fleet.vehicle.model.brand"> <field name="name">Scion</field> - <field name="image" type="base64" file="fleet/static/img/brand_scion-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_scion-image.png"/> </record> <record id="brand_skoda" model="fleet.vehicle.model.brand"> <field name="name">Skoda</field> - <field name="image" type="base64" file="fleet/static/img/brand_skoda-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_skoda-image.png"/> </record> <record id="brand_smart" model="fleet.vehicle.model.brand"> <field name="name">Smart</field> - <field name="image" type="base64" file="fleet/static/img/brand_smart-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_smart-image.png"/> </record> <record id="brand_steyr" model="fleet.vehicle.model.brand"> <field name="name">Steyr</field> - <field name="image" type="base64" file="fleet/static/img/brand_steyr-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_steyr-image.png"/> </record> <record id="brand_subaru" model="fleet.vehicle.model.brand"> <field name="name">Subaru</field> - <field name="image" type="base64" file="fleet/static/img/brand_subaru-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_subaru-image.png"/> </record> <record id="brand_tesla_motors" model="fleet.vehicle.model.brand"> <field name="name">Tesla Motors</field> - <field name="image" type="base64" file="fleet/static/img/brand_tesla-motors-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_tesla-motors-image.png"/> </record> <record id="brand_toyota" model="fleet.vehicle.model.brand"> <field name="name">Toyota</field> - <field name="image" type="base64" file="fleet/static/img/brand_toyota-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_toyota-image.png"/> </record> <record id="brand_trabant" model="fleet.vehicle.model.brand"> <field name="name">Trabant</field> - <field name="image" type="base64" file="fleet/static/img/brand_trabant-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_trabant-image.png"/> </record> <record id="brand_volkswagen" model="fleet.vehicle.model.brand"> <field name="name">Volkswagen</field> - <field name="image" type="base64" file="fleet/static/img/brand_volkswagen-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_volkswagen-image.png"/> </record> <record id="brand_volvo" model="fleet.vehicle.model.brand"> <field name="name">Volvo</field> - <field name="image" type="base64" file="fleet/static/img/brand_volvo-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_volvo-image.png"/> </record> <record id="brand_willys" model="fleet.vehicle.model.brand"> <field name="name">Willys</field> - <field name="image" type="base64" file="fleet/static/img/brand_willys-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_willys-image.png"/> </record> <record id="brand_suzuki" model="fleet.vehicle.model.brand"> <field name="name">Suzuki</field> - <field name="image" type="base64" file="fleet/static/img/brand_suzuki-image.png"/> + <field name="image_128" type="base64" file="fleet/static/img/brand_suzuki-image.png"/> </record> <record id="model_corsa" model="fleet.vehicle.model"> <field name="name">Corsa</field> diff --git a/addons/fleet/models/fleet_vehicle.py b/addons/fleet/models/fleet_vehicle.py index bc977182d20686087aa9e8f1ab6537c80e6a3865..ce22e580d7c7f1ef578d836a4036dd81a3385cb1 100644 --- a/addons/fleet/models/fleet_vehicle.py +++ b/addons/fleet/models/fleet_vehicle.py @@ -72,9 +72,7 @@ class FleetVehicle(models.Model): horsepower_tax = fields.Float('Horsepower Taxation') power = fields.Integer('Power', help='Power in kW of the vehicle') co2 = fields.Float('CO2 Emissions', help='CO2 emissions of the vehicle') - image = fields.Binary(related='model_id.image', string="Logo", readonly=False) - image_128 = fields.Binary(related='model_id.image_128', string="Logo (medium)", readonly=False) - image_64 = fields.Binary(related='model_id.image_64', string="Logo (small)", readonly=False) + image_128 = fields.Image(related='model_id.image_128', readonly=False) contract_renewal_due_soon = fields.Boolean(compute='_compute_contract_reminder', search='_search_contract_renewal_due_soon', string='Has Contracts to renew', multi='contract_info') contract_renewal_overdue = fields.Boolean(compute='_compute_contract_reminder', search='_search_get_overdue_contract_reminder', @@ -203,13 +201,6 @@ class FleetVehicle(models.Model): res.append(('id', search_operator, res_ids)) return res - @api.onchange('model_id') - def _onchange_model(self): - if self.model_id: - self.image_128 = self.model_id.image - else: - self.image_128 = False - @api.model def create(self, vals): res = super(FleetVehicle, self).create(vals) diff --git a/addons/fleet/models/fleet_vehicle_model.py b/addons/fleet/models/fleet_vehicle_model.py index 596945c27ce71f8dbc363e59b0929dfe1411e059..ab6981c760054b28d252a551019eea5ad5b47959 100644 --- a/addons/fleet/models/fleet_vehicle_model.py +++ b/addons/fleet/models/fleet_vehicle_model.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, fields, models, tools +from odoo import api, fields, models class FleetVehicleModel(models.Model): @@ -14,9 +14,7 @@ class FleetVehicleModel(models.Model): vendors = fields.Many2many('res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id', string='Vendors') manager_id = fields.Many2one('res.users', 'Fleet Manager', default=lambda self: self.env.uid, domain=lambda self: [('groups_id', 'in', self.env.ref('fleet.fleet_group_manager').id)]) - image = fields.Binary(related='brand_id.image', string="Logo", readonly=False) - image_128 = fields.Binary(related='brand_id.image_128', string="Logo (medium)", readonly=False) - image_64 = fields.Binary(related='brand_id.image_64', string="Logo (small)", readonly=False) + image_128 = fields.Image(related='brand_id.image_128', readonly=False) @api.depends('name', 'brand_id') def name_get(self): @@ -28,13 +26,6 @@ class FleetVehicleModel(models.Model): res.append((record.id, name)) return res - @api.onchange('brand_id') - def _onchange_brand(self): - if self.brand_id: - self.image_128 = self.brand_id.image - else: - self.image_128 = False - class FleetVehicleModelBrand(models.Model): _name = 'fleet.vehicle.model.brand' @@ -42,23 +33,4 @@ class FleetVehicleModelBrand(models.Model): _order = 'name asc' name = fields.Char('Make', required=True) - image = fields.Binary("Logo", - help="This field holds the image used as logo for the brand, limited to 1024x1024px.") - image_128 = fields.Binary("Medium-sized image", - help="Medium-sized logo of the brand. It is automatically " - "resized as a 128x128px image, with aspect ratio preserved. " - "Use this field in form views or some kanban views.") - image_64 = fields.Binary("Small-sized image", - help="Small-sized logo of the brand. It is automatically " - "resized as a 64x64px image, with aspect ratio preserved. " - "Use this field anywhere a small image is required.") - - @api.model_create_multi - def create(self, vals_list): - for vals in vals_list: - tools.image_resize_images(vals) - return super(FleetVehicleModelBrand, self).create(vals_list) - - def write(self, vals): - tools.image_resize_images(vals) - return super(FleetVehicleModelBrand, self).write(vals) + image_128 = fields.Image("Logo", max_width=128, max_height=128) diff --git a/addons/fleet/views/fleet_vehicle_model_views.xml b/addons/fleet/views/fleet_vehicle_model_views.xml index 85bdb4650a9372d86423e4a67366b3904bd30514..862d8eb111f41a86aef962cced625d945ceb0f75 100644 --- a/addons/fleet/views/fleet_vehicle_model_views.xml +++ b/addons/fleet/views/fleet_vehicle_model_views.xml @@ -125,12 +125,11 @@ <kanban> <field name="id"/> <field name="name" /> - <field name="image" /> <templates> <t t-name="kanban-box"> <div class="oe_kanban_vignette oe_semantic_html_override"> <a type="open" href="#" class="o_kanban_image oe_kanban_action"> - <img alt="Open" t-att-src="kanban_image('fleet.vehicle.model.brand', 'image_64', record.id.raw_value)" class="img-fluid" style="width:100px;"/> + <img alt="Open" t-att-src="kanban_image('fleet.vehicle.model.brand', 'image_128', record.id.raw_value)" class="img-fluid" style="width:100px;"/> </a> <div class="oe_kanban_details"> <h4 class="oe_partner_heading"> diff --git a/addons/fleet/views/fleet_vehicle_views.xml b/addons/fleet/views/fleet_vehicle_views.xml index f1df6315e7e99d62b54ac6fe8d80c0312168d10a..68616c60855e6bca1c9b34c577d83495830a6056 100644 --- a/addons/fleet/views/fleet_vehicle_views.xml +++ b/addons/fleet/views/fleet_vehicle_views.xml @@ -210,7 +210,6 @@ <field name="location" /> <field name="state_id" /> <field name="id" /> - <field name="image" /> <field name="tag_ids" /> <field name="contract_renewal_due_soon" /> <field name="contract_renewal_overdue" /> @@ -225,7 +224,7 @@ <t t-name="kanban-box"> <div class="oe_kanban_global_click"> <div class="o_kanban_image"> - <img t-att-src="kanban_image('fleet.vehicle', 'image_64', record.id.raw_value)" alt="Vehicle"/> + <img t-att-src="kanban_image('fleet.vehicle', 'image_128', record.id.raw_value)" alt="Vehicle"/> </div> <div class="oe_kanban_details"> <strong class="o_kanban_record_title"> @@ -279,7 +278,7 @@ <field name="id"/> <templates> <div t-name="activity-box"> - <img t-att-src="activity_image('fleet.vehicle', 'image_64', record.id.raw_value)" role="img" t-att-title="record.id.value" t-att-alt="record.id.value"/> + <img t-att-src="activity_image('fleet.vehicle', 'image_128', record.id.raw_value)" role="img" t-att-title="record.id.value" t-att-alt="record.id.value"/> <div> <field name="license_plate"/> : <field name="model_id"/> </div> diff --git a/addons/im_livechat/models/im_livechat_channel.py b/addons/im_livechat/models/im_livechat_channel.py index 1f51b65e1d0f2c13f203256ed09eb685fbc9d8aa..ed7a6a73252e42bded5c4cdfbe77bdc805457524 100644 --- a/addons/im_livechat/models/im_livechat_channel.py +++ b/addons/im_livechat/models/im_livechat_channel.py @@ -4,7 +4,7 @@ import base64 import random import re -from odoo import api, fields, models, modules, tools +from odoo import api, fields, models, modules class ImLivechatChannel(models.Model): @@ -21,7 +21,7 @@ class ImLivechatChannel(models.Model): def _default_image(self): image_path = modules.get_module_resource('im_livechat', 'static/src/img', 'default.png') - return tools.image_process(base64.b64encode(open(image_path, 'rb').read()), size=(1024, 1024)) + return base64.b64encode(open(image_path, 'rb').read()) def _default_user_ids(self): return [(6, 0, [self._uid])] @@ -42,17 +42,7 @@ class ImLivechatChannel(models.Model): script_external = fields.Text('Script (external)', compute='_compute_script_external', store=False, readonly=True) nbr_channel = fields.Integer('Number of conversation', compute='_compute_nbr_channel', store=False, readonly=True) - # images fields - image = fields.Binary('Image', default=_default_image, - help="This field holds the image used as photo for the group, limited to 1024x1024px.") - image_128 = fields.Binary('Medium', - help="Medium-sized photo of the group. It is automatically "\ - "resized as a 128x128px image, with aspect ratio preserved. "\ - "Use this field in form views or some kanban views.") - image_64 = fields.Binary('Thumbnail', - help="Small-sized photo of the group. It is automatically "\ - "resized as a 64x64px image, with aspect ratio preserved. "\ - "Use this field anywhere a small image is required.") + image_128 = fields.Image("Image", max_width=128, max_height=128, default=_default_image) # relationnal fields user_ids = fields.Many2many('res.users', 'im_livechat_channel_im_user', 'channel_id', 'user_id', string='Operators', default=_default_user_ids) @@ -83,15 +73,6 @@ class ImLivechatChannel(models.Model): for record in self: record.nbr_channel = len(record.channel_ids) - @api.model - def create(self, vals): - tools.image_resize_images(vals) - return super(ImLivechatChannel, self).create(vals) - - def write(self, vals): - tools.image_resize_images(vals) - return super(ImLivechatChannel, self).write(vals) - # -------------------------- # Action Methods # -------------------------- diff --git a/addons/im_livechat/views/im_livechat_channel_views.xml b/addons/im_livechat/views/im_livechat_channel_views.xml index fd85c4e5dc056bd1b2e787f5223e35b37d631ab8..3a331f6e762df211ce3b39016f21bb7f1bc48fad 100644 --- a/addons/im_livechat/views/im_livechat_channel_views.xml +++ b/addons/im_livechat/views/im_livechat_channel_views.xml @@ -87,7 +87,7 @@ <field string="% Happy" name="rating_percentage_satisfaction" widget="statinfo"/> </button> </div> - <field name="image" widget='image' class="oe_avatar" options='{"preview_image": "image_128"}'/> + <field name="image_128" widget="image" class="oe_avatar"/> <div class="oe_title"> <label for="name" class="oe_edit_only"/> <h1> diff --git a/addons/im_livechat/views/mail_channel_views.xml b/addons/im_livechat/views/mail_channel_views.xml index 15041f566c70e85890d9f18a61e90c6fff00b8a8..ac2dd35ce6d81a91863946629f4afcccfe0133d5 100644 --- a/addons/im_livechat/views/mail_channel_views.xml +++ b/addons/im_livechat/views/mail_channel_views.xml @@ -39,7 +39,7 @@ <form string="Session Form" create="false" edit="false"> <sheet> <div style="width:50%" class="float-right"> - <field name="rating_last_image" widget="image" class="float-right" options='{"preview_image": "image_thumb"}' readonly="1" nolabel="1"/> + <field name="rating_last_image" widget="image" class="float-right" readonly="1" nolabel="1"/> <field name="rating_last_feedback" nolabel="1"/> </div> <div style="width:50%" class="float-left"> diff --git a/addons/mail/models/mail_channel.py b/addons/mail/models/mail_channel.py index 83a418a44e4e9597949538d783b587f38a364914..974897c3c1c7eb81500a74a5d322302495141265 100644 --- a/addons/mail/models/mail_channel.py +++ b/addons/mail/models/mail_channel.py @@ -12,7 +12,6 @@ from odoo import _, api, fields, models, modules, tools from odoo.exceptions import UserError, ValidationError from odoo.osv import expression from odoo.tools import ormcache -from odoo.tools.safe_eval import safe_eval MODERATION_FIELDS = ['moderation', 'moderator_ids', 'moderation_ids', 'moderation_notify', 'moderation_notify_msg', 'moderation_guidelines', 'moderation_guidelines_msg'] _logger = logging.getLogger(__name__) @@ -64,7 +63,7 @@ class Channel(models.Model): def _get_default_image(self): image_path = modules.get_module_resource('mail', 'static/src/img', 'groupdefault.png') - return tools.image_process(base64.b64encode(open(image_path, 'rb').read()), size=(1024, 1024)) + return base64.b64encode(open(image_path, 'rb').read()) @api.model def default_get(self, fields): @@ -101,17 +100,7 @@ class Channel(models.Model): help="Members of those groups will automatically added as followers. " "Note that they will be able to manage their subscription manually " "if necessary.") - # image: all image fields are base64 encoded and PIL-supported - image = fields.Binary("Photo", default=_get_default_image, - help="This field holds the image used as photo for the group, limited to 1024x1024px.") - image_128 = fields.Binary('Medium-sized photo', - help="Medium-sized photo of the group. It is automatically " - "resized as a 128x128px image, with aspect ratio preserved. " - "Use this field in form views or some kanban views.") - image_64 = fields.Binary('Small-sized photo', - help="Small-sized photo of the group. It is automatically " - "resized as a 64x64px image, with aspect ratio preserved. " - "Use this field anywhere a small image is required.") + image_128 = fields.Image("Image", max_width=128, max_height=128, default=_get_default_image) is_subscribed = fields.Boolean( 'Is Subscribed', compute='_compute_is_subscribed') # moderation @@ -209,11 +198,10 @@ class Channel(models.Model): @api.model def create(self, vals): # ensure image at quick create - if not vals.get('image'): - defaults = self.default_get(['image']) - vals['image'] = defaults['image'] + if not vals.get('image_128'): + defaults = self.default_get(['image_128']) + vals['image_128'] = defaults['image_128'] - tools.image_resize_images(vals) # Create channel and alias channel = super(Channel, self.with_context( alias_model_name=self._name, alias_parent_model_name=self._name, mail_create_nolog=True, mail_create_nosubscribe=True) @@ -250,7 +238,6 @@ class Channel(models.Model): if not self.env.user.has_group('base.group_system'): raise UserError("You do not possess the rights to modify fields related to moderation on one of the channels you are modifying.") - tools.image_resize_images(vals) result = super(Channel, self).write(vals) if vals.get('group_ids'): diff --git a/addons/mail/static/src/js/models/threads/channel.js b/addons/mail/static/src/js/models/threads/channel.js index 17d9453697a5a0ebbf7e69a8c34c4a9711341c64..83a0a259e94fc84677c9aa8cd86078a514dcdd95 100644 --- a/addons/mail/static/src/js/models/threads/channel.js +++ b/addons/mail/static/src/js/models/threads/channel.js @@ -220,7 +220,7 @@ var Channel = SearchableThread.extend(ThreadTypingMixin, { getPreview: function () { var result = this._super.apply(this, arguments); if (!this.isTwoUserThread()) { - result.imageSRC = '/web/image/mail.channel/' + this.getID() + '/image_64'; + result.imageSRC = '/web/image/mail.channel/' + this.getID() + '/image_128'; } var lastMessage = this.getLastMessage(); return _.extend(result, { diff --git a/addons/mail/views/mail_channel_views.xml b/addons/mail/views/mail_channel_views.xml index 1fcd1c3ab58cdb399acd2205cbe5ed81b60ee123..7667d2b47fe74c2eb44c332430795efaa678c985 100644 --- a/addons/mail/views/mail_channel_views.xml +++ b/addons/mail/views/mail_channel_views.xml @@ -94,7 +94,7 @@ </button> </div> <div class="oe_button_box" name="button_box"/> - <field name="image" widget="image" class="oe_avatar" options="{'preview_image': 'image_128', 'size': [90, 90]}"/> + <field name="image_128" widget="image" class="oe_avatar" options="{'size': [90, 90]}"/> <div class="oe_title"> <div class="oe_edit_only"> <label for="name"/> diff --git a/addons/payment/data/payment_acquirer_data.xml b/addons/payment/data/payment_acquirer_data.xml index b9040c2275726f0f2bdf6159fd309673071f987e..8ff2324d2a7f7e851ef43c0bd7dc31c21dc95164 100644 --- a/addons/payment/data/payment_acquirer_data.xml +++ b/addons/payment/data/payment_acquirer_data.xml @@ -14,7 +14,7 @@ <record id="payment_acquirer_buckaroo" model="payment.acquirer"> <field name="name">Buckaroo</field> - <field name="image" type="base64" file="payment_buckaroo/static/src/img/buckaroo_icon.png"/> + <field name="image_128" type="base64" file="payment_buckaroo/static/src/img/buckaroo_icon.png"/> <field name="view_template_id" ref="default_acquirer_button"/> <field name="module_id" ref="base.module_payment_buckaroo"/> <field name="description" type="html"> @@ -38,7 +38,7 @@ <field name="name">Ingenico</field> <field name="sequence">2</field> <field name="view_template_id" ref="default_acquirer_button"/> - <field name="image" type="base64" file="payment_ogone/static/src/img/ogone_icon.png"/> + <field name="image_128" type="base64" file="payment_ogone/static/src/img/ogone_icon.png"/> <field name="module_id" ref="base.module_payment_ogone"/> <field name="description" type="html"> <p> @@ -61,7 +61,7 @@ <record id="payment_acquirer_adyen" model="payment.acquirer"> <field name="name">Adyen</field> <field name="view_template_id" ref="default_acquirer_button"/> - <field name="image" type="base64" file="payment_adyen/static/src/img/adyen_icon.png"/> + <field name="image_128" type="base64" file="payment_adyen/static/src/img/adyen_icon.png"/> <field name="module_id" ref="base.module_payment_adyen"/> <field name="description" type="html"> <p> @@ -87,7 +87,7 @@ <field name="name">Authorize.net</field> <field name="sequence">3</field> <field name="view_template_id" ref="default_acquirer_button"/> - <field name="image" type="base64" file="payment_authorize/static/src/img/authorize_icon.png"/> + <field name="image_128" type="base64" file="payment_authorize/static/src/img/authorize_icon.png"/> <field name="module_id" ref="base.module_payment_authorize"/> <field name="description" type="html"> <p> @@ -114,7 +114,7 @@ <field name="name">Wire Transfer</field> <field name="sequence">2</field> <field name="view_template_id" ref="default_acquirer_button"/> - <field name="image" type="base64" file="payment_transfer/static/src/img/transfer_icon.png"/> + <field name="image_128" type="base64" file="payment_transfer/static/src/img/transfer_icon.png"/> <field name="module_id" ref="base.module_payment_transfer"/> <field name="pending_msg"><i>Pending</i>... The order will be validated after the payment.</field> <field name="description" type="html"> @@ -127,7 +127,7 @@ <record id="payment_acquirer_sips" model="payment.acquirer"> <field name="name">Sips</field> <field name="view_template_id" ref="default_acquirer_button"/> - <field name="image" type="base64" file="payment_sips/static/src/img/sips_icon.png"/> + <field name="image_128" type="base64" file="payment_sips/static/src/img/sips_icon.png"/> <field name="module_id" ref="base.module_payment_sips"/> <field name="description" type="html"> <p> @@ -154,7 +154,7 @@ <field name="name">Paypal</field> <field name="sequence">1</field> <field name="view_template_id" ref="default_acquirer_button"/> - <field name="image" type="base64" file="payment_paypal/static/src/img/paypal_icon.png"/> + <field name="image_128" type="base64" file="payment_paypal/static/src/img/paypal_icon.png"/> <field name="module_id" ref="base.module_payment_paypal"/> <field name="description" type="html"> <p> @@ -179,7 +179,7 @@ <record id="payment_acquirer_stripe" model="payment.acquirer"> <field name="name">Stripe</field> <field name="view_template_id" ref="default_acquirer_button"/> - <field name="image" type="base64" file="payment_stripe/static/src/img/stripe_icon.png"/> + <field name="image_128" type="base64" file="payment_stripe/static/src/img/stripe_icon.png"/> <field name="module_id" ref="base.module_payment_stripe"/> <field name="description" type="html"> <p> @@ -222,7 +222,7 @@ <record id="payment_acquirer_payu" model="payment.acquirer"> <field name="name">PayUmoney</field> - <field name="image" type="base64" file="payment_payumoney/static/src/img/payumoney_icon.png"/> + <field name="image_128" type="base64" file="payment_payumoney/static/src/img/payumoney_icon.png"/> <field name="view_template_id" ref="default_acquirer_button"/> <field name="module_id" ref="base.module_payment_payumoney"/> <field name="description" type="html"> @@ -245,7 +245,7 @@ <record id="payment_acquirer_payulatam" model="payment.acquirer"> <field name="name">PayU Latam</field> - <field name="image" type="base64" file="payment_payulatam/static/src/img/payulatam_icon.png"/> + <field name="image_128" type="base64" file="payment_payulatam/static/src/img/payulatam_icon.png"/> <field name="view_template_id" ref="default_acquirer_button"/> <field name="module_id" ref="base.module_payment_payulatam"/> <field name="description" type="html"> @@ -267,7 +267,7 @@ <record id="payment_acquirer_alipay" model="payment.acquirer"> <field name="name">Alipay</field> - <field name="image" type="base64" file="payment_alipay/static/description/icon.png"/> + <field name="image_128" type="base64" file="payment_alipay/static/description/icon.png"/> <field name="view_template_id" ref="default_acquirer_button"/> <field name="module_id" ref="base.module_payment_alipay"/> <field name="description" type="html"> diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py index 6d50d8133cbcaca816f131fadd77dafc3a1e6f24..5c3f2135590efc0ea0512fcd6be0ac7d493812cf 100644 --- a/addons/payment/models/payment_acquirer.py +++ b/addons/payment/models/payment_acquirer.py @@ -8,7 +8,7 @@ from dateutil import relativedelta import pprint from odoo import api, exceptions, fields, models, _, SUPERUSER_ID -from odoo.tools import consteq, float_round, image_resize_images, image_process, ustr +from odoo.tools import consteq, float_round, image_process, ustr from odoo.addons.base.models import ir_module from odoo.exceptions import ValidationError from odoo.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT @@ -152,18 +152,7 @@ class PaymentAcquirer(models.Model): module_id = fields.Many2one('ir.module.module', string='Corresponding Module') module_state = fields.Selection(selection=ir_module.STATES, string='Installation State', related='module_id.state', readonly=False) - image = fields.Binary( - "Image", help="This field holds the image used for this provider, limited to 1024x1024px") - image_128 = fields.Binary( - "Medium-sized image", - help="Medium-sized image of this provider. It is automatically " - "resized as a 128x128px image, with aspect ratio preserved. " - "Use this field in form views or some kanban views.") - image_64 = fields.Binary( - "Small-sized image", - help="Small-sized image of this provider. It is automatically " - "resized as a 64x64px image, with aspect ratio preserved. " - "Use this field anywhere a small image is required.") + image_128 = fields.Image("Image", max_width=128, max_height=128) payment_icon_ids = fields.Many2many('payment.icon', string='Supported Payment Icons') payment_flow = fields.Selection(selection=[('form', 'Redirection to the acquirer website'), @@ -275,13 +264,11 @@ class PaymentAcquirer(models.Model): @api.model def create(self, vals): - image_resize_images(vals) record = super(PaymentAcquirer, self).create(vals) record._check_required_if_provider() return record def write(self, vals): - image_resize_images(vals) result = super(PaymentAcquirer, self).write(vals) self._check_required_if_provider() return result diff --git a/addons/payment/views/payment_portal_templates.xml b/addons/payment/views/payment_portal_templates.xml index fa33821b13c1efebbe31b4e1834a1700aa4214fc..20d519599be3fd2910d12d0fc60a6949e8fa9c40 100644 --- a/addons/payment/views/payment_portal_templates.xml +++ b/addons/payment/views/payment_portal_templates.xml @@ -112,7 +112,7 @@ <a role="button" t-attf-class="btn btn-#{status} float-right" href="/my/home"><i class="fa fa-arrow-circle-right"/> Back to My Account</a> </div> <div class="col-md-6 offset-md-6 text-muted mt16"><!-- FIXME should be in a row... --> - <span t-field="tx.acquirer_id.image_64" t-att-title="tx.acquirer_id.name" role="img" t-att-aria-label="tx.acquirer_id.name" t-options='{"widget": "image", "style":"max-width: 60px; display: inline-block"}'/> + <span t-field="tx.acquirer_id.image_128" t-att-title="tx.acquirer_id.name" role="img" t-att-aria-label="tx.acquirer_id.name" t-options='{"widget": "image", "style":"max-width: 60px; display: inline-block"}'/> <span>Processed by <t t-esc="tx.acquirer_id.name"/>.</span> </div> </div> diff --git a/addons/payment/views/payment_views.xml b/addons/payment/views/payment_views.xml index 2b3a9548fb8e63b7b75ba29aa13d5f90b4a43e3a..0be3849727ccb17bedeea07e0519f4c112afc422 100644 --- a/addons/payment/views/payment_views.xml +++ b/addons/payment/views/payment_views.xml @@ -61,7 +61,7 @@ </div> </button> </div> - <field name="image" widget='image' class="oe_avatar" options='{"preview_image": "image_128"}'/> + <field name="image_128" widget="image" class="oe_avatar"/> <div class="oe_title"> <h1><field name="name" placeholder="Name"/></h1> </div> @@ -157,7 +157,7 @@ <t t-set="installed" t-value="!record.module_id.value || (record.module_id.value && record.module_state.raw_value === 'installed')"/> <div t-attf-class="oe_kanban_global_click #{installed and record.website_published.raw_value ? 'oe_kanban_color_5' : 'oe_kanban_color_white'}"> <div class="o_kanban_image"> - <img type="open" t-att-src="kanban_image('payment.acquirer', 'image_64', record.id.raw_value)" alt="Acquirer"/> + <img type="open" t-att-src="kanban_image('payment.acquirer', 'image_128', record.id.raw_value)" alt="Acquirer"/> </div> <div class="o_payment_acquirer_desc"> <h3 class="mt4"><t t-esc="record.name.value"/></h3> diff --git a/addons/payment_adyen/data/payment_acquirer_data.xml b/addons/payment_adyen/data/payment_acquirer_data.xml index a0b6488663dd43f9317b445b8bfe77f572aefe96..18e3bb8afdeca6752169b16558de979ec487904d 100644 --- a/addons/payment_adyen/data/payment_acquirer_data.xml +++ b/addons/payment_adyen/data/payment_acquirer_data.xml @@ -4,7 +4,7 @@ <record id="payment.payment_acquirer_adyen" model="payment.acquirer"> <field name="name">Adyen</field> - <field name="image" type="base64" file="payment_adyen/static/src/img/adyen_icon.png"/> + <field name="image_128" type="base64" file="payment_adyen/static/src/img/adyen_icon.png"/> <field name="provider">adyen</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="adyen_form"/> diff --git a/addons/payment_authorize/data/payment_acquirer_data.xml b/addons/payment_authorize/data/payment_acquirer_data.xml index da0e438c41d2074a26689efedab0f4734d14f0d1..293bcbad9e04db51fa3909e418c3bbfa83bfc57f 100644 --- a/addons/payment_authorize/data/payment_acquirer_data.xml +++ b/addons/payment_authorize/data/payment_acquirer_data.xml @@ -4,7 +4,7 @@ <record id="payment.payment_acquirer_authorize" model="payment.acquirer"> <field name="name">Authorize.Net</field> - <field name="image" type="base64" file="payment_authorize/static/src/img/authorize_icon.png"/> + <field name="image_128" type="base64" file="payment_authorize/static/src/img/authorize_icon.png"/> <field name="provider">authorize</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="authorize_form"/> diff --git a/addons/payment_buckaroo/data/payment_acquirer_data.xml b/addons/payment_buckaroo/data/payment_acquirer_data.xml index db69ed5fa7cce3e580024ed1d24d790437964373..7b11d68884485159d6c698158ea46f7f79f1502e 100644 --- a/addons/payment_buckaroo/data/payment_acquirer_data.xml +++ b/addons/payment_buckaroo/data/payment_acquirer_data.xml @@ -4,7 +4,7 @@ <record id="payment.payment_acquirer_buckaroo" model="payment.acquirer"> <field name="name">Buckaroo</field> - <field name="image" type="base64" file="payment_buckaroo/static/src/img/buckaroo_icon.png"/> + <field name="image_128" type="base64" file="payment_buckaroo/static/src/img/buckaroo_icon.png"/> <field name="provider">buckaroo</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="buckaroo_form"/> diff --git a/addons/payment_ogone/data/payment_acquirer_data.xml b/addons/payment_ogone/data/payment_acquirer_data.xml index 49743cc2a62766ea4f33941b42b6160a3b9be3cb..8f121d164d5a578b77f7aa6a9b55c8a0c9dea348 100644 --- a/addons/payment_ogone/data/payment_acquirer_data.xml +++ b/addons/payment_ogone/data/payment_acquirer_data.xml @@ -4,7 +4,7 @@ <record id="payment.payment_acquirer_ogone" model="payment.acquirer"> <field name="name">Ingenico</field> - <field name="image" type="base64" file="payment_ogone/static/src/img/ogone_icon.png"/> + <field name="image_128" type="base64" file="payment_ogone/static/src/img/ogone_icon.png"/> <field name="provider">ogone</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="ogone_form"/> diff --git a/addons/payment_paypal/data/payment_acquirer_data.xml b/addons/payment_paypal/data/payment_acquirer_data.xml index 62bac1466ffc49f8b55c888fe1860ab8a1406ce8..893feb51b6e55ec45f9640e11926e63e2c63c51d 100644 --- a/addons/payment_paypal/data/payment_acquirer_data.xml +++ b/addons/payment_paypal/data/payment_acquirer_data.xml @@ -4,7 +4,7 @@ <record id="payment.payment_acquirer_paypal" model="payment.acquirer"> <field name="name">Paypal</field> - <field name="image" type="base64" file="payment_paypal/static/src/img/paypal_icon.png"/> + <field name="image_128" type="base64" file="payment_paypal/static/src/img/paypal_icon.png"/> <field name="provider">paypal</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="paypal_form"/> diff --git a/addons/payment_payumoney/data/payment_acquirer_data.xml b/addons/payment_payumoney/data/payment_acquirer_data.xml index f8c9dd971399d389d822b6ed00c6870b08f2ab81..dab5726f043e16d3883b55bc45d328148fb3b3cc 100644 --- a/addons/payment_payumoney/data/payment_acquirer_data.xml +++ b/addons/payment_payumoney/data/payment_acquirer_data.xml @@ -3,7 +3,7 @@ <data noupdate="1"> <record id="payment.payment_acquirer_payu" model="payment.acquirer"> <field name="name">PayUmoney</field> - <field name="image" type="base64" file="payment_payumoney/static/src/img/payumoney_icon.png"/> + <field name="image_128" type="base64" file="payment_payumoney/static/src/img/payumoney_icon.png"/> <field name="provider">payumoney</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="payumoney_form"/> diff --git a/addons/payment_sips/data/payment_acquirer_data.xml b/addons/payment_sips/data/payment_acquirer_data.xml index c6082d6f6fc4d52ee75b592647ec842665cbbfe4..666c0271ad6debf842901211f4f3678f0c45e7f1 100644 --- a/addons/payment_sips/data/payment_acquirer_data.xml +++ b/addons/payment_sips/data/payment_acquirer_data.xml @@ -4,7 +4,7 @@ <record id="payment.payment_acquirer_sips" model="payment.acquirer"> <field name="name">Sips</field> - <field name="image" type="base64" file="payment_sips/static/src/img/sips_icon.png"/> + <field name="image_128" type="base64" file="payment_sips/static/src/img/sips_icon.png"/> <field name="provider">sips</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="payment_sips.sips_form"/> diff --git a/addons/payment_stripe/data/payment_acquirer_data.xml b/addons/payment_stripe/data/payment_acquirer_data.xml index a82caaa37046b19f4f377b99f74d90be41b2f75b..2d30e4c6a72767f45953204bf1745d7713bf1fc2 100644 --- a/addons/payment_stripe/data/payment_acquirer_data.xml +++ b/addons/payment_stripe/data/payment_acquirer_data.xml @@ -3,7 +3,7 @@ <data noupdate="1"> <record id="payment.payment_acquirer_stripe" model="payment.acquirer"> <field name="name">Stripe</field> - <field name="image" type="base64" file="payment_stripe/static/src/img/stripe_icon.png"/> + <field name="image_128" type="base64" file="payment_stripe/static/src/img/stripe_icon.png"/> <field name="provider">stripe</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="stripe_form"/> diff --git a/addons/payment_transfer/data/payment_acquirer_data.xml b/addons/payment_transfer/data/payment_acquirer_data.xml index 4cd7c7811e55db675ed7ba67413f95a25cb1f631..ba2964e13d8c0c50998d84ccce3583d686100bbb 100644 --- a/addons/payment_transfer/data/payment_acquirer_data.xml +++ b/addons/payment_transfer/data/payment_acquirer_data.xml @@ -4,7 +4,7 @@ <record id="payment.payment_acquirer_transfer" model="payment.acquirer"> <field name="name">Wire Transfer</field> - <field name="image" type="base64" file="payment_transfer/static/src/img/transfer_icon.png"/> + <field name="image_128" type="base64" file="payment_transfer/static/src/img/transfer_icon.png"/> <field name="provider">transfer</field> <field name="company_id" ref="base.main_company"/> <field name="view_template_id" ref="transfer_form"/> diff --git a/addons/point_of_sale/models/pos_category.py b/addons/point_of_sale/models/pos_category.py index 5a27ee7cf9e913189d0870317a8ae7a6b28bad7b..c3f40d94478905f01e4a458fe2022272a3c1f985 100644 --- a/addons/point_of_sale/models/pos_category.py +++ b/addons/point_of_sale/models/pos_category.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import api, fields, models, tools, _ +from odoo import api, fields, models, _ + class PosCategory(models.Model): _name = "pos.category" @@ -16,29 +17,7 @@ class PosCategory(models.Model): parent_id = fields.Many2one('pos.category', string='Parent Category', index=True) child_id = fields.One2many('pos.category', 'parent_id', string='Children Categories') sequence = fields.Integer(help="Gives the sequence order when displaying a list of product categories.") - # NOTE: there is no 'default image', because by default we don't show - # thumbnails for categories. However if we have a thumbnail for at least one - # category, then we display a default image on the other, so that the - # buttons have consistent styling. - image = fields.Binary( - help="This field holds the image used as image for the cateogry, limited to 1024x1024px.") - image_128 = fields.Binary(string="Medium-sized image", - help="Medium-sized image of the category. It is automatically " - "resized as a 128x128px image, with aspect ratio preserved. " - "Use this field in form views or some kanban views.") - image_64 = fields.Binary(string="Small-sized image", - help="Small-sized image of the category. It is automatically " - "resized as a 64x64px image, with aspect ratio preserved. " - "Use this field anywhere a small image is required.") - - @api.model - def create(self, vals): - tools.image_resize_images(vals) - return super(PosCategory, self).create(vals) - - def write(self, vals): - tools.image_resize_images(vals) - return super(PosCategory, self).write(vals) + image_128 = fields.Image("Image", max_width=128, max_height=128) def name_get(self): def get_names(cat): diff --git a/addons/point_of_sale/views/pos_category_view.xml b/addons/point_of_sale/views/pos_category_view.xml index c9936bcbf2673dd03a79a14b526b3e192f580072..fa2b716cf5b1b15cc544c0de34b0c9b3a72c3717 100644 --- a/addons/point_of_sale/views/pos_category_view.xml +++ b/addons/point_of_sale/views/pos_category_view.xml @@ -6,7 +6,7 @@ <field name="arch" type="xml"> <form string="Pos Product Categories"> <sheet> - <field name="image" widget='image' class="oe_avatar"/> + <field name="image_128" widget="image" class="oe_avatar"/> <div class="oe_title"> <label for="name" class="oe_edit_only"/> <h1> @@ -41,7 +41,6 @@ <field name="arch" type="xml"> <kanban class="o_kanban_mobile"> <field name="name"/> - <field name="image_128"/> <field name="id"/> <templates> <t t-name="kanban-box">