Skip to content

Commit

Permalink
MBS-11689: Report for pseudo-releases marked as the original tracklist (
Browse files Browse the repository at this point in the history
  • Loading branch information
reosarevok committed Aug 12, 2021
1 parent 00e722d commit 3e32523
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 0 deletions.
31 changes: 31 additions & 0 deletions lib/MusicBrainz/Server/Report/MislinkedPseudoReleases.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package MusicBrainz::Server::Report::MislinkedPseudoReleases;
use Moose;

with 'MusicBrainz::Server::Report::ReleaseReport',
'MusicBrainz::Server::Report::FilterForEditor::ReleaseID';

sub query {<<~'EOSQL'}
SELECT r.id AS release_id,
row_number() OVER (ORDER BY ac.name COLLATE musicbrainz, r.name COLLATE musicbrainz)
FROM release r
JOIN l_release_release lrr ON r.id = lrr.entity0
JOIN link l ON l.id = lrr.link
JOIN link_type lt ON l.link_type = lt.id
JOIN artist_credit ac ON r.artist_credit = ac.id
WHERE lt.gid = 'fc399d47-23a7-4c28-bfcf-0607a562b644' --transl(iter)ation
AND r.status = 4 --pseudo-release
EOSQL

__PACKAGE__->meta->make_immutable;
no Moose;
1;

=head1 COPYRIGHT AND LICENSE
Copyright (C) 2021 MetaBrainz Foundation
This file is part of MusicBrainz, the open internet music database,
and is licensed under the GPL version 2, or (at your option) any
later version: http://www.gnu.org/licenses/gpl-2.0.txt
=cut
2 changes: 2 additions & 0 deletions lib/MusicBrainz/Server/ReportFactory.pm
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ use MusicBrainz::Server::PagedReport;
LimitedEditors
LinksWithMultipleEntities
MediumsWithSequenceIssues
MislinkedPseudoReleases
MultipleASINs
MultipleDiscogsLinks
NoLanguage
Expand Down Expand Up @@ -153,6 +154,7 @@ use MusicBrainz::Server::Report::LabelsDisambiguationSameName;
use MusicBrainz::Server::Report::LimitedEditors;
use MusicBrainz::Server::Report::LinksWithMultipleEntities;
use MusicBrainz::Server::Report::MediumsWithSequenceIssues;
use MusicBrainz::Server::Report::MislinkedPseudoReleases;
use MusicBrainz::Server::Report::MultipleASINs;
use MusicBrainz::Server::Report::MultipleDiscogsLinks;
use MusicBrainz::Server::Report::NoLanguage;
Expand Down
43 changes: 43 additions & 0 deletions root/report/MislinkedPseudoReleases.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* @flow strict-local
* Copyright (C) 2021 MetaBrainz Foundation
*
* This file is part of MusicBrainz, the open internet music database,
* and is licensed under the GPL version 2, or (at your option) any
* later version: http://www.gnu.org/licenses/gpl-2.0.txt
*/

import * as React from 'react';

import ReleaseList from './components/ReleaseList';
import ReportLayout from './components/ReportLayout';
import type {ReportDataT, ReportReleaseT} from './types';

const MislinkedPseudoReleases = ({
canBeFiltered,
filtered,
generated,
items,
pager,
}: ReportDataT<ReportReleaseT>): React.Element<typeof ReportLayout> => (
<ReportLayout
canBeFiltered={canBeFiltered}
description={l(
`This report shows releases with status Pseudo-Release that are
marked as the original version of a translation/transliteration
relationship. The pseudo-release should be the one marked as a
translated/transliterated version instead. If both releases
are pseudo-releases, consider linking both to an official release
rather than to each other.`,
)}
entityType="release"
filtered={filtered}
generated={generated}
title={l('Translated/transliterated pseudo-releases marked as original')}
totalEntries={pager.total_entries}
>
<ReleaseList items={items} pager={pager} />
</ReportLayout>
);

export default MislinkedPseudoReleases;
7 changes: 7 additions & 0 deletions root/report/ReportsIndex.js
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,13 @@ const ReportsIndex = ({$c}: Props): React.Element<typeof Layout> => (
)}
reportName="CatNoLooksLikeLabelCode"
/>
<ReportsIndexEntry
content={l(
`Translated/Transliterated Pseudo-Releases
marked as the original version`,
)}
reportName="MislinkedPseudoReleases"
/>
<ReportsIndexEntry
content={l(
`Translated/Transliterated Pseudo-Releases
Expand Down
1 change: 1 addition & 0 deletions root/server/components.js
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@ module.exports = {
'report/LimitedEditors': require('../report/LimitedEditors'),
'report/LinksWithMultipleEntities': require('../report/LinksWithMultipleEntities'),
'report/MediumsWithSequenceIssues': require('../report/MediumsWithSequenceIssues'),
'report/MislinkedPseudoReleases': require('../report/MislinkedPseudoReleases'),
'report/MultipleAsins': require('../report/MultipleAsins'),
'report/MultipleDiscogsLinks': require('../report/MultipleDiscogsLinks'),
'report/NoLanguage': require('../report/NoLanguage'),
Expand Down

0 comments on commit 3e32523

Please sign in to comment.