├── .htaccess ├── app ├── Listeners │ └── .gitkeep ├── Policies │ └── .gitkeep ├── Http │ ├── Controllers │ │ ├── Apiv2 │ │ │ ├── EventsController.php │ │ │ └── UsersController.php │ │ ├── Api │ │ │ ├── Health.php │ │ │ ├── Application.php │ │ │ ├── TokenController.php │ │ │ ├── Stats.php │ │ │ ├── Batches.php │ │ │ └── UserController.php │ │ └── Manage │ │ │ ├── Batch │ │ │ ├── StatusController.php │ │ │ ├── DirectoryController.php │ │ │ ├── FinancesController.php │ │ │ ├── ChangeController.php │ │ │ ├── CsvController.php │ │ │ ├── NewsController.php │ │ │ └── SendSmsController.php │ │ │ ├── Tools │ │ │ ├── TidbitsController.php │ │ │ └── PreviewController.php │ │ │ ├── DayOf │ │ │ ├── DeckController.php │ │ │ ├── CodeCupController.php │ │ │ └── SupportCallsController.php │ │ │ ├── Docs │ │ │ └── ModelController.php │ │ │ ├── Debug │ │ │ └── QueueController.php │ │ │ ├── Event │ │ │ ├── SubscriptionsController.php │ │ │ └── OverviewController.php │ │ │ └── Settings │ │ │ └── SmsController.php │ ├── events │ │ ├── announcement.php │ │ └── registration.php │ ├── Requests │ │ └── Request.php │ ├── routes │ │ ├── 910-docs.php │ │ ├── 000-auth.php │ │ ├── 903-debug.php │ │ ├── 906-phone.php │ │ ├── 850-apiv2.php │ │ ├── 100-email.php │ │ └── 999-dashboard.php │ ├── Middleware │ │ ├── ShareRaygunApiKey.php │ │ ├── ShareSessionErrors.php │ │ ├── EncryptCookies.php │ │ ├── ShareBatch.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── ApiResponse.php │ │ ├── Apiv2Response.php │ │ └── Authenticate.php │ └── Controller.php ├── Events │ └── Event.php ├── Models │ ├── Cronjob.php │ ├── EmailTemplate.php │ ├── SavedQuery.php │ ├── Unsubscribe.php │ ├── FailedJob.php │ ├── Batch │ │ ├── Event │ │ │ ├── Sponsor.php │ │ │ ├── SpecialLink.php │ │ │ ├── Registration │ │ │ │ ├── Device.php │ │ │ │ └── Equipment.php │ │ │ └── Activity.php │ │ └── Supply.php │ ├── TransactionalEmail.php │ ├── EvangelistSms.php │ ├── GiftCard.php │ ├── User │ │ └── Grant.php │ ├── EvangelistSms │ │ └── Sent.php │ ├── Notify.php │ ├── EmailSent.php │ └── Application.php ├── Exceptions │ └── Registration │ │ ├── Exception.php │ │ ├── InvalidValue.php │ │ ├── MissingRequiredField.php │ │ └── Banned.php ├── TwigFilters │ ├── VarDumpFilter.php │ ├── JsonDecodeFilter.php │ ├── LambdaFilter.php │ └── MarkdownFilter.php ├── Providers │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ └── EventServiceProvider.php ├── User.php ├── Console │ ├── Commands │ │ ├── Jobs │ │ │ └── UpdateUsersJob.php │ │ └── DispatchTransactionalEmailsCommand.php │ └── Kernel.php └── Jobs │ └── Job.php ├── database ├── seeds │ └── .gitkeep ├── .gitignore ├── migrations │ ├── 2014_12_31_153305_modify_ticket_id_to_string.php │ ├── 2015_01_27_115048_add_logged_in_at.php │ ├── 2015_08_14_172200_add_sponsor_rev_tracking.php │ ├── 2015_03_29_205719_add_public_notes_to_events.php │ ├── 2015_03_05_174448_add_s5_id_to_promotions.php │ ├── 2016_02_28_194006_add-news.php │ ├── 2015_05_11_134577_create_cronjob_tracking.php │ ├── 2014_12_31_155835_create_failed_jobs_table.php │ ├── 2015_03_05_154607_add_s5_invite_code_to_registrations.php │ ├── 2015_03_05_164935_remove_s5_invite_code_from_registrations.php │ ├── 2017_09_18_005421_add_timestamps_to_oauth_tokens.php │ ├── 2014_10_13_170736_add_notes.php │ ├── 2015_05_21_093940_add_sms_optout.php │ ├── 2015_02_13_180632_add_notice.php │ ├── 2017_03_27_112546_add_coach.php │ ├── 2014_10_30_200312_add_ship_for.php │ ├── 2017_05_19_175713_add-phone.php │ ├── 2014_09_30_174640_add_custom_css.php │ ├── 2017_07_19_193421_add_timestamps_to_devices.php │ ├── 2015_05_26_133115_add_survey_email.php │ ├── 2017_09_18_010800_add_primary_key_to_oauth_tokens.php │ ├── 2016_02_06_133155_add_hide_meals_to_events.php │ ├── 2017_05_18_071658_add-attendee-notes.php │ ├── 2018_02_28_134144_add_venue_agreement.php │ ├── 2014_09_26_171826_add_batch_published.php │ ├── 2014_10_02_170158_add_evangelist.php │ ├── 2015_01_09_150020_add_overflow_events.php │ ├── 2019_02_24_092110_add_tax_paid.php │ ├── 2016_02_12_083912_add_new_ticket_types.php │ ├── 2017_02_10_142245_add_coupon_ticket_types.php │ ├── 2017_05_19_174157_add-on-break.php │ ├── 2016_11_11_081916_add-profile-image.php │ ├── 2017_07_19_162539_recreate_service_column.php │ ├── 2015_04_30_145249_add_certified_evangelist.php │ ├── 2015_05_28_091149_add_support_destination.php │ ├── 2014_10_28_220152_add_checked_in_at.php │ ├── 2015_02_13_120407_add_sponsor_information.php │ ├── 2015_05_11_134581_add_parent_info_optout.php │ ├── 2016_02_29_175700_add_judges.php │ ├── 2017_07_19_165222_add_creator_to_announcements.php │ ├── 2017_07_19_171730_add_event_id_to_announcements.php │ ├── 2015_01_05_112104_add_hide_workshops_option.php │ ├── 2016_06_04_104702_add-region-images.php │ ├── 2016_08_21_151355_track-waiver-signing-link.php │ ├── 2014_09_28_034629_add_sub_accounts.php │ ├── 2015_03_30_160037_add_giftcards.php │ ├── 2015_04_30_164721_add_venue_emails.php │ ├── 2017_07_14_125759_remove-region-images.php │ ├── 2016_02_29_092817_create_transactional_emails.php │ ├── 2017_07_19_162457_drop_services_column_from_devices.php │ ├── 2017_07_19_164629_create_announcements.php │ ├── 2018_01_18_172608_add_equipment.php │ ├── 2015_08_24_222111_create_saved_queries.php │ ├── 2014_08_19_180948_create_batches.php │ ├── 2017_02_24_123409_add_firebase_support.php │ ├── 2015_05_21_135042_create_phonecalls.php │ ├── 2017_07_19_173707_fix_dumb_typo.php │ ├── 2017_07_19_190213_add_cta_and_link_to_announcements.php │ ├── 2017_09_17_232956_create_users_oauth_tokens.php │ ├── 2015_01_09_134440_add_event_overrides.php │ ├── 2017_11_15_090447_add-internal.php │ ├── 2017_11_03_184030_add_spotify_tokens_to_events_table.php │ ├── 2014_08_19_225927_create_users.php │ ├── 2014_08_19_181332_create_regions.php │ ├── 2015_05_15_160451_add_applications_webhooks.php │ ├── 2016_01_20_151713_add_special_links.php │ ├── 2018_09_14_145827_add-force-ticket-price.php │ ├── 2015_03_11_180030_add_parent_info_to_registrations.php │ ├── 2014_09_25_210325_create_email_templates.php │ ├── 2015_03_30_164716_add_ticket_type.php │ └── 2015_02_17_220817_add_applications.php └── factories │ └── ModelFactory.php ├── public ├── faviconold.ico ├── health ├── robots.txt ├── assets │ ├── mp3 │ │ ├── vip.mp3 │ │ ├── staff.mp3 │ │ ├── checkout.mp3 │ │ ├── failure.mp3 │ │ ├── success.mp3 │ │ ├── phone │ │ │ ├── invalid.mp3 │ │ │ ├── press_1.mp3 │ │ │ ├── press_2.mp3 │ │ │ ├── press_3.mp3 │ │ │ ├── press_4.mp3 │ │ │ ├── press_5.mp3 │ │ │ ├── press_6.mp3 │ │ │ ├── press_7.mp3 │ │ │ ├── press_8.mp3 │ │ │ ├── press_9.mp3 │ │ │ ├── timezones.mp3 │ │ │ ├── codeday_pre.mp3 │ │ │ ├── connecting.mp3 │ │ │ ├── support_open.mp3 │ │ │ └── support_closed.mp3 │ │ └── registration.mp3 │ ├── img │ │ ├── favicon.png │ │ ├── markdown.png │ │ ├── devices │ │ │ ├── sms.png │ │ │ └── messenger.svg │ │ ├── kickoff │ │ │ ├── build.jpg │ │ │ ├── busy.jpg │ │ │ ├── fun.jpg │ │ │ ├── ideas.jpg │ │ │ ├── intro.jpg │ │ │ ├── learn.jpg │ │ │ ├── pitch.jpg │ │ │ ├── teams.jpg │ │ │ ├── time.jpg │ │ │ ├── awards.jpg │ │ │ ├── present.jpg │ │ │ ├── nottoday.jpg │ │ │ ├── workshops.jpg │ │ │ └── technologists.jpg │ │ ├── logo-square.png │ │ ├── sponsors │ │ │ ├── lob.png │ │ │ ├── splunk.png │ │ │ ├── kettering.png │ │ │ ├── fancyhands.png │ │ │ ├── lexisnexis.jpg │ │ │ └── intellectualventures.png │ │ ├── ticket-apple.png │ │ ├── ticket-print.png │ │ ├── default_region.png │ │ ├── logo-square-white.png │ │ ├── now_playing_card.png │ │ ├── email_confirm_header_01.jpg │ │ └── email_preevent_header_01.jpg │ ├── fonts │ │ ├── hinted-AvenirNext-Bold.eot │ │ ├── hinted-AvenirNext-Bold.ttf │ │ ├── hinted-AvenirNext-Bold.woff │ │ ├── hinted-AvenirNext-Heavy.eot │ │ ├── hinted-AvenirNext-Heavy.ttf │ │ ├── hinted-AvenirNext-DemiBold.eot │ │ ├── hinted-AvenirNext-DemiBold.ttf │ │ ├── hinted-AvenirNext-Heavy.woff │ │ ├── hinted-AvenirNext-Italic.eot │ │ ├── hinted-AvenirNext-Italic.ttf │ │ ├── hinted-AvenirNext-Italic.woff │ │ ├── hinted-AvenirNext-Medium.eot │ │ ├── hinted-AvenirNext-Medium.ttf │ │ ├── hinted-AvenirNext-Medium.woff │ │ ├── hinted-AvenirNext-Regular.eot │ │ ├── hinted-AvenirNext-Regular.ttf │ │ ├── hinted-AvenirNext-Regular.woff │ │ ├── hinted-AvenirNext-BoldItalic.eot │ │ ├── hinted-AvenirNext-BoldItalic.ttf │ │ ├── hinted-AvenirNext-DemiBold.woff │ │ ├── hinted-AvenirNext-UltraLight.eot │ │ ├── hinted-AvenirNext-UltraLight.ttf │ │ ├── hinted-AvenirNext-BoldItalic.woff │ │ ├── hinted-AvenirNext-HeavyItalic.eot │ │ ├── hinted-AvenirNext-HeavyItalic.ttf │ │ ├── hinted-AvenirNext-HeavyItalic.woff │ │ ├── hinted-AvenirNext-MediumItalic.eot │ │ ├── hinted-AvenirNext-MediumItalic.ttf │ │ ├── hinted-AvenirNext-MediumItalic.woff │ │ ├── hinted-AvenirNext-UltraLight.woff │ │ ├── transfonter.org-20160412-024328.zip │ │ ├── hinted-AvenirNext-DemiBoldItalic.eot │ │ ├── hinted-AvenirNext-DemiBoldItalic.ttf │ │ ├── hinted-AvenirNext-DemiBoldItalic.woff │ │ ├── hinted-AvenirNext-UltraLightItalic.eot │ │ ├── hinted-AvenirNext-UltraLightItalic.ttf │ │ └── hinted-AvenirNext-UltraLightItalic.woff │ ├── js │ │ ├── deck │ │ │ ├── extensions │ │ │ │ ├── status │ │ │ │ │ ├── deck.status.html │ │ │ │ │ ├── deck.status.scss │ │ │ │ │ └── deck.status.css │ │ │ │ ├── navigation │ │ │ │ │ ├── deck.navigation.html │ │ │ │ │ └── deck.navigation.scss │ │ │ │ ├── goto │ │ │ │ │ ├── deck.goto.html │ │ │ │ │ ├── deck.goto.scss │ │ │ │ │ └── deck.goto.css │ │ │ │ └── scale │ │ │ │ │ ├── deck.scale.scss │ │ │ │ │ └── deck.scale.css │ │ │ └── core │ │ │ │ ├── print.scss │ │ │ │ └── print.css │ │ └── announcement-preview.js │ └── test │ │ └── badroster.csv ├── .htaccess └── web.config ├── config ├── .gitignore ├── compile.php ├── postmark.php ├── raygun.php ├── firebase.php ├── cognitoforms.php ├── s5.php ├── stripe.php ├── taxjar.php ├── messenger.php ├── twilio.php ├── view.php ├── apple.php ├── cache.php ├── auth0.php ├── shipstation.php ├── mattermost.php ├── mail.php ├── aws.php ├── sendgrid.php ├── session.php ├── queue.php ├── database.php └── workbench.php ├── test.sh ├── bootstrap └── cache │ └── .gitignore ├── resources ├── signing │ └── .gitignore ├── views │ ├── signing │ │ └── .gitignore │ ├── emails │ │ ├── registration │ │ │ ├── parts │ │ │ │ ├── vip.twig │ │ │ │ ├── student.twig │ │ │ │ ├── judge.twig │ │ │ │ ├── sponsor.twig │ │ │ │ ├── volunteer.twig │ │ │ │ └── mentor.twig │ │ │ ├── transfer.twig │ │ │ ├── cancel.twig │ │ │ └── refund.twig │ │ ├── actions │ │ │ ├── shownotes.twig │ │ │ └── subuser.twig │ │ ├── event_communication_html.twig │ │ └── postevent │ │ │ ├── rm.twig │ │ │ └── venue_html.twig │ ├── front │ │ ├── no-attendee.twig │ │ ├── template.twig │ │ └── plugin.twig │ ├── debug │ │ ├── subnav.twig │ │ ├── log.twig │ │ ├── decrypt.twig │ │ └── queue-failed.twig │ ├── widgets │ │ └── regions.twig │ ├── settings │ │ ├── subnav.twig │ │ ├── agreements │ │ │ └── index.twig │ │ ├── batches │ │ │ ├── delete.twig │ │ │ ├── create.twig │ │ │ └── load.twig │ │ └── regions │ │ │ └── index.twig │ ├── batch │ │ ├── status.twig │ │ ├── shipments │ │ │ └── push.twig │ │ └── news.twig │ ├── search.twig │ ├── dayof │ │ ├── deck │ │ │ └── index.twig │ │ ├── emergency │ │ │ └── call.twig │ │ └── codecup.twig │ ├── email-pages │ │ └── sms_unsubscribe.twig │ ├── tools │ │ ├── subnav.twig │ │ ├── tidbits │ │ │ └── index.twig │ │ ├── preview.twig │ │ └── giftcards.twig │ ├── help.twig │ ├── event │ │ ├── registrations │ │ │ └── bulk │ │ │ │ └── index.twig │ │ ├── overview.twig │ │ └── agreement.twig │ ├── docs │ │ └── subnav.twig │ └── csv-landing.twig ├── assets │ ├── sass │ │ ├── pages │ │ │ ├── settings.sass │ │ │ ├── front.sass │ │ │ ├── debug.sass │ │ │ └── csv-landing.sass │ │ ├── parts │ │ │ ├── shepherd.sass │ │ │ ├── footer.sass │ │ │ ├── region-picker.sass │ │ │ └── info.sass │ │ ├── app.sass │ │ └── widgets │ │ │ └── region.sass │ └── img │ │ └── flyers │ │ └── diverse.jpg ├── img │ ├── jump.png │ ├── logo.png │ └── pass.png ├── pdf │ ├── handout.pdf │ └── poster.pdf ├── fonts │ ├── ProximaNova-Bold.z │ ├── ProximaNova-Regular.z │ └── ProximaNova-Regular.ttf └── lang │ └── en │ ├── pagination.php │ ├── auth.php │ └── passwords.php ├── .gitattributes ├── .gitignore ├── docker ├── crontab └── docker-entrypoint.sh ├── .dockerignore ├── package.json ├── gulpfile.js ├── server.php ├── tests └── TestCase.php ├── update_curl.sh └── Dockerfile /.htaccess: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/Listeners/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/Policies/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /database/seeds/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/faviconold.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/health: -------------------------------------------------------------------------------- 1 | ok 2 | -------------------------------------------------------------------------------- /config/.gitignore: -------------------------------------------------------------------------------- 1 | local.json 2 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- 1 | vendor/phpunit/phpunit/phpunit 2 | -------------------------------------------------------------------------------- /app/Http/Controllers/Apiv2/EventsController.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /config/compile.php: -------------------------------------------------------------------------------- 1 | env("POSTMARK_API_KEY"), 5 | ]; 6 | -------------------------------------------------------------------------------- /config/raygun.php: -------------------------------------------------------------------------------- 1 | env("RAYGUN_API_KEY"), 5 | ]; 6 | -------------------------------------------------------------------------------- /resources/img/jump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/resources/img/jump.png -------------------------------------------------------------------------------- /resources/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/resources/img/logo.png -------------------------------------------------------------------------------- /resources/img/pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/resources/img/pass.png -------------------------------------------------------------------------------- /config/firebase.php: -------------------------------------------------------------------------------- 1 | env('FIREBASE_API_KEY'), 5 | ]; 6 | -------------------------------------------------------------------------------- /public/assets/mp3/vip.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/vip.mp3 -------------------------------------------------------------------------------- /resources/pdf/handout.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/resources/pdf/handout.pdf -------------------------------------------------------------------------------- /resources/pdf/poster.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/resources/pdf/poster.pdf -------------------------------------------------------------------------------- /config/cognitoforms.php: -------------------------------------------------------------------------------- 1 | env('COGNITOFORMS_SECRET'), 5 | ]; 6 | -------------------------------------------------------------------------------- /public/assets/mp3/staff.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/staff.mp3 -------------------------------------------------------------------------------- /docker/crontab: -------------------------------------------------------------------------------- 1 | * * * * * cd /app && sudo -u www-data php artisan schedule:run > /proc/1/fd/1 2>/proc/1/fd/2 2 | -------------------------------------------------------------------------------- /public/assets/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/favicon.png -------------------------------------------------------------------------------- /public/assets/img/markdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/markdown.png -------------------------------------------------------------------------------- /public/assets/mp3/checkout.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/checkout.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/failure.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/failure.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/success.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/success.mp3 -------------------------------------------------------------------------------- /config/s5.php: -------------------------------------------------------------------------------- 1 | env('S5_TOKEN'), 5 | 'secret' => env('S5_SECRET'), 6 | ]; 7 | -------------------------------------------------------------------------------- /public/assets/img/devices/sms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/devices/sms.png -------------------------------------------------------------------------------- /public/assets/img/kickoff/build.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/build.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/busy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/busy.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/fun.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/fun.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/ideas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/ideas.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/intro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/intro.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/learn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/learn.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/pitch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/pitch.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/teams.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/teams.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/time.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/time.jpg -------------------------------------------------------------------------------- /public/assets/img/logo-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/logo-square.png -------------------------------------------------------------------------------- /public/assets/img/sponsors/lob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/sponsors/lob.png -------------------------------------------------------------------------------- /public/assets/img/ticket-apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/ticket-apple.png -------------------------------------------------------------------------------- /public/assets/img/ticket-print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/ticket-print.png -------------------------------------------------------------------------------- /public/assets/mp3/phone/invalid.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/invalid.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_1.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_2.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_3.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_4.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_5.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_5.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_6.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_6.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_7.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_7.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_8.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_8.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/press_9.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/press_9.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/registration.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/registration.mp3 -------------------------------------------------------------------------------- /resources/fonts/ProximaNova-Bold.z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/resources/fonts/ProximaNova-Bold.z -------------------------------------------------------------------------------- /app/Events/Event.php: -------------------------------------------------------------------------------- 1 | env('STRIPE_SECRET'), 5 | 'public' => env('STRIPE_PUBLIC'), 6 | ]; 7 | -------------------------------------------------------------------------------- /public/assets/img/kickoff/nottoday.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/nottoday.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/workshops.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/workshops.jpg -------------------------------------------------------------------------------- /public/assets/img/logo-square-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/logo-square-white.png -------------------------------------------------------------------------------- /public/assets/img/now_playing_card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/now_playing_card.png -------------------------------------------------------------------------------- /public/assets/img/sponsors/kettering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/sponsors/kettering.png -------------------------------------------------------------------------------- /public/assets/mp3/phone/codeday_pre.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/codeday_pre.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/connecting.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/connecting.mp3 -------------------------------------------------------------------------------- /public/assets/mp3/phone/support_open.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/support_open.mp3 -------------------------------------------------------------------------------- /resources/assets/img/flyers/diverse.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/resources/assets/img/flyers/diverse.jpg -------------------------------------------------------------------------------- /resources/fonts/ProximaNova-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/resources/fonts/ProximaNova-Regular.ttf -------------------------------------------------------------------------------- /config/taxjar.php: -------------------------------------------------------------------------------- 1 | env('TAXJAR_TOKEN'), 5 | 'category' => env('TAXJAR_CATEGORY'), 6 | ]; 7 | -------------------------------------------------------------------------------- /public/assets/img/sponsors/fancyhands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/sponsors/fancyhands.png -------------------------------------------------------------------------------- /public/assets/img/sponsors/lexisnexis.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/sponsors/lexisnexis.jpg -------------------------------------------------------------------------------- /public/assets/mp3/phone/support_closed.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/mp3/phone/support_closed.mp3 -------------------------------------------------------------------------------- /public/assets/img/email_confirm_header_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/email_confirm_header_01.jpg -------------------------------------------------------------------------------- /public/assets/img/kickoff/technologists.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/img/kickoff/technologists.jpg -------------------------------------------------------------------------------- /app/Models/Cronjob.php: -------------------------------------------------------------------------------- 1 | env("MESSENGER_ACCESS_TOKEN"), 5 | "app_secret" => env("MESSENGER_APP_SECRET"), 6 | ]; 7 | -------------------------------------------------------------------------------- /config/twilio.php: -------------------------------------------------------------------------------- 1 | env('TWILIO_SID'), 5 | 'token' => env('TWILIO_TOKEN'), 6 | 'from' => env('TWILIO_FROM'), 7 | ]; 8 | -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-BoldItalic.woff -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-HeavyItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-HeavyItalic.eot -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-HeavyItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-HeavyItalic.ttf -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-HeavyItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-HeavyItalic.woff -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-MediumItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-MediumItalic.eot -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-MediumItalic.ttf -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-MediumItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-MediumItalic.woff -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-UltraLight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-UltraLight.woff -------------------------------------------------------------------------------- /public/assets/fonts/transfonter.org-20160412-024328.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/transfonter.org-20160412-024328.zip -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /node_modules 3 | /.sass-cache 4 | /storage 5 | /.git 6 | /.vs 7 | /.sass-cache 8 | .env 9 | README.markdown 10 | LICENSE.txt 11 | -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-DemiBoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-DemiBoldItalic.eot -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-DemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-DemiBoldItalic.ttf -------------------------------------------------------------------------------- /public/assets/fonts/hinted-AvenirNext-DemiBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeday/clear-php/HEAD/public/assets/fonts/hinted-AvenirNext-DemiBoldItalic.woff -------------------------------------------------------------------------------- /app/Models/EmailTemplate.php: -------------------------------------------------------------------------------- 1 | {{ registration.first_name }},

2 | 3 |

We're very excited to have you join us at CodeDay. This email confirms your registration.

4 | -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 5 | realpath(base_path('resources/views')), 6 | ], 7 | 'compiled' => realpath(storage_path('framework/views')), 8 | ]; 9 | -------------------------------------------------------------------------------- /resources/views/front/no-attendee.twig: -------------------------------------------------------------------------------- 1 | {% extends "front/template.twig" %} 2 | {% import "widgets/attendees.twig" as a %} 3 | {% block content %} 4 |

No attendee found.

5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /app/Models/SavedQuery.php: -------------------------------------------------------------------------------- 1 | env('APPLE_PASS_ID'), 5 | "teamid" => env('APPLE_TEAM_ID'), 6 | "team" => env('APPLE_TEAM'), 7 | "passp12password" => env('APPLE_P12_PASSWORD'), 8 | ]; 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "devDependencies": { 4 | "gulp": "^3.8.8" 5 | }, 6 | "dependencies": { 7 | "laravel-elixir": "^4.0.0", 8 | "bootstrap-sass": "^3.0.0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /app/Http/Requests/Request.php: -------------------------------------------------------------------------------- 1 | 2 |
  • Decrypt Web Errors
  • 3 |
  • Log
  • 4 |
  • Failed Queue Jobs
  • 5 | -------------------------------------------------------------------------------- /config/cache.php: -------------------------------------------------------------------------------- 1 | 'redis', 5 | 'stores' => [ 6 | 'redis' => [ 7 | 'driver' => 'redis', 8 | 'connection' => 'default', 9 | ] 10 | ] 11 | ]; 12 | -------------------------------------------------------------------------------- /resources/views/widgets/regions.twig: -------------------------------------------------------------------------------- 1 | {% macro region(region) %} 2 |
    3 |
    4 | {{ region.name }} 5 |
    6 |
    7 | {% endmacro %} 8 | -------------------------------------------------------------------------------- /app/Http/routes/910-docs.php: -------------------------------------------------------------------------------- 1 | 'Manage\Docs', 'prefix' => 'docs', 'before' => 's5_manage_events', 'middleware' => ['web']], function() { 4 | \Route::get('/model/{model}', 'ModelController@getIndex'); 5 | }); -------------------------------------------------------------------------------- /resources/views/emails/registration/transfer.twig: -------------------------------------------------------------------------------- 1 | Hey {{ registration.first_name }}! 2 | 3 | We've transferred your CodeDay registration from {{ from_event.name }} to {{ to_event.name }}. 4 | 5 | If you have any questions, please reply to this email. 6 | -------------------------------------------------------------------------------- /resources/assets/sass/pages/front.sass: -------------------------------------------------------------------------------- 1 | body.front 2 | padding: 1rem 3 | h1, p 4 | text-align: center 5 | .registration.activities 6 | text-align: center 7 | button, form 8 | float: none 9 | display: inline-block 10 | -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/status/deck.status.html: -------------------------------------------------------------------------------- 1 | 2 |

    3 | 4 | / 5 | 6 |

    7 | -------------------------------------------------------------------------------- /config/auth0.php: -------------------------------------------------------------------------------- 1 | env('AUTH0_DOMAIN'), 5 | 'client_id' => env('AUTH0_CLIENT_ID'), 6 | 'secret' => env('AUTH0_SECRET'), 7 | 'management_id' => env('AUTH0_MANAGEMENT_ID'), 8 | 'management_secret' => env('AUTH0_MANAGEMENT_SECRET'), 9 | ]; 10 | -------------------------------------------------------------------------------- /resources/assets/sass/parts/footer.sass: -------------------------------------------------------------------------------- 1 | body > footer 2 | width: 100% 3 | margin: 0 auto 4 | max-width: $max-width 5 | font-weight: 400 6 | font-size: 0.75rem 7 | 8 | clear: both 9 | 10 | padding: 1rem 0 11 | border-top: 1px solid $foreground-color-lighter -------------------------------------------------------------------------------- /config/shipstation.php: -------------------------------------------------------------------------------- 1 | env('SHIPSTATION_KEY'), 5 | 'secret' => env('SHIPSTATION_SECRET'), 6 | 'tags' => [ 7 | 'event_supplies' => env('SHIPSTATION_TAG_EVENT'), 8 | 'general_supplies' => env('SHIPSTATION_TAG_GENERAL'), 9 | ], 10 | ]; 11 | -------------------------------------------------------------------------------- /app/Http/Controllers/Api/Health.php: -------------------------------------------------------------------------------- 1 | {{registration.first_name }}! Can it be true? We just heard you're going to CodeDay {{ registration.event.name }}!

    2 |

    There's just one last step: please sign your waiver.

    3 | -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/navigation/deck.navigation.html: -------------------------------------------------------------------------------- 1 | 2 |
    3 | 4 | 5 |
    6 | -------------------------------------------------------------------------------- /config/mattermost.php: -------------------------------------------------------------------------------- 1 | [ 5 | "username" => env("MM_COMMUNITY_USERNAME"), 6 | "webhook" => env("MM_COMMUNITY_WEBHOOK"), 7 | ], 8 | "staff" => [ 9 | "username" => env("MM_STAFF_USERNAME"), 10 | "webhook" => env("MM_STAFF_WEBHOOK"), 11 | ] 12 | ]; 13 | -------------------------------------------------------------------------------- /config/mail.php: -------------------------------------------------------------------------------- 1 | 'smtp', 5 | 'host' => 'smtp,sendgrid.net', 6 | 'port' => 587, 7 | 'from' => ['name' => null, 'address' => null], 8 | 'username' => env('SENDGRID_USERNAME'), 9 | 'password' => env('SENDGRID_PASSWORD'), 10 | 'pretend' => false 11 | ]; 12 | -------------------------------------------------------------------------------- /resources/views/debug/log.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Log{% endblock %} 3 | {% block section %}debug{% endblock %} 4 | {% block subnav %}{% include "debug/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 | {{ log|nl2br }} 8 |
    9 | {% endblock %} -------------------------------------------------------------------------------- /app/Http/routes/000-auth.php: -------------------------------------------------------------------------------- 1 | .slide { 13 | page-break-after: always; 14 | } 15 | -------------------------------------------------------------------------------- /config/aws.php: -------------------------------------------------------------------------------- 1 | env("AWS_KEY"), 5 | "secret" => env("AWS_SECRET"), 6 | "region" => env("AWS_REGION"), 7 | "s3" => [ 8 | "waiverBucket" => env("AWS_WAIVER_BUCKET"), 9 | "assetsBucket" => env("AWS_ASSETS_BUCKET"), 10 | "assetsUrl" => env("AWS_ASSETS_URL"), 11 | ] 12 | ]; 13 | -------------------------------------------------------------------------------- /config/sendgrid.php: -------------------------------------------------------------------------------- 1 | env('SENDGRID_USERNAME'), 5 | "password" => env('SENDGRID_PASSWORD'), 6 | "api_key" => env('SENDGRID_API_KEY'), 7 | "asm" => [ 8 | "marketing" => env('SENDGRID_ASM_MARKETING'), 9 | "transactional" => env('SENDGRID_ASM_TRANSACTIONAL'), 10 | ] 11 | ]; 12 | -------------------------------------------------------------------------------- /app/Http/Middleware/ShareRaygunApiKey.php: -------------------------------------------------------------------------------- 1 | 'redis', 5 | 'connection' => 'default', 6 | 'lifetime' => 43200, 7 | 'expire_on_close' => false, 8 | 'cookie' => env('SESSION_COOKIE', 'clear'), 9 | 'domain' => null, 10 | 'path' => '/', 11 | 'secure' => false, 12 | 'lottery' => [2, 100] 13 | ]; 14 | -------------------------------------------------------------------------------- /resources/views/settings/subnav.twig: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Batch/DirectoryController.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event', 'batches_event_id', 'id'); 10 | } 11 | } -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/status/deck.status.scss: -------------------------------------------------------------------------------- 1 | .deck-status { 2 | position:absolute; 3 | bottom:10px; 4 | right:5px; 5 | color:#888; 6 | z-index:3; 7 | margin:0; 8 | } 9 | 10 | body > .deck-container .deck-status { 11 | position:fixed; 12 | } 13 | 14 | @media print { 15 | .deck-status { 16 | display:none; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/Http/routes/903-debug.php: -------------------------------------------------------------------------------- 1 | 'Manage\Debug', 'prefix' => 'debug', 'before' => 's5_admin', 'middleware' => ['web']], function() { 4 | \Route::get('', function(){ return \Redirect::to('/debug/log'); }); 5 | \Route::controller('/log', 'LogController'); 6 | \Route::controller('/queue', 'QueueController'); 7 | }); 8 | -------------------------------------------------------------------------------- /app/Models/Batch/Event/SpecialLink.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event', 'batches_event_id', 'id'); 11 | } 12 | } -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/status/deck.status.css: -------------------------------------------------------------------------------- 1 | .deck-status { 2 | position: absolute; 3 | bottom: 10px; 4 | right: 5px; 5 | color: #888; 6 | z-index: 3; 7 | margin: 0; 8 | } 9 | 10 | body > .deck-container .deck-status { 11 | position: fixed; 12 | } 13 | 14 | @media print { 15 | .deck-status { 16 | display: none; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /public/assets/img/devices/messenger.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/assets/sass/parts/region-picker.sass: -------------------------------------------------------------------------------- 1 | div.region-picker 2 | width: 100% 3 | height: 400px 4 | margin-bottom: 0 5 | 6 | input.region-picker 7 | width: 100% 8 | font-size: 1.2rem 9 | outline: 0 10 | margin-top: 0 11 | border: 1px solid $foreground-color-lighter 12 | border-top: none 13 | text-align: center 14 | padding: 0.25rem -------------------------------------------------------------------------------- /resources/views/batch/status.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Status{% endblock %} 3 | {% block section %}batch{% endblock %} 4 | {% block subnav %}{% include "batch/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    Status

    8 |

    HUD for what's done in the batch.

    9 |
    10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /docker/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Migrate database 4 | php artisan route:cache 5 | php artisan config:cache 6 | php artisan queue:restart 7 | php artisan migrate --force 8 | 9 | # Start queue listeners 10 | php artisan queue:listen --tries=3 --timeout=300 > /dev/null & 11 | 12 | # Start nginx (daemonized) 13 | nginx 14 | 15 | # Keep php fpm running 16 | php-fpm 17 | -------------------------------------------------------------------------------- /public/assets/js/deck/core/print.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 18pt; 3 | } 4 | 5 | h1 { 6 | font-size: 48pt; 7 | } 8 | 9 | h2 { 10 | font-size: 36pt; 11 | } 12 | 13 | h3 { 14 | font-size: 28pt; 15 | } 16 | 17 | pre { 18 | border: 1px solid #000; 19 | padding: 10px; 20 | white-space: pre-wrap; 21 | } 22 | 23 | .deck-container > .slide { 24 | page-break-after: always; 25 | } 26 | -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/goto/deck.goto.html: -------------------------------------------------------------------------------- 1 | 2 |
    3 | 4 | 5 | 6 | 7 |
    -------------------------------------------------------------------------------- /app/Http/Controllers/Api/Application.php: -------------------------------------------------------------------------------- 1 | application, $this->permissions)); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /resources/views/emails/registration/cancel.twig: -------------------------------------------------------------------------------- 1 | Hey {{ registration.first_name }}! 2 | 3 | We've cancelled your CodeDay registration for {{ registration.event.name }}. 4 | {% if refund %} 5 | 6 | Your card was refunded in full. You should expect to see this amount credited back to your card in the next few days. 7 | {% endif %} 8 | 9 | If you have any questions, please reply to this email. 10 | -------------------------------------------------------------------------------- /app/Http/routes/906-phone.php: -------------------------------------------------------------------------------- 1 | 'Phone', 'prefix' => 'phone', 'before' => 'twilio_valid'], function() { 10 | \Route::controller('/support', 'IncomingSupportController'); 11 | }); 12 | -------------------------------------------------------------------------------- /app/Http/Middleware/ShareSessionErrors.php: -------------------------------------------------------------------------------- 1 | 'Apiv2', 'prefix' => 'api/v2', 'middleware' => ['api']], function() { 4 | \Route::controller("oauth", "OAuthController"); 5 | \Route::controller("users", "UsersController"); 6 | }); 7 | 8 | \Route::group(['before' => 's5_manage_events', 'middleware' => ['web']], function() { 9 | \Route::controller("oauth", "OAuthController"); 10 | }); -------------------------------------------------------------------------------- /app/Http/Middleware/EncryptCookies.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event\Registration', 'batches_event_registration_id', 'id'); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/Http/Controller.php: -------------------------------------------------------------------------------- 1 | setUserOrFail(); 11 | return $this->apiSuccess(ModelContracts\User::Model($this->user, $this->permissions)); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/Http/routes/100-email.php: -------------------------------------------------------------------------------- 1 | 'Email', 'prefix' => 'e', 'middleware' => ['web']], function() { 4 | \Route::controller('/incoming', 'IncomingController'); 5 | \Route::controller('/flyer/{event}', 'FlyerController'); 6 | \Route::controller('/flyer', 'FlyerController'); 7 | \Route::controller('/ticket', 'TicketController'); 8 | \Route::controller('', 'IndexController'); 9 | }); 10 | -------------------------------------------------------------------------------- /config/queue.php: -------------------------------------------------------------------------------- 1 | 'redis', 5 | 'connections' => [ 6 | 'redis' => [ 7 | 'driver' => 'redis', 8 | 'connection' => 'default', 9 | 'queue' => env('REDIS_PREFIX', 'clear_'), 10 | 'retry_after' => 30 11 | ] 12 | ], 13 | 'failed' => [ 14 | 'database' => 'mysql', 15 | 'table' => 'failed_jobs' 16 | ] 17 | ]; 18 | -------------------------------------------------------------------------------- /resources/views/emails/actions/shownotes.twig: -------------------------------------------------------------------------------- 1 | {% extends "emails/template_transactional.twig" %} 2 | {% block unsubscribe %}You cannot unsubscribe from this sort of email.{% endblock %} 3 | {% block preview %}{{ who.name }} just updated the show-notes for {{ event.full_name }}.{% endblock %} 4 | {% block title %}{{ who.name }} just updated the show-notes to read:{% endblock %} 5 | {% block body %} 6 | {{ notes|markdown|raw }} 7 | {% endblock %} 8 | -------------------------------------------------------------------------------- /resources/views/emails/registration/refund.twig: -------------------------------------------------------------------------------- 1 | Hey {{ registration.first_name }}! 2 | 3 | We wanted to let you know that we've refunded you {{ amount|number_format(2) }} for your CodeDay ticket. You should expect to see this amount credited back to your card in the next few days. 4 | 5 | Please note that you still have a CodeDay ticket! This is a partial refund, not a cancellation! 6 | 7 | If you have any questions, please reply to this email. 8 | -------------------------------------------------------------------------------- /app/Models/EvangelistSms.php: -------------------------------------------------------------------------------- 1 | id) 12 | ->where('batches_event_id', '=', $event->id) 13 | ->exists(); 14 | } 15 | } -------------------------------------------------------------------------------- /app/Models/GiftCard.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event\Registration', 'batches_events_registration_id', 'id'); 10 | } 11 | 12 | public function getIsUsedAttribute() 13 | { 14 | return $this->registration !== null; 15 | } 16 | } -------------------------------------------------------------------------------- /app/TwigFilters/VarDumpFilter.php: -------------------------------------------------------------------------------- 1 | Search: {{ search }} Confidential 7 | {% for batch in batches %} 8 |

    {{ batch.batch.name }}

    9 | {{ a.attendees(batch.results) }} 10 | {% endfor %} 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /public/assets/test/badroster.csv: -------------------------------------------------------------------------------- 1 | First Name,Last Name,Student Email,Parent Full Name,Parent Email,Parent Phone,Parent Alt. Phone,"Ticket Type (""student"" or ""teacher"")",Student Phone,Request Loaner,Waiver 2 | BAD ,SPACING AND CAPITALIZATION, FOO@BAR.COM , PARENT MCNAME , FOO@BAR.COM , 555-111-1122 , +1 (888) 888-8888 , STUDENT , +1 (888) 888-8888 , NO," NO " 3 | yes loaner,no VON parent,foo@bar.com,,,,,teacher,,yes,1 4 | no,email,,,,,,student,,y,true 5 | ,,,,,,,,,, 6 | ,Foo,,,,,,,,, 7 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Redirect Trailing Slashes If Not A Folder... 9 | RewriteCond %{REQUEST_FILENAME} !-d 10 | RewriteRule ^(.*)/$ /$1 [L,R=301] 11 | 12 | # Handle Front Controller... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_FILENAME} !-f 15 | RewriteRule ^ index.php [L] 16 | 17 | -------------------------------------------------------------------------------- /app/TwigFilters/JsonDecodeFilter.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event', 'batches_event_id', 'id'); 12 | } 13 | 14 | public function user() 15 | { 16 | return $this->belongsTo('\CodeDay\Clear\Models\User', 'username', 'username'); 17 | } 18 | } -------------------------------------------------------------------------------- /app/Models/Batch/Supply.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch', 'batch_id', 'id'); 13 | } 14 | 15 | public function event() 16 | { 17 | return $this->belongsTo('\CodeDay\Clear\Models\Batch\Event', 'batches_event_id', 'id'); 18 | } 19 | } -------------------------------------------------------------------------------- /app/Models/EvangelistSms/Sent.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event', 'batches_event_id', 'id'); 12 | } 13 | 14 | public function evangelistSms() 15 | { 16 | return $this->belongsTo('\CodeDay\Clear\Models\EvangelistSms', 'evangelist_sms_id', 'id'); 17 | } 18 | } -------------------------------------------------------------------------------- /app/Http/Controllers/Api/TokenController.php: -------------------------------------------------------------------------------- 1 | 7 |

    Deck

    8 |

    The opening presentation! Automatically generates a slide deck and notes including local sponsors, workshops, etc.

    9 | 10 | 11 |

    12 | Slides 13 |

    14 | 15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Tools/TidbitsController.php: -------------------------------------------------------------------------------- 1 | \Route::input('region')]); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event\Registration', 'batches_events_registration_id', 'id'); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var elixir = require('laravel-elixir'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Elixir Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Elixir provides a clean, fluent API for defining some basic Gulp tasks 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for our application, as well as publishing vendor resources. 11 | | 12 | */ 13 | 14 | elixir(function(mix) { 15 | mix.sass('app.scss'); 16 | }); 17 | -------------------------------------------------------------------------------- /resources/views/emails/event_communication_html.twig: -------------------------------------------------------------------------------- 1 | {% extends "emails/template_transactional.twig" %} 2 | {% block img %}https://srnd-cdn.net/emails/header-team.jpg{% endblock %} 3 | {% block title %}{{ subject }}{% endblock %} 4 | {% block body %} 5 | {{ include(template_from_string(content))|markdown|raw }} 6 | {% endblock %} 7 | {% block unsubscribe %} 8 | You got this email because you registered for CodeDay. 9 | {% if is_marketing %} 10 | You can unsubscribe from emails like this. 11 | {% endif %} 12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /app/Models/Batch/Event/Registration/Equipment.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event\Registration', 'batches_events_registration_id', 'id'); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/User.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Region', 'region_id', 'id'); 10 | } 11 | 12 | public function batch() 13 | { 14 | return $this->belongsTo('\CodeDay\Clear\Models\Batch', 'batch_id', 'id'); 15 | } 16 | 17 | public function event() 18 | { 19 | return $this->belongsTo('\CodeDay\Clear\Models\Batch\Event', 'batches_event_id', 'id'); 20 | } 21 | } -------------------------------------------------------------------------------- /resources/views/batch/shipments/push.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Shipments{% endblock %} 3 | {% block section %}batch{% endblock %} 4 | {% block subnav %}{% include "batch/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    Push to Shipstation

    8 |

    This tool will push all boxes to ShipStation.

    9 |
    10 |
    11 | 12 | 13 | {{ csrf|raw }}
    14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /resources/views/front/template.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {% if block('title') %} 6 | {{ block('title') }} // 7 | {% endif %} 8 | Clear // CodeDay 9 | 10 | 11 | 12 | 13 | 14 |
    15 | {{ block('content') }} 16 |
    17 | 18 | {{ block('scripts') }} 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/Models/EmailSent.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Region', 'region_id', 'id'); 10 | } 11 | 12 | public function batch() 13 | { 14 | return $this->belongsTo('\CodeDay\Clear\Models\Batch', 'batch_id', 'id'); 15 | } 16 | 17 | public function event() 18 | { 19 | return $this->belongsTo('\CodeDay\Clear\Models\Batch\Event', 'batches_event_id', 'id'); 20 | } 21 | } -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/DayOf/DeckController.php: -------------------------------------------------------------------------------- 1 | Thank you for registering as a judge for CodeDay. This email confirms that we're planning to see you on 2 | {{ registration.event.ends_at|date('F j, Y') }} at 9am.

    3 | 4 |

    A few days before the event, you'll receive an email reminder with the address, arrival procedures, and contact 5 | information. If you'd like, you can read how judging works 6 | here, although we're happy to explain when you arrive.

    7 | 8 |

    We're looking forward to seeing you soon! Please let me know if you have any questions.

    9 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Batch/ChangeController.php: -------------------------------------------------------------------------------- 1 | manage(); 12 | return \Redirect::to('/batch'); 13 | } else { 14 | \View::share('all_batches', Models\Batch::orderBy('starts_at', 'ASC')->get()); 15 | return \View::make('batch/change'); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/Http/routes/999-dashboard.php: -------------------------------------------------------------------------------- 1 | 'Manage', 'before' => 's5_manage_events', 'middleware' => ['web']], function() { 3 | \Route::get('/', 'DashboardController@getIndex'); 4 | \Route::get('/help', 'DashboardController@getHelp'); 5 | \Route::get('/updates.json', 'DashboardController@getUpdates'); 6 | \Route::post('/new', 'DashboardController@postNew'); 7 | \Route::controller('/search', 'SearchController'); 8 | }); 9 | 10 | \Route::group(['namespace' => 'Manage', 'before' => 's5_manage_events'], function() { 11 | \Route::controller('/front', 'FrontController'); 12 | }); 13 | -------------------------------------------------------------------------------- /app/Http/Controllers/Api/Stats.php: -------------------------------------------------------------------------------- 1 | requirePermission(["internal"]); 10 | $registrations = Models\Batch\Event\Registration::count(); 11 | $events = Models\Batch\Event::count(); 12 | $batches = Models\Batch::count(); 13 | 14 | return json_encode([ 15 | "registrations_all_time" => $registrations, 16 | "events_all_time" => $events, 17 | "batches_all_time" => $batches 18 | ]); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Batch/CsvController.php: -------------------------------------------------------------------------------- 1 | events); 12 | 13 | return (new \Illuminate\Http\Response($content, 200)) 14 | ->header('Content-type', 'text/csv') 15 | ->header('Content-disposition', 'attachment;filename=all-attendees-'.time().'.csv'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Batch/NewsController.php: -------------------------------------------------------------------------------- 1 | news = \Input::get('news'); 16 | $batch->save(); 17 | 18 | \Session::flash('status_message', 'News updated.'); 19 | 20 | return \Redirect::to('/batch/news'); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Tools/PreviewController.php: -------------------------------------------------------------------------------- 1 | Models\Batch\Event\Registration::where('id', '=', \Input::get('id'))->firstOrFail(), 17 | 'user' => Models\User::me() 18 | ]); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/scale/deck.scale.scss: -------------------------------------------------------------------------------- 1 | .csstransforms .deck-container.deck-scale:not(.deck-menu) { 2 | overflow:hidden; 3 | 4 | > .slide { 5 | -moz-box-sizing: padding-box; 6 | box-sizing: padding-box; 7 | width:100%; 8 | padding-bottom:20px; 9 | 10 | > .deck-slide-scaler { 11 | -webkit-transform-origin: 50% 0; 12 | -ms-transform-origin: 50% 0; 13 | transform-origin: 50% 0; 14 | } 15 | } 16 | } 17 | 18 | .csstransforms .deck-container.deck-menu .deck-slide-scaler { 19 | -webkit-transform:none !important; 20 | -ms-transform:none !important; 21 | transform:none !important; 22 | } -------------------------------------------------------------------------------- /resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/assets/sass/parts/info.sass: -------------------------------------------------------------------------------- 1 | body > .info 2 | width: 100% 3 | text-align: center 4 | padding: 0.5rem 5 | border-bottom-style: solid 6 | border-bottom-width: 2px 7 | text-transform: uppercase 8 | font-size: 0.8rem 9 | overflow: hidden 10 | 11 | a 12 | color: #fff 13 | 14 | &.status 15 | background-color: $color-green 16 | border-bottom-color: lighten($color-green, 25) 17 | color: darken($color-green, 20) 18 | 19 | &.old-batch, &.error 20 | background-color: $color-red 21 | border-bottom-color: lighten($color-red, 25) 22 | color: darken($color-red, 20) -------------------------------------------------------------------------------- /resources/views/email-pages/sms_unsubscribe.twig: -------------------------------------------------------------------------------- 1 | {% extends 'email-pages/template' %} 2 | {% block title %}SMS Optout{% endblock %} 3 | {% block content %} 4 |

    SMS Optout

    5 | {% if success %} 6 |

    Optout status changed.

    7 | {% endif %} 8 |
    9 |
    10 | 11 | 12 |
    13 | 14 | 15 | {{ csrf|raw }}
    16 | {% endblock %} 17 | 18 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /resources/assets/sass/pages/debug.sass: -------------------------------------------------------------------------------- 1 | body.debug 2 | .log 3 | border: 1px solid $foreground-color-light 4 | overflow-y: scroll 5 | font-family: monospace 6 | white-space: nowrap 7 | .queue-failed 8 | padding: 0 9 | li 10 | list-style-type: none 11 | border-bottom: 1px solid $foreground-color-light 12 | padding: 1rem 0 13 | form 14 | display: inline 15 | input 16 | display: inline 17 | width: auto 18 | padding: 0 19 | float: none 20 | .payload 21 | overflow-y: scroll -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Docs/ModelController.php: -------------------------------------------------------------------------------- 1 | $modelName, 19 | 'fields' => $modelClass::getFields() 20 | ]); 21 | } 22 | } -------------------------------------------------------------------------------- /resources/assets/sass/widgets/region.sass: -------------------------------------------------------------------------------- 1 | .region-link 2 | text-decoration: none 3 | .region-widget 4 | width: 12rem 5 | display: inline-block 6 | margin: 1rem 7 | .data, .image 8 | width: 100% 9 | height: 4rem 10 | padding: 1rem 11 | 12 | .data 13 | background-color: transparentize($foreground-color, 0.3) 14 | 15 | .image 16 | z-index: -100 17 | margin-bottom: -4rem 18 | background-size: cover 19 | background-position: 50% 50% 20 | 21 | .name 22 | display: block 23 | font-size: 1.25rem 24 | color: $background-color 25 | margin-bottom: 1rem 26 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap(); 21 | return $app; 22 | } 23 | } -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/DayOf/CodeCupController.php: -------------------------------------------------------------------------------- 1 | events as $event) { 12 | $keyFull = hash_hmac('whirlpool', $event->webname . $event->batch->starts_at, config('app.key')); 13 | $keys[$event->webname] = substr($keyFull, 0, 3).'-'.substr($keyFull, 3, 3); 14 | } 15 | return \View::make('dayof/codecup', ['keys' => $keys]); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /update_curl.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | # This script is from https://gist.github.com/fideloper/f72997d2e2c9fbe66459 3 | 4 | # Install any build dependencies needed for curl 5 | sudo apt-get build-dep curl 6 | 7 | # Get latest (as of Feb 25, 2016) libcurl 8 | mkdir ~/curl 9 | cd ~/curl 10 | wget http://curl.haxx.se/download/curl-7.50.2.tar.bz2 11 | tar -xvjf curl-7.50.2.tar.bz2 12 | cd curl-7.50.2 13 | 14 | # The usual steps for building an app from source 15 | # ./configure 16 | # ./make 17 | # sudo make install 18 | ./configure 19 | make 20 | sudo make install 21 | 22 | # Resolve any issues of C-level lib 23 | # location caches ("shared library cache") 24 | sudo ldconfig 25 | -------------------------------------------------------------------------------- /app/Http/Middleware/RedirectIfAuthenticated.php: -------------------------------------------------------------------------------- 1 | check()) { 21 | return redirect('/'); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /resources/views/tools/subnav.twig: -------------------------------------------------------------------------------- 1 |
    2 | 11 |
    12 | 13 |
    14 |

    API

    15 | 19 |
    20 | -------------------------------------------------------------------------------- /resources/views/tools/tidbits/index.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Tidbits{% endblock %} 3 | {% block section %}tools{% endblock %} 4 | {% block subnav %}{% include "tools/subnav.twig" %}{% endblock %} 5 | {% import "widgets/regions.twig" as regions %} 6 | {% block content %} 7 |
    8 |

    Tidbits

    9 |

    See tidbits of information for past events.

    10 |
    11 | 12 | {% for region in all_regions %} 13 | {% if region.events|length > 0 %} 14 | {{ regions.region(region) }} 15 | {% endif %} 16 | {% endfor %} 17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /app/TwigFilters/LambdaFilter.php: -------------------------------------------------------------------------------- 1 | datetime('logged_in_at')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('users', function($table) 29 | { 30 | $table->dropColumn('logged_in_at'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /resources/views/batch/news.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}News{% endblock %} 3 | {% block section %}batch{% endblock %} 4 | {% block subnav %}{% include "batch/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    News

    8 |

    Update the message displayed on the dashboard to all volunteers and staff.

    9 |
    10 | 11 |
    12 |
    13 | 14 | 15 |
    16 | 17 | {{ csrf|raw }}
    18 | 19 | {% endblock %} 20 | -------------------------------------------------------------------------------- /resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /app/Console/Commands/Jobs/UpdateUsersJob.php: -------------------------------------------------------------------------------- 1 | username; 15 | echo "Queuing update for $username\n"; 16 | \Queue::push(function ($job) use ($username) { 17 | $user = Models\User::where('username', '=', $username)->first(); 18 | $user->s5Update(); 19 | $job->delete(); 20 | }); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Debug/QueueController.php: -------------------------------------------------------------------------------- 1 | get(); 16 | return \View::make('debug/queue-failed', ['jobs' => $failed_jobs]); 17 | } 18 | 19 | public function postRemovefailed() 20 | { 21 | Models\FailedJob::where('id', '=', \Input::get('id'))->first()->delete(); 22 | return \Redirect::to('/debug/queue/failed'); 23 | } 24 | } -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/scale/deck.scale.css: -------------------------------------------------------------------------------- 1 | .csstransforms .deck-container.deck-scale:not(.deck-menu) { 2 | overflow: hidden; 3 | } 4 | .csstransforms .deck-container.deck-scale:not(.deck-menu) > .slide { 5 | -moz-box-sizing: padding-box; 6 | box-sizing: padding-box; 7 | width: 100%; 8 | padding-bottom: 20px; 9 | } 10 | .csstransforms .deck-container.deck-scale:not(.deck-menu) > .slide > .deck-slide-scaler { 11 | -webkit-transform-origin: 50% 0; 12 | -ms-transform-origin: 50% 0; 13 | transform-origin: 50% 0; 14 | } 15 | 16 | .csstransforms .deck-container.deck-menu .deck-slide-scaler { 17 | -webkit-transform: none !important; 18 | -ms-transform: none !important; 19 | transform: none !important; 20 | } 21 | -------------------------------------------------------------------------------- /database/migrations/2015_08_14_172200_add_sponsor_rev_tracking.php: -------------------------------------------------------------------------------- 1 | integer('amount'); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events_sponsors', function($table) 29 | { 30 | $table->dropColumn('amount'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /resources/views/dayof/emergency/call.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Emergency Contacts{% endblock %} 3 | {% block section %}dayof{% endblock %} 4 | {% block subnav %}{% include "dayof/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    Call {{ registration.name }}'s parent {{ registration.parent_name }}?

    8 |

    This will call you at {{ me.phone }} and connect you automatically.

    9 |
    10 |
    11 | 12 | 13 | 14 | {{ csrf|raw }}
    15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /database/migrations/2015_03_29_205719_add_public_notes_to_events.php: -------------------------------------------------------------------------------- 1 | text('public_notes')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('public_notes'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/goto/deck.goto.scss: -------------------------------------------------------------------------------- 1 | .goto-form { 2 | position:absolute; 3 | z-index:3; 4 | bottom:10px; 5 | left:50%; 6 | height:1.75em; 7 | margin:0 0 0 -9.125em; 8 | line-height:1.75em; 9 | padding:0.625em; 10 | display:none; 11 | background:#ccc; 12 | overflow:hidden; 13 | border-radius:10px; 14 | 15 | label { 16 | font-weight:bold; 17 | } 18 | 19 | label, input { 20 | display:inline-block; 21 | font-family:inherit; 22 | } 23 | 24 | .deck-goto & { 25 | display:block; 26 | } 27 | } 28 | 29 | #goto-slide { 30 | width:8.375em; 31 | margin:0 0.625em; 32 | height:1.4375em; 33 | } 34 | 35 | @media print { 36 | .goto-form, #goto-slide { 37 | display:none; 38 | } 39 | } -------------------------------------------------------------------------------- /resources/views/settings/agreements/index.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Agreements // Settings{% endblock %} 3 | {% block section %}settings{% endblock %} 4 | {% block subnav %}{% include "settings/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    Agreements

    8 |

    Agreements are documents which RMs can be required to sign before accessing their event.

    9 |
    10 | 11 | 17 | 18 | {% endblock %} -------------------------------------------------------------------------------- /database/migrations/2015_03_05_174448_add_s5_id_to_promotions.php: -------------------------------------------------------------------------------- 1 | string('created_by_user')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events_promotions', function($table) 29 | { 30 | $table->dropColumn('created_by_user'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /app/Models/Batch/Event/Activity.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\Batch\Event', 'batches_event_id', 'id'); 10 | } 11 | 12 | public function getDayAttribute() 13 | { 14 | return $this->timestamp->format('l'); 15 | } 16 | 17 | public function getHourAttribute() 18 | { 19 | return $this->timestamp->format('g:ia'); 20 | } 21 | 22 | public function getTimestampAttribute() 23 | { 24 | return $this->event->batch->starts_at->copy()->addHours(12)->addMinutes($this->time * 60); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /database/factories/ModelFactory.php: -------------------------------------------------------------------------------- 1 | define(CodeDay\Clear\User::class, function (Faker\Generator $faker) { 15 | return [ 16 | 'name' => $faker->name, 17 | 'email' => $faker->email, 18 | 'password' => bcrypt(str_random(10)), 19 | 'remember_token' => str_random(10), 20 | ]; 21 | }); 22 | -------------------------------------------------------------------------------- /database/migrations/2016_02_28_194006_add-news.php: -------------------------------------------------------------------------------- 1 | text('news')->nullable(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches', function(Blueprint $table) { 28 | $table->dropColumn('news'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/goto/deck.goto.css: -------------------------------------------------------------------------------- 1 | .goto-form { 2 | position: absolute; 3 | z-index: 3; 4 | bottom: 10px; 5 | left: 50%; 6 | height: 1.75em; 7 | margin: 0 0 0 -9.125em; 8 | line-height: 1.75em; 9 | padding: 0.625em; 10 | display: none; 11 | background: #ccc; 12 | overflow: hidden; 13 | border-radius: 10px; 14 | } 15 | .goto-form label { 16 | font-weight: bold; 17 | } 18 | .goto-form label, .goto-form input { 19 | display: inline-block; 20 | font-family: inherit; 21 | } 22 | .deck-goto .goto-form { 23 | display: block; 24 | } 25 | 26 | #goto-slide { 27 | width: 8.375em; 28 | margin: 0 0.625em; 29 | height: 1.4375em; 30 | } 31 | 32 | @media print { 33 | .goto-form, #goto-slide { 34 | display: none; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/Http/Controllers/Api/Batches.php: -------------------------------------------------------------------------------- 1 | permissions)); 11 | } 12 | 13 | public function getCurrent() 14 | { 15 | return json_encode(ModelContracts\Batch::Model(Models\Batch::Loaded(), $this->permissions)); 16 | } 17 | 18 | public function getEvents() 19 | { 20 | return json_encode(ModelContracts\Event::Collection(Models\Batch\Event::where('batch_id', '=', \Route::input('batch')->id)->get(), $this->permissions)); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/Jobs/Job.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('class'); 18 | $table->timestamps(); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | \Schema::drop('cronjobs'); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM srnd/docker-php:de08bebdbf02337861c68630004d9bbc74704a1e 2 | WORKDIR /app 3 | 4 | # Copy crontab 5 | COPY ./docker/crontab /etc/cron.d/clear 6 | RUN chmod 0644 /etc/cron.d/clear \ 7 | && crontab /etc/cron.d/clear 8 | 9 | # Install dependencies 10 | COPY composer.* ./ 11 | RUN composer install --no-autoloader --no-scripts 12 | 13 | # Copy code to the docker container 14 | COPY . . 15 | RUN composer dump-autoload 16 | 17 | # Fix permissions for some directories 18 | RUN mkdir -p /app/storage /app/storage/logs /app/storage/framework /app/boostrap \ 19 | && chown -R www-data /app/storage \ 20 | && chown -R www-data /app/bootstrap \ 21 | && ln -sf /dev/fd/2 /app/storage/logs/laravel.log 22 | 23 | # Run Clear 24 | CMD /app/docker/docker-entrypoint.sh 25 | -------------------------------------------------------------------------------- /database/migrations/2014_12_31_155835_create_failed_jobs_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->text('connection'); 19 | $table->text('queue'); 20 | $table->text('payload'); 21 | $table->timestamp('failed_at'); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::drop('failed_jobs'); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /resources/views/settings/batches/delete.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}{{ batch.name }} // Batches // Settings{% endblock %} 3 | {% block section %}settings{% endblock %} 4 | {% block subnav %}{% include "settings/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    Delete Batch: {{ batch.name }}

    8 |
    9 | {% if batch.is_loaded %} 10 |

    You can't delete the loaded batch.

    11 | {% else %} 12 |

    Are you sure you want to delete {{ batch.name }}? There is no undo.

    13 |
    14 | Back 15 | 16 | {{ csrf|raw }}
    17 | {% endif %} 18 | {% endblock %} -------------------------------------------------------------------------------- /database/migrations/2015_03_05_154607_add_s5_invite_code_to_registrations.php: -------------------------------------------------------------------------------- 1 | string('s5_invite_code')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events_registrations', function($table) 29 | { 30 | $table->dropColumn('s5_invite_code'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2015_03_05_164935_remove_s5_invite_code_from_registrations.php: -------------------------------------------------------------------------------- 1 | dropColumn('s5_invite_code'); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events_registrations', function($table) 29 | { 30 | $table->string('s5_invite_code')->nullable(); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2017_09_18_005421_add_timestamps_to_oauth_tokens.php: -------------------------------------------------------------------------------- 1 | timestamps(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('users_oauth_tokens', function (Blueprint $table) { 28 | // 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /resources/views/debug/decrypt.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Decrypt{% endblock %} 3 | {% block section %}debug{% endblock %} 4 | {% block subnav %}{% include "debug/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 | {% if traceback %} 7 |
    8 | {{ traceback|nl2br }} 9 |
    10 | {% else %} 11 |
    12 |
    13 | 14 | 15 | Encrypted error traceback from web. 16 |
    17 | 18 | {{ csrf|raw }}
    19 | {% endif %} 20 | {% endblock %} -------------------------------------------------------------------------------- /database/migrations/2014_10_13_170736_add_notes.php: -------------------------------------------------------------------------------- 1 | text('notes')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('notes'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2015_05_21_093940_add_sms_optout.php: -------------------------------------------------------------------------------- 1 | boolean('sms_optout')->default(false); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('users', function(Blueprint $table) { 28 | $table->dropColumn('sms_optout'); 29 | }); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2015_02_13_180632_add_notice.php: -------------------------------------------------------------------------------- 1 | string('notice')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('notice'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2017_03_27_112546_add_coach.php: -------------------------------------------------------------------------------- 1 | string('coach_username')->nullable(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches_events', function(Blueprint $table) { 28 | $table->dropColumn('coach_username'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /resources/views/help.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block section %}help{% endblock %} 3 | {% block content %} 4 |

    Need Help?

    5 |

    If you're not sure what to do, don't worry! Call, text, email, or Slack us, we're here to help!

    6 | {% for event in me.current_managed_events %} 7 |

    {{ event.full_name }}

    8 |

    Your StudentRND contact is {{ event.coach.name }}:
    9 | {{ event.coach.phone }}
    10 | {{ event.coach.username }}@srnd.org
    11 | @{{ event.coach.username }} 12 |

    13 | {% endfor %} 14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /database/migrations/2014_10_30_200312_add_ship_for.php: -------------------------------------------------------------------------------- 1 | integer('ship_for')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('ship_for'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2017_05_19_175713_add-phone.php: -------------------------------------------------------------------------------- 1 | text('phone')->nullable(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches_events_registrations', function(Blueprint $table) { 28 | $table->dropColumn('phone'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /resources/views/emails/registration/parts/sponsor.twig: -------------------------------------------------------------------------------- 1 |

    We appreciate your organization's support of CodeDay {{ registration.event.name }} on 2 | {{ registration.event.ends_at|date('F j') }}. We work to inspire diverse students to pursue Computer Science, 3 | and spend just over $30 per student to do so. As a non-profit, we rely on the help of companies like yours to 4 | make that possible.

    5 | 6 |

    This email confirms that you will be attending CodeDay. Please let us know if your plans change.

    7 | 8 |

    We recommend you take a look at any relevant sections of our 9 | sponsor guide to learn how to get the most from your 10 | sponsorship.

    11 | 12 |

    Thanks again for your support. Please let me know if you have any questions.

    13 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Event/SubscriptionsController.php: -------------------------------------------------------------------------------- 1 | firstOrFail(); 16 | 17 | if ($subscription->batches_event_id !== $event->id) { 18 | \App::abort(401); 19 | } 20 | 21 | \Session::flash('status_message', 'Subscription removed'); 22 | $subscription->delete(); 23 | return \Redirect::to('/event/'.$event->id.'/subscriptions'); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/Http/Middleware/ApiResponse.php: -------------------------------------------------------------------------------- 1 | headers->set('Access-Control-Allow-Origin', '*'); 23 | $response->headers->set('Access-Control-Allow-Methods', '*'); 24 | $response->headers->set('Content-type', 'text/javascript'); 25 | 26 | return $response; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/Http/Middleware/Apiv2Response.php: -------------------------------------------------------------------------------- 1 | headers->set('Access-Control-Allow-Origin', '*'); 23 | $response->headers->set('Access-Control-Allow-Methods', '*'); 24 | $response->headers->set('Content-type', 'text/javascript'); 25 | 26 | return $response; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | guest()) { 21 | if ($request->ajax()) { 22 | return response('Unauthorized.', 401); 23 | } else { 24 | return redirect()->guest('login'); 25 | } 26 | } 27 | 28 | return $next($request); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /database/migrations/2014_09_30_174640_add_custom_css.php: -------------------------------------------------------------------------------- 1 | text('custom_css')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('custom_css'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2017_07_19_193421_add_timestamps_to_devices.php: -------------------------------------------------------------------------------- 1 | timestamps(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('batches_events_registrations_devices', function (Blueprint $table) { 28 | // 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2015_05_26_133115_add_survey_email.php: -------------------------------------------------------------------------------- 1 | datetime('survey_email_sent_at')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches', function($table) 29 | { 30 | $table->dropColumn('survey_email_sent_at'); 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2017_09_18_010800_add_primary_key_to_oauth_tokens.php: -------------------------------------------------------------------------------- 1 | string("access_token")->primary()->change(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('users_oauth_tokens', function (Blueprint $table) { 28 | // 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2016_02_06_133155_add_hide_meals_to_events.php: -------------------------------------------------------------------------------- 1 | boolean('hide_meals')->default(false); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('batches_events', function (Blueprint $table) { 28 | $table->dropColumn('hide_meals'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2017_05_18_071658_add-attendee-notes.php: -------------------------------------------------------------------------------- 1 | text('notes')->nullable(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches_events_registrations', function(Blueprint $table) { 28 | $table->dropColumn('notes'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2018_02_28_134144_add_venue_agreement.php: -------------------------------------------------------------------------------- 1 | string('venue_agreement')->nullable(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches_events', function(Blueprint $table) { 28 | $table->dropColumn('venue_agreement'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /resources/views/tools/preview.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Preview{% endblock %} 3 | {% block section %}tools{% endblock %} 4 | {% block subnav %}{% include "tools/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    Preview

    8 |

    You can use this tool to preview email templates.

    9 |
    10 | 11 |
    12 |
    13 | 14 | 15 |
    16 |
    17 | 18 | 19 |
    20 | 21 | {{ csrf|raw }}
    22 | {% endblock %} 23 | -------------------------------------------------------------------------------- /database/migrations/2014_09_26_171826_add_batch_published.php: -------------------------------------------------------------------------------- 1 | boolean('allow_registrations')->default(false); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches', function($table) 29 | { 30 | $table->dropColumn('allow_registrations'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2014_10_02_170158_add_evangelist.php: -------------------------------------------------------------------------------- 1 | string('evangelist_username')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('evangelist_username'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2015_01_09_150020_add_overflow_events.php: -------------------------------------------------------------------------------- 1 | string('overflow_for_id')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('overflow_for_id'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2019_02_24_092110_add_tax_paid.php: -------------------------------------------------------------------------------- 1 | decimal('tax_paid', 5, 2)->default(0); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('batches_events_registrations', function (Blueprint $table) { 28 | $table->dropColumn('tax_paid', 5, 2); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2016_02_12_083912_add_new_ticket_types.php: -------------------------------------------------------------------------------- 1 | datetime('break_started_at')->nullable(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches_events_registrations', function(Blueprint $table) { 28 | $table->dropColumn('break_started_at'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2016_11_11_081916_add-profile-image.php: -------------------------------------------------------------------------------- 1 | string('profile_image')->nullable(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches_events_registrations', function(Blueprint $table) { 28 | $table->dropColumn('profile_image'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2017_07_19_162539_recreate_service_column.php: -------------------------------------------------------------------------------- 1 | string('service'); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('batches_events_registrations_devices', function (Blueprint $table) { 28 | $table->dropColumn('service'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /resources/views/settings/regions/index.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Regions // Settings{% endblock %} 3 | {% block section %}settings{% endblock %} 4 | {% import "widgets/map.twig" as map %} 5 | {% block subnav %}{% include "settings/subnav.twig" %}{% endblock %} 6 | {% block content %} 7 |
    8 |

    Region Settings

    9 |

    Regions are areas where CodeDay events happen. Except in the case of sparsely populated 10 | states (in which case, the state name should be used), these are usually cities. Creating 11 | a region simplifies running events there in the future.

    12 |

    Select a region on the map below to edit it, or create a new region with the New button.

    13 |
    14 | {{ map.region_picker(all_regions, '/settings/regions/') }} 15 | {% endblock %} -------------------------------------------------------------------------------- /database/migrations/2015_04_30_145249_add_certified_evangelist.php: -------------------------------------------------------------------------------- 1 | boolean('is_certified_evangelist')->default(false); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('users', function($table) 29 | { 30 | $table->dropColumn('is_certified_evangelist'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2015_05_28_091149_add_support_destination.php: -------------------------------------------------------------------------------- 1 | string('support_destination')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('support_destination'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2014_10_28_220152_add_checked_in_at.php: -------------------------------------------------------------------------------- 1 | datetime('checked_in_at')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events_registrations', function($table) 29 | { 30 | $table->dropColumn('checked_in_at'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2015_02_13_120407_add_sponsor_information.php: -------------------------------------------------------------------------------- 1 | string('blurb'); 18 | $table->text('perk')->nullable(); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | \Schema::table('batches_events_sponsors', function($table) 30 | { 31 | $table->dropColumn('blurb'); 32 | $table->dropColumn('perk'); 33 | }); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2015_05_11_134581_add_parent_info_optout.php: -------------------------------------------------------------------------------- 1 | boolean('parent_no_info')->default(false); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches_events_registrations', function(Blueprint $table) { 28 | $table->dropColumn('parent_no_info'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2016_02_29_175700_add_judges.php: -------------------------------------------------------------------------------- 1 | string('creator_username'); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('batches_events_announcements', function (Blueprint $table) { 28 | $table->dropColumn('creator_username'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2017_07_19_171730_add_event_id_to_announcements.php: -------------------------------------------------------------------------------- 1 | string('batches_events_id'); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('batches_events_announcements', function (Blueprint $table) { 28 | $table->dropColumn('batches_events_id'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/Models/Application.php: -------------------------------------------------------------------------------- 1 | belongsTo('\CodeDay\Clear\Models\User', 'admin_username', 'username'); 14 | } 15 | 16 | public function webhooks() 17 | { 18 | return $this->hasMany('\CodeDay\Clear\Models\Application\Webhook', 'application_id', 'public'); 19 | } 20 | 21 | protected static function boot() 22 | { 23 | parent::boot(); 24 | 25 | static::creating(function ($model) { 26 | $model->public = str_random(32); 27 | $model->private = str_random(32); 28 | }); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /database/migrations/2015_01_05_112104_add_hide_workshops_option.php: -------------------------------------------------------------------------------- 1 | boolean('hide_default_workshops')->default(false); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | \Schema::table('batches_events', function($table) 29 | { 30 | $table->dropColumn('hide_default_workshops'); 31 | }); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2016_06_04_104702_add-region-images.php: -------------------------------------------------------------------------------- 1 | binary('image'); 17 | }); 18 | 19 | \DB::statement('ALTER TABLE `regions` CHANGE `image` `image` LONGBLOB NULL;'); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | \Schema::table('regions', function(Blueprint $table) { 30 | $table->dropColumn('image'); 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2016_08_21_151355_track-waiver-signing-link.php: -------------------------------------------------------------------------------- 1 | string('waiver_signing_link')->nullable(); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('batches_events_registrations', function(Blueprint $table) { 28 | $table->dropColumn('waiver_signing_link'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2014_09_28_034629_add_sub_accounts.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | 18 | $table->string('username'); 19 | $table->string('batches_event_id'); 20 | 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | \Schema::drop('users_grants'); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2015_03_30_160037_add_giftcards.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('code'); 18 | 19 | $table->string('batches_events_registration_id')->nullable(); 20 | 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | \Schema::drop('giftcards'); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2015_04_30_164721_add_venue_emails.php: -------------------------------------------------------------------------------- 1 | datetime('venue_reminder_email_sent_at')->nullable(); 18 | $table->datetime('venue_postevent_email_sent_at')->nullable(); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | \Schema::table('batches', function($table) 30 | { 31 | $table->dropColumn('venue_reminder_email_sent_at'); 32 | $table->dropColumn('venue_postevent_email_sent_at'); 33 | }); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2017_07_14_125759_remove-region-images.php: -------------------------------------------------------------------------------- 1 | dropColumn('image'); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | \Schema::table('regions', function(Blueprint $table) { 28 | $table->binary('image'); 29 | }); 30 | 31 | \DB::statement('ALTER TABLE `regions` CHANGE `image` `image` LONGBLOB NULL;'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /resources/views/settings/batches/create.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}New Batch // Settings{% endblock %} 3 | {% block section %}settings{% endblock %} 4 | {% block subnav %}{% include "settings/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    New Batch

    8 |

    This creates a new batch of events. You'll be able to select the events 9 | and customize the name in the next step.

    10 |
    11 |
    12 |
    13 | 14 | 15 | The start date of all events in this batch. 16 |
    17 | 18 | {{ csrf|raw }}
    19 | {% endblock %} -------------------------------------------------------------------------------- /database/migrations/2016_02_29_092817_create_transactional_emails.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('batches_events_registration_id'); 18 | $table->string('email_id'); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | \Schema::drop('transactional_emails'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /resources/views/front/plugin.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/DayOf/SupportCallsController.php: -------------------------------------------------------------------------------- 1 | firstOrFail(); 16 | 17 | Services\Telephony\Voice::connectPhones( 18 | Models\User::me()->phone, 19 | $call->caller, 20 | Models\Batch\Event\Call::ExternalNumber 21 | ); 22 | 23 | \Session::flash('status_message', 'Calling you...'); 24 | return \Redirect::to('/dayof/support-calls'); 25 | } 26 | } -------------------------------------------------------------------------------- /app/Providers/AuthServiceProvider.php: -------------------------------------------------------------------------------- 1 | 'CodeDay\Clear\Policies\ModelPolicy', 17 | ]; 18 | 19 | /** 20 | * Register any application authentication / authorization services. 21 | * 22 | * @param \Illuminate\Contracts\Auth\Access\Gate $gate 23 | * @return void 24 | */ 25 | public function boot(GateContract $gate) 26 | { 27 | $this->registerPolicies($gate); 28 | 29 | // 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2017_07_19_162457_drop_services_column_from_devices.php: -------------------------------------------------------------------------------- 1 | dropColumn('service'); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('batches_events_registrations_devices', function (Blueprint $table) { 28 | $table->enum('service', ['sms', 'firebase']); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /resources/views/event/registrations/bulk/index.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}CSV Upload // {{ event.full_name }}{% endblock %} 3 | {% block section %}event{% endblock %} 4 | {% block subnav %}{% include "event/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |

    CSV Upload

    7 |
    8 |
    9 | 10 | 11 | Upload a CSV containing, at minimum, first names, last names, and emails. Do not include 12 | column headers. You will select column mappings in the next step. 13 |
    14 | 15 | {{ csrf|raw }}
    16 | {% endblock %} 17 | -------------------------------------------------------------------------------- /database/migrations/2017_07_19_164629_create_announcements.php: -------------------------------------------------------------------------------- 1 | string('id')->primary(); 17 | $table->text('body'); 18 | $table->integer('urgency'); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::drop('batches_events_announcements'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /resources/views/emails/actions/subuser.twig: -------------------------------------------------------------------------------- 1 | {% extends "emails/template_transactional.twig" %} 2 | {% block unsubscribe %}You cannot unsubscribe from this sort of email.{% endblock %} 3 | {% block preview %}You now have access to the CodeDay management system, Clear.{% endblock %} 4 | {% block img %}https://srnd-cdn.net/emails/header-staff.jpg{% endblock %} 5 | {% block title %}CodeDay {{ event.name }} access approved.{% endblock %} 6 | {% block body %} 7 |

    Hi {{ user.first_name }},

    8 | 9 |

    {{ from.name }} has just granted you access to 10 | {{ event.full_name }} on Clear.

    11 | 12 |

    Clear is the CodeDay management system. You're now able to create promo codes, set a venue, see the schedule, 13 | check-in attendees, and more. Click the link above to start exploring.

    14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /app/Http/Controllers/Api/UserController.php: -------------------------------------------------------------------------------- 1 | permissions = ['admin']; 20 | $this->application = true; 21 | } else { 22 | \App::abort(403); 23 | } 24 | } 25 | 26 | public function getManagedEvents(){ 27 | return json_encode(ModelContracts\Event::Collection($user->current_managed_events, $this->permissions)); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /database/migrations/2018_01_18_172608_add_equipment.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('batches_events_registration_id'); 18 | $table->string('equipment_id'); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | \Schema::drop('batches_events_registrations_equipment'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Passwords must be at least six characters and match the confirmation.', 17 | 'reset' => 'Your password has been reset!', 18 | 'sent' => 'We have e-mailed your password reset link!', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that e-mail address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /app/TwigFilters/MarkdownFilter.php: -------------------------------------------------------------------------------- 1 | 13 | * @copyright Copyright (c) Tyler Menezes. Released under the Perl Artistic License 2.0. 14 | * 15 | * @package TwigMarkdown 16 | */ 17 | class MarkdownFilter extends \Twig_Extension 18 | { 19 | public function getFilters() 20 | { 21 | $filters = array( 22 | // formatting filters 23 | 'markdown'=> new \Twig_Filter_Function(function($data) 24 | { 25 | return \Markdown($data); 26 | }), 27 | ); 28 | 29 | return $filters; 30 | } 31 | 32 | public function getName() 33 | { 34 | return 'markdown'; 35 | } 36 | 37 | } 38 | 39 | -------------------------------------------------------------------------------- /database/migrations/2015_08_24_222111_create_saved_queries.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | 19 | $table->string('name'); 20 | $table->string('description'); 21 | $table->text('sql'); 22 | 23 | $table->timestamps(); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | \Schema::drop('saved_queries'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2014_08_19_180948_create_batches.php: -------------------------------------------------------------------------------- 1 | string('id')->primary(); 17 | 18 | $table->string('name'); 19 | $table->boolean('is_loaded'); 20 | 21 | $table->datetime('starts_at'); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | \Schema::drop('batches'); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /database/migrations/2017_02_24_123409_add_firebase_support.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('batches_events_registration_id'); 18 | $table->enum('service', ['sms', 'firebase']); 19 | $table->text('token'); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | \Schema::drop('batches_events_registrations_devices'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2015_05_21_135042_create_phonecalls.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | 18 | $table->string('batches_event_id'); 19 | $table->text('transcript'); 20 | $table->string('creator_username'); 21 | 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | \Schema::drop('batches_events_calls'); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /app/Console/Commands/DispatchTransactionalEmailsCommand.php: -------------------------------------------------------------------------------- 1 | dispatch(new Jobs\SendTransactionalEmailsJob()); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Batch/SendSmsController.php: -------------------------------------------------------------------------------- 1 | firstOrFail(); 21 | Services\Sms::sendToUser($user, $message); 22 | } else { 23 | Services\Sms::sendToList($to, $message); 24 | } 25 | 26 | \Session::flash('status', 'SMS enqued.'); 27 | return \Redirect::to('/batch/send-sms'); 28 | } 29 | 30 | } -------------------------------------------------------------------------------- /app/Providers/EventServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 17 | 'CodeDay\Clear\Listeners\EventListener', 18 | ], 19 | ]; 20 | 21 | /** 22 | * Register any other events for your application. 23 | * 24 | * @param \Illuminate\Contracts\Events\Dispatcher $events 25 | * @return void 26 | */ 27 | public function boot(DispatcherContract $events) 28 | { 29 | parent::boot($events); 30 | 31 | // 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /database/migrations/2017_07_19_173707_fix_dumb_typo.php: -------------------------------------------------------------------------------- 1 | dropColumn('batches_events_id'); 17 | $table->string('batches_event_id'); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('batches_events_announcements', function (Blueprint $table) { 29 | $table->dropColumn('batches_event_id'); 30 | $table->string('batches_events_id'); 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /resources/views/docs/subnav.twig: -------------------------------------------------------------------------------- 1 |

    Docs

    2 | 3 |
    4 |

    Clear API

    5 | 9 | 10 |

    Models

    11 | 22 |
    23 | -------------------------------------------------------------------------------- /database/migrations/2017_07_19_190213_add_cta_and_link_to_announcements.php: -------------------------------------------------------------------------------- 1 | string('cta')->nullable(); 17 | $table->string('link')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('batches_events_announcements', function (Blueprint $table) { 29 | $table->dropColumn('cta'); 30 | $table->dropColumn('link'); 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/Http/Controllers/Manage/Event/OverviewController.php: -------------------------------------------------------------------------------- 1 | id) 11 | ->whereNotNull('notes') 12 | ->get(); 13 | return \View::make('event/overview', ['regNotes' => $regNotes]); 14 | } 15 | 16 | public function getRaw() 17 | { 18 | $event = \Route::input('event'); 19 | $regNotes = Models\Batch\Event\Registration::where('batches_event_id', '=', $event->id) 20 | ->whereNotNull('notes') 21 | ->get(); 22 | return \View::make('event/overview-raw', ['regNotes' => $regNotes]); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /public/assets/js/deck/extensions/navigation/deck.navigation.scss: -------------------------------------------------------------------------------- 1 | .deck-prev-link, .deck-next-link { 2 | display:none; 3 | position:absolute; 4 | z-index:3; 5 | top:50%; 6 | width:32px; 7 | height:32px; 8 | margin-top:-16px; 9 | font-size:20px; 10 | font-weight:bold; 11 | line-height:32px; 12 | vertical-align:middle; 13 | text-align:center; 14 | text-decoration:none; 15 | color:#fff; 16 | background:#888; 17 | border-radius:16px; 18 | 19 | &:hover, &:focus, &:active, &:visited { 20 | color:#fff; 21 | } 22 | } 23 | 24 | .deck-prev-link { 25 | left:8px; 26 | } 27 | 28 | .deck-next-link { 29 | right:8px; 30 | } 31 | 32 | .deck-container:hover .deck-prev-link, .deck-container:hover .deck-next-link { 33 | display:block; 34 | 35 | &.deck-nav-disabled, .touch & { 36 | display:none; 37 | } 38 | } 39 | 40 | @media print { 41 | .deck-prev-link, .deck-next-link { 42 | display:none !important; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /resources/views/csv-landing.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CSV Download 5 | 6 | 7 | 8 |
    9 |
    10 |
    11 |

    Confidential. For your eyes only. Do not distribute.

    12 |

    You may use this list only for security or reporting purposes. You may not share it except for those purposes.

    13 |
    14 |
    15 |
    16 |

    Current Attendees: {{ event.full_name }}

    17 |
    18 | 19 |
    20 | Download CSV 21 |
    22 |
    23 | 24 | 25 | -------------------------------------------------------------------------------- /database/migrations/2017_09_17_232956_create_users_oauth_tokens.php: -------------------------------------------------------------------------------- 1 | string("user_username"); 17 | $table->string("application_token"); 18 | $table->string("token"); 19 | $table->string("access_token"); 20 | $table->boolean("access_token_used"); 21 | $table->string("scopes"); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::drop('users_oauth_tokens'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /resources/views/debug/queue-failed.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}Log{% endblock %} 3 | {% block section %}debug{% endblock %} 4 | {% block subnav %}{% include "debug/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 | 21 | {% endblock %} -------------------------------------------------------------------------------- /resources/views/settings/batches/load.twig: -------------------------------------------------------------------------------- 1 | {% extends "template.twig" %} 2 | {% block title %}{{ batch.name }} // Batches // Settings{% endblock %} 3 | {% block section %}settings{% endblock %} 4 | {% block subnav %}{% include "settings/subnav.twig" %}{% endblock %} 5 | {% block content %} 6 |
    7 |

    Load Batch: {{ batch.name }}

    8 |
    9 | {% if batch.is_loaded %} 10 |

    This batch is already loaded.

    11 | {% else %} 12 |

    Are you sure you want to switch the loaded batch to {{ batch.name }}? This will unload 13 | {{ loaded_batch.name }}.

    14 |
    15 | Back 16 | 17 | 18 | {{ csrf|raw }}
    19 | {% endif %} 20 | {% endblock %} 21 | -------------------------------------------------------------------------------- /database/migrations/2015_01_09_134440_add_event_overrides.php: -------------------------------------------------------------------------------- 1 | string('name_override')->nullable(); 18 | $table->string('abbr_override')->nullable(); 19 | $table->string('webname_override')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | \Schema::table('batches_events', function($table) 31 | { 32 | $table->dropColumn('name_override'); 33 | $table->dropColumn('abbr_override'); 34 | $table->dropColumn('webname_override'); 35 | }); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /database/migrations/2017_11_15_090447_add-internal.php: -------------------------------------------------------------------------------- 1 | \PDO::FETCH_CLASS, 5 | 'default' => 'mysql', 6 | 'strict' => true, 7 | 'migrations' => 'migrations', 8 | 'connections' => [ 9 | 'mysql' => [ 10 | 'driver' => env('DB_DRIVER', 'mysql'), 11 | 'host' => env('DB_HOST', 'localhost'), 12 | 'database' => env('DB_DATABASE', 'clear'), 13 | 'username' => env('DB_USERNAME', 'root'), 14 | 'password' => env('DB_PASSWORD'), 15 | 'charset' => 'utf8', 16 | 'collation' => 'utf8_bin', 17 | 'prefix' => '', 18 | 'strict' => false, 19 | ] 20 | ], 21 | 'redis' => [ 22 | 'client' => 'phpredis', 23 | 'default' => [ 24 | 'host' => env('REDIS_HOST', 'localhost'), 25 | 'port' => env('REDIS_PORT', 6379), 26 | 'database' => env('REDIS_DB', 0), 27 | 'prefix' => env('REDIS_PREFIX', 'clear_'), 28 | 'presistent' => true, 29 | ] 30 | ] 31 | ]; 32 | -------------------------------------------------------------------------------- /database/migrations/2017_11_03_184030_add_spotify_tokens_to_events_table.php: -------------------------------------------------------------------------------- 1 | string('spotify_access_token')->nullable(); 17 | $table->string('spotify_refresh_token')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('batches_events', function (Blueprint $table) { 29 | $table->dropColumn('spotify_access_token'); 30 | $table->dropColumn('spotify_refresh_token'); 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /resources/views/emails/registration/parts/volunteer.twig: -------------------------------------------------------------------------------- 1 |

    {{ registration.first_name }}, this email confirms that you are a volunteer at CodeDay! We're so happy to have your 2 | help! Here are your next steps:

    3 | 4 |