Skip to content

Commit d9a8b1f

Browse files
committed
[smarcet] - #13520
* fix on ccla admin/refactoring
1 parent d13b835 commit d9a8b1f

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

ICLA/_config.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@
2222
new SapphireTeamRepository,
2323
SapphireTransactionManager::getInstance());
2424

25-
$team_manager->verifyInvitations($member_id, new TeamInvitationEmailSender(new SapphireTeamInvitationRepository));
25+
$team_manager->verifyInvitations($member_id, new TeamInvitationEmailSender());
2626
});

ICLA/code/model/CCLATeamManager.php

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,20 +118,22 @@ public function sendInvitation(array $data, ITeamInvitationSender $invitation_se
118118

119119
public function verifyInvitations($member_id, ITeamInvitationSender $invitation_sender){
120120

121-
$member_repository = $this->member_repository;
122-
$invitation_repository = $this->invitation_repository;
121+
return $this->tx_manager->transaction(function() use($member_id, $invitation_sender){
123122

124-
return $this->tx_manager->transaction(function() use($member_id, $invitation_repository, $member_repository, $invitation_sender){
123+
$member = $this->member_repository->getById($member_id);
124+
if(!$member) throw new NotFoundEntityException('Member',sprintf('id %s', $member_id));
125125

126-
$member = $member_repository->getById($member_id);
127-
if(!$member) throw new NotFoundEntityException('Member',sprintf('id %s',$member_id));
128-
129-
foreach($invitation_repository->findByInviteEmail($member->Email) as $invitation){
126+
foreach($this->invitation_repository->findByInviteEmail($member->Email) as $invitation){
130127
$invitation->updateInvite($member);
131-
$invitation_sender->sendInvitation($invitation);
128+
// generate a token
129+
$token = null;
130+
do {
131+
$token = $invitation->generateConfirmationToken();
132+
} while ($this->invitation_repository->existsConfirmationToken($token));
133+
// re send invitation
134+
$invitation_sender->sendInvitation($invitation, $token);
132135
}
133136
});
134-
135137
}
136138

137139
/**

ICLA/code/model/ITeamInvitation.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,9 @@ public function doConfirmation($token);
4949
*/
5050
public function getMember();
5151

52+
/**
53+
* @param ICLAMember $invite
54+
* @return void
55+
*/
5256
public function updateInvite(ICLAMember $invite);
5357
}

0 commit comments

Comments
 (0)