Merge lp:~costales/unav/0.66-read-contact-data into lp:unav

Proposed by costales
Status: Merged
Merged at revision: 168
Proposed branch: lp:~costales/unav/0.66-read-contact-data
Merge into: lp:unav
Diff against target: 128 lines (+44/-19)
3 files modified
qml/Main.qml (+9/-4)
qml/PoiDetailsPage.qml (+11/-3)
qml/PoiListPage.qml (+24/-12)
To merge this branch: bzr merge lp:~costales/unav/0.66-read-contact-data
Reviewer Review Type Date Requested Status
uNav developers Pending
Review via email: mp+315296@code.launchpad.net

Description of the change

For phone & website, read the contact field in OSM too

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'qml/Main.qml'
2--- qml/Main.qml 2017-01-21 11:22:31 +0000
3+++ qml/Main.qml 2017-01-21 18:12:33 +0000
4@@ -607,15 +607,18 @@
5
6 else if (status === XmlListModel.Ready && count > 0) {
7 // Check if the location returned by reverse geocoding is a POI by looking for the existence of certain parameters
8- // like cuisine, phone, opening_hours, internet_access, wheelchair etc that do not apply to a generic address.
9- if (reverseXmlModel.get(0).description || reverseXmlModel.get(0).cuisine || reverseXmlModel.get(0).phone || reverseXmlModel.get(0).opening_hours || reverseXmlModel.get(0).website || reverseXmlModel.get(0).wheelchair || reverseXmlModel.get(0).internet_access) {
10+ // like cuisine, phone, opening_hours, internet_access, wheelchair etc that do not apply to a generic address
11+ if (reverseXmlModel.get(0).description || reverseXmlModel.get(0).cuisine || reverseXmlModel.get(0).phone || reverseXmlModel.get(0).contactphone || reverseXmlModel.get(0).opening_hours || reverseXmlModel.get(0).website || reverseXmlModel.get(0).contactwebsite || reverseXmlModel.get(0).wheelchair || reverseXmlModel.get(0).internet_access) {
12
13 // Check if the name, osm_id and osm_type are valid, otherwise the POI popup will break.
14 if (reverseXmlModel.get(0).name && reverseXmlModel.get(0).osm_id && reverseXmlModel.get(0).osm_type) {
15 goThereActionPopover.poiName = reverseXmlModel.get(0).name
16 goThereActionPopover.osm_id = reverseXmlModel.get(0).osm_id
17 goThereActionPopover.osm_type = reverseXmlModel.get(0).osm_type.charAt(0).toUpperCase()
18- goThereActionPopover.phone = reverseXmlModel.get(0).phone
19+ if (reverseXmlModel.get(0).phone !== '')
20+ goThereActionPopover.phone = reverseXmlModel.get(0).phone
21+ else
22+ goThereActionPopover.phone = reverseXmlModel.get(0).contactphone
23 } else {
24 goThereActionPopover.reverseGeoString = reverseXmlModel.get(0).result
25 }
26@@ -637,9 +640,11 @@
27 XmlRole { name: "name"; query: "namedetails/name/string()" }
28 XmlRole { name: "description"; query: "extratags/tag[@key='description']/@value/string()" }
29 XmlRole { name: "cuisine"; query: "extratags/tag[@key='cuisine']/@value/string()" }
30+ XmlRole { name: "opening_hours"; query: "extratags/tag[@key='opening_hours']/@value/string()" }
31 XmlRole { name: "phone"; query: "extratags/tag[@key='phone']/@value/string()" }
32- XmlRole { name: "opening_hours"; query: "extratags/tag[@key='opening_hours']/@value/string()" }
33 XmlRole { name: "website"; query: "extratags/tag[@key='website']/@value/string()" }
34+ XmlRole { name: "contactphone"; query: "extratags/tag[@key='contact:phone']/@value/string()" }
35+ XmlRole { name: "contactwebsite"; query: "extratags/tag[@key='contact:website']/@value/string()" }
36 XmlRole { name: "internet_access"; query: "extratags/tag[@key='internet_access']/@value/string()" }
37 XmlRole { name: "wheelchair"; query: "extratags/tag[@key='wheelchair']/@value/string()" }
38 }
39
40=== modified file 'qml/PoiDetailsPage.qml'
41--- qml/PoiDetailsPage.qml 2017-01-06 22:24:03 +0000
42+++ qml/PoiDetailsPage.qml 2017-01-21 18:12:33 +0000
43@@ -66,9 +66,15 @@
44 description.title = poiDetailsModel.get(0).description
45 address.title = poiDetailsModel.get(0).address
46 cuisine.title = poiDetailsModel.get(0).cuisine
47- phone.title = poiDetailsModel.get(0).phone
48+ if (poiDetailsModel.get(0).phone !== '')
49+ phone.title = poiDetailsModel.get(0).phone
50+ else
51+ phone.title = poiDetailsModel.get(0).contactphone
52+ if (poiDetailsModel.get(0).website !== '')
53+ website.title = QmlJs.parse_poi_url(poiDetailsModel.get(0).website)
54+ else
55+ website.title = QmlJs.parse_poi_url(poiDetailsModel.get(0).contactwebsite)
56 openingHours.title = poiDetailsModel.get(0).opening_hours
57- website.title = QmlJs.parse_poi_url(poiDetailsModel.get(0).website)
58 internet.title = poiDetailsModel.get(0).internet_access
59 wheelchair.title = poiDetailsModel.get(0).wheelchair
60 lat = parseFloat(mainPageStack.clickedLat)
61@@ -137,9 +143,11 @@
62 XmlRole { name: "address"; query: "result/string()" }
63 XmlRole { name: "description"; query: "extratags/tag[@key='description']/@value/string()" }
64 XmlRole { name: "cuisine"; query: "extratags/tag[@key='cuisine']/@value/string()" }
65+ XmlRole { name: "opening_hours"; query: "extratags/tag[@key='opening_hours']/@value/string()" }
66 XmlRole { name: "phone"; query: "extratags/tag[@key='phone']/@value/string()" }
67- XmlRole { name: "opening_hours"; query: "extratags/tag[@key='opening_hours']/@value/string()" }
68 XmlRole { name: "website"; query: "extratags/tag[@key='website']/@value/string()" }
69+ XmlRole { name: "contactphone"; query: "extratags/tag[@key='contact:phone']/@value/string()" }
70+ XmlRole { name: "contactwebsite"; query: "extratags/tag[@key='contact:website']/@value/string()" }
71 XmlRole { name: "internet_access"; query: "extratags/tag[@key='internet_access']/@value/string()" }
72 XmlRole { name: "wheelchair"; query: "extratags/tag[@key='wheelchair']/@value/string()" }
73 XmlRole { name: "lat"; query: "result/@lat/string()"; }
74
75=== modified file 'qml/PoiListPage.qml'
76--- qml/PoiListPage.qml 2017-01-06 22:24:03 +0000
77+++ qml/PoiListPage.qml 2017-01-21 18:12:33 +0000
78@@ -189,6 +189,8 @@
79 XmlRole { name: "description"; query: "extratags/tag[@key='description']/@value/string()"; }
80 XmlRole { name: "phone"; query: "extratags/tag[@key='phone']/@value/string()"; }
81 XmlRole { name: "website"; query: "extratags/tag[@key='website']/@value/string()"; }
82+ XmlRole { name: "contactphone"; query: "extratags/tag[@key='contact:phone']/@value/string()"; }
83+ XmlRole { name: "contactwebsite"; query: "extratags/tag[@key='contact:website']/@value/string()"; }
84 // XmlRole { name: "cuisine"; query: "extratags/tag[@key='cuisine']/@value/string()"; }
85 XmlRole { name: "wheelchair"; query: "extratags/tag[@key='wheelchair']/@value/string()"; }
86 XmlRole { name: "openinghours"; query: "extratags/tag[@key='opening_hours']/@value/string()"; }
87@@ -216,19 +218,29 @@
88
89 function sortXmlList (){
90 var item
91+ var aux_phone
92+ var aux_website
93 for (var i = 0; i < poiXmlModel.count; i++) {
94- item = {"osm_id": poiXmlModel.get(i).osm_id,
95- "osm_type": poiXmlModel.get(i).osm_type.charAt(0).toUpperCase(),
96- "name": poiXmlModel.get(i).name.split(',')[0],
97- "description": poiXmlModel.get(i).description,
98- "phone": poiXmlModel.get(i).phone,
99- "website": QmlJs.parse_poi_url(poiXmlModel.get(i).website),
100- // "cuisine": poiXmlModel.get(i).cuisine,
101- "wheelchair": poiXmlModel.get(i).wheelchair,
102- "openinghours": poiXmlModel.get(i).openinghours,
103- "lat": poiXmlModel.get(i).lat,
104- "lng": poiXmlModel.get(i).lng,
105- "distance": QmlJs.calcPoiDistance(
106+ if (poiXmlModel.get(i).phone !== '')
107+ aux_phone = poiXmlModel.get(i).phone;
108+ else
109+ aux_phone = poiXmlModel.get(i).contactphone;
110+ if (poiXmlModel.get(i).website !== '')
111+ aux_website = QmlJs.parse_poi_url(poiXmlModel.get(i).website);
112+ else
113+ aux_website = QmlJs.parse_poi_url(poiXmlModel.get(i).contactwebsite);
114+ item = {"osm_id": poiXmlModel.get(i).osm_id,
115+ "osm_type": poiXmlModel.get(i).osm_type.charAt(0).toUpperCase(),
116+ "name": poiXmlModel.get(i).name.split(',')[0],
117+ "description": poiXmlModel.get(i).description,
118+ "phone": aux_phone,
119+ "website": aux_website,
120+ // "cuisine": poiXmlModel.get(i).cuisine,
121+ "wheelchair": poiXmlModel.get(i).wheelchair,
122+ "openinghours": poiXmlModel.get(i).openinghours,
123+ "lat": poiXmlModel.get(i).lat,
124+ "lng": poiXmlModel.get(i).lng,
125+ "distance": QmlJs.calcPoiDistance(
126 poiListPage.lat,
127 poiListPage.lng,
128 poiXmlModel.get(i).lat,

Subscribers

People subscribed via source and target branches