Skip to content

Commit

Permalink
Talks: Add pre-recorded option
Browse files Browse the repository at this point in the history
  • Loading branch information
ryelle committed Mar 16, 2020
1 parent 40fb013 commit c8393f5
Show file tree
Hide file tree
Showing 10 changed files with 64 additions and 0 deletions.
32 changes: 32 additions & 0 deletions migrations/Version20200313000000.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

declare(strict_types=1);

namespace OpenCFP\Migrations;

use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
use phpDocumentor\Reflection\Type;

/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20200313000000 extends AbstractMigration
{
public function getDescription() : string
{
return 'Add "prerecorded" boolean to talks table.';
}

public function up(Schema $schema) : void
{
$table = $schema->getTable('talks');
$table->addColumn('prerecorded', 'boolean', ['notnull' => true, 'default' => false]);
}

public function down(Schema $schema) : void
{
$table = $schema->getTable('talks');
$table->removeColumn('prerecorded');
}
}
3 changes: 3 additions & 0 deletions resources/views/dashboard.twig
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,9 @@ function deleteTalk(tid) {
{% if talk.level == "advanced" %}
<span class="bg-brand text-white text-xs rounded-full py-2 px-3"><i class="fa fa-level-up" aria-hidden></i> {{ talkHelper.getLevelDisplayName(talk.level) }}</span>
{% endif %}
{% if talk.prerecorded %}
<span class="bg-brand text-white text-xs rounded-full py-2 px-3"><i class="fa fa-video-camera" aria-hidden></i> Can do remotely</span>
{% endif %}
</div>
</div>
<div>
Expand Down
5 changes: 5 additions & 0 deletions resources/views/forms/_talk.twig
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@
<label for="form-talk-level-advanced">This is this an advanced talk or requires prior knowledge for attendees.</label>
</p>

<p>
<input id="form-prerecorded" name="prerecorded" type="checkbox" value="1" {% if prerecorded == '1' %}checked{% endif %}>
<label for="form-prerecorded">This talk would be deliverable via video – either live or prerecorded.</label>
</p>

<p>
<input id="form-desired" name="desired" type="checkbox" value="1" {% if desired == '1' %}checked{% endif %}>
<label for="form-desired">Of your {{ site.max_entries }} maximum submissions, is this one your best?</label>
Expand Down
5 changes: 5 additions & 0 deletions src/Domain/Talk/TalkProfile.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,11 @@ public function getSlides()
return $this->talk->slides;
}

public function isPrerecorded(): bool
{
return $this->talk->prerecorded == 1;
}

public function isDesired(): bool
{
return $this->talk->desired == 1;
Expand Down
1 change: 1 addition & 0 deletions src/Http/Action/Talk/CreateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ public function __invoke(HttpFoundation\Request $request): HttpFoundation\Respon
'type' => $request->request->get('type'),
'level' => $request->request->get('level'),
'category' => $request->request->get('category'),
'prerecorded' => $request->request->get('prerecorded'),
'desired' => $request->request->get('desired'),
'slides' => $request->request->get('slides'),
'other' => $request->request->get('other'),
Expand Down
2 changes: 2 additions & 0 deletions src/Http/Action/Talk/CreateProcessAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ public function __invoke(HttpFoundation\Request $request): HttpFoundation\Respon
'type' => $request->request->get('type'),
'level' => $request->request->get('level'),
'category' => $request->request->get('category'),
'prerecorded' => $request->request->get('prerecorded'),
'desired' => $request->request->get('desired'),
'slides' => $request->request->get('slides'),
'other' => $request->request->get('other'),
Expand All @@ -150,6 +151,7 @@ public function __invoke(HttpFoundation\Request $request): HttpFoundation\Respon
'type' => $request->request->get('type'),
'level' => $request->request->get('level'),
'category' => $request->request->get('category'),
'prerecorded' => $request->request->get('prerecorded'),
'desired' => $request->request->get('desired'),
'slides' => $request->request->get('slides'),
'other' => $request->request->get('other'),
Expand Down
1 change: 1 addition & 0 deletions src/Http/Action/Talk/EditAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ public function __invoke(HttpFoundation\Request $request)
'type' => $talk['type'],
'level' => $talk['level'],
'category' => $talk['category'],
'prerecorded' => $talk['prerecorded'],
'desired' => $talk['desired'],
'slides' => $talk['slides'],
'other' => $talk['other'],
Expand Down
2 changes: 2 additions & 0 deletions src/Http/Action/Talk/UpdateAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ public function __invoke(HttpFoundation\Request $request): HttpFoundation\Respon
'type' => $request->request->get('type'),
'level' => $request->request->get('level'),
'category' => $request->request->get('category'),
'prerecorded' => $request->request->get('prerecorded'),
'desired' => $request->request->get('desired'),
'slides' => $request->request->get('slides'),
'other' => $request->request->get('other'),
Expand Down Expand Up @@ -180,6 +181,7 @@ public function __invoke(HttpFoundation\Request $request): HttpFoundation\Respon
'type' => $request->request->get('type'),
'level' => $request->request->get('level'),
'category' => $request->request->get('category'),
'prerecorded' => $request->request->get('prerecorded'),
'desired' => $request->request->get('desired'),
'slides' => $request->request->get('slides'),
'other' => $request->request->get('other'),
Expand Down
5 changes: 5 additions & 0 deletions src/Http/Form/TalkForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ class TalkForm extends Form
'type',
'level',
'category',
'prerecorded',
'desired',
'slides',
'other',
Expand All @@ -34,6 +35,10 @@ class TalkForm extends Form

public function __construct(array $data, \HTMLPurifier $purifier, array $options = [])
{
if (!\array_key_exists('prerecorded', $data) || $data['prerecorded'] === null) {
$data['prerecorded'] = 0;
}

if (!\array_key_exists('desired', $data) || $data['desired'] === null) {
$data['desired'] = 0;
}
Expand Down
8 changes: 8 additions & 0 deletions web/assets/css/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -1057,6 +1057,10 @@ table {
content: "\F017";
}

.fa-video-camera:before {
content: "\F03D";
}

.fa-plane:before {
content: "\F072";
}
Expand Down Expand Up @@ -1093,6 +1097,10 @@ table {
content: "\F108";
}

.fa-level-up:before {
content: "\F148";
}

.fa-check-square:before {
content: "\F14A";
}
Expand Down

0 comments on commit c8393f5

Please sign in to comment.