ISSUE SUMMARY:
When a user requests to join a private group it is expected that group admins receive emails about this request. However, these emails are not sent. Instead they are sent when an community admin approves the request. The mailq table reflects this situation.
STEPS TO REPLICATE:
1 Any user requests to join private group where he/she is not member yet
2
3
4
5
RESULT
No email sent out / mailq table is empty
EXPECTED RESULT
Email sent out / mailq table fills up before
BROWSER
Hi Ralph,
here the fix:
Hi Ralph,
please open jomsocial backend > monitor > mail queue
as you can see the email still on pendding status.
please execute the cron job. and make sure at your server, the cronjob setup properly.
documentation.jomsocial.com/wiki/Setting_Up_Cron_Job
.
you can asking your server support about how to setup the cron job at server.
Regards
Hi Albertus,
the cron job was setup correctly, but it appears that the mail didn't show up for some time. Now I can see the email as "Blocked" in backend (see picture). What is the reason for it? Everything else in mail queue seems OK.
Hi Ralph,
blokced mean that user dont want that notification.
every each users having they on notifications setting at Profile > Preferences > Emails & Notifications
but as administrator, you can reset it by visiting jomsocial backend > configuration > privacy > section: Default User Email & Notifications
at the bottom of page, you can "Reset" all users setting to default.
try to reset first.
Regards
Hi Albertus,
I checked the accounts and in fact found that all users have enabled those email types. After debugging the controller, the following line seems to be the issue:
CNotificationLibrary::add( 'group_join_request', $my->id, $group->ownerid, JText::sprintf('COM_COMMUNITY_GROUP_JOIN_REQUEST_SUBJECT'), '', 'groups.joinrequest', $params );
CNotificationLibrary::add( 'groups_member_join', $my->id, $group->ownerid, JText::sprintf('COM_COMMUNITY_GROUP_JOIN_REQUEST_SUBJECT'), '', 'groups.memberjoin', $params );
group_member_join
groups.memberjoin
3235a3236,3238
> $user = $my;
> $approved = false;
>
3239,3240c3242,3251
<
< CNotificationLibrary::add( 'group_join_request', $my->id, $group->ownerid, JText::sprintf('COM_COMMUNITY_GROUP_JOIN_REQUEST_SUBJECT'), '', 'groups.joinrequest', $params );
---
> $params->set('group' , $group->name );
> $params->set('group_url' , 'index.php?option=com_community&view=groups&task=viewgroup&groupid='.$group->id );
> $params->set('user' , $user->getDisplayName() );
> $params->set('user_url' , 'index.php?option=com_community&view=profile&userid='.$user->id );
> $params->set('approved' , $member->approved );
> $admins = $groupModel->getAdmins($groupId, null);
> $subject = JText::sprintf( 'COM_COMMUNITY_NEW_MEMBER_REQUESTED_TO_JOIN_GROUP_EMAIL_SUBJECT' , '{user}' , '{group}' );
> foreach ($admins AS $admin) {
> CNotificationLibrary::add( 'groups_member_join', $my->id, $admin->id, $subject, '', 'groups.memberjoin', $params );
> }
Hi Ralph,
the notification only for group admin. this is by design.
you can put user voice at here:
uservoice.jomsocial.com/forums/101561-jo...ial-feature-requests
the the fixes of this issue will be included at next release.
Thank You for reporting this.
Regards