Skip to content

Commit

Permalink
[REF] split web_view_leaflet_map into web_view_leaflet_map and web_le…
Browse files Browse the repository at this point in the history
…aflet_lib, to be used by other modules, like 'web_widget_map'. (see : OCA/web#2953)
  • Loading branch information
legalsylvain committed Oct 29, 2024
1 parent 4a6ec7c commit 9149489
Show file tree
Hide file tree
Showing 23 changed files with 1,393 additions and 0 deletions.
121 changes: 121 additions & 0 deletions web_leaflet_lib/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
==========================
Leaflet Javascript Library
==========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e5af47c08dbb573c870e80a506feaccced35a36e61e63c6d39644fa84a357de1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fgeospatial-lightgray.png?logo=github
:target: https://github.com/OCA/geospatial/tree/16.0/web_leaflet_lib
:alt: OCA/geospatial
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/geospatial-16-0/geospatial-16-0-web_leaflet_lib
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/geospatial&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module extends odoo to include Leaflet Javacript library.

This module is used by ``web_view_leaflet_map``.

**Important Note**

The javascript library is opensource and distributed under BSD 2 Licence.
See : https://github.com/Leaflet/Leaflet/blob/main/LICENSE
You can so use it freely.

However, display maps requires to display layers provided by tiles servers, that
requires ressources.

**For testing purpose**

You can use the openStreetMap url ``https://tile.openstreetmap.org/{z}/{x}/{y}.png`` or other, listed in that page : https://wiki.openstreetmap.org/wiki/Tile_servers

Apart from very limited testing purposes, you should not use the tiles supplied by OpenStreetMap.org itself. OpenStreetMap is a volunteer-run non-profit body and cannot supply tiles for large-scale commercial use.

**Regular / High Usage**

- you can contact one of the following companies : https://switch2osm.org/providers/

- You can also install yourself your own tiles servers. See documentation : https://switch2osm.org/serving-tiles/

**Table of contents**

.. contents::
:local:

Configuration
=============

* Go to Settings > Technical > Parameters > System Parameters

* Create or edit the parameter with the key ``leaflet.tile_url``

* As a value, set the url of the tiles server you chose. (See description)

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/geospatial/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/geospatial/issues/new?body=module:%20web_leaflet_lib%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* GRAP

Contributors
~~~~~~~~~~~~

* Sylvain LE GAL (https://www.twitter.com/legalsylvain)

Other credits
~~~~~~~~~~~~~

The module embed the Leaflet.js library.

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px
:target: https://github.com/legalsylvain
:alt: legalsylvain

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-legalsylvain|

This module is part of the `OCA/geospatial <https://github.com/OCA/geospatial/tree/16.0/web_leaflet_lib>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions web_leaflet_lib/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from .hooks import pre_init_hook
25 changes: 25 additions & 0 deletions web_leaflet_lib/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright (C) 2024 - Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Leaflet Javascript Library",
"summary": "Bring leaflet.js librairy in odoo.",
"version": "16.0.1.0.0",
"author": "GRAP, Odoo Community Association (OCA)",
"maintainers": ["legalsylvain"],
"website": "https://github.com/OCA/geospatial",
"license": "AGPL-3",
"category": "Extra Tools",
"depends": ["base"],
"data": ["data/ir_config_parameter.xml"],
"demo": ["demo/ir_config_parameter.xml"],
"assets": {
"web.assets_backend": [
"/web_leaflet_lib/static/lib/leaflet/leaflet.css",
"/web_leaflet_lib/static/lib/leaflet/leaflet.js",
],
},
"installable": True,
"pre_init_hook": "pre_init_hook",
}
20 changes: 20 additions & 0 deletions web_leaflet_lib/data/ir_config_parameter.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (C) 2022 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo noupdate="1">
<record
id="config_parameter_leaflet_copyright"
model="ir.config_parameter"
forcecreate="True"
>
<field name="key">leaflet.copyright</field>
<field
name="value"
><![CDATA[
&copy; <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap</a>]]>
</field>
</record>
</odoo>
16 changes: 16 additions & 0 deletions web_leaflet_lib/demo/ir_config_parameter.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (C) 2022 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo noupdate="1">
<record
id="config_parameter_leaflet_tile_url"
model="ir.config_parameter"
forcecreate="True"
>
<field name="key">leaflet.tile_url</field>
<field name="value">https://tile.openstreetmap.org/{z}/{x}/{y}.png</field>
</record>
</odoo>
14 changes: 14 additions & 0 deletions web_leaflet_lib/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
def pre_init_hook(cr):
# move configuration from web_view_leaflet_map
# into web_leaflet_lib, if exists.
cr.execute(
"""
UPDATE ir_model_data
SET module='web_leaflet_lib'
WHERE module = 'web_view_leaflet_map'
AND name in (
'config_parameter_leaflet_copyright',
'config_parameter_leaflet_tile_url'
)
"""
)
21 changes: 21 additions & 0 deletions web_leaflet_lib/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_leaflet_lib
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-12 20:11+0000\n"
"PO-Revision-Date: 2024-10-12 20:11+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: web_leaflet_lib
#: model:ir.model,name:web_leaflet_lib.model_ir_http
msgid "HTTP Routing"
msgstr "Routage HTTP"
1 change: 1 addition & 0 deletions web_leaflet_lib/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import ir_http
20 changes: 20 additions & 0 deletions web_leaflet_lib/models/ir_http.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright (C) 2022 - Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import models


class Http(models.AbstractModel):
_inherit = "ir.http"

def session_info(self):
result = super(Http, self).session_info()
config = self.env["ir.config_parameter"].sudo()
result.update(
{
"leaflet.tile_url": config.get_param("leaflet.tile_url", default=""),
"leaflet.copyright": config.get_param("leaflet.copyright", default=""),
}
)
return result
5 changes: 5 additions & 0 deletions web_leaflet_lib/readme/CONFIGURE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* Go to Settings > Technical > Parameters > System Parameters

* Create or edit the parameter with the key ``leaflet.tile_url``

* As a value, set the url of the tiles server you chose. (See description)
1 change: 1 addition & 0 deletions web_leaflet_lib/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Sylvain LE GAL (https://www.twitter.com/legalsylvain)
1 change: 1 addition & 0 deletions web_leaflet_lib/readme/CREDITS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The module embed the Leaflet.js library.
24 changes: 24 additions & 0 deletions web_leaflet_lib/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
This module extends odoo to include Leaflet Javacript library.

This module is used by ``web_view_leaflet_map``.

**Important Note**

The javascript library is opensource and distributed under BSD 2 Licence.
See : https://github.com/Leaflet/Leaflet/blob/main/LICENSE
You can so use it freely.

However, display maps requires to display layers provided by tiles servers, that
requires ressources.

**For testing purpose**

You can use the openStreetMap url ``https://tile.openstreetmap.org/{z}/{x}/{y}.png`` or other, listed in that page : https://wiki.openstreetmap.org/wiki/Tile_servers

Apart from very limited testing purposes, you should not use the tiles supplied by OpenStreetMap.org itself. OpenStreetMap is a volunteer-run non-profit body and cannot supply tiles for large-scale commercial use.

**Regular / High Usage**

- you can contact one of the following companies : https://switch2osm.org/providers/

- You can also install yourself your own tiles servers. See documentation : https://switch2osm.org/serving-tiles/
Binary file added web_leaflet_lib/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 9149489

Please sign in to comment.