Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
d7bd1a8
Add a method to add group members directly to a conversation
nickvergessen Dec 18, 2020
db91242
Keep track of added groups
nickvergessen Dec 18, 2020
2db230b
Add and remove users from conversations when their group membership c…
nickvergessen Dec 18, 2020
b37dade
Fix constant value to plural
nickvergessen Mar 25, 2021
b532b28
Fix command integration tests
nickvergessen Mar 25, 2021
9edff03
Add expected group to output
nickvergessen Mar 25, 2021
55981db
Make sure existing self-joined users are converted to added users
nickvergessen Mar 25, 2021
4ccc537
Save and show the display name of groups
nickvergessen Mar 25, 2021
1e66602
Show groups at the end and don't allow promoting
nickvergessen Mar 25, 2021
bc4f7e5
Prevent promoting/demoting groups on API level
nickvergessen Mar 25, 2021
8608bdc
Filter out groups which are already participants
nickvergessen Mar 26, 2021
0253a69
Don't error when a user is already a member
nickvergessen Mar 26, 2021
5730ef0
Add integration tests
nickvergessen Mar 26, 2021
44a7308
Only remove users and not moderators when a group (membership) is rem…
nickvergessen Mar 31, 2021
672f06f
Ignore the read status of groups and store the displayname on adding …
nickvergessen Apr 8, 2021
807c8a0
Change misleading computed name
nickvergessen Apr 8, 2021
b48ce35
Adjust label when removing a group
nickvergessen Apr 8, 2021
269ac90
Add integration tests for multi group scenarios
nickvergessen Apr 8, 2021
4b268d0
Rename test file
nickvergessen Apr 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Don't error when a user is already a member
Signed-off-by: Joas Schilling <[email protected]>
  • Loading branch information
nickvergessen committed Mar 26, 2021
commit 0253a69f8762e6bfec2327375effa0da7312cae4
17 changes: 13 additions & 4 deletions lib/Listener/GroupMembershipListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@

namespace OCA\Talk\Listener;

use OCA\Talk\Exceptions\ParticipantNotFoundException;
use OCA\Talk\Manager;
use OCA\Talk\Model\Attendee;
use OCA\Talk\Participant;
use OCA\Talk\Room;
use OCA\Talk\Service\ParticipantService;
use OCP\EventDispatcher\Event;
Expand Down Expand Up @@ -65,10 +67,17 @@ protected function addNewMemberToRooms(IGroup $group, IUser $user): void {
$rooms = $this->manager->getRoomsForActor(Attendee::ACTOR_GROUPS, $group->getGID());

foreach ($rooms as $room) {
$this->participantService->addUsers($room, [[
'actorType' => Attendee::ACTOR_USERS,
'actorId' => $user->getUID(),
]]);
try {
$participant = $room->getParticipant($user->getUID());
if ($participant->getAttendee()->getParticipantType() === Participant::USER_SELF_JOINED) {
$this->participantService->updateParticipantType($room, $participant, Participant::USER);
}
} catch (ParticipantNotFoundException $e) {
$this->participantService->addUsers($room, [[
'actorType' => Attendee::ACTOR_USERS,
'actorId' => $user->getUID(),
]]);
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion lib/Service/ParticipantService.php
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ public function addGroup(Room $room, IGroup $group, array $existingParticipants
$usersInGroup = $group->getUsers();

if (empty($existingParticipants)) {
$participants = $this->getParticipantsForRoom($room);
$existingParticipants = $this->getParticipantsForRoom($room);
}

$participantsByUserId = [];
Expand Down