mirror of
https://github.com/netzbegruenung/circles.git
synced 2024-05-14 17:16:05 +02:00
Merge branch 'master' into fix/noid/group-as-member-display-name
This commit is contained in:
commit
ee4516a003
|
@ -255,6 +255,8 @@ class CircleJoin implements
|
|||
$this->membershipService->onUpdate($member->getSingleId());
|
||||
$this->eventService->memberJoining($event);
|
||||
}
|
||||
|
||||
$this->membershipService->updatePopulation($event->getCircle());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -197,6 +197,8 @@ class CircleLeave implements
|
|||
$this->membershipService->onUpdate($circle->getSingleId());
|
||||
$this->eventService->circleDestroying($event);
|
||||
}
|
||||
|
||||
$this->membershipService->updatePopulation($event->getCircle());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -108,6 +108,8 @@ class MassiveMemberAdd extends SingleMemberAdd implements
|
|||
} catch (Exception $e) {
|
||||
}
|
||||
}
|
||||
|
||||
$this->membershipService->updatePopulation($event->getCircle());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -117,6 +117,7 @@ class MemberRemove implements
|
|||
// TODO: Remove invited members from this user that have not accepted their invitation
|
||||
|
||||
$this->eventService->memberRemoving($event);
|
||||
$this->membershipService->updatePopulation($event->getCircle());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -206,6 +206,7 @@ class SingleMemberAdd implements
|
|||
$this->eventService->memberAdding($event);
|
||||
}
|
||||
|
||||
$this->membershipService->updatePopulation($event->getCircle());
|
||||
|
||||
// //
|
||||
// // TODO: verifiez comment se passe le cached name sur un member_add
|
||||
|
|
|
@ -387,4 +387,24 @@ class MembershipService {
|
|||
|
||||
throw new ItemNotFoundException();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Circle $circle
|
||||
*/
|
||||
public function updatePopulation(Circle $circle): void {
|
||||
$local = $inherited = 0;
|
||||
$memberships = $this->membershipRequest->getInherited($circle->getSingleId(), Member::LEVEL_MEMBER);
|
||||
foreach ($memberships as $membership) {
|
||||
$inherited++;
|
||||
if ($membership->getCircleId() === $circle->getSingleId()) {
|
||||
$local++;
|
||||
}
|
||||
}
|
||||
|
||||
$settings = $circle->getSettings();
|
||||
$settings['population'] = $local;
|
||||
$settings['populationInherited'] = $inherited;
|
||||
$this->circleRequest->updateSettings($circle->setSettings($settings));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue