Fix on Summit Speaker Attendance Update
Was not updating/population boolean fields. Change-Id: Ie61e06a940e0899e5c27aeed9522c3d83bdca596
This commit is contained in:
parent
7d72a3fff6
commit
75a20d202a
@ -199,4 +199,11 @@ class PresentationSpeakerSummitAssistanceConfirmationRequest extends Silverstrip
|
||||
public static function HashConfirmationToken($token){
|
||||
return md5($token);
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->registered = false;
|
||||
$this->is_confirmed = false;
|
||||
$this->checked_in = false;
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
<?php namespace App\Models\Foundation\Summit\Factories;
|
||||
/**
|
||||
* Copyright 2018 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
use models\summit\PresentationSpeaker;
|
||||
use models\summit\PresentationSpeakerSummitAssistanceConfirmationRequest;
|
||||
use models\summit\Summit;
|
||||
|
||||
/**
|
||||
* Class PresentationSpeakerSummitAssistanceConfirmationRequestFactory
|
||||
* @package App\Models\Foundation\Summit\Factories
|
||||
*/
|
||||
final class PresentationSpeakerSummitAssistanceConfirmationRequestFactory
|
||||
{
|
||||
/**
|
||||
* @param Summit $summit
|
||||
* @param PresentationSpeaker $speaker
|
||||
* @param array $data
|
||||
* @return PresentationSpeakerSummitAssistanceConfirmationRequest
|
||||
*/
|
||||
public static function build(Summit $summit, PresentationSpeaker $speaker, array $data){
|
||||
|
||||
$request = new PresentationSpeakerSummitAssistanceConfirmationRequest();
|
||||
$request->setSummit($summit);
|
||||
$request->setSpeaker($speaker);
|
||||
$request = self::populate($request, $data);
|
||||
return $request;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PresentationSpeakerSummitAssistanceConfirmationRequest $summit_assistance
|
||||
* @param array $data
|
||||
* @return PresentationSpeakerSummitAssistanceConfirmationRequest
|
||||
*/
|
||||
public static function populate
|
||||
(
|
||||
PresentationSpeakerSummitAssistanceConfirmationRequest $summit_assistance,
|
||||
array $data
|
||||
)
|
||||
{
|
||||
$on_site_phone = isset($data['on_site_phone']) ? trim($data['on_site_phone']) : null;
|
||||
$registered = isset($data['registered']) ? boolval($data['registered']) : 0;
|
||||
$checked_in = isset($data['checked_in']) ? boolval($data['checked_in']) : 0;
|
||||
$confirmed = isset($data['is_confirmed']) ? boolval($data['is_confirmed']) : 0;
|
||||
|
||||
$summit_assistance->setOnSitePhone($on_site_phone);
|
||||
$summit_assistance->setRegistered($registered);
|
||||
$summit_assistance->setIsConfirmed($confirmed);
|
||||
$summit_assistance->setCheckedIn($checked_in);
|
||||
|
||||
return $summit_assistance;
|
||||
}
|
||||
}
|
@ -11,6 +11,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
use App\Models\Foundation\Summit\Factories\PresentationSpeakerSummitAssistanceConfirmationRequestFactory;
|
||||
use App\Models\Foundation\Summit\Repositories\IPresentationSpeakerSummitAssistanceConfirmationRequestRepository;
|
||||
use Illuminate\Http\UploadedFile;
|
||||
use libs\utils\ITransactionService;
|
||||
@ -177,7 +178,7 @@ final class SpeakerService implements ISpeakerService
|
||||
}
|
||||
|
||||
$speaker->addSummitAssistance(
|
||||
$this->updateSummitAssistance($speaker->buildAssistanceFor($summit), $data)
|
||||
PresentationSpeakerSummitAssistanceConfirmationRequestFactory::build($summit, $speaker, $data)
|
||||
);
|
||||
|
||||
$reg_code = isset($data['registration_code']) ? trim($data['registration_code']) : null;
|
||||
@ -194,25 +195,6 @@ final class SpeakerService implements ISpeakerService
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PresentationSpeakerSummitAssistanceConfirmationRequest $summit_assistance
|
||||
* @param array $data
|
||||
* @return PresentationSpeakerSummitAssistanceConfirmationRequest
|
||||
*/
|
||||
private function updateSummitAssistance(PresentationSpeakerSummitAssistanceConfirmationRequest $summit_assistance, array $data){
|
||||
$on_site_phone = isset($data['on_site_phone']) ? trim($data['on_site_phone']) : null;
|
||||
$registered = isset($data['registered']) ? 1 : 0;
|
||||
$checked_in = isset($data['checked_in']) ? 1 : 0;
|
||||
$confirmed = isset($data['is_confirmed']) ? 1 : 0;
|
||||
|
||||
$summit_assistance->setOnSitePhone($on_site_phone);
|
||||
$summit_assistance->setRegistered($registered);
|
||||
$summit_assistance->setIsConfirmed($confirmed);
|
||||
$summit_assistance->setCheckedIn($checked_in);
|
||||
|
||||
return $summit_assistance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PresentationSpeaker $speaker
|
||||
* @param string $email
|
||||
@ -373,7 +355,7 @@ final class SpeakerService implements ISpeakerService
|
||||
$speaker->addSummitAssistance($summit_assistance);
|
||||
}
|
||||
|
||||
$this->updateSummitAssistance($summit_assistance, $data);
|
||||
PresentationSpeakerSummitAssistanceConfirmationRequestFactory::populate($summit_assistance, $data);
|
||||
|
||||
$reg_code = isset($data['registration_code']) ? trim($data['registration_code']) : null;
|
||||
if(!empty($reg_code)){
|
||||
@ -717,11 +699,15 @@ final class SpeakerService implements ISpeakerService
|
||||
]
|
||||
));
|
||||
|
||||
$assistance = $speaker->buildAssistanceFor($summit);
|
||||
$speaker->addSummitAssistance(
|
||||
$this->updateSummitAssistance($assistance, $data)
|
||||
$assistance = PresentationSpeakerSummitAssistanceConfirmationRequestFactory::build
|
||||
(
|
||||
$summit,
|
||||
$speaker,
|
||||
$data
|
||||
);
|
||||
|
||||
$speaker->addSummitAssistance($assistance);
|
||||
|
||||
return $assistance;
|
||||
});
|
||||
}
|
||||
@ -755,9 +741,12 @@ final class SpeakerService implements ISpeakerService
|
||||
);
|
||||
}
|
||||
|
||||
$this->updateSummitAssistance($assistance, $data);
|
||||
return PresentationSpeakerSummitAssistanceConfirmationRequestFactory::populate
|
||||
(
|
||||
$assistance,
|
||||
$data
|
||||
);
|
||||
|
||||
return $assistance;
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
/**
|
||||
* Class OAuth2SpeakersAssistancesApiTest
|
||||
*/
|
||||
class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
||||
final class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
||||
{
|
||||
public function testGetAllBySummit($summit_id = 23){
|
||||
|
||||
@ -146,12 +146,16 @@ class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
||||
return $assistances;
|
||||
}
|
||||
|
||||
public function testDeleteSummitAssistance($summit_id = 23){
|
||||
public function testDeleteSummitAssistance($summit_id = 23, $assistance_id = 3561){
|
||||
|
||||
if($assistance_id <= 0) {
|
||||
$assistances = $this->testGetAllBySummitAndNonConfirmed($summit_id);
|
||||
$assistance_id = $assistances->data[0]->id;
|
||||
}
|
||||
|
||||
$assistances = $this->testGetAllBySummitAndNonConfirmed($summit_id);
|
||||
$params = [
|
||||
'id' => $summit_id,
|
||||
'assistance_id' => $assistances->data[0]->id
|
||||
'assistance_id' => $assistance_id
|
||||
];
|
||||
|
||||
$headers = [
|
||||
@ -180,7 +184,10 @@ class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
||||
];
|
||||
|
||||
$data = [
|
||||
'speaker_id' => 1
|
||||
'speaker_id' => 15,
|
||||
'checked_in' => false,
|
||||
'registered' => true,
|
||||
'is_confirmed' => false,
|
||||
];
|
||||
|
||||
$headers = [
|
||||
@ -203,6 +210,7 @@ class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
||||
$this->assertResponseStatus(201);
|
||||
$assistance = json_decode($content);
|
||||
$this->assertTrue(!is_null($assistance));
|
||||
|
||||
return $assistance;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user