Skip to content
Snippets Groups Projects
Verified Commit 300f639c authored by Jess's avatar Jess
Browse files

Issue #3346218 by Kaushik1216, Harlor, urvashi_vora, xjm, pradhumanjain2311,...

Issue #3346218 by Kaushik1216, Harlor, urvashi_vora, xjm, pradhumanjain2311, nayana_mvr, smustgrave, larowlan, catch: Status message on comment edit is 'Your comment has been posted.'

(cherry picked from commit 67f56fc2)
parent 9ad8446e
No related branches found
No related tags found
26 merge requests!122353526426-warning-for-missing,!12212Issue #3445525 by alexpott, japerry, catch, mglaman, longwave: Add BC layer...,!11958Issue #3490507 by alexpott, smustgrave: Fix bogus mocking in...,!11769Issue #3517987: Add option to contextual filters to encode slashes in query parameter.,!11185Issue #3477324 by andypost, alexpott: Fix usage of str_getcsv() and fgetcsv() for PHP 8.4,!10602Issue #3438769 by vinmayiswamy, antonnavi, michelle, amateescu: Sub workspace does not clear,!10301Issue #3469309 by mstrelan, smustgrave, moshe weitzman: Use one-time login...,!10187Issue #3487488 by dakwamine: ExtensionMimeTypeGuesser::guessMimeType must support file names with "0" (zero) like foo.0.zip,!9944Issue #3483353: Consider making the createCopy config action optionally fail...,!9929Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for...,!9787Resolve issue 3479427 - bootstrap barrio issue under Windows,!9742Issue #3463908 by catch, quietone: Split OptionsFieldUiTest into two,!9526Issue #3458177 by mondrake, catch, quietone, godotislate, longwave, larowlan,...,!8738Issue #3424162 by camilledavis, dineshkumarbollu, smustgrave: Claro...,!8704Make greek characters available in ckeditor5,!8597Draft: Issue #3442259 by catch, quietone, dww: Reduce time of Migrate Upgrade tests...,!8533Issue #3446962 by kim.pepper: Remove incorrectly added...,!8517Issue #3443748 by NexusNovaz, smustgrave: Testcase creates false positive,!8325Update file Sort.php,!8095Expose document root on install,!7930Resolve #3427374 "Taxonomytid viewsargumentdefault plugin",!7627Issue #3439440 by nicxvan, Binoli Lalani, longwave: Remove country support from DateFormatter,!7445Issue #3440169: When using drupalGet(), provide an associative array for $headers,!6502Draft: Resolve #2938524 "Plach testing issue",!38582585169-10.1.x,!3226Issue #2987537: Custom menu link entity type should not declare "bundle" entity key
Pipeline #149853 passed
Pipeline: drupal

#149860

    ......@@ -16,6 +16,7 @@
    use Drupal\Core\Link;
    use Drupal\Core\Render\RendererInterface;
    use Drupal\Core\Session\AccountInterface;
    use Drupal\Core\StringTranslation\TranslatableMarkup;
    use Drupal\Core\Url;
    use Symfony\Component\DependencyInjection\ContainerInterface;
    ......@@ -379,6 +380,7 @@ public function preview(array &$form, FormStateInterface $form_state) {
    public function save(array $form, FormStateInterface $form_state) {
    $comment = $this->entity;
    $entity = $comment->getCommentedEntity();
    $is_new = $this->entity->isNew();
    $field_name = $comment->getFieldName();
    $uri = $entity->toUrl();
    $logger = $this->logger('comment');
    ......@@ -392,16 +394,8 @@ public function save(array $form, FormStateInterface $form_state) {
    '%subject' => $comment->getSubject(),
    'link' => Link::fromTextAndUrl(t('View'), $comment->toUrl()->setOption('fragment', 'comment-' . $comment->id()))->toString(),
    ]);
    // Explain the approval queue if necessary.
    if (!$comment->isPublished()) {
    if (!$this->currentUser->hasPermission('administer comments')) {
    $this->messenger()->addStatus($this->t('Your comment has been queued for review by site administrators and will be published after approval.'));
    }
    }
    else {
    $this->messenger()->addStatus($this->t('Your comment has been posted.'));
    }
    // Add an appropriate message upon submitting the comment form.
    $this->messenger()->addStatus($this->getStatusMessage($comment, $is_new));
    $query = [];
    // Find the current display page for this comment.
    $field_definition = $this->entityFieldManager->getFieldDefinitions($entity->getEntityTypeId(), $entity->bundle())[$field_name];
    ......@@ -421,4 +415,28 @@ public function save(array $form, FormStateInterface $form_state) {
    $form_state->setRedirectUrl($uri);
    }
    /**
    * Gets an appropriate status message when a comment is saved.
    *
    * @param \Drupal\comment\CommentInterface $comment
    * The comment being saved.
    * @param bool $is_new
    * TRUE if a new comment is created. $comment->isNew() cannot be used here
    * because the comment has already been saved by the time the message is
    * rendered.
    *
    * @return \Drupal\Core\StringTranslation\TranslatableMarkup
    * A translatable string containing the appropriate status message.
    */
    protected function getStatusMessage(CommentInterface $comment, bool $is_new): TranslatableMarkup {
    if (!$comment->isPublished() && !$this->currentUser->hasPermission('administer comments')) {
    return $this->t('Your comment has been queued for review by site administrators and will be published after approval.');
    }
    // Check whether the comment is new or not.
    if ($is_new) {
    return $this->t('Your comment has been posted.');
    }
    return $this->t('Your comment has been updated.');
    }
    }
    ......@@ -178,7 +178,7 @@ public function testCommentEditPreviewSave() {
    // Check that saving a comment produces a success message.
    $this->drupalGet('comment/' . $comment->id() . '/edit');
    $this->submitForm($edit, 'Save');
    $this->assertSession()->pageTextContains('Your comment has been posted.');
    $this->assertSession()->pageTextContains('Your comment has been updated.');
    // Check that the comment fields are correct after loading the saved comment.
    $this->drupalGet('comment/' . $comment->id() . '/edit');
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment