Skip to content

Commit

Permalink
fix: managed tickets
Browse files Browse the repository at this point in the history
clear manager setting
  • Loading branch information
smarcet committed Aug 27, 2024
1 parent dde1c9b commit e0abad2
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 18 deletions.
17 changes: 12 additions & 5 deletions app/Models/Foundation/Summit/Factories/SummitAttendeeFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,19 @@ public static function populate
}
}

if(!is_null($manager)){
if(empty($attendee->getEmail()) || $email_override || $attendee->getEmail() == $manager->getEmail()){
$attendee->setManagerAndUseManagerEmailAddress($manager);
// manager setting
if(isset($payload['manager_id'])){
$manager_id = intval($payload['manager_id']);
if($manager_id === 0){
$attendee->clearManager();
}
else if(!is_null($manager)){
if(empty($attendee->getEmail()) || $email_override || $attendee->getEmail() == $manager->getEmail()){
$attendee->setManagerAndUseManagerEmailAddress($manager);
}
else
$attendee->setManager($manager);
}
else
$attendee->setManager($manager);
}

$summit->addAttendee($attendee);
Expand Down
23 changes: 12 additions & 11 deletions app/Services/Model/AttendeeService.php
Original file line number Diff line number Diff line change
Expand Up @@ -272,19 +272,20 @@ public function deleteAttendee(Summit $summit, $attendee_id)
/**
* @param Summit $summit
* @param int $attendee_id
* @param array $data
* @param array $payload
* @return SummitAttendee
* @throws ValidationException
* @throws EntityNotFoundException
*/
public function updateAttendee(Summit $summit, $attendee_id, array $data)
public function updateAttendee(Summit $summit, $attendee_id, array $payload)
{
return $this->tx_service->transaction(function () use ($summit, $attendee_id, $data) {
return $this->tx_service->transaction(function () use ($summit, $attendee_id, $payload) {

$manager_id = $data['manager_id'] ?? 0;
$member_id = $data['member_id'] ?? 0;
Log::debug(sprintf("SummitAttendeeService::updateAttendee summit %s attendee %s payload %s", $summit->getId(), $attendee_id, json_encode($payload)));
$manager_id = $payload['manager_id'] ?? 0;
$member_id = $payload['member_id'] ?? 0;
$member_id = intval($member_id);
$email = $data['email'] ?? null;
$email = $payload['email'] ?? null;

$attendee = $summit->getAttendeeById($attendee_id);
if (is_null($attendee))
Expand All @@ -309,15 +310,15 @@ public function updateAttendee(Summit $summit, $attendee_id, array $data)
}

// check if attendee already exist for this summit
if (isset($data['extra_questions']) && !$attendee->hasAllowedExtraQuestions()) {
if (isset($payload['extra_questions']) && !$attendee->hasAllowedExtraQuestions()) {
Log::debug(sprintf("SummitAttendeeService::updateAttendee attendee %s does not have allowed extra questions.", $attendee->getId()));
// dont not overwrite extra questions
unset($data['extra_questions']);
unset($payload['extra_questions']);
}

// tags
if (isset($data['tags'])) {
$attendee = $this->populateTags($attendee, $data);
if (isset($payload['tags'])) {
$attendee = $this->populateTags($attendee, $payload);
}

$manager = null;
Expand All @@ -327,7 +328,7 @@ public function updateAttendee(Summit $summit, $attendee_id, array $data)
throw new EntityNotFoundException("Manager not found.");
}

SummitAttendeeFactory::populate($summit, $attendee, $data, $member, false, $manager);
SummitAttendeeFactory::populate($summit, $attendee, $payload, $member, false, $manager);

$attendee->updateStatus();
return $attendee;
Expand Down
4 changes: 2 additions & 2 deletions app/Services/Model/IAttendeeService.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ public function deleteAttendee(Summit $summit, $attendee_id);
/**
* @param Summit $summit
* @param int $attendee_id
* @param array $data
* @param array $payload
* @return SummitAttendee
* @throws ValidationException
* @throws EntityNotFoundException
*/
public function updateAttendee(Summit $summit, $attendee_id, array $data);
public function updateAttendee(Summit $summit, $attendee_id, array $payload);

/**
* @param SummitAttendee $attendee
Expand Down

0 comments on commit e0abad2

Please sign in to comment.