Skip to content

Commit

Permalink
update displayName
Browse files Browse the repository at this point in the history
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
  • Loading branch information
ArtificialOwl committed Apr 14, 2022
1 parent d255537 commit b0b6315
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 2 deletions.
8 changes: 8 additions & 0 deletions lib/FederatedItems/CircleEdit.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

use OCA\Circles\Tools\Traits\TDeserialize;
use OCA\Circles\Db\CircleRequest;
use OCA\Circles\Db\MemberRequest;
use OCA\Circles\Exceptions\CircleNameTooShortException;
use OCA\Circles\Exceptions\RequestBuilderException;
use OCA\Circles\IFederatedItem;
Expand All @@ -53,6 +54,9 @@ class CircleEdit implements IFederatedItem {
/** @var CircleRequest */
private $circleRequest;

/** @var MemberRequest */
private $memberRequest;

/** @var CircleService */
private $circleService;

Expand All @@ -64,15 +68,18 @@ class CircleEdit implements IFederatedItem {
* CircleEdit constructor.
*
* @param CircleRequest $circleRequest
* @param MemberRequest $memberRequest
* @param CircleService $circleService
* @param EventService $eventService
*/
public function __construct(
CircleRequest $circleRequest,
MemberRequest $memberRequest,
CircleService $circleService,
EventService $eventService
) {
$this->circleRequest = $circleRequest;
$this->memberRequest = $memberRequest;
$this->circleService = $circleService;
$this->eventService = $eventService;
}
Expand Down Expand Up @@ -134,6 +141,7 @@ public function manage(FederatedEvent $event): void {
}

$this->circleRequest->edit($circle);
$this->memberRequest->updateDisplayName($circle->getSingleId(), $circle->getDisplayName());
$this->eventService->circleEditing($event);
}

Expand Down
5 changes: 5 additions & 0 deletions lib/Listeners/DeprecatedListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,11 @@ public function userAccountUpdated(IUser $user) {
$circles = $this->circleService->getCircles($probe);

foreach ($circles as $circle) {
// we are only interested in direct membership
if ($circle->getInitiator()->getSingleId() !== $federatedUser->getSingleId()) {
continue;
}

$event = new FederatedEvent(MemberDisplayName::class);
$event->setCircle($circle);
$event->getParams()->s('displayName', $user->getDisplayName());
Expand Down
36 changes: 34 additions & 2 deletions lib/Service/MaintenanceService.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
use OCA\Circles\Model\Probes\CircleProbe;
use OCA\Circles\Model\ShareWrapper;
use OCA\Circles\Tools\Traits\TNCLogger;
use OCP\IGroupManager;
use OCP\IUserManager;
use Symfony\Component\Console\Output\OutputInterface;

Expand All @@ -61,6 +62,9 @@ class MaintenanceService {
/** @var IUserManager */
private $userManager;

/** @var IGroupManager */
private $groupManager;

/** @var CircleRequest */
private $circleRequest;

Expand Down Expand Up @@ -109,6 +113,7 @@ class MaintenanceService {
*/
public function __construct(
IUserManager $userManager,
IGroupManager $groupManager,
CircleRequest $circleRequest,
MemberRequest $memberRequest,
ShareWrapperRequest $shareWrapperRequest,
Expand All @@ -120,6 +125,7 @@ public function __construct(
ConfigService $configService
) {
$this->userManager = $userManager;
$this->groupManager = $groupManager;
$this->circleRequest = $circleRequest;
$this->memberRequest = $memberRequest;
$this->shareWrapperRequest = $shareWrapperRequest;
Expand Down Expand Up @@ -272,8 +278,6 @@ private function runMaintenance5(): void {

// try {
// $this->output('refresh displayNames older than 7d');
// // $this->refreshOldDisplayNames();
// $this->output('refresh DisplayNames');
// $this->refreshDisplayName();
// } catch (Exception $e) {
// }
Expand All @@ -284,6 +288,13 @@ private function runMaintenance5(): void {
$this->removeOrphanShares();
} catch (Exception $e) {
}

try {
// Can be removed in NC27.
$this->output('fix sub-circle display name');
$this->fixSubCirclesDisplayName();
} catch (Exception $e) {
}
}


Expand Down Expand Up @@ -389,6 +400,10 @@ private function refreshDisplayName(): void {

foreach ($circles as $circle) {
$owner = $circle->getOwner();
if ($owner->getDisplayUpdate() > (time() - 604800)) {
continue;
}

if ($owner->getUserType() === Member::TYPE_USER) {
$user = $this->userManager->get($owner->getUserId());
$this->memberRequest->updateDisplayName($owner->getSingleId(), $user->getDisplayName());
Expand All @@ -397,6 +412,23 @@ private function refreshDisplayName(): void {
}
}


/**
* @throws RequestBuilderException
* @throws InitiatorNotFoundException
*/
private function fixSubCirclesDisplayName(): void {
$probe = new CircleProbe();
$probe->includeSingleCircles();

$circles = $this->circleService->getCircles($probe);

foreach ($circles as $circle) {
$this->memberRequest->updateDisplayName($circle->getSingleId(), $circle->getDisplayName());
}
}


/**
* @param string $message
*/
Expand Down

0 comments on commit b0b6315

Please sign in to comment.