Skip to content

Commit

Permalink
Fixed: [#567]: random message recipients.
Browse files Browse the repository at this point in the history
  • Loading branch information
devletech committed Nov 4, 2024
1 parent a22cf3e commit aaf75ee
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 31 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
### Fixed
- Users who have already validated their profile on one of the journals can connect to another without having to validate their profile on that journal (even if they don't have one)
[#567](https://github.com/CCSDForge/episciences/issues/567): random message recipients.

## Unreleased
### Changed
Expand Down
18 changes: 8 additions & 10 deletions application/modules/common/controllers/PaperDefaultController.php
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ protected function paperStatusChangedNotifyReviewer(Episciences_Paper $paper, st
}

/**
* notifie tous les rédacteurs de l'article, excepté le commentateur lui-même
* Notifie tous les rédacteurs de l'article, excepté le commentateur lui-même
* Aussi, selon la configuration de la revue : le rédacteur en chef, l'administrateur et le secrétaire de rédaction
* @param Episciences_Paper $paper
* @param Episciences_Comment $oComment : request comment
Expand All @@ -341,12 +341,12 @@ protected function newCommentNotifyManager(Episciences_Paper $paper, Episciences

$attachmentsFiles = [];
$docId = $paper->getDocid();
$recipients = $this->getAllEditors($paper, false, true);
$recipients = $this->getAllEditors($paper);

// ne pas notifier le commentateur

unset($recipients[$commentatorUid]);

//false : si aucun rédacteur n'est affecté à l'article ou si le commentaire est une suggestion
$strict = !empty($recipients) &&
( !in_array($oComment->getType(), [
Episciences_CommentsManager::TYPE_SUGGESTION_ACCEPTATION,
Expand All @@ -362,12 +362,11 @@ protected function newCommentNotifyManager(Episciences_Paper $paper, Episciences
$CC = $paper->extractCCRecipients($recipients);

if (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

$makeCopy = true; // en fonction du type de commentaire, pour eviter de recopier le même fichier: si une copie existe existe dèjà.
$makeCopy = true; // en fonction du type de commentaire, pour éviter de recopier le même fichier : si une copie existe dèjà.

$recipientTags = [
Episciences_Mail_Tags::TAG_ARTICLE_ID => $docId,
Expand Down Expand Up @@ -534,9 +533,8 @@ protected function paperStatusChangedNotifyManagers(Episciences_Paper $paper, st
$recipients = [$principalRecipientUid => $principalRecipient];

} elseif (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

foreach ($recipients as $recipient) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2452,9 +2452,8 @@ public function savecopyeditorsAction(): void
$CC = $paper->extractCCRecipients($recipients);

if (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

// new copy editor assignments
Expand Down
25 changes: 10 additions & 15 deletions application/modules/journal/controllers/PaperController.php
Original file line number Diff line number Diff line change
Expand Up @@ -896,9 +896,8 @@ private function notifyAuthorAndManagersPaper(Episciences_Paper $paper, Episcien
$recipients = [$requester->getUid() => $requester];

} elseif (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

foreach ($recipients as $recipient) {
Expand Down Expand Up @@ -1559,9 +1558,8 @@ public function savetmpversionAction(): void
$CC = $paper->extractCCRecipients($recipients, $principalRecipient ? $principalRecipient->getUid() : null);

if (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

if (null !== $principalRecipient) {
Expand Down Expand Up @@ -2977,9 +2975,8 @@ private function completedRatingSendNotification(Episciences_Rating_Report $repo
$CC = $paper->extractCCRecipients($recipients);

if (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

/** @var Episciences_User $recipient */
Expand Down Expand Up @@ -3392,9 +3389,8 @@ private function continuePublication(Episciences_Paper $paper, int $lastStatus):
$CC = $paper->extractCCRecipients($recipients);

if (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

/** @var Episciences_User $editor */
Expand Down Expand Up @@ -3565,9 +3561,8 @@ private function applyAbandon(Episciences_Paper $paper, int $lastStatus): void
$CC = $paper->extractCCRecipients($recipients);

if (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

/** @var Episciences_User $recipient */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -441,9 +441,8 @@ private function emailSendingProcessing(Episciences_User $user, Episciences_pape
$CC = $paper->extractCCRecipients($recipients);

if (empty($recipients)) {
$arrayKeyFirstCC = array_key_first($CC);
$recipients = !empty($arrayKeyFirstCC) ? [$arrayKeyFirstCC => $CC[$arrayKeyFirstCC]] : [];
unset($CC[$arrayKeyFirstCC]);
$recipients = $CC;
$CC = [];
}

/** @var Episciences_User $recipient */
Expand Down

0 comments on commit aaf75ee

Please sign in to comment.