Fix #1760 check for duplicates and remove them before adding member to group

This commit is contained in:
Kijin Sung 2021-08-02 10:49:47 +09:00
parent e9072f9a6e
commit 185f0bb5a5
2 changed files with 24 additions and 0 deletions

View file

@ -2159,9 +2159,21 @@ class memberController extends member
*/
function addMemberToGroup($member_srl, $group_srl)
{
// Return if member already belongs to group
$args = new stdClass();
$args->member_srl = $member_srl;
$args->group_srl = $group_srl;
$output = executeQueryArray('member.getMemberGroupMember', $args);
if ($output->data && count($output->data) == 1)
{
return;
}
if ($output->data && count($output->data) > 1)
{
executeQuery('member.deleteMemberGroupMember', $args);
}
// Add member to group
$output = executeQuery('member.addMemberToGroup', $args);
ModuleHandler::triggerCall('member.addMemberToGroup', 'after', $args);

View file

@ -0,0 +1,12 @@
<query id="getMemberGroupMember" action="select">
<tables>
<table name="member_group_member" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" filter="number" />
<condition operation="equal" column="group_srl" var="group_srl" filter="number" pipe="and" />
</conditions>
</query>