Skip to content

Commit c1027da

Browse files
committed
[spalenque] - #13439 * add links to speaker summit admin and add checkboxes on speaker edit form
1 parent 0c9f99b commit c1027da

5 files changed

Lines changed: 98 additions & 12 deletions

File tree

summit/code/controllers/PresentationSpeakerAdminController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ public function editSpeaker(SS_HTTPRequest $request)
112112
$speaker_id = intval($request->param('SpeakerID'));
113113
$speaker = PresentationSpeaker::get()->byID($speaker_id);
114114

115+
Requirements::css('node_modules/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css');
115116
Requirements::css('summit/css/simple-sidebar.css');
116117
Requirements::css('summit/css/summit-admin-edit-speaker.css');
117118
SweetAlert2Dependencies::renderRequirements();

summit/code/models/managers/SpeakerManager.php

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -219,10 +219,20 @@ public function createSpeaker(ISummit $summit, array $speaker_data, IMessageSend
219219
$speaker_creation_email_sender->send(['Speaker' => $speaker]);
220220

221221
$onsite_phone = trim($speaker_data['onsite_phone']);
222-
if(!empty($onsite_phone)) {
223-
$summit_assistance = $speaker->createAssistanceFor($summit->getIdentifier());
224-
$summit_assistance->OnSitePhoneNumber = $onsite_phone;
225-
$summit_assistance->write();
222+
$registered = isset($speaker_data['registered']) ? 1 : 0;
223+
$checked_in = isset($speaker_data['checked-in']) ? 1 : 0;
224+
$confirmed = isset($speaker_data['onsite_phone']) ? 1 : 0;
225+
226+
$summit_assistance = $speaker->createAssistanceFor($summit->getIdentifier());
227+
$summit_assistance->OnSitePhoneNumber = $onsite_phone;
228+
$summit_assistance->RegisteredForSummit = $registered;
229+
$summit_assistance->IsConfirmed = $confirmed;
230+
$summit_assistance->CheckedIn = $checked_in;
231+
$summit_assistance->write();
232+
233+
$reg_code = trim($speaker_data['reg_code']);
234+
if(!empty($reg_code)){
235+
$speaker->registerSummitPromoCodeByValue($reg_code, $summit);
226236
}
227237

228238
return $speaker;
@@ -273,20 +283,28 @@ public function updateSpeaker(ISummit $summit, array $speaker_data)
273283
$speaker->MemberID = $member_id;
274284

275285
$onsite_phone = trim($speaker_data['onsite_phone']);
276-
$reg_code = trim($speaker_data['reg_code']);
286+
$registered = isset($speaker_data['registered']) ? 1 : 0;
287+
$checked_in = isset($speaker_data['checked_in']) ? 1 : 0;
288+
$confirmed = isset($speaker_data['confirmed']) ? 1 : 0;
277289

278-
if(!empty($onsite_phone)) {
279-
$summit_assistance = $speaker->getAssistanceFor($summit->getIdentifier());
280-
if(is_null($summit_assistance)){
281-
$summit_assistance = $speaker->createAssistanceFor($summit->getIdentifier());
282-
}
283-
$summit_assistance->OnSitePhoneNumber = $onsite_phone;
284-
$summit_assistance->write();
290+
$summit_assistance = $speaker->getAssistanceFor($summit->getIdentifier());
291+
if(is_null($summit_assistance)){
292+
$summit_assistance = $speaker->createAssistanceFor($summit->getIdentifier());
285293
}
286294

295+
if(!empty($onsite_phone))
296+
$summit_assistance->OnSitePhoneNumber = $onsite_phone;
297+
298+
$summit_assistance->RegisteredForSummit = $registered;
299+
$summit_assistance->IsConfirmed = $confirmed;
300+
$summit_assistance->CheckedIn = $checked_in;
301+
$summit_assistance->write();
302+
303+
$reg_code = trim($speaker_data['reg_code']);
287304
if(!empty($reg_code)){
288305
$speaker->registerSummitPromoCodeByValue($reg_code, $summit);
289306
}
307+
290308
return $speaker;
291309

292310
});

summit/css/summit-admin-edit-event.css

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,20 @@
3939

4040
.attachment-container{
4141
padding: 5px;
42+
}
43+
44+
.speakers-container .tag {
45+
cursor: pointer;
46+
}
47+
48+
.speakers-container .tag:hover {
49+
text-decoration: underline;
50+
}
51+
52+
.moderator-container .tag {
53+
cursor: pointer;
54+
}
55+
56+
.moderator-container .tag:hover {
57+
text-decoration: underline;
4258
}

summit/javascript/summitapp-editevent.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,9 @@ $(document).ready(function(){
157157
freeInput: false,
158158
allowDuplicates: false,
159159
trimValue: true,
160+
tagClass: function(item) {
161+
return 'label label-info speaker_' + item.speaker_id ;
162+
},
160163
typeaheadjs: [
161164
{
162165
hint: true,
@@ -274,6 +277,9 @@ $(document).ready(function(){
274277
freeInput: false,
275278
maxTags: 1,
276279
trimValue: true,
280+
tagClass: function(item) {
281+
return 'label label-info speaker_' + item.speaker_id ;
282+
},
277283
typeaheadjs: [
278284
{
279285
hint: true,
@@ -565,5 +571,27 @@ $(document).ready(function(){
565571
}
566572
}
567573

574+
$('.speakers-container').on('click', '.tag', function(){
575+
var speaker_class = $.grep(this.className.split(" "), function(v, i){
576+
return v.indexOf('speaker_') === 0;
577+
}).join();
578+
var speaker_id = speaker_class.split('speaker_')[1];
579+
580+
var url = 'summit-admin/' + summit_id + '/speakers/' + speaker_id;
581+
console.log(url);
582+
window.open(url, '_blank');
583+
});
584+
585+
$('.moderator-container').on('click', '.tag', function(){
586+
var speaker_class = $.grep(this.className.split(" "), function(v, i){
587+
return v.indexOf('speaker_') === 0;
588+
}).join();
589+
var speaker_id = speaker_class.split('speaker_')[1];
590+
591+
var url = 'summit-admin/' + summit_id + '/speakers/' + speaker_id;
592+
console.log(url);
593+
window.open(url, '_blank');
594+
});
595+
568596
});
569597

summit/templates/Layout/SummitAppAdminController_editSpeaker.ss

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,29 @@
3333
</div>
3434
</div>
3535

36+
<div class="form-group">
37+
<div class="row">
38+
<div class="col-md-4">
39+
<div class="checkbox">
40+
<input id="registered" name="registered" type="checkbox" <% if $Speaker.getAssistanceFor($Top.Summit.ID).RegisteredForSummit %> checked <% end_if %>>
41+
<label for="registered">Registered</label>
42+
</div>
43+
</div>
44+
<div class="col-md-4">
45+
<div class="checkbox">
46+
<input id="checked_in" name="checked_in" type="checkbox" <% if $Speaker.getAssistanceFor($Top.Summit.ID).CheckedIn %> checked <% end_if %>>
47+
<label for="checked_in">Checked-In</label>
48+
</div>
49+
</div>
50+
<div class="col-md-4">
51+
<div class="checkbox">
52+
<input id="confirmed" name="confirmed" type="checkbox" <% if $Speaker.getAssistanceFor($Top.Summit.ID).IsConfirmed %> checked <% end_if %>>
53+
<label for="confirmed">Confirmed</label>
54+
</div>
55+
</div>
56+
</div>
57+
</div>
58+
3659
<div class="form-group">
3760
<div class="row">
3861
<div class="col-md-4">

0 commit comments

Comments
 (0)