Show artwork IDs to admins

This commit is contained in:
Alex Cabal 2024-01-18 16:36:55 -06:00
parent ca3fc6dbfd
commit 3287dd3b30
2 changed files with 15 additions and 14 deletions

View file

@ -8,13 +8,14 @@ $exception = $_SESSION['exception'] ?? null;
try{ try{
$artwork = Artwork::GetByUrl(HttpInput::Str(GET, 'artist-url-name'), HttpInput::Str(GET, 'artwork-url-name')); $artwork = Artwork::GetByUrl(HttpInput::Str(GET, 'artist-url-name'), HttpInput::Str(GET, 'artwork-url-name'));
$isAdminView = $GLOBALS['User']->Benefits->CanReviewArtwork ?? false; $isReviewerView = $GLOBALS['User']->Benefits->CanReviewArtwork ?? false;
$isAdminView = $GLOBALS['User']->Benefits->CanReviewOwnArtwork ?? false;
// If the artwork is not approved, and we're not an admin or the submitter when they can edit, don't show it. // If the artwork is not approved, and we're not an admin or the submitter when they can edit, don't show it.
if( if(
($GLOBALS['User'] === null && $artwork->Status != ArtworkStatus::Approved) ($GLOBALS['User'] === null && $artwork->Status != ArtworkStatus::Approved)
|| ||
($GLOBALS['User'] !== null && $artwork->SubmitterUserId != $GLOBALS['User']->UserId && !$isAdminView) ($GLOBALS['User'] !== null && $artwork->SubmitterUserId != $GLOBALS['User']->UserId && !$isReviewerView)
){ ){
throw new Exceptions\InvalidPermissionsException(); throw new Exceptions\InvalidPermissionsException();
} }
@ -69,12 +70,12 @@ catch(Exceptions\InvalidPermissionsException){
<table class="artwork-metadata"> <table class="artwork-metadata">
<tr> <tr>
<td>Title</td> <td>Title</td>
<td><i><?= Formatter::EscapeHtml($artwork->Name) ?></i></td> <td><i><?= Formatter::EscapeHtml($artwork->Name) ?></i><? if($isAdminView){ ?> (#<?= $artwork->ArtworkId ?>)<? } ?></td>
</tr> </tr>
<tr> <tr>
<td>Artist</td> <td>Artist</td>
<td> <td>
<?= Formatter::EscapeHtml($artwork->Artist->Name) ?><? if(sizeof($artwork->Artist->AlternateNames) > 0){ ?> (A.K.A. <span class="author" typeof="schema:Person" property="schema:name"><?= implode('</span>, <span class="author" typeof="schema:Person" property="schema:name">', array_map('Formatter::EscapeHtml', $artwork->Artist->AlternateNames)) ?></span>)<? } ?><? if($artwork->Artist->DeathYear !== null){ ?> (<abbr>d.</abbr> <?= $artwork->Artist->DeathYear ?>)<? } ?> <?= Formatter::EscapeHtml($artwork->Artist->Name) ?><? if(sizeof($artwork->Artist->AlternateNames) > 0){ ?> (A.K.A. <span class="author" typeof="schema:Person" property="schema:name"><?= implode('</span>, <span class="author" typeof="schema:Person" property="schema:name">', array_map('Formatter::EscapeHtml', $artwork->Artist->AlternateNames)) ?></span>)<? } ?><? if($artwork->Artist->DeathYear !== null){ ?> (<abbr>d.</abbr> <?= $artwork->Artist->DeathYear ?>)<? } ?><? if($isAdminView){ ?> (#<?= $artwork->Artist->ArtistId ?>)<? } ?>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -93,15 +94,15 @@ catch(Exceptions\InvalidPermissionsException){
<td>Status</td> <td>Status</td>
<td><?= Template::ArtworkStatus(['artwork' => $artwork]) ?></td> <td><?= Template::ArtworkStatus(['artwork' => $artwork]) ?></td>
</tr> </tr>
<? if($isAdminView){ ?> <? if($isReviewerView){ ?>
<tr> <tr>
<td>Submitted by</td> <td>Submitted by</td>
<td><? if($artwork->Submitter === null){ ?>Anonymous<? }else{ ?><a href="mailto:<?= Formatter::EscapeHtml($artwork->Submitter->Email) ?>"><? if($artwork->Submitter->Name !== null){ ?> <?= Formatter::EscapeHtml($artwork->Submitter->Name) ?><? }else{ ?><?= Formatter::EscapeHtml($artwork->Submitter->Email) ?><? } ?></a><? } ?></td> <td><? if($artwork->Submitter === null){ ?>Anonymous<? }else{ ?><a href="mailto:<?= Formatter::EscapeHtml($artwork->Submitter->Email) ?>"><? if($artwork->Submitter->Name !== null){ ?> <?= Formatter::EscapeHtml($artwork->Submitter->Name) ?><? }else{ ?><?= Formatter::EscapeHtml($artwork->Submitter->Email) ?><? } ?></a><? } ?><? if($isAdminView && $artwork->Submitter !== null){ ?> (#<?= $artwork->Submitter->UserId ?>)<? } ?></td>
</tr> </tr>
<? if($artwork->Reviewer !== null){ ?> <? if($artwork->Reviewer !== null){ ?>
<tr> <tr>
<td>Reviewed by</td> <td>Reviewed by</td>
<td><a href="mailto:<?= Formatter::EscapeHtml($artwork->Reviewer->Email) ?>"><? if($artwork->Reviewer->Name !== null){ ?> <?= Formatter::EscapeHtml($artwork->Reviewer->Name) ?><? }else{ ?><?= Formatter::EscapeHtml($artwork->Reviewer->Email) ?><? } ?></a></td> <td><a href="mailto:<?= Formatter::EscapeHtml($artwork->Reviewer->Email) ?>"><? if($artwork->Reviewer->Name !== null){ ?> <?= Formatter::EscapeHtml($artwork->Reviewer->Name) ?><? }else{ ?><?= Formatter::EscapeHtml($artwork->Reviewer->Email) ?><? } ?></a><? if($isAdminView){ ?> (#<?= $artwork->Reviewer->UserId ?>)<? } ?></td>
</tr> </tr>
<? } ?> <? } ?>
<? } ?> <? } ?>

View file

@ -10,9 +10,9 @@ $totalArtworkCount = 0;
$pageDescription = ''; $pageDescription = '';
$pageTitle = ''; $pageTitle = '';
$queryString = ''; $queryString = '';
$isAdminView = $GLOBALS['User']?->Benefits?->CanReviewArtwork ?? false; $isReviewerView = $GLOBALS['User']?->Benefits?->CanReviewArtwork ?? false;
$submitterUserId = $GLOBALS['User']?->Benefits?->CanUploadArtwork ? $GLOBALS['User']->UserId : null; $submitterUserId = $GLOBALS['User']?->Benefits?->CanUploadArtwork ? $GLOBALS['User']->UserId : null;
$isSubmitterView = !$isAdminView && $submitterUserId !== null; $isSubmitterView = !$isReviewerView && $submitterUserId !== null;
if($page <= 0){ if($page <= 0){
$page = 1; $page = 1;
@ -32,7 +32,7 @@ if($sort == 'created-newest'){
$sort = null; $sort = null;
} }
if($isAdminView){ if($isReviewerView){
if($status == 'all' || $status === null){ if($status == 'all' || $status === null){
$filterArtworkStatus = 'all-admin'; $filterArtworkStatus = 'all-admin';
} }
@ -47,12 +47,12 @@ if($isSubmitterView){
} }
} }
if(!$isAdminView && !$isSubmitterView && !in_array($status, array('all', ArtworkStatus::Approved->value, 'in-use'))){ if(!$isReviewerView && !$isSubmitterView && !in_array($status, array('all', ArtworkStatus::Approved->value, 'in-use'))){
$status = ArtworkStatus::Approved->value; $status = ArtworkStatus::Approved->value;
$filterArtworkStatus = $status; $filterArtworkStatus = $status;
} }
if($isAdminView && !in_array($status, array('all', ArtworkStatus::Unverified->value, ArtworkStatus::Declined->value, ArtworkStatus::Approved->value, 'in-use')) if($isReviewerView && !in_array($status, array('all', ArtworkStatus::Unverified->value, ArtworkStatus::Declined->value, ArtworkStatus::Approved->value, 'in-use'))
&& !in_array($filterArtworkStatus, array('all-admin', ArtworkStatus::Unverified->value, ArtworkStatus::Declined->value, ArtworkStatus::Approved->value, 'in-use'))){ && !in_array($filterArtworkStatus, array('all-admin', ArtworkStatus::Unverified->value, ArtworkStatus::Declined->value, ArtworkStatus::Approved->value, 'in-use'))){
$status = ArtworkStatus::Approved->value; $status = ArtworkStatus::Approved->value;
$filterArtworkStatus = $status; $filterArtworkStatus = $status;
@ -103,8 +103,8 @@ if($perPage !== ARTWORK_PER_PAGE){
<span> <span>
<select name="status" size="1"> <select name="status" size="1">
<option value="all"<? if($status === null){ ?> selected="selected"<? } ?>>All</option> <option value="all"<? if($status === null){ ?> selected="selected"<? } ?>>All</option>
<? if($isAdminView || $isSubmitterView){ ?><option value="<?= ArtworkStatus::Unverified->value ?>"<? if($status == ArtworkStatus::Unverified->value){ ?> selected="selected"<? } ?>>Unverified</option><? } ?> <? if($isReviewerView || $isSubmitterView){ ?><option value="<?= ArtworkStatus::Unverified->value ?>"<? if($status == ArtworkStatus::Unverified->value){ ?> selected="selected"<? } ?>>Unverified</option><? } ?>
<? if($isAdminView){ ?><option value="<?= ArtworkStatus::Declined->value ?>"<? if($status == ArtworkStatus::Declined->value){ ?> selected="selected"<? } ?>>Declined</option><? } ?> <? if($isReviewerView){ ?><option value="<?= ArtworkStatus::Declined->value ?>"<? if($status == ArtworkStatus::Declined->value){ ?> selected="selected"<? } ?>>Declined</option><? } ?>
<option value="<?= ArtworkStatus::Approved->value ?>"<? if($status == ArtworkStatus::Approved->value){ ?> selected="selected"<? } ?>>Approved, not in use</option> <option value="<?= ArtworkStatus::Approved->value ?>"<? if($status == ArtworkStatus::Approved->value){ ?> selected="selected"<? } ?>>Approved, not in use</option>
<option value="in-use"<? if($status == 'in-use'){ ?> selected="selected"<? } ?>>In use</option> <option value="in-use"<? if($status == 'in-use'){ ?> selected="selected"<? } ?>>In use</option>
</select> </select>