Remove group management restrictions on pending and blocked in Module\Group

This commit is contained in:
Hypolite Petovan 2019-12-24 16:44:43 -05:00
parent 2056e6a5c4
commit b610d4e82d

View file

@ -87,34 +87,28 @@ class Group extends BaseModule
throw new \Exception(L10n::t('Unknown group.'), 404); throw new \Exception(L10n::t('Unknown group.'), 404);
} }
$contact = DBA::selectFirst('contact', ['pending', 'blocked', 'deleted'], ['id' => $contact_id, 'uid' => local_user()]); $contact = DBA::selectFirst('contact', ['deleted'], ['id' => $contact_id, 'uid' => local_user()]);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
throw new \Exception(L10n::t('Contact not found.'), 404); throw new \Exception(L10n::t('Contact not found.'), 404);
} }
if ($contact['pending']) {
throw new \Exception(L10n::t('Contact is unavailable.'), 400);
}
if ($contact['deleted']) { if ($contact['deleted']) {
throw new \Exception(L10n::t('Contact is deleted.'), 410); throw new \Exception(L10n::t('Contact is deleted.'), 410);
} }
switch($command) { switch($command) {
case 'add': case 'add':
if ($contact['blocked']) {
throw new \Exception(L10n::t('Contact is blocked, unable to add it to a group.'), 400);
}
if (!Model\Group::addMember($group_id, $contact_id)) { if (!Model\Group::addMember($group_id, $contact_id)) {
throw new \Exception(L10n::t('Unable to add the contact to the group.'), 500); throw new \Exception(L10n::t('Unable to add the contact to the group.'), 500);
} }
$message = L10n::t('Contact successfully added to group.'); $message = L10n::t('Contact successfully added to group.');
break; break;
case 'remove': case 'remove':
if (!Model\Group::removeMember($group_id, $contact_id)) { if (!Model\Group::removeMember($group_id, $contact_id)) {
throw new \Exception(L10n::t('Unable to remove the contact from the group.'), 500); throw new \Exception(L10n::t('Unable to remove the contact from the group.'), 500);
} }
$message = L10n::t('Contact successfully removed from group.'); $message = L10n::t('Contact successfully removed from group.');
break; break;
default: default: