Entity Wishlist module is very useful for the site with large content. This module allow site visitors to add any node into there wishlist and then they can read later.

This module will create an admin configuration page admin/structure/entity-whishlist .
This page will list all content type and site admin can choose which content type they want for Wishlist.

After this on selected content type a link will show called "Read Later". Once user will click on it then that node will add into there wish list and user can check there wishlist on this url user/{Uid}/entity-whishlist.

Project link

https://www.drupal.org/project/entity_wishlist

Git instructions

git clone --branch 8.x-1.x https://git.drupal.org/project/entity_wishlist.git

Manual reviews of other projects

https://www.drupal.org/project/projectapplications/issues/2981916#comment-12669473
https://www.drupal.org/project/projectapplications/issues/2984889#comment-12682913
https://www.drupal.org/project/projectapplications/issues/2983821#comment-12675274

Comments

arvind_verma created an issue. See original summary.

avpaderno’s picture

Title: Entity Wishlist » [D8] Entity Wishlist
Issue summary: View changes
sleitner’s picture

Status: Needs review » Needs work

Automated Review

There are some errors reported by automated review tools, did you already check them? See https://pareview.sh/pareview/https-git.drupal.org-project-entity_wishlis... :

Git errors:

Git default branch is not set, see the documentation on setting a default branch.



Review of the 8.x-1.x branch (commit 669ddf3):

  • Your README.txt does not follow best practices (headings need to be uppercase).
  • The entity_wishlist.module does not implement hook_help().
  • PHP Parse error: syntax error, unexpected ')', expecting ']' in ./src/Controller/EntityUserWishlistController.php on line 35 Errors parsing ./src/Controller/EntityUserWishlistController.php
  • DrupalPractice has found some issues with your code, but could be false positives.
  • No automated test cases were found, did you consider writing PHPUnit tests? This is not a requirement but encouraged for professional software development.



Manual Review

Individual user account
Yes
No duplication
Yes
Master Branch
No, see pareview.sh tests
Licensing
Yes
3rd party assets/code
Yes
README.txt/README.md
No, see pareview.sh tests
Code long/complex enough for review
Yes
Secure code
Yes
Coding style & Drupal API usage
No, see pareview.sh tests

If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.

This review uses the Project Application Review Template.

Add "core: 8.x" to your entity_wishlist.info.yml

ArvindV’s picture

Status: Needs work » Needs review

Hello sleitner

Thank you for the automated review.

As per your report I have updated the module and releases as well.

The latest release 8.x-1.5 contains all issues fixes.

Thanks

sleitner’s picture

Status: Needs review » Needs work

Hello arvind_verma,

README.txt: headings need to be uppercase (INTRODUCTION, REQUIREMENTS)

Please take a look at the latest pareview https://pareview.sh/pareview/https-git.drupal.org-project-entity_wishlis... and work on the CoderSniffer and DrupalPractice warnings and issues.

Consider to add browser tests to ensure that your module does everything it is intended to do, especially after changing code. You can run these test locally and later trigger test runs in the automated testing section of your module page on drupal.org:
Running tests: https://www.drupal.org/docs/8/phpunit/running-phpunit-tests
Starting point for browser tests: https://www.drupal.org/docs/8/phpunit/phpunit-browser-test-tutorial
browser tests API: https://api.drupal.org/api/drupal/core%21tests%21Drupal%21Tests%21Browse... &
https://api.drupal.org/api/drupal/core%21tests%21Drupal%21Tests%21WebAss...
Test examples: https://www.drupal.org/project/examples

ArvindV’s picture

Status: Needs work » Needs review

Hello sleitner

I have fixed all automated review issues.

Now all fine.

If there is anything I can improve please let me know.

And once again thanks for your time for review.

Thanks

sleitner’s picture

Status: Needs review » Needs work

I get a PHP warning when opening admin/structure/entity-wishlist the first time using simplytest.me .You should cast the variable as array:
foreach ((array) $contentTypes as $contentType) {

Warning: Invalid argument supplied for foreach() in Drupal\Core\Render\Element\Checkboxes::valueCallback() (line 100 of /home/dfv3b/www/core/lib/Drupal/Core/Render/Element/Checkboxes.php) #0 /home/dfv3b/www/core/includes/bootstrap.inc(582): _drupal_error_handler_real(2, 'Invalid argumen...', '/home/dfv3b/www...', 100, Array) #1 /home/dfv3b/www/core/lib/Drupal/Core/Render/Element/Checkboxes.php(100): _drupal_error_handler(2, 'Invalid argumen...', '/home/dfv3b/www...', 100, Array) #2 [internal function]: Drupal\Core\Render\Element\Checkboxes::valueCallback(Array, false, Object(Drupal\Core\Form\FormState)) #3 /home/dfv3b/www/core/lib/Drupal/Core/Form/FormBuilder.php(1273): call_user_func_array(Array, Array) #4 /home/dfv3b/www/core/lib/Drupal/Core/Form/FormBuilder.php(990): Drupal\Core\Form\FormBuilder->handleInputElement('entity_wishlist...', Array, Object(Drupal\Core\Form\FormState)) #5 /home/dfv3b/www/core/lib/Drupal/Core/Form/FormBuilder.php(1060): Drupal\Core\Form\FormBuilder->doBuildForm('entity_wishlist...', Array, Object(Drupal\Core\Form\FormState)) #6 /home/dfv3b/www/core/lib/Drupal/Core/Form/FormBuilder.php(561): Drupal\Core\Form\FormBuilder->doBuildForm('entity_wishlist...', Array, Object(Drupal\Core\Form\FormState)) #7 /home/dfv3b/www/core/lib/Drupal/Core/Form/FormBuilder.php(318): Drupal\Core\Form\FormBuilder->processForm('entity_wishlist...', Array, Object(Drupal\Core\Form\FormState)) #8 /home/dfv3b/www/core/lib/Drupal/Core/Controller/FormController.php(74): Drupal\Core\Form\FormBuilder->buildForm('entity_wishlist...', Object(Drupal\Core\Form\FormState)) #9 [internal function]: Drupal\Core\Controller\FormController->getContentResult(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\RouteMatch)) #10 /home/dfv3b/www/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array) #11 /home/dfv3b/www/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #12 /home/dfv3b/www/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #13 /home/dfv3b/www/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) #14 /home/dfv3b/www/vendor/symfony/http-kernel/HttpKernel.php(151): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #15 /home/dfv3b/www/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #16 /home/dfv3b/www/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #17 /home/dfv3b/www/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #18 /home/dfv3b/www/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #19 /home/dfv3b/www/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true) #20 /home/dfv3b/www/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #21 /home/dfv3b/www/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #22 /home/dfv3b/www/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #23 /home/dfv3b/www/core/lib/Drupal/Core/DrupalKernel.php(666): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #24 /home/dfv3b/www/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #25 {main}.

gaurav_jhaloya’s picture

Hi sleitner,

I have checked this module using simplytest.me
this is the url : https://dfl17.ply.st

I didn't get any error with this module.
You can review with url i have attached.

Thanks

sleitner’s picture

it is still there https://dfl17.ply.st/admin/reports/dblog :

php 07/11/2018 - 13:42 Warning: Invalid argument supplied for foreach() in… admin

https://dfl17.ply.st/admin/reports/dblog/event/40

gaurav_jhaloya’s picture

Status: Needs work » Needs review
StatusFileSize
new772 bytes

Hi Arvind

here is the patch to fix PHP warning 'Warning: Invalid argument supplied for foreach() in Drupal\Core\Render\Element\Checkboxes::valueCallback() '
Please check.

Thanks

ArvindV’s picture

Hello Sleitner and Gaurav

Thanks for the update.

I have applied the patch and committed as well but did not released it.

Thanks again for patch.

sleitner’s picture

Looks good, no warnings on simplytest.me anymore

Automated Review

Review of the 8.x-1.x branch (commit 8a1acd1):

  • No automated test cases were found, did you consider writing PHPUnit tests? This is not a requirement but encouraged for professional software development.

This automated report was generated with PAReview.sh, your friendly project application review script.

Manual Review

Individual user account
Yes: Follows
No duplication
Yes: Does not cause
Master Branch
Yes: Follows
Licensing
Yes: Follows
3rd party assets/code
Yes: Follows
README.txt/README.md
Yes: Follows
Code long/complex enough for review
Yes: Follows
Secure code
Yes: Meets the security requirements.
Coding style & Drupal API usage
Yes: Follows

If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.

This review uses the Project Application Review Template.

ArvindV’s picture

Hello Sleitner

What I still need to get "Opt into security advisory coverage" ?

When module will be Security advisory coverage ?

If there is still need to do something then please let me know.

I have fixed all automated and manual review.

Thanks

ArvindV’s picture

Issue summary: View changes
sleitner’s picture

I think, after this pre-review your application have to be reviewed by the git administrator/member of the security team.

sleitner’s picture

Status: Needs review » Reviewed & tested by the community
ArvindV’s picture

Hello

Thanks for the update.

ArvindV’s picture

Hello kiamlaluno

Is there anything else still i need to do for getting "Opt into security advisory coverage" ?

Please let me know.

Thanks

avpaderno’s picture

Assigned: Unassigned » avpaderno
Status: Reviewed & tested by the community » Fixed

Thank you for your contribution!
I am going to update your account so you can opt into security advisory coverage now.
These are some recommended readings to help with excellent maintainership:

You can find more contributors chatting on the IRC #drupal-contribute channel. So, come hang out and stay involved.
Thank you, also, for your patience with the review process.
Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

I thank all the dedicated reviewers as well.

ArvindV’s picture

Hello kiamlaluno

Thanks for the update. That's great that module is covered by security policy.

I still need to ask one thing that the module has been covered by the security policy but I am still getting the module detail in "yellow" color.

Please check the screenshot.

What more changes I need to do to make module come in the "Green" color ?

Also what is the difference between both color tags.

Thanks in advance.

ArvindV’s picture

StatusFileSize
new36.51 KB
avpaderno’s picture

The background was yellow because that branch was not set as recommended, on https://www.drupal.org/node/2981542/edit/releases.
Now that I set it as recommended, the background is green.

ArvindV’s picture

Thanks kiamlaluno .

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.