Skip to content
Snippets Groups Projects
Commit 98217b5b authored by catch's avatar catch
Browse files

Issue #2986372 by ranjith_kumar_k_u, robertom, _utsavsharma, smustgrave,...

Issue #2986372 by ranjith_kumar_k_u, robertom, _utsavsharma, smustgrave, penyaskito, catch, larowlan: "Comments per page" setting cannot be configured to "all comments"
parent 8149f97c
No related branches found
No related tags found
25 merge requests!54479.5.x SF update,!5014Issue #3071143: Table Render Array Example Is Incorrect,!4868Issue #1428520: Improve menu parent link selection,!4289Issue #1344552 by marcingy, Niklas Fiekas, Ravi.J, aleevas, Eduardo Morales...,!4114Issue #2707291: Disable body-level scrolling when a dialog is open as a modal,!4100Issue #3249600: Add support for PHP 8.1 Enums as allowed values for list_* data types,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2334Issue #3228209: Add hasRole() method to AccountInterface,!2062Issue #3246454: Add weekly granularity to views date sort,!1591Issue #3199697: Add JSON:API Translation experimental module,!1484Exposed filters get values from URL when Ajax is on,!1255Issue #3238922: Refactor (if feasible) uses of the jQuery serialize function to use vanillaJS,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!925Issue #2339235: Remove taxonomy hard dependency on node module,!877Issue #2708101: Default value for link text is not saved,!872Draft: Issue #3221319: Race condition when creating menu links and editing content deletes menu links,!844Resolve #3036010 "Updaters",!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493,!485Sets the autocomplete attribute for username/password input field on login form.,!30Issue #3182188: Updates composer usage to point at ./vendor/bin/composer
...@@ -118,8 +118,9 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) { ...@@ -118,8 +118,9 @@ public function fieldSettingsForm(array $form, FormStateInterface $form_state) {
'#title' => $this->t('Comments per page'), '#title' => $this->t('Comments per page'),
'#default_value' => $settings['per_page'], '#default_value' => $settings['per_page'],
'#required' => TRUE, '#required' => TRUE,
'#min' => 1, '#min' => 0,
'#max' => 1000, '#max' => 1000,
'#description' => $this->t('Enter 0 to show all comments.'),
]; ];
$element['anonymous'] = [ $element['anonymous'] = [
'#type' => 'select', '#type' => 'select',
......
...@@ -184,6 +184,15 @@ public function testCommentFieldCreate() { ...@@ -184,6 +184,15 @@ public function testCommentFieldCreate() {
$this->submitForm($edit, 'Save field settings'); $this->submitForm($edit, 'Save field settings');
// We shouldn't get an error message. // We shouldn't get an error message.
$this->assertSession()->pageTextNotContains('The submitted value in the Comment type element is not allowed.'); $this->assertSession()->pageTextNotContains('The submitted value in the Comment type element is not allowed.');
// Try to save the comment field with "Comments per page"
// setting value as zero.
$edit = [
'settings[per_page]' => 0,
];
$this->drupalGet('admin/config/people/accounts/fields/user.user.field_user_comment');
$this->submitForm($edit, 'Save settings');
$this->assertSession()->statusMessageContains('Saved User comment configuration.', 'status');
} }
/** /**
......
...@@ -38,6 +38,14 @@ public function testCommentPaging() { ...@@ -38,6 +38,14 @@ public function testCommentPaging() {
$this->setCommentSettings('default_mode', CommentManagerInterface::COMMENT_MODE_FLAT, 'Comment paging changed.'); $this->setCommentSettings('default_mode', CommentManagerInterface::COMMENT_MODE_FLAT, 'Comment paging changed.');
// Set "Comments per page" as zero and verify that all comments are appearing
// on the page.
$this->setCommentsPerPage(0);
$this->drupalGet('node/' . $node->id());
$this->assertTrue($this->commentExists($comments[0]), 'Comment 1 appears on page.');
$this->assertTrue($this->commentExists($comments[1]), 'Comment 2 appears on page.');
$this->assertTrue($this->commentExists($comments[2]), 'Comment 3 appears on page.');
// Set comments to one per page so that we are able to test paging without // Set comments to one per page so that we are able to test paging without
// needing to insert large numbers of comments. // needing to insert large numbers of comments.
$this->setCommentsPerPage(1); $this->setCommentsPerPage(1);
...@@ -92,6 +100,10 @@ public function testCommentPaging() { ...@@ -92,6 +100,10 @@ public function testCommentPaging() {
$this->setCommentsPerPage(0); $this->setCommentsPerPage(0);
$this->drupalGet('node/' . $node->id(), ['query' => ['page' => 0]]); $this->drupalGet('node/' . $node->id(), ['query' => ['page' => 0]]);
$this->assertFalse($this->commentExists($reply2, TRUE), 'Threaded mode works correctly when comments per page is 0.'); $this->assertFalse($this->commentExists($reply2, TRUE), 'Threaded mode works correctly when comments per page is 0.');
// Test that all main comments are appearing in the threaded mode.
$this->assertTrue($this->commentExists($comments[0]), 'Comment 1 appears on page.');
$this->assertTrue($this->commentExists($comments[1]), 'Comment 2 appears on page.');
$this->assertTrue($this->commentExists($comments[2]), 'Comment 3 appears on page.');
$this->drupalLogout(); $this->drupalLogout();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment