akeeba / engage

Akeeba Engage - Comments for Joomla!™ articles made easy
GNU General Public License v3.0
16 stars 10 forks source link

Flag as spam does not notify comment manager #303

Closed NicolasDerumigny closed 6 months ago

NicolasDerumigny commented 6 months ago

Please read the README.md in the repository's root and the support resources before submitting an issue.

Steps to reproduce the issue

Mark a comment as possible spam.

Expected result

Managers receives a mail stating that a comment is a possible spam.

Actual result

No mail is sent.

Troubleshooting already performed

I thinks sendEmailsAfterPostCreation event is called, probably because onComEngageCommentTableAfterCreate is not properly fired up.

System information

Mandatory information

Issues without this information can not and will not be replied to.

Good to have information

You can skip some or all of this information. However, the more information you provide the faster and better we can help.

Additional comments

None

nikosdion commented 6 months ago

This feature was never meant to send an email since it is only exposed to comment managers. Remember, comment managers are those users who have the Edit State (core.edit.state) privilege. This is, indeed, a requirement for marking a comment as possible spam, definite spam, or ham (not-spam).

Therefore, you are talking about an action taken by a comment manager. It makes no sense notifying the same person and other comment managers for an administrative action taken by a comment manager. That's pointless noise.

Regarding your comments, kindly note that the method sendEmailsAfterPostCreation, if its name was not entirely evident, is also explicitly documented in its docblock as something which is only meant to be triggered for NEW comments, not comments which are edited, or whose state is changed:

    /**
     * Automatically triggered right after Akeeba Engage saves a NEW comment record to its database table.
     *
     * @param   Event  $event  The event we are handling
     *
     * @return  void
     * @since   1.0.0
     */

Remember, that there are different mail templates to notify the author and the managers about the same new comment being submitted, including one (engage.spam) which is sent to comment managers and only when a comment is automatically detected to be spam. The fact that it's for new comments only is immediately evident by the wording of the email:

A new comment was filed on “{CONTENT_TITLE}”. The comment is currently marked as spam.

Therefore, there is no bug here. This is how it was designed to work.