diff --git a/approot/release.xml b/approot/release.xml
index 0824a57b..dfbce12c 100644
--- a/approot/release.xml
+++ b/approot/release.xml
@@ -20,13 +20,6 @@
${play-btn}${add-btn}
${tracks}
- ${}
-
- ${}${copyright}${}
- ${}${copyright-url}${}
- ${}
diff --git a/approot/releaseinfo.xml b/approot/releaseinfo.xml
index 1b933078..f30c6f5b 100644
--- a/approot/releaseinfo.xml
+++ b/approot/releaseinfo.xml
@@ -3,6 +3,11 @@
+ ${}
+ ${tr:Lms.Explore.Release.copyright}
+ ${}${copyright}${}
+ ${}${copyright-url}${}
+ ${}
${tr:Lms.Explore.ReleaseInfo.similar-releases}
${similar-releases}
diff --git a/src/ui/explore/ReleaseInfoView.cpp b/src/ui/explore/ReleaseInfoView.cpp
index d003a14d..ffd89b14 100644
--- a/src/ui/explore/ReleaseInfoView.cpp
+++ b/src/ui/explore/ReleaseInfoView.cpp
@@ -19,6 +19,8 @@
#include "ReleaseInfoView.hpp"
+#include
+
#include "database/Release.hpp"
#include "main/Services.hpp"
#include "similarity/SimilaritySearcher.hpp"
@@ -55,29 +57,59 @@ void
ReleaseInfo::refresh()
{
_similarReleasesContainer->clear();
+ setCondition("if-has-copyright-or-copyright-url", false);
+ setCondition("if-has-copyright-url", false);
+ setCondition("if-has-copyright", false);
if (!wApp->internalPathMatches("/release/"))
return;
- auto releaseId = readAs(wApp->internalPathNextPart("/release/"));
+ auto releaseId {readAs(wApp->internalPathNextPart("/release/"))};
if (!releaseId)
return;
- auto releasesIds = getServices().similaritySearcher->getSimilarReleases(LmsApp->getDboSession(), *releaseId, 5);
+ std::vector releasesIds {getServices().similaritySearcher->getSimilarReleases(LmsApp->getDboSession(), *releaseId, 5)};
- Wt::Dbo::Transaction transaction(LmsApp->getDboSession());
+ Wt::Dbo::Transaction transaction {LmsApp->getDboSession()};
- std::vector releases;
- for (auto releaseId : releasesIds)
+ Database::Release::pointer release {Database::Release::getById(LmsApp->getDboSession(), *releaseId)};
+ if (!release)
+ return;
+
+ boost::optional copyright {release->getCopyright()};
+ boost::optional copyrightURL {release->getCopyrightURL()};
+
+ setCondition("if-has-copyright-or-copyright-url", copyright || copyrightURL);
+
+ if (copyrightURL)
{
- auto release = Database::Release::getById(LmsApp->getDboSession(), releaseId);
+ setCondition("if-has-copyright-url", true);
- if (release)
- releases.push_back(release);
+ Wt::WLink link {*copyrightURL};
+ link.setTarget(Wt::LinkTarget::NewWindow);
+
+ Wt::WAnchor* anchor {bindNew("copyright-url", link)};
+ anchor->setTextFormat(Wt::TextFormat::XHTML);
+ anchor->setText(Wt::WString::tr("Lms.Explore.Release.template.link-btn"));
}
- for (auto release : releases)
- _similarReleasesContainer->addNew(release);
+ if (copyright)
+ {
+ setCondition("if-has-copyright", true);
+ bindString("copyright", Wt::WString::fromUTF8(*copyright), Wt::TextFormat::Plain);
+ }
+
+ std::vector similarReleases;
+ for (Database::IdType id : releasesIds)
+ {
+ Database::Release::pointer similarRelease {Database::Release::getById(LmsApp->getDboSession(), id)};
+
+ if (similarRelease)
+ similarReleases.emplace_back(similarRelease);
+ }
+
+ for (const auto& similarRelease : similarReleases)
+ _similarReleasesContainer->addNew(similarRelease);
}
} // namespace UserInterface
diff --git a/src/ui/explore/ReleaseView.cpp b/src/ui/explore/ReleaseView.cpp
index e1c0e139..737ac409 100644
--- a/src/ui/explore/ReleaseView.cpp
+++ b/src/ui/explore/ReleaseView.cpp
@@ -19,8 +19,8 @@
#include "ReleaseView.hpp"
-#include
#include
+#include
#include
#include
#include
@@ -94,28 +94,6 @@ Release::refresh()
}
}
- boost::optional copyright = release->getCopyright();
- boost::optional copyrightURL = release->getCopyrightURL();
-
- t->setCondition("if-has-copyright-or-copyright-url", copyright || copyrightURL);
-
- if (copyrightURL)
- {
- t->setCondition("if-has-copyright-url", true);
-
- Wt::WLink link(*copyrightURL);
- link.setTarget(Wt::LinkTarget::NewWindow);
- Wt::WAnchor* anchor = t->bindNew("copyright-url", link);
- anchor->setTextFormat(Wt::TextFormat::XHTML);
- anchor->setText(Wt::WString::tr("Lms.Explore.Release.template.link-btn"));
- }
-
- if (copyright)
- {
- t->setCondition("if-has-copyright", true);
- t->bindString("copyright", Wt::WString::fromUTF8(*copyright), Wt::TextFormat::Plain);
- }
-
{
auto artists = release->getArtists();
if (artists.size() > 1)