将Google地图视图类型添加到Odoo Web客户端
项目描述
- 本模块包含三个新功能
新视图类型和模式 “地图”
新小部件 “gplaces_address_autocomplete”
新小部件 “gplaces_autocomplete”
目录
用法
地图视图 “地图”:-
基本上,这个新的视图 地图 将将谷歌地图集成到Odoo中。使您能够在地图上显示 res.partner 地理位置或任何包含地理定位的模型。此功能将与Odoo无缝工作,这意味着您可以使用Odoo搜索功能搜索合作伙伴的位置。
有五个可自定义的可用属性:-
lat : 告诉地图对象上的经度字段的属性 __[强制__]
lng : 告诉地图对象上的纬度字段的属性 __[强制__]
color : 修改标记颜色的属性(可选)任何给定的颜色都将设置所有标记的颜色 __[可选__]。
colors : 与属性 color 类似,但更可配置(您可以设置标记颜色取决于其值)此属性类似于Odoo树视图上的 colors __[可选__]。
- library告诉地图将加载哪个地图的属性 __[强制__]。
此选项有两个值:1. geometry 2. drawing
XML地图视图定义。例如
<record id="view_res_partner_map" model="ir.ui.view"> <field name="name">view.res.partner.map</field> <field name="model">res.partner</field> <field name="arch" type="xml"> <map class="o_res_partner_map" library='geometry' string="Map" lat="partner_latitude" lng="partner_longitude" colors="blue:company_type=='person';green:company_type=='company';"> <field name="id"/> <field name="partner_latitude"/> <field name="partner_longitude"/> <field name="company_type"/> <field name="color"/> <field name="display_name"/> <field name="title"/> <field name="email"/> <field name="parent_id"/> <field name="is_company"/> <field name="function"/> <field name="phone"/> <field name="street"/> <field name="street2"/> <field name="zip"/> <field name="city"/> <field name="country_id"/> <field name="mobile"/> <field name="state_id"/> <field name="category_id"/> <field name="image_small"/> <field name="type"/> <templates> <t t-name="kanban-box"> <div class="oe_kanban_global_click o_res_partner_kanban"> <div class="o_kanban_image"> <t t-if="record.image_small.raw_value"> <img t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/> </t> <t t-if="!record.image_small.raw_value"> <t t-if="record.type.raw_value === 'delivery'"> <img t-att-src='_s + "/base/static/src/img/truck.png"' class="o_kanban_image oe_kanban_avatar_smallbox"/> </t> <t t-if="record.type.raw_value === 'invoice'"> <img t-att-src='_s + "/base/static/src/img/money.png"' class="o_kanban_image oe_kanban_avatar_smallbox"/> </t> <t t-if="record.type.raw_value != 'invoice' && record.type.raw_value != 'delivery'"> <t t-if="record.is_company.raw_value === true"> <img t-att-src='_s + "/base/static/src/img/company_image.png"'/> </t> <t t-if="record.is_company.raw_value === false"> <img t-att-src='_s + "/base/static/src/img/avatar.png"'/> </t> </t> </t> </div> <div class="oe_kanban_details"> <strong class="o_kanban_record_title oe_partner_heading"> <field name="display_name"/> </strong> <div class="o_kanban_tags_section oe_kanban_partner_categories"> <span class="oe_kanban_list_many2many"> <field name="category_id" widget="many2many_tags" options="{'color_field': 'color'}"/> </span> </div> <ul> <li t-if="record.parent_id.raw_value and !record.function.raw_value"> <field name="parent_id"/> </li> <li t-if="!record.parent_id.raw_value and record.function.raw_value"> <field name="function"/> </li> <li t-if="record.parent_id.raw_value and record.function.raw_value"> <field name="function"/> at <field name="parent_id"/> </li> <li t-if="record.city.raw_value and !record.country_id.raw_value"> <field name="city"/> </li> <li t-if="!record.city.raw_value and record.country_id.raw_value"> <field name="country_id"/> </li> <li t-if="record.city.raw_value and record.country_id.raw_value"> <field name="city"/> , <field name="country_id"/> </li> <li t-if="record.email.raw_value" class="o_text_overflow"> <field name="email"/> </li> </ul> <div class="oe_kanban_partner_links"/> </div> </div> </t> </templates> </map> </field> </record> <record id="action_partner_map" model="ir.actions.act_window"> ... <field name="view_type">form</field> <field name="view_mode">tree,form,map</field> ... </record>
标记信息窗口将使用 kanban-box �看板卡片样式。
如何在地图上设置标记颜色?
有两个属性
colors:允许您显示不同的标记颜色来表示地图上的记录
color:地图上所有记录的统一标记颜色
XML颜色视图定义。例如
<!-- colors --> <map string="Map" lat="partner_latitude" lng="partner_longitude" colors="green:company_type=='person';blue:company_type=='company';"> ... </map> <!-- color --> <map string="Map" lat="partner_latitude" lng="partner_longitude" color="orange"> ... </map>
新小部件 “gplaces_address_autocomplete”:
将[地点自动完成地址表单](https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform)集成到Odoo的新小部件。
该小部件有四个可修改的选项
component_form
fillfields
lat
lng
组件表单 component_form:
是一个选项,用于修改从地理编码器返回的对象中想要获取的值。有关Google组件类型的完整文档,请参阅[此处](https://developers.google.com/maps/documentation/geocoding/intro#Types)
默认情况下,此选项配置如下javascript值
{ 'street_number': 'long_name', 'route': 'long_name', 'intersection': 'short_name', 'political': 'short_name', 'country': 'short_name', 'administrative_area_level_1': 'short_name', 'administrative_area_level_2': 'short_name', 'administrative_area_level_3': 'short_name', 'administrative_area_level_4': 'short_name', 'administrative_area_level_5': 'short_name', 'colloquial_area': 'short_name', 'locality': 'short_name', 'ward': 'short_name', 'sublocality_level_1': 'short_name', 'sublocality_level_2': 'short_name', 'sublocality_level_3': 'short_name', 'sublocality_level_5': 'short_name', 'neighborhood': 'short_name', 'premise': 'short_name', 'postal_code': 'short_name', 'natural_feature': 'short_name', 'airport': 'short_name', 'park': 'short_name', 'point_of_interest': 'long_name' }
此配置可以在XML视图字段定义中修改
<record id="view_res_partner_form" model="ir.ui.view"> ... <field name="arch" type="xml"> ... <field name="street" widget="gplaces_address_form" options="{'component_form': {'street_number': 'short_name'}}"/> ... </field> </record>
填充字段 fillfields:
是一个受gplaces_address_autocomplete小部件影响的选项。
此选项应包含您希望小部件为每个给定字段自动填充的已知字段。字段可以包含来自组件表单的一个或多个元素。默认情况下,此选项配置如下javascript值
{ 'street': ['street_number', 'route'], 'street2': ['administrative_area_level_3', 'administrative_area_level_4', 'administrative_area_level_5'], 'city': ['locality', 'administrative_area_level_2'], 'zip': 'postal_code', 'state_id': 'administrative_area_level_1', 'country_id': 'country', }
此配置也可以在XML视图字段定义中修改
<record id="view_res_partner_form" model="ir.ui.view"> ... <field name="arch" type="xml"> ... <field name="street" widget="google_places" options="{'fillfields': {'street2': ['route', 'street_number']}}"/> ... </field> </record>
纬度 lat 和经度 lng:
此选项告诉小部件地理定位的字段,以便自动填充这些字段。
新小部件 “gplaces_autocomplete”:
将[地点自动完成](https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete)集成到Odoo的新小部件。此小部件的配置与gplaces_address_autocomplete类似。
组件表单 component_form:
与gplaces_address_autocomplete组件表单相同的配置
填充字段 fillfields:
此配置与gplaces_address_autocomplete类似。默认情况下,此选项配置如下javascript值
{ general: { name: 'name', website: 'website', phone: ['international_phone_number', 'formatted_phone_number'] }, geolocation: { partner_latitude: 'latitude', partner_longitude: 'longitude' }, address: { street: ['street_number', 'route'], street2: ['administrative_area_level_3', 'administrative_area_level_4', 'administrative_area_level_5'], city: ['locality', 'administrative_area_level_2'], zip: 'postal_code', state_id: 'administrative_area_level_1', country_id: 'country' } };
错误跟踪器
问题在GitHub Issues上追踪。如果遇到问题,请检查是否已报告您的问题。如果是您首先发现的,请提供详细且受欢迎的反馈,帮助我们解决它。
请不要直接联系贡献者以获取支持或帮助解决技术问题。
致谢
贡献者
Yopi Angi <yopiangi@gmail.com>
Wolfgang Hall <whall@opensourceintegrators.com>
Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
维护者
本模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。
当前 维护者
本模块是GitHub上OCA/geospatial项目的一部分。
欢迎您贡献。要了解如何贡献,请访问https://odoo-community.org/page/Contribute。
项目详情
哈希值 for odoo12_addon_web_view_google_map-12.0.1.1.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 87326a80d7dc35f03d35693cf180b038ea6535262ebbc161b1aff07314ff0db6 |
|
MD5 | 3714c1d93710943e8641a58c6630dca3 |
|
BLAKE2b-256 | 2a6654f36ad5ac9813889717918fea560a2df7dc82e7372902109c2b7771852c |