Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArsentiy Milchakov <milcars@mapswithme.com>2017-01-09 20:13:20 +0300
committerGitHub <noreply@github.com>2017-01-09 20:13:20 +0300
commit2646590cf766db045da45529d5fa1e5435508910 (patch)
treec88a370637b3b4dff33e9cb68338a12d34f3311c
parentce793b2e25d8979f71b57dea643cc99f4e60381c (diff)
parentcd9957126e9605b0232ccb30e11e5b555d62bcfa (diff)
Merge pull request #5145 from Zverik/nobannerbeta-563beta-562
[editor] Fix banner_url and opentable editing
-rw-r--r--indexer/feature.cpp2
-rw-r--r--indexer/feature_meta.cpp15
-rw-r--r--indexer/feature_meta.hpp3
-rw-r--r--map/framework.cpp2
-rw-r--r--map/place_page_info.cpp11
-rw-r--r--map/place_page_info.hpp1
6 files changed, 29 insertions, 5 deletions
diff --git a/indexer/feature.cpp b/indexer/feature.cpp
index f36263f55f..84ecab623f 100644
--- a/indexer/feature.cpp
+++ b/indexer/feature.cpp
@@ -172,6 +172,8 @@ editor::XMLFeature FeatureType::ToXML(bool serializeType) const
for (auto const type : m_metadata.GetPresentTypes())
{
+ if (m_metadata.IsSponsoredType(static_cast<Metadata::EType>(type)))
+ continue;
auto const attributeName = DebugPrint(static_cast<Metadata::EType>(type));
feature.SetTagValue(attributeName, m_metadata.Get(type));
}
diff --git a/indexer/feature_meta.cpp b/indexer/feature_meta.cpp
index c1d34820fa..42a8bea00f 100644
--- a/indexer/feature_meta.cpp
+++ b/indexer/feature_meta.cpp
@@ -102,6 +102,21 @@ bool Metadata::TypeFromString(string const & k, Metadata::EType & outType)
return true;
}
+// static
+bool Metadata::IsSponsoredType(Metadata::EType const & type)
+{
+ switch (type)
+ {
+ case Metadata::FMD_SPONSORED_ID:
+ case Metadata::FMD_PRICE_RATE:
+ case Metadata::FMD_RATING:
+ case Metadata::FMD_BANNER_URL:
+ return true;
+ default:
+ return false;
+ }
+}
+
void RegionData::SetLanguages(vector<string> const & codes)
{
string value;
diff --git a/indexer/feature_meta.hpp b/indexer/feature_meta.hpp
index 9b2a6862bd..c66334f0f2 100644
--- a/indexer/feature_meta.hpp
+++ b/indexer/feature_meta.hpp
@@ -131,7 +131,8 @@ public:
};
/// Used to normalize tags like "contact:phone" and "phone" to a common metadata enum value.
- static bool TypeFromString(string const & osmTagKey, feature::Metadata::EType & outType);
+ static bool TypeFromString(string const & osmTagKey, EType & outType);
+ static bool IsSponsoredType(EType const & type);
void Set(EType type, string const & value) { MetadataBase::Set(type, value); }
void Drop(EType type) { Set(type, string()); }
diff --git a/map/framework.cpp b/map/framework.cpp
index b30fc73a07..f384069e12 100644
--- a/map/framework.cpp
+++ b/map/framework.cpp
@@ -859,7 +859,7 @@ void Framework::FillInfoFromFeatureType(FeatureType const & ft, place_page::Info
info.m_banner = m_bannerSet.GetBannerForFeature(ft);
info.m_canEditOrAdd = featureStatus != osm::Editor::FeatureStatus::Obsolete && CanEditMap() &&
- !info.IsSponsored();
+ !info.IsNotEditableSponsored();
info.m_localizedWifiString = m_stringsBundle.GetString("wifi");
info.m_localizedRatingString = m_stringsBundle.GetString("place_page_booking_rating");
diff --git a/map/place_page_info.cpp b/map/place_page_info.cpp
index 3e60963fd5..42d75b583d 100644
--- a/map/place_page_info.cpp
+++ b/map/place_page_info.cpp
@@ -20,6 +20,11 @@ bool Info::IsFeature() const { return m_featureID.IsValid(); }
bool Info::IsBookmark() const { return m_bac.IsValid(); }
bool Info::IsMyPosition() const { return m_isMyPosition; }
bool Info::IsSponsored() const { return m_sponsoredType != SponsoredType::None; }
+bool Info::IsNotEditableSponsored() const
+{
+ return m_sponsoredType != SponsoredType::None && m_sponsoredType != SponsoredType::Opentable;
+}
+
bool Info::ShouldShowAddPlace() const
{
auto const isPointOrBuilding = IsPointType() || IsBuilding();
@@ -127,16 +132,16 @@ string Info::FormatStars() const
string Info::GetFormattedCoordinate(bool isDMS) const
{
auto const & ll = GetLatLon();
- return isDMS ? measurement_utils::FormatLatLon(ll.lat, ll.lon) : measurement_utils::FormatLatLonAsDMS(ll.lat, ll.lon, 2);
+ return isDMS ? measurement_utils::FormatLatLon(ll.lat, ll.lon)
+ : measurement_utils::FormatLatLonAsDMS(ll.lat, ll.lon, 2);
}
string Info::GetCustomName() const { return m_customName; }
BookmarkAndCategory Info::GetBookmarkAndCategory() const { return m_bac; }
string Info::GetBookmarkCategoryName() const { return m_bookmarkCategoryName; }
string const & Info::GetApiUrl() const { return m_apiUrl; }
-
string const & Info::GetSponsoredUrl() const { return m_sponsoredUrl; }
-string const & Info::GetSponsoredDescriptionUrl() const {return m_sponsoredDescriptionUrl; }
+string const & Info::GetSponsoredDescriptionUrl() const { return m_sponsoredDescriptionUrl; }
string Info::GetRatingFormatted() const
{
diff --git a/map/place_page_info.hpp b/map/place_page_info.hpp
index 2b25dd379c..820892e00d 100644
--- a/map/place_page_info.hpp
+++ b/map/place_page_info.hpp
@@ -38,6 +38,7 @@ public:
bool IsBookmark() const;
bool IsMyPosition() const;
bool IsSponsored() const;
+ bool IsNotEditableSponsored() const;
bool ShouldShowAddPlace() const;
bool ShouldShowAddBusiness() const;