Skip to content

Commit dbddba4

Browse files
committed
[IMP] web_view_leaflet_map: black, isort, prettier
1 parent 3ff9a21 commit dbddba4

File tree

15 files changed

+152
-97
lines changed

15 files changed

+152
-97
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../web_view_leaflet_map

setup/web_view_leaflet_map/setup.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import setuptools
2+
3+
setuptools.setup(
4+
setup_requires=['setuptools-odoo'],
5+
odoo_addon=True,
6+
)

web_view_leaflet_map/data/ir_config_parameter.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1-
<?xml version="1.0" encoding="UTF-8"?>
1+
<?xml version="1.0" encoding="UTF-8" ?>
22
<!--
33
Copyright (C) 2022 - Today: GRAP (http://www.grap.coop)
44
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
55
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
66
-->
77
<odoo noupdate="1">
8-
<record id="config_parameter_leaflet_copyright" model="ir.config_parameter" forcecreate="True">
8+
<record
9+
id="config_parameter_leaflet_copyright"
10+
model="ir.config_parameter"
11+
forcecreate="True"
12+
>
913
<field name="key">leaflet.copyright</field>
10-
<field name="value"><![CDATA[
14+
<field
15+
name="value"
16+
><![CDATA[
1117
&copy; <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap</a>]]>
1218
</field>
1319
</record>

web_view_leaflet_map/demo/ir_config_parameter.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1-
<?xml version="1.0" encoding="UTF-8"?>
1+
<?xml version="1.0" encoding="UTF-8" ?>
22
<!--
33
Copyright (C) 2022 - Today: GRAP (http://www.grap.coop)
44
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
55
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
66
-->
77
<odoo noupdate="1">
8-
<record id="config_parameter_leaflet_tile_url" model="ir.config_parameter" forcecreate="True">
8+
<record
9+
id="config_parameter_leaflet_tile_url"
10+
model="ir.config_parameter"
11+
forcecreate="True"
12+
>
913
<field name="key">leaflet.tile_url</field>
1014
<field name="value">https://tile.openstreetmap.org/{z}/{x}/{y}.png</field>
1115
</record>

web_view_leaflet_map/hooks.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55

66

77
def uninstall_hook(cr, registry):
8-
cr.execute("UPDATE ir_act_window "
9-
"SET view_mode=replace(view_mode, ',leaflet_map', '')"
10-
"WHERE view_mode LIKE '%,leaflet_map%';")
11-
cr.execute("UPDATE ir_act_window "
12-
"SET view_mode=replace(view_mode, 'leaflet_map,', '')"
13-
"WHERE view_mode LIKE '%leaflet_map,%';")
14-
cr.execute("DELETE FROM ir_act_window "
15-
"WHERE view_mode = 'leaflet_map';")
8+
cr.execute(
9+
"UPDATE ir_act_window "
10+
"SET view_mode=replace(view_mode, ',leaflet_map', '')"
11+
"WHERE view_mode LIKE '%,leaflet_map%';"
12+
)
13+
cr.execute(
14+
"UPDATE ir_act_window "
15+
"SET view_mode=replace(view_mode, 'leaflet_map,', '')"
16+
"WHERE view_mode LIKE '%leaflet_map,%';"
17+
)
18+
cr.execute("DELETE FROM ir_act_window " "WHERE view_mode = 'leaflet_map';")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from . import ir_act_window_view
22
from . import ir_ui_view
33
from . import ir_http
4-
from . import res_users
4+
from . import res_users

web_view_leaflet_map/models/ir_act_window_view.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77

88

99
class IrActionsActWindowView(models.Model):
10-
_inherit = 'ir.actions.act_window.view'
10+
_inherit = "ir.actions.act_window.view"
1111

12-
view_mode = fields.Selection(selection_add=[('leaflet_map', 'Leaflet Map')])
12+
view_mode = fields.Selection(selection_add=[("leaflet_map", "Leaflet Map")])

web_view_leaflet_map/models/ir_http.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66

77

88
class Http(models.AbstractModel):
9-
_inherit = 'ir.http'
9+
_inherit = "ir.http"
1010

1111
def session_info(self):
1212
result = super(Http, self).session_info()
13-
config = self.env['ir.config_parameter'].sudo()
14-
result.update({
15-
"leaflet.tile_url": config.get_param('leaflet.tile_url', default=''),
16-
"leaflet.copyright": config.get_param('leaflet.copyright', default=''),
17-
})
13+
config = self.env["ir.config_parameter"].sudo()
14+
result.update(
15+
{
16+
"leaflet.tile_url": config.get_param("leaflet.tile_url", default=""),
17+
"leaflet.copyright": config.get_param("leaflet.copyright", default=""),
18+
}
19+
)
1820
return result

web_view_leaflet_map/models/ir_ui_view.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77

88

99
class IrUiView(models.Model):
10-
_inherit = 'ir.ui.view'
10+
_inherit = "ir.ui.view"
1111

12-
type = fields.Selection(selection_add=[('leaflet_map', 'Leaflet Map')])
12+
type = fields.Selection(selection_add=[("leaflet_map", "Leaflet Map")])

web_view_leaflet_map/models/res_users.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77

88
class ResUsers(models.Model):
9-
_inherit = 'res.users'
9+
_inherit = "res.users"
1010

1111
@api.model
1212
def get_default_leaflet_position(self, model_name):

web_view_leaflet_map/static/src/css/web_view_leaflet_map.css

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
overflow-x: visible;
99
height: 100%;
1010
width: 100%;
11-
1211
}
1312

1413
.o_leaflet_map_container {
@@ -20,12 +19,10 @@
2019
cursor: pointer;
2120
}
2221

23-
2422
.o_map_selector:hover {
2523
background-color: #eee;
2624
}
2725

28-
2926
.leaflet_marker_icon {
3027
background-color: white;
3128
border: 1px black solid;
@@ -57,6 +54,7 @@
5754
This directive force to display the elements for the leaflet elements.
5855
See : https://github.com/odoo/odoo/blob/12.0/addons/web/static/src/scss/ui.scss#L13
5956
*/
60-
.leaflet-container [aria-hidden="true"], [aria-hidden="1"] {
61-
display: inline!important;
62-
}
57+
.leaflet-container [aria-hidden="true"],
58+
[aria-hidden="1"] {
59+
display: inline !important;
60+
}
Lines changed: 60 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
odoo.define('web_view_leaflet_map.MapRenderer', function (require) {
2-
'use strict';
1+
odoo.define("web_view_leaflet_map.MapRenderer", function (require) {
2+
"use strict";
33

4-
var AbstractRenderer = require('web.AbstractRenderer');
5-
var session = require('web.session');
6-
var field_utils = require('web.field_utils');
4+
var AbstractRenderer = require("web.AbstractRenderer");
5+
var session = require("web.session");
6+
var field_utils = require("web.field_utils");
77

88
var MapRenderer = AbstractRenderer.extend({
9-
tagName: 'div',
10-
className: 'o_leaflet_main_container',
9+
tagName: "div",
10+
className: "o_leaflet_main_container",
1111

1212
init: function (parent, state, params) {
1313
this._super.apply(this, arguments);
1414

15-
this.leaflet_tile_url = session['leaflet.tile_url'];
16-
this.leaflet_copyright = session['leaflet.copyright'];
15+
this.leaflet_tile_url = session["leaflet.tile_url"];
16+
this.leaflet_copyright = session["leaflet.copyright"];
1717
this.default_zoom = params.arch.attrs.default_zoom || 7;
1818
this.max_zoom = params.arch.attrs.max_zoom || 19;
1919
this.zoom_snap = params.arch.attrs.zoom_snap | 1;
@@ -31,11 +31,13 @@ odoo.define('web_view_leaflet_map.MapRenderer', function (require) {
3131
start: function () {
3232
var self = this;
3333
var self_super = this._super;
34-
return this._initDefaultPosition().then(function () {
35-
self._initMap();
36-
}).then(function () {
37-
return self_super.apply(self, arguments);
38-
})
34+
return this._initDefaultPosition()
35+
.then(function () {
36+
self._initMap();
37+
})
38+
.then(function () {
39+
return self_super.apply(self, arguments);
40+
});
3941
},
4042

4143
_render: function () {
@@ -57,55 +59,70 @@ odoo.define('web_view_leaflet_map.MapRenderer', function (require) {
5759
// the map. See.
5860
// https://github.com/Leaflet/Leaflet/issues/3002#issuecomment-93836022
5961
return this._super.apply(this, arguments).then(function () {
60-
window.setTimeout(function(){
61-
self.leaflet_map.invalidateSize();
62-
},1);
63-
})
62+
window.setTimeout(function () {
63+
self.leaflet_map.invalidateSize();
64+
}, 1);
65+
});
6466
},
6567

66-
_renderRecord: function(record) {
68+
_renderRecord: function (record) {
6769
var self = this;
68-
var latlng = L.latLng(record.data[this.field_latitude], record.data[this.field_longitude]);
70+
var latlng = L.latLng(
71+
record.data[this.field_latitude],
72+
record.data[this.field_longitude]
73+
);
6974
// Display only records that have a valid position
7075
if (latlng.lat != 0 && latlng.lng != 0) {
71-
// create marker
76+
// Create marker
7277
var markerOptions = this._prepareMarkerOptions(record);
73-
var marker = L.marker(latlng, markerOptions).addTo(this.leaflet_layer_group);
78+
var marker = L.marker(latlng, markerOptions).addTo(
79+
this.leaflet_layer_group
80+
);
7481

7582
// Create Popup and attach an event onclick
7683
var popup = L.popup().setContent(this._preparePopUpData(record));
7784

7885
marker.bindPopup(popup).on("popupopen", () => {
79-
$(".o_map_selector").parent().parent().click({model_name: record.model, res_id: record.data["id"], current_object: self}, self._onClickLeafletPopup);
86+
$(".o_map_selector")
87+
.parent()
88+
.parent()
89+
.click(
90+
{
91+
model_name: record.model,
92+
res_id: record.data.id,
93+
current_object: self,
94+
},
95+
self._onClickLeafletPopup
96+
);
8097
});
81-
8298
}
8399
},
84100

85101
_onClickLeafletPopup: function (ev) {
86102
ev.preventDefault();
87-
ev.data.current_object.trigger_up('switch_view', {
88-
view_type: 'form',
103+
ev.data.current_object.trigger_up("switch_view", {
104+
view_type: "form",
89105
res_id: ev.data.res_id,
90106
model: ev.data.model_name,
91107
});
92108
},
93109

94-
_prepareMarkerIcon: function(record) {
110+
_prepareMarkerIcon: function (record) {
95111
var myIcon = L.icon({
96-
iconUrl: session.url('/web/image', {
112+
iconUrl: session.url("/web/image", {
97113
model: record.model,
98114
id: JSON.stringify(record.data.id),
99115
field: this.field_marker_icon_image,
100-
// unique forces a reload of the image when the record has been updated
101-
unique: field_utils.format.datetime(record.data.__last_update).replace(/[^0-9]/g, ''),
116+
// Unique forces a reload of the image when the record has been updated
117+
unique: field_utils.format
118+
.datetime(record.data.__last_update)
119+
.replace(/[^0-9]/g, ""),
102120
}),
103121
className: "leaflet_marker_icon",
104122
iconSize: [this.marker_icon_size_x, this.marker_icon_size_y],
105123
popupAnchor: [this.marker_popup_anchor_x, this.marker_popup_anchor_y],
106124
});
107125
return myIcon;
108-
109126
},
110127

111128
_prepareMarkerOptions: function (record) {
@@ -114,7 +131,7 @@ odoo.define('web_view_leaflet_map.MapRenderer', function (require) {
114131
title: record.data[this.field_title],
115132
alt: record.data[this.field_title],
116133
riseOnHover: true,
117-
}
134+
};
118135
if (icon) {
119136
result.icon = icon;
120137
}
@@ -123,22 +140,27 @@ odoo.define('web_view_leaflet_map.MapRenderer', function (require) {
123140

124141
_preparePopUpData: function (record) {
125142
return (
126-
"<div class='o_map_selector' res_id='" + record.data["id"] + "'>"
127-
+ "<b>" + record.data[this.field_title] + "</b><br/>"
128-
+ " - " + record.data[this.field_address]
129-
+ "</div>"
143+
"<div class='o_map_selector' res_id='" +
144+
record.data.id +
145+
"'>" +
146+
"<b>" +
147+
record.data[this.field_title] +
148+
"</b><br/>" +
149+
" - " +
150+
record.data[this.field_address] +
151+
"</div>"
130152
);
131153
},
132154

133155
_initDefaultPosition: function () {
134156
var self = this;
135157
return this._rpc({
136158
model: "res.users",
137-
method: 'get_default_leaflet_position',
159+
method: "get_default_leaflet_position",
138160
args: [this.state.model],
139161
}).then(function (result) {
140162
self.default_lat_lng = L.latLng(result.lat, result.lng);
141-
})
163+
});
142164
},
143165

144166
_initMap: function () {
@@ -153,9 +175,7 @@ odoo.define('web_view_leaflet_map.MapRenderer', function (require) {
153175
}).addTo(this.leaflet_map);
154176
this.$el.append($mainDiv);
155177
},
156-
157178
});
158179

159180
return MapRenderer;
160-
161181
});
Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,33 @@
1-
odoo.define('web_view_leaflet_map.MapView', function (require) {
2-
'use strict';
1+
odoo.define("web_view_leaflet_map.MapView", function (require) {
2+
"use strict";
33

4-
var BasicView = require('web.BasicView');
5-
var core = require('web.core');
6-
var MapRenderer = require('web_view_leaflet_map.MapRenderer');
4+
var BasicView = require("web.BasicView");
5+
var core = require("web.core");
6+
var MapRenderer = require("web_view_leaflet_map.MapRenderer");
77
var _lt = core._lt;
88

9-
109
var MapView = BasicView.extend({
11-
accesskey: 'm',
12-
display_name: _lt('Map'),
13-
icon: 'fa-map-o',
10+
accesskey: "m",
11+
display_name: _lt("Map"),
12+
icon: "fa-map-o",
1413
config: _.extend({}, BasicView.prototype.config, {
1514
Renderer: MapRenderer,
1615
}),
17-
viewType: 'leaflet_map',
16+
viewType: "leaflet_map",
1817

1918
init: function (viewInfo, params) {
2019
this._super.apply(this, arguments);
2120

22-
var mode = this.arch.attrs.editable && !params.readonly ? "edit" : "readonly";
21+
var mode =
22+
this.arch.attrs.editable && !params.readonly ? "edit" : "readonly";
2323

2424
this.controllerParams.mode = mode;
2525
this.rendererParams.arch = this.arch;
2626

2727
this.loadParams.limit = this.loadParams.limit || 80;
28-
this.loadParams.type = 'list';
29-
28+
this.loadParams.type = "list";
3029
},
3130
});
3231

3332
return MapView;
34-
3533
});

0 commit comments

Comments
 (0)