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){
|
public static function HashConfirmationToken($token){
|
||||||
return md5($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
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
**/
|
**/
|
||||||
|
use App\Models\Foundation\Summit\Factories\PresentationSpeakerSummitAssistanceConfirmationRequestFactory;
|
||||||
use App\Models\Foundation\Summit\Repositories\IPresentationSpeakerSummitAssistanceConfirmationRequestRepository;
|
use App\Models\Foundation\Summit\Repositories\IPresentationSpeakerSummitAssistanceConfirmationRequestRepository;
|
||||||
use Illuminate\Http\UploadedFile;
|
use Illuminate\Http\UploadedFile;
|
||||||
use libs\utils\ITransactionService;
|
use libs\utils\ITransactionService;
|
||||||
@ -177,7 +178,7 @@ final class SpeakerService implements ISpeakerService
|
|||||||
}
|
}
|
||||||
|
|
||||||
$speaker->addSummitAssistance(
|
$speaker->addSummitAssistance(
|
||||||
$this->updateSummitAssistance($speaker->buildAssistanceFor($summit), $data)
|
PresentationSpeakerSummitAssistanceConfirmationRequestFactory::build($summit, $speaker, $data)
|
||||||
);
|
);
|
||||||
|
|
||||||
$reg_code = isset($data['registration_code']) ? trim($data['registration_code']) : null;
|
$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 PresentationSpeaker $speaker
|
||||||
* @param string $email
|
* @param string $email
|
||||||
@ -373,7 +355,7 @@ final class SpeakerService implements ISpeakerService
|
|||||||
$speaker->addSummitAssistance($summit_assistance);
|
$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;
|
$reg_code = isset($data['registration_code']) ? trim($data['registration_code']) : null;
|
||||||
if(!empty($reg_code)){
|
if(!empty($reg_code)){
|
||||||
@ -717,11 +699,15 @@ final class SpeakerService implements ISpeakerService
|
|||||||
]
|
]
|
||||||
));
|
));
|
||||||
|
|
||||||
$assistance = $speaker->buildAssistanceFor($summit);
|
$assistance = PresentationSpeakerSummitAssistanceConfirmationRequestFactory::build
|
||||||
$speaker->addSummitAssistance(
|
(
|
||||||
$this->updateSummitAssistance($assistance, $data)
|
$summit,
|
||||||
|
$speaker,
|
||||||
|
$data
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$speaker->addSummitAssistance($assistance);
|
||||||
|
|
||||||
return $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
|
||||||
*/
|
*/
|
||||||
class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
final class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
||||||
{
|
{
|
||||||
public function testGetAllBySummit($summit_id = 23){
|
public function testGetAllBySummit($summit_id = 23){
|
||||||
|
|
||||||
@ -146,12 +146,16 @@ class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
|||||||
return $assistances;
|
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 = [
|
$params = [
|
||||||
'id' => $summit_id,
|
'id' => $summit_id,
|
||||||
'assistance_id' => $assistances->data[0]->id
|
'assistance_id' => $assistance_id
|
||||||
];
|
];
|
||||||
|
|
||||||
$headers = [
|
$headers = [
|
||||||
@ -180,7 +184,10 @@ class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
|||||||
];
|
];
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'speaker_id' => 1
|
'speaker_id' => 15,
|
||||||
|
'checked_in' => false,
|
||||||
|
'registered' => true,
|
||||||
|
'is_confirmed' => false,
|
||||||
];
|
];
|
||||||
|
|
||||||
$headers = [
|
$headers = [
|
||||||
@ -203,6 +210,7 @@ class OAuth2SpeakersAssistancesApiTest extends ProtectedApiTest
|
|||||||
$this->assertResponseStatus(201);
|
$this->assertResponseStatus(201);
|
||||||
$assistance = json_decode($content);
|
$assistance = json_decode($content);
|
||||||
$this->assertTrue(!is_null($assistance));
|
$this->assertTrue(!is_null($assistance));
|
||||||
|
|
||||||
return $assistance;
|
return $assistance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user