canadianlover

canadianlover

Member Since 3 Years Ago

Vancouver, BC

Freelancer at self-employed

Experience Points 17,280
Experience Level 4

2,720 experience to go until the next level!

In case you were wondering, you earn Laracasts experience when you:

  • Complete a lesson — 100pts
  • Create a forum thread — 50pts
  • Reply to a thread — 10pts
  • Leave a reply that is liked — 50pts
  • Receive a "Best Reply" award — 500pts
Lessons Completed 131
Lessons
Completed
Best Reply Awards 0
Best Reply
Awards
  • start-engines Created with Sketch.

    Start Your Engines

    Earned once you have completed your first Laracasts lesson.

  • first-thousand Created with Sketch.

    First Thousand

    Earned once you have earned your first 1000 experience points.

  • 1-year Created with Sketch.

    One Year Member

    Earned when you have been with Laracasts for 1 year.

  • 2-years Created with Sketch.

    Two Year Member

    Earned when you have been with Laracasts for 2 years.

  • 3-years Created with Sketch.

    Three Year Member

    Earned when you have been with Laracasts for 3 years.

  • 4-years Created with Sketch.

    Four Year Member

    Earned when you have been with Laracasts for 4 years.

  • 5-years Created with Sketch.

    Five Year Member

    Earned when you have been with Laracasts for 5 years.

  • school-session Created with Sketch.

    School In Session

    Earned when at least one Laracasts series has been fully completed.

  • welcome-newcomer Created with Sketch.

    Welcome To The Community

    Earned after your first post on the Laracasts forum.

  • full-time-student Created with Sketch.

    Full Time Learner

    Earned once 100 Laracasts lessons have been completed.

  • pay-it-forward Created with Sketch.

    Pay It Forward

    Earned once you receive your first "Best Reply" award on the Laracasts forum.

  • subscriber-token Created with Sketch.

    Subscriber

    Earned if you are a paying Laracasts subscriber.

  • lifer-token Created with Sketch.

    Lifer

    Earned if you have a lifetime subscription to Laracasts.

  • lara-evanghelist Created with Sketch.

    Laracasts Evangelist

    Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.

  • chatty-cathy Created with Sketch.

    Chatty Cathy

    Earned once you have achieved 500 forum replies.

  • lara-veteran Created with Sketch.

    Laracasts Veteran

    Earned once your experience points passes 100,000.

  • 10k-strong Created with Sketch.

    Ten Thousand Strong

    Earned once your experience points hits 10,000.

  • lara-master Created with Sketch.

    Laracasts Master

    Earned once 1000 Laracasts lessons have been completed.

  • laracasts-tutor Created with Sketch.

    Laracasts Tutor

    Earned once your "Best Reply" award count is 100 or more.

  • laracasts-sensei Created with Sketch.

    Laracasts Sensei

    Earned once your experience points passes 1 million.

  • top-50 Created with Sketch.

    Top 50

    Earned once your experience points ranks in the top 50 of all Laracasts users.

08 Sep
1 week ago

canadianlover commented on Initial Database Setup With Seeding

I followed the beginning of this series when Laravel 5.4 was released. I noticed that now in Laravel 5.8 the Model Factories are different. I opened up the UserFactories file and tried to add the three factories Jeffery created but when I run it in Tinker, I get a InvalidArgumentException with message 'Unable to locate factory with name [default] [App/Thread].' exception. What has changed?

20 Aug
1 month ago

canadianlover started a new conversation InvalidArgument Exception Cache Path - Storage Folders Created

I have been trying to get my home view to load for the last several hours. I have the following folders created in my storage/framework directory

views
sessions
cache

I have run the following commands in iTerm

php artisan config:clear
php artisan cache:clear
composer dump-autoload
composer install

In addition, I updated homestead and the laravel framework and I am still getting the same error. Is there some reason why this isn't working?

16 May
4 months ago

canadianlover left a reply on SQLite - Unique Constraint Failed

Thanks to both of you guys! That fixed my problem.

canadianlover started a new conversation SQLite - Unique Constraint Failed

I have a test in my aqpplication. I have the following model factory:



use App\Hand;
/*
|--------------------------------------------------------------------------
| Model Factories
|---------------?php


use App\Hand;
/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories. Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
|
*/

/** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\User::class, function (Faker\Generator $faker) {
    static $password;

    return [
        'id' => $faker->unique(true)->randomNumber,
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'password' => $password ?: $password = bcrypt('secret'),
        'remember_token' => str_random(10),
    ];
});

$factory->define(App\Hand::class, function(Faker\Generator $faker) {
    return ['game_id' => function () {
        return factory('App\Game')->create()->id;
    },
      'user_id' => function() {
        return factory('App\User')->create()->id;
      }
        ];


});

$factory->define(App\Game::class, function(Faker\Generator $faker) {
    return [
        'id' => $faker->unique()->randomDigit,
        'user_id' => function() {
      return  factory('App\User')->create()->id;
    },
        'hand_id' => function() {
        return factory('App\Hand')->create()->id;
        }];
});

$factory->define(App\Card::class, function(Faker\Generator $faker) {
    $game = factory('App\Game');
    static $card_count = 0;


    });

and this test:

<?php


use App\Hand;
/*
|--------------------------------------------------------------------------
| Model Factories
|---------------?php


use App\Hand;
/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories. Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
|
*/

/** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\User::class, function (Faker\Generator $faker) {
    static $password;

    return [
        'id' => $faker->unique(true)->randomNumber,
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'password' => $password ?: $password = bcrypt('secret'),
        'remember_token' => str_random(10),
    ];
});

$factory->define(App\Hand::class, function(Faker\Generator $faker) {
    return ['game_id' => function () {
        return factory('App\Game')->create()->id;
    },
      'user_id' => function() {
        return factory('App\User')->create()->id;
      }
        ];


});

$factory->define(App\Game::class, function(Faker\Generator $faker) {
    return [
        'id' => $faker->unique()->randomDigit,
        'user_id' => function() {
      return  factory('App\User')->create()->id;
    },
        'hand_id' => function() {
        return factory('App\Hand')->create()->id;
        }];
});

$factory->define(App\Card::class, function(Faker\Generator $faker) {
    $game = factory('App\Game');
    static $card_count = 0;


    });

When I run phpunit I get the following error

1) Tests\Feature\GameTest::test_both_hands_have_unique_cards Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 UNIQUE constraint failed: users.id (SQL: insert into "users" ("id", "name", "email", "password", "remember_token", "updated_at", "created_at") values (8, Reinhold Murazik PhD, bill51@example.com, $2y$10$q1JAUfI6hAT3L2xBTYjMgeqow2wKTnvIlKENuPl.77hBRObZZG45O, 6t3D4wuEyS, 2019-05-16 13:52:50, 2019-05-16 13:52:50))

I was curious if this was an issue with SQLite, so I fired up tinker and successfully created a new user record by running factory('App\User')->create. However, I still get the integrity constraint violation error in my testing environment. Why do I get the error in my SQLIte test database but not my main MySQL database

24 Feb
6 months ago

canadianlover left a reply on People Think I Can't Code Because I Have Cerebral Palsy

Yeah. I only went to the temp agency because as you can see I'm at level 4 and I had debts to pay. I've gotten this my whole life. There is a lot of stereotypes about disabled people that I think oughta be broken. I'm a highly functioning autistic and I have a pretty high IQ. I don't have a CS degree so I really had no choice but to do that trench digging job.

canadianlover left a reply on People Think I Can't Code Because I Have Cerebral Palsy

It was a construction job. I am not going to repeat exactly what he said because it isn't NSFW. It was a temp job and he didn't hire me back.

canadianlover started a new conversation People Think I Can't Code Because I Have Cerebral Palsy

When I tell people in real life that I am studying computer programming, they tell me "yeah right and I'm a doctor. Do you actually expect me to believe that?" I told one of my bosses and he mocked me for it. They don't know how to code. They never checked out this site. I feel underestimated.

When I post here, people take me seriously. People think I'm stupid because I have a medical condition.

Just wanted to get that off my chest

28 Jun
1 year ago

canadianlover left a reply on Axios Not Making AJAX Request

I installed everything and ran ''npm run dev'' again, still nothing.

canadianlover left a reply on Axios Not Making AJAX Request

Nope, still luck. Is ''npm install axios'' all I have to run? Because I came from Laravel 5.3 and PHPStorm can't seem to locate axios.js.

27 Jun
1 year ago

canadianlover left a reply on Axios Not Making AJAX Request

Yes, I have referenced the app.js file in my view.

canadianlover started a new conversation Axios Not Making AJAX Request

I am trying to make a chat app within my Laravel application. I am using axios. When I comple my JavaScript, I check my browser and see in Chrome Dev tools that the AJAX request was not made. I have started with a Laravel 5.3 codebase. I made sure Axios was installed by running ''npm run dev'' but still no luck. What is wrong with my code?

 * First we will load all of this project's JavaScript dependencies which
 * includes Vue and other libraries. It is a great starting point when
 * building robust, powerful web applications using Vue and Laravel.
 */

require('./bootstrap');

window.Vue = require('vue');

/**
 * Next, we will create a fresh Vue application instance and attach it to
 * the page. Then, you may begin adding components to this application
 * or customize the JavaScript scaffolding to fit your unique needs.
 */


Vue.component('chat-message', require('./components/ChatMessage.vue'));
Vue.component('chat-log', require('./components/ChatLog.vue'));
Vue.component('chat-composer', require('./components/ChatComposer.vue'));
const app = new Vue({
    el: '#app',
    data: {

        messages: [
            {
                message: "This is some message text",
                user: "John Doe"
            },
            {
                message: "This is another message text",
                user: "Jane Doe"
            }

        ]

    },

    methods: {
        addMessage(message) {
            this.messages.push(message);
        }
    },

        created() {
        axios.get('/messages').then(response => {
            console.log(response);
        });

    }

});```
21 May
1 year ago

canadianlover left a reply on Upgraded To Laravel 5.3 To 5.4 - Laravel Mix Not Compiling Vue Components

$pinfo it worked if it ends with ok 1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'watch' ] 2 info using [email protected] 3 info using [email protected] 4 verbose run-script [ 'prewatch', 'watch', 'postwatch' ] 5 info lifecycle @~prewatch: @ 6 info lifecycle @~watch: @ 7 verbose lifecycle @~watch: unsafe-perm in lifecycle true 8 verbose lifecycle @~watch: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/vagrant/Code/CSToss/node_modules/.bin:/home/vagrant/.composer/vendor/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 9 verbose lifecycle @~watch: CWD: /home/vagrant/Code/CSToss 10 silly lifecycle @~watch: Args: [ '-c', 10 silly lifecycle 'node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js' ] 11 silly lifecycle @~watch: Returned: code: 1 signal: null 12 info lifecycle @~watch: Failed to exec watch script 13 verbose stack Error: @ watch: `node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js` 13 verbose stack Exit status 1

19 May
1 year ago

canadianlover left a reply on Upgraded To Laravel 5.3 To 5.4 - Laravel Mix Not Compiling Vue Components

Where can I find the log file? Because it justs shows green when I run that command

15 May
1 year ago

canadianlover left a reply on Upgraded To Laravel 5.3 To 5.4 - Laravel Mix Not Compiling Vue Components

I've done that several times, still no luck :-/

14 May
1 year ago

canadianlover started a new conversation Upgraded To Laravel 5.3 To 5.4 - Laravel Mix Not Compiling Vue Components

I recently upgraded from Laravel 5.3 to 5.4 and I noticed that Laravel Elixr is gone. I tried installing laravel-mix using my package.json file. I have the following Vue component. I get the following error message when I run npm install

`` ⚠ The `/home/vagrant/Code/CSToss/node_modules/pngquant-bin/vendor/pngqua binary doesn't seem to work correctly ⚠ pngquant pre-build test failed ℹ compiling from source ✔ pngquant pre-build test passed successfully ✔ pngquant built successfully npm WARN [email protected] requires a peer of [email protected]^1.12.3 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 283 packages from 146 contributors, removed 21 packages, updated 106 packages and moved 1 package in 226.654s [!] 356 vulnerabilities found [20801 packages audited] Severity: 339 low | 17 moderate Run npm audit for more detail

[email protected]:~/Code/CSToss$ npm run dev

@ dev /home/vagrant/Code/CSToss node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

95% emittingError: EACCES: permission denied, mkdir '/home/css' e npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @ dev: node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @ dev script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /home/vagrant/.npm/_logs/2018-05-14T23_12_54_250Z-debug.log``

When I run npm run dev the app.js file compiles no problem. I search the compiled file for a chat-message component and it isn't there. I know it is because I must have made a mistake while upgrading from Laravel 5.3 to 5.4, because created a fresh install of Laravel and tried using the mounted chat-message and everything works perfectly.

I am at a loss as to where I went wrong and I would like some help backtracking what did and fixing what I did wrong while updating the framework, How can I get the component to compile correctly?

    <div class="container">
    <P>I'm an example message</P>
    </div>
</template>

<script>
    export default {
        mounted() {
            console.log('Component mounted.')
        }
    }
</script>

with the following app.js file:

 * First we will load all of this project's JavaScript dependencies which
 * includes Vue and other libraries. It is a great starting point when
 * building robust, powerful web applications using Vue and Laravel.
 */

require('./bootstrap');

window.Vue = require('vue');

/**
 * Next, we will create a fresh Vue application instance and attach it to
 * the page. Then, you may begin adding components to this application
 * or customize the JavaScript scaffolding to fit your unique needs.
 */


Vue.component('chat-message', require('./components/ChatMessage.vue'));


const app = new Vue({
    el: '#app'
});```
13 Feb
1 year ago

canadianlover left a reply on Element Not Recognized - Imported Component

Hey I just noticed a app.js file in my src folder. Is this the file webpack reads when compiling? Because I thought it reads the one in my resource folder.

I also tried what you suggested and I still get nothing :-/. This is driving me crazy.

12 Feb
1 year ago

canadianlover left a reply on Element Not Recognized - Imported Component

Tried bypassing the cache. That didn't work.

canadianlover left a reply on Element Not Recognized - Imported Component

Webpack compiles JavaScript correctly and everything returns green when in run npm num dev. It does give me a warning that app.js is large, however.

canadianlover started a new conversation Element Not Recognized - Imported Component

I have created a Vue component which is supposed to be a chat message in a real time chat application. Below is my .Vue file

<template lang="html">
    <div>
    <p>Message</p>
    <small>Author name</small>
    </div>
</template>

<script>
    export default {

    }
</script>

<style lang="css">

</style>

I have compiled this file by running npm run dev. However, when I take a look in the browser, I get an error in Firefox telling me that the element is not recognized. Here is my app.js file:

/**
 * First we will load all of this project's JavaScript dependencies which
 * includes Vue and other libraries. It is a great starting point when
 * building robust, powerful web applications using Vue and Laravel.
 */

require('./bootstrap');

window.Vue = require('vue');

/**
 * Next, we will create a fresh Vue application instance and attach it to
 * the page. Then, you may begin adding components to this application
 * or customize the JavaScript scaffolding to fit your unique needs.
 */

Vue.component('example-component', require('./components/ExampleComponent.vue'));
Vue.component('chat-message', require('./components/ChatMessage.vue'));

const app = new Vue({
    el: '#app'
});

and here is my view

<html>
<head>
    <title>Title goes here</title>
    <link rel="stylesheet" href="css/stylesheet.css" />

</head>
<body>

<div id="app">
    <h1>Chatroom</h1>
    <chat-message></chat-message>
</div>
<script src="js/app.js"></script>
</body>
</html>
``
I am following this YouTYube tutorial:  https://www.youtube.com/watch?v=pTVCW5k4piU

I have run ''npm i`` and ```npm run watch'' but still no luck. I followed the tutorial vewry closely, however, it is not working. 
08 Jan
1 year ago

canadianlover left a reply on Forum Video Series - PHPUnit Throws Unauthenticated Error

Here is my test. As you can seer, I enabled exceptionhandling, but I am still getting the error.

namespace Tests\Feature;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Tests\TestCase;
class CreateThreadsTest extends TestCase
{
    use DatabaseMigrations;
    /** @test */
    function guests_may_not_create_threads()
    {
        $this->withExceptionHandling();
        $this->get('/threads/create')
            ->assertRedirect('/login');
        $this->post('/threads', [])
            ->assertRedirect('/login');
    }
    /** @test */
    function an_authenticated_user_can_create_new_forum_threads()
    {
        $this->signIn();
        $thread = make('App\Thread');
        $response = $this->post('/threads', $thread->toArray());
        $this->get($response->headers->get('Location'))
            ->assertSee($thread->title)
            ->assertSee($thread->body);
    }
    /** @test */
    function a_thread_requires_a_title()
    {
        $this->publishThread(['title' => null])
            ->assertSessionHasErrors('title');
    }
    /** @test */
    function a_thread_requires_a_body()
    {
        $this->publishThread(['body' => null])
            ->assertSessionHasErrors('body');
    }
    /** @test */
    function a_thread_requires_a_valid_channel()
    {
        factory('App\Channel', 2)->create();
        $this->publishThread(['channel_id' => null])
            ->assertSessionHasErrors('channel_id');
        $this->publishThread(['channel_id' => 999])
            ->assertSessionHasErrors('channel_id');
    }
    protected function publishThread($overrides = [])
    {
        $this->withExceptionHandling()->signIn();
        $thread = make('App\Thread', $overrides);
        return $this->post('/threads', $thread->toArray());
    }
}```

canadianlover left a reply on Forum Video Series - PHPUnit Throws Unauthenticated Error

No I have not. This is a guest trying to create a new thread, right? We don't want a user signed in, correct?

07 Jan
1 year ago

canadianlover started a new conversation Forum Video Series - PHPUnit Throws Unauthenticated Error

So I was following Jeffery's forum video series when I got to lesson 10. I initially ignored lesson 8 where I was supposed to update my TestCase.php file for exception handling. As you can see, I am also failing to pass validation. and I am getting an integrity constraint violation error Now when I run PHPUnit I get the following output.

''

There were 4 errors:

  1. Tests\Feature\CreateThreadsTest::guests_may_not_create_threads Illuminate\Auth\AuthenticationException: Unauthenticated.

/home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/GuardHelpers.php:39 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php:294 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:57 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:41 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:65 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:561 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:520 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:498 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:174 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:149 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:234 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:57 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:12

  1. Tests\Feature\CreateThreadsTest::a_thread_requires_a_title Illuminate\Validation\ValidationException: The given data failed to pass validation.

/home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php:105 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Validation/ValidatesRequests.php:55 /home/vagrant/Code/forum/app/Http/Controllers/ThreadController.php:44 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:55 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:44 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:203 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:160 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:559 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:43 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:65 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:561 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:520 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:498 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:174 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:149 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:234 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:84 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:52 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:30

  1. Tests\Feature\CreateThreadsTest::a_thread_requires_a_body Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: threads.body (SQL: insert into "threads" ("user_id", "title", "channel_id", "body", "updated_at", "created_at") values (1, Repellat quia voluptatibus et neque veritatis sit., 1, , 2018-01-07 22:24:19, 2018-01-07 22:24:19))

/home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:647 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:607 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:450 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:404 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php:32 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2131 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1236 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:677 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:642 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:511 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:724 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Support/helpers.php:878 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:725 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1332 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1344 /home/vagrant/Code/forum/app/Http/Controllers/ThreadController.php:51 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:55 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:44 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:203 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:160 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:559 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:43 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:65 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:561 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:520 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:498 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:174 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:149 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:234 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:84 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:52 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:36

Caused by PDOException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: threads.body

/home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:449 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:640 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:607 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:450 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:404 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php:32 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2131 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1236 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:677 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:642 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:511 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:724 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Support/helpers.php:878 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:725 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1332 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1344 /home/vagrant/Code/forum/app/Http/Controllers/ThreadController.php:51 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:55 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:44 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:203 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:160 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:559 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:43 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:65 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:561 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:520 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:498 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:174 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:149 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:234 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:84 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:52 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:36

  1. Tests\Feature\CreateThreadsTest::a_thread_requires_a_valid_channel Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: threads.channel_id (SQL: insert into "threads" ("user_id", "title", "channel_id", "body", "updated_at", "created_at") values (1, Quasi minus doloribus incidunt illo est., , Debitis adipisci et natus nisi eum totam suscipit. Error eveniet et veritatis ipsum. At doloremque omnis libero autem. Consequatur non non explicabo tempora porro., 2018-01-07 22:24:20, 2018-01-07 22:24:20))

/home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:647 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:607 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:450 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:404 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php:32 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2131 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1236 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:677 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:642 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:511 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:724 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Support/helpers.php:878 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:725 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1332 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1344 /home/vagrant/Code/forum/app/Http/Controllers/ThreadController.php:51 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:55 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:44 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:203 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:160 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:559 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:43 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:65 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:561 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:520 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:498 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:174 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:149 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:234 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:84 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:52 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:43

Caused by PDOException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: threads.channel_id

/home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:449 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:640 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:607 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:450 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:404 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php:32 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2131 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1236 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:677 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:642 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:511 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:724 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Support/helpers.php:878 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:725 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1332 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1344 /home/vagrant/Code/forum/app/Http/Controllers/ThreadController.php:51 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:55 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:44 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:203 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Route.php:160 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:559 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:43 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:65 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:59 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:561 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:520 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Router.php:498 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:174 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:30 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:46 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:148 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:53 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:102 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:149 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:116 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:234 /home/vagrant/Code/forum/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:84 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:52 /home/vagrant/Code/forum/tests/Feature/CreateThreadsTest.php:43''

Here is my CreateThreadsTest.php file: '''<?php namespace Tests\Feature; use Illuminate\Foundation\Testing\DatabaseMigrations; use Tests\TestCase; class CreateThreadsTest extends TestCase { use DatabaseMigrations; /** @test / function guests_may_not_create_threads() { $this->withExceptionHandling(); $this->get('/threads/create') ->assertRedirect('/login'); $this->post('/threads', []) ->assertRedirect('/login'); } /* @test / function an_authenticated_user_can_create_new_forum_threads() { $this->signIn(); $thread = make('App\Thread'); $response = $this->post('/threads', $thread->toArray()); $this->get($response->headers->get('Location')) ->assertSee($thread->title) ->assertSee($thread->body); } /* @test / function a_thread_requires_a_title() { $this->publishThread(['title' => null]) ->assertSessionHasErrors('title'); } /* @test / function a_thread_requires_a_body() { $this->publishThread(['body' => null]) ->assertSessionHasErrors('body'); } /* @test */ function a_thread_requires_a_valid_channel() { factory('App\Channel', 2)->create(); $this->publishThread(['channel_id' => null]) ->assertSessionHasErrors('channel_id'); $this->publishThread(['channel_id' => 999]) ->assertSessionHasErrors('channel_id'); } protected function publishThread($overrides = []) { $this->withExceptionHandling()->signIn(); $thread = make('App\Thread', $overrides); return $this->post('/threads', $thread->toArray()); } }''' And here's my ThreadsController.php file to show I did the validation the way Jerrery instructs in the video: '''<?php

namespace App\Http\Controllers;

use App\Thread; use Illuminate\Http\Request;

class ThreadController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function __construct() { $this->middleware('auth')->except(['index', 'show']); }

public function index()
{   $threads = Thread::latest()->get();
    return view('threads.index', compact('threads'));
}

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    return view('threads.create');
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    $this->validate($request, [
        'title' => 'required'

    ]);
    $thread = Thread::create([
        'user_id' => auth()->id(),
        'title' => request('title'),
        'channel_id' => request('channel_id'),
        'body' => request('body'),

    ]);
    return redirect($thread->path());
}


/**
 * Display the specified resource.
 *
 * @param  \App\Thead  $thead
 * @return \Illuminate\Http\Response
 */
public function show($channelId, Thread $thread)
{
    return view('threads.show', compact('thread'));
}

/**
 * Show the form for editing the specified resource.
 *
 * @param  \App\Thead  $thead
 * @return \Illuminate\Http\Response
 */
public function edit(Thead $thead)
{
    //
}

/**
 * Update the specified resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \App\Thead  $thead
 * @return \Illuminate\Http\Response
 */
public function update(Request $request, Thead $thead)
{
    //
}

/**
 * Remove the specified resource from storage.
 *
 * @param  \App\Thead  $thead
 * @return \Illuminate\Http\Response
 */
public function destroy(Thead $thead)
{
    //
}

}'''

Thanks for the help! If you need more code let me know. Thanks!

16 Jun
2 years ago

canadianlover started a new conversation PHPUnit Test Dealing 14 Unique Playing Cards

So I have been stumped by this problem for a while now. I am creating a Pai Gow Poker website (for those of you who don't know what Pai Gow is, it's a game where two combined decks are shuffled. Seven cards are dealt to the player and seven for the dealer. The player and dealer make a high and low hand (the high out of 5 cards and the low 2), For more details look on the game's Wikipedia page.

I am writing a PHPUnit test which ensures that the 14 cards dealt are unique and all cards dealt for both hands contain no duplicates. When I run my PHHPUnit test in my Vagrantvo, I get the following error:

``

  1. Tests\Feature\GameTest::test_both_hands_have_unique_cards ErrorException: Object of class Closure could not be converted to string

/home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Support/Str.php:300 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Support/Str.php:281 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/QueryException.php:56 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/QueryException.php:39 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Connection.php:648 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Connection.php:607 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Connection.php:450 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Connection.php:404 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php:32 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2131 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1236 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:677 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:642 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:511 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:148 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Support/Collection.php:260 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:149 /home/vagrant/Code/bitpaigow/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:131 /home/vagrant/Code/bitpaigow/tests/Feature/GameTest.php:32``

I am using a ```for loop incrementing by 2 to select every second card dealt by the model factory. I elected to use this method because only from what I know so far, only 1 method can be used to generate models. I used static variables in the method, but I am not sure if this is the best way to go. I tried using faker to generate random playing cards, but PHPUnit said the maximum amount of retries exceeded and no unique cards were found. Here is the current code I have

GameTest.php


namespace Tests\Feature;

use Tests\TestCase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class GameTest extends TestCase
{
    use DatabaseMigrations;
    /**
     * A basic test example.
     *
     * @return void
     */
    public function setUp() {

        parent::setUp();

        $this->game = factory('App\Game')->create();
        $this->user = factory('App\User')->create();
        $this->hand = factory('App\Hand')->create(['player' => 1, 'user_id' =>  $this->user->id]);


    }

   public function test_both_hands_have_unique_cards()
   {

       $cards = factory('App\Card', 14)->create(['game_id' => $this->game->id, 'hand_id' => $this->hand->id]);

       for($i =0; $i <= 13; $i+=2) {
           $this->assertTrue(($cards[$i]->suite == $cards[$i++]->suite) && ($cards[$i]->value == $cards[$i++]->value));
       }


   }





}

ModelFactory.php



/*
|--------------------------------------------------------------------------
| Model Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories. Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
|
*/

/** @var \Illuminate\Database\Eloquent\Factory $factory */
$factory->define(App\User::class, function (Faker\Generator $faker) {
    static $password;

    return [
        'id' => $faker->randomNumber(3),
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'password' => $password ?: $password = bcrypt('secret'),
        'remember_token' => str_random(10),
    ];
});

$factory->define(App\Hand::class, function(Faker\Generator $faker) {

    return [

        'user_id' => function() {
            return factory('App\User')->create()->id;
        },
        'game_id' => function() {

            return factory('App\Game')->create()->id;

        },





    ];
});

$factory->define(App\Game::class, function(Faker\Generator $faker) {
    return ['user_id' => function () {
        return factory('App\User')->create()->id;

    }];
});

$factory->define(App\Card::class, function(Faker\Generator $faker) {
    static $cards = null;

    $cards = ['H' => range(1,13),
    'D' => range(1,13),
    'S' => range(1,13),
    'C' => range(1,13)];

    $pick_suite = ['H', 'D', 'S', 'C'];
    $selected_suite = $pick_suite[rand(1,3)];
    $selected_value = rand(0, count($cards[$selected_suite]));

    // select card

    $selected_card = $cards[$selected_suite][$selected_value];

    // unset form array

    unset($cards[$selected_suite][$selected_value]);



   return ['player_hand' =>
        ['hand_id' => function () {
           return factory('App\Hand')->create()->id();
       },
       'suite' => $selected_suite,


       'value' => $selected_value,

            'player' => function() {
                static $player = false;
                if($player) {
                    $player = false;
                    return true;
                } else {
                    $player = true;
                    return false;
                }

            },

]];
    });

30 Mar
2 years ago

canadianlover left a reply on Cron Job Not Running

Ah I see, I have to do it in my server's control panel.

canadianlover started a new conversation Cron Job Not Running

I followed the Laracats tutorial on how to set up a cron job. I set up the command kernal to fire off a custom command every minute. The thing is, I just tested it, and the command is not running. I thought I did everything. I added the code and set up the cron entry on the server, using the command line and the five asterisk thing. I added it several times thgough. WOuld that cause conflicts? Thanks for the help!


namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        // Commands\Inspire::class,
        Commands\UpdateDeposits::class
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        // $schedule->command('inspire')
        //          ->hourly();

        $schedule->command('cryptoflip:updatedeposits')->everyMinute()->evenInMaintenanceMode();;
    }
}
08 Mar
2 years ago

canadianlover left a reply on Dedicated Host Not Loading Routes Or /public/index.php

That's the thing. Even when I call public/test.php in the public folder, I still get a 404 error. I tried putting the test file in /public and I still get that error.

canadianlover started a new conversation Dedicated Host Not Loading Routes Or /public/index.php

Hi everyone. I have a bit of a strange problem. I just got a dedicated server, an I pushed my code to my server. When I load any route or even /public/index.php, I get a 404 file not found error. I followed the tutorial on setting up a new virtual host in Apache and set up the configuration, as well as added AllowOverride to my apache2.httpd file. However, when I load any route or the public/index.php file, I get a 404 file not fond error.

I double checked my configuration file to make sure my DocumentRoot directory is correct. I also uploaded a phpinfo script to see if it would load anything. Still get a 404 error when I load test.php If there was an easy way to copy and paste my configuration file I would paste them. I tried installing Xsel, but I couldn't use it. I think everything is configured properly in apache2.conf as well as my .htaccess file anyway.

15 Feb
2 years ago

canadianlover left a reply on Token Mismatch Exception. Unexpected $

Here is the snippit from the original post, line 103 in the blade file

 obj.$http.post('/api/updateready/' + this.gameid, formData);
                            obj.player2_ready = true;
                            console.log(obj.player2_ready);

Causes this error in Chrome DevTools: Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Due to Laravel throwing this exception

TokenMismatchException in VerifyCsrfToken.php line 68:

Edited for clarity.

14 Feb
2 years ago

canadianlover left a reply on Token Mismatch Exception. Unexpected $

I have checked my Google Chrome Devtools, and no, the CSRF token is not being sent. I am not sure where to put the code that was suggested to me by alenabdula

Forgive me but I haven't coded in JavaScript much. I am still new to AJAX in general. I also should have mentioned that the header was not being sent.

canadianlover left a reply on Token Mismatch Exception. Unexpected $

I tried putting that code in the header of the page, but when I load it I am still back to where I was before. When I try to post data to the updateready route. When I check the response in Chrome devtools I still get a Token Mismatch exception from Laravel. Thanks for the help.

13 Feb
2 years ago

canadianlover left a reply on Token Mismatch Exception. Unexpected $

@alenabdula Thanks.I just have one more question: Where do I place this code in my blade file? I tried placing if before myVue instance, but I get a TypeError: str.replace is not a function error when I try to place it before my Vue. I don't know where to put it

Vue.http.headers.common['X-CSRF-TOKEN'] = {
    'X-CSRF-TOKEN': window.App.csrfToken,
}

Also, I removed the jQuery and the uncaught reference error go away. Thanks for the help so far!

canadianlover left a reply on Token Mismatch Exception. Unexpected $

Is there a way to fix the token mismatch exception without using jQuery?

canadianlover left a reply on Token Mismatch Exception. Unexpected $

I don't think it's a problem with that line because Chrome devtools says it's a problem with this line:

'X-CSRF-Token': $('meta[name=_token]').attr('content')

canadianlover left a reply on Token Mismatch Exception. Unexpected $

That's me trying to add in a XXSRF header manually into my Vue script, as suggested here

http://stackoverflow.com/questions/39938284/how-to-pass-laravel-csrf-token-value-to-vue

12 Feb
2 years ago

canadianlover left a reply on Token Mismatch Exception. Unexpected $

No. I am not using jQuery at all.

canadianlover started a new conversation Token Mismatch Exception. Unexpected $

I have the following blade file with the HTML and Vue app in the same file:

@php
$game_script = true;
@endphp
@extends('layouts.app')

@section('content')

    <div id="app">

        <div align="center">
            <div v-show="player2_ready === false">Waiting for player2 to be ready</div>

            @php
            $image = rand(1, 5);
            $result = rand(0,1);


            @endphp

            @if($result)

                {!! Html::Image('img/coinflip/BTC_'.$image.'.gif', null, ['style' => 'height:250px']) !!}
            @else
                {!! Html::Image('img/coinflip/USD_'.$image.'.gif', null, ['style' => 'height:250px']) !!}
            @endif

            <p><strong>Countdown</strong> @{{countdowncounter}}</p>


        </div>

    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.10/vue.js"></script>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/1.0.3/vue-resource.js"></script>
<script>
    window.Vue = Vue;
    Vue.http.interceptors.push(function (request, next) {
        request.headers['X-CSRF-TOKEN'] = "{{ csrf_token() }}";
        next();
    });
    Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#_token').getAttribute('value');
   var vm = new Vue({
        el: '#app',



        data: function () {
            return {
                ready: null,
                result: 0,
                countdowncounter: 3,
                Id: null,
                gId: null,
                player2_ready: false,
                img_src: '../../public/img/coinflip/BTC_1.gif',
                gameid: {{$gameid}}
            }
        },



        methods: {
            loadGame: function () {

                // process coinflip upon ready game
                var result = Math.floor((Math.random() * 2) + 1);
                this.result = result;
                clearInterval(this.gId);
                // wait for game to be ready


            },


            countdown: function () {

                console.log('test');
                // check to see if player2 is ready is ready
                var self = this;
                this.$http.get('../api/games/ready/' + this.gameid).then(function (response) {

                    if (parseInt(response.body)) { // player2 is ready

                        // get opponent from API


                        self.countdowncounter = self.countdowncounter - 1;
                        if (self.countdowncounter == 0) {
                            self.loadGame();
                            clearTimeout(this.tId)

                        }

                    } else {
                        // check if user is player2
                        // game is joinable update the database

                        // get players id
                        var obj = self;

                        self.$http.get('../api/userid').then(function (userid) {
                            // update database
                            console.log(userid);
                            var formData = new FormData();
                            formData.append('player2', userid);
                            formData.append('player2_ready', 1);
                            obj.$http.post('../api/updateready/' + this.gameid, formData);
                            obj.player2_ready = true;
                            console.log(obj.player2_ready);
                        });

                    }


                });

            },
            play: function () {
                var self = this;


                //  this.tId = setInterval(function () {
                self.countdown();
                ///}, 1000);

            }


        },
        mounted: function () {
            console.log('This works');
            var self = this;
            this.$nextTick(function () {
                self.play();
            });


        }
    });
</script>

    @endsection

I added in the CSRF token at the top of the page. whe I open Chrome devtools in the browser, I get the following error message: Uncaught ReferenceError: $ is not defined at 1:78

I tried adding window.Vue = Vue to the top of the page but that did not help me. I tried several other options, but so far this seems to be the right thing to do. I could not find the video where Jeffery talks about CSRF and AJAX.

Thanks in advance for the help.

30 Jan
2 years ago

canadianlover left a reply on Vue.js:525 [Vue Warn]: Property Or Method "refresh" Is Not Defined On The Instance But Referenced During Render. Make Sure To Declare Reactive Data Properties In The Data Option After Update To Vue 2.0

      <template id="games-template">

          <div class="ongoing-container noselect" id="live-id-1" v-for="game in games">

              <!-- Will be automatised after implementation -->
              <div class="ongoing-game">
                  <div id="username">@{{game.player1}}</div>

                  <div id="ongoing">
                      <div v-if="(game.player1_ready && game.player2_ready)">
                          <a style="color:inherit;text-decoration:none" v-bind:href="'/play/'+game.id">Joinable</a>
                  </div>
                      <div v-else>
                         In Progress

                      </div>
                  </div>

                  <div id="btcamount">@{{ game.bet }}</div>
              </div>


          </div>
      </template>
29 Jan
2 years ago

canadianlover left a reply on Vue.js:525 [Vue Warn]: Property Or Method "refresh" Is Not Defined On The Instance But Referenced During Render. Make Sure To Declare Reactive Data Properties In The Data Option After Update To Vue 2.0

Thanks, but I'm still getting the same warning.

Here is my current code:

Vue.component('games', {
    template: '#games-template',


    data: function() {
        return {

            games: []


        };



    },

    methods: {

        loadData() {
            let self = this;

            this.$http.get('/api/games')
                .then(function (response) {


                    response.json()
                        .then(function (games) {
                            self.games = games;
                            console.log(games);
                        });

                });
        },

        refresh: function() {
            this.loadData();
            setInterval(function () {
                this.loadData();
            }.bind(this), 30000);
        }

    },


    mounted: function() {
        var self = this
        this.$nextTick(function() {
            self.refresh()
        });
    }


});




new Vue({
    el: '#app',

    computed: {
        url: function() {
        }

    }


});
28 Jan
2 years ago

canadianlover started a new conversation Vue.js:525 [Vue Warn]: Property Or Method "refresh" Is Not Defined On The Instance But Referenced During Render. Make Sure To Declare Reactive Data Properties In The Data Option After Update To Vue 2.0

I recently changed my CDN at the bottom of my Laravel app to Vue 2.0 and the app that was working to pull my records from the backend to the browser suddenly stpooed working. I check chrome DevTools and I get the following error:

vue.js:525 [Vue warn]: Property or method "refresh" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.

I tried running the migration helper on my project to see if that would help me, but it didn't. I tried Googling this problem for a while now and can't find an answer. Here is my code:

Vue.component('games', {
    template: '#games-template',


    data: function() {
        return {

            games: []


        };



    },

    methods: {
        loadData: function() {
            var self = this;

            this.$http.get('/api/games').then(function (response) {
                // fetch array from jsoN object

                response.json().then(function (games) {
                    self.games = games;
                    console.log(games);
                });

            });
        },
        refresh: function() {
            this.loadData();
              setInterval(function () {
            this.loadData();
        }.bind(this), 30000);
        }
      
    },


    mounted: function () {
        this.$nextTick(function () {

            this.refresh();
        })
    }


});




new Vue({
    el: '#app',

    computed: {
        url: function() {
        }

    }


});```
Thanks in advance for the help!
20 Jan
2 years ago

canadianlover left a reply on Getting Fonts To Display On My Laravel App

I checked my relative paths and yes that was the problem. thanks!

canadianlover left a reply on Getting Fonts To Display On My Laravel App

I forgot to mention that I opened up Chrome devtools and my fonts don't load. I get a 404 error in DevTools telling me that the font can't be loaded. I made sure gulp copied the font files over and changed the paths to the relative directory. Here is my compiled CSS:

'@charset "UTF-8";
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .navbar {
    display: none; }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important; }
  .label {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important; } }

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot");
  src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); }

.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.glyphicon-asterisk:before {
  content: "\002a"; }

.glyphicon-plus:before {
  content: "\002b"; }

.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac"; }

.glyphicon-minus:before {
  content: "\2212"; }

.glyphicon-cloud:before {
  content: "\2601"; }

.glyphicon-envelope:before {
  content: "\2709"; }

.glyphicon-pencil:before {
  content: "\270f"; }

.glyphicon-glass:before {
  content: "\e001"; }

.glyphicon-music:before {
  content: "\e002"; }

.glyphicon-search:before {
  content: "\e003"; }

.glyphicon-heart:before {
  content: "\e005"; }

.glyphicon-star:before {
  content: "\e006"; }

.glyphicon-star-empty:before {
  content: "\e007"; }

.glyphicon-user:before {
  content: "\e008"; }

.glyphicon-film:before {
  content: "\e009"; }

.glyphicon-th-large:before {
  content: "\e010"; }

.glyphicon-th:before {
  content: "\e011"; }

.glyphicon-th-list:before {
  content: "\e012"; }

.glyphicon-ok:before {
  content: "\e013"; }

.glyphicon-remove:before {
  content: "\e014"; }

.glyphicon-zoom-in:before {
  content: "\e015"; }

.glyphicon-zoom-out:before {
  content: "\e016"; }

.glyphicon-off:before {
  content: "\e017"; }

.glyphicon-signal:before {
  content: "\e018"; }

.glyphicon-cog:before {
  content: "\e019"; }

.glyphicon-trash:before {
  content: "\e020"; }

.glyphicon-home:before {
  content: "\e021"; }

.glyphicon-file:before {
  content: "\e022"; }

.glyphicon-time:before {
  content: "\e023"; }

.glyphicon-road:before {
  content: "\e024"; }

.glyphicon-download-alt:before {
  content: "\e025"; }

.glyphicon-download:before {
  content: "\e026"; }

.glyphicon-upload:before {
  content: "\e027"; }

.glyphicon-inbox:before {
  content: "\e028"; }

.glyphicon-play-circle:before {
  content: "\e029"; }

.glyphicon-repeat:before {
  content: "\e030"; }

.glyphicon-refresh:before {
  content: "\e031"; }

.glyphicon-list-alt:before {
  content: "\e032"; }

.glyphicon-lock:before {
  content: "\e033"; }

.glyphicon-flag:before {
  content: "\e034"; }

.glyphicon-headphones:before {
  content: "\e035"; }

.glyphicon-volume-off:before {
  content: "\e036"; }

.glyphicon-volume-down:before {
  content: "\e037"; }

.glyphicon-volume-up:before {
  content: "\e038"; }

.glyphicon-qrcode:before {
  content: "\e039"; }

.glyphicon-barcode:before {
  content: "\e040"; }

.glyphicon-tag:before {
  content: "\e041"; }

.glyphicon-tags:before {
  content: "\e042"; }

.glyphicon-book:before {
  content: "\e043"; }

.glyphicon-bookmark:before {
  content: "\e044"; }

.glyphicon-print:before {
  content: "\e045"; }

.glyphicon-camera:before {
  content: "\e046"; }

.glyphicon-font:before {
  content: "\e047"; }

.glyphicon-bold:before {
  content: "\e048"; }

.glyphicon-italic:before {
  content: "\e049"; }

.glyphicon-text-height:before {
  content: "\e050"; }

.glyphicon-text-width:before {
  content: "\e051"; }

.glyphicon-align-left:before {
  content: "\e052"; }

.glyphicon-align-center:before {
  content: "\e053"; }

.glyphicon-align-right:before {
  content: "\e054"; }

.glyphicon-align-justify:before {
  content: "\e055"; }

.glyphicon-list:before {
  content: "\e056"; }

.glyphicon-indent-left:before {
  content: "\e057"; }

.glyphicon-indent-right:before {
  content: "\e058"; }

.glyphicon-facetime-video:before {
  content: "\e059"; }

.glyphicon-picture:before {
  content: "\e060"; }

.glyphicon-map-marker:before {
  content: "\e062"; }

.glyphicon-adjust:before {
  content: "\e063"; }

.glyphicon-tint:before {
  content: "\e064"; }

.glyphicon-edit:before {
  content: "\e065"; }

.glyphicon-share:before {
  content: "\e066"; }

.glyphicon-check:before {
  content: "\e067"; }

.glyphicon-move:before {
  content: "\e068"; }

.glyphicon-step-backward:before {
  content: "\e069"; }

.glyphicon-fast-backward:before {
  content: "\e070"; }

.glyphicon-backward:before {
  content: "\e071"; }

.glyphicon-play:before {
  content: "\e072"; }

.glyphicon-pause:before {
  content: "\e073"; }

.glyphicon-stop:before {
  content: "\e074"; }

.glyphicon-forward:before {
  content: "\e075"; }

.glyphicon-fast-forward:before {
  content: "\e076"; }

.glyphicon-step-forward:before {
  content: "\e077"; }

.glyphicon-eject:before {
  content: "\e078"; }

.glyphicon-chevron-left:before {
  content: "\e079"; }

.glyphicon-chevron-right:before {
  content: "\e080"; }

.glyphicon-plus-sign:before {
  content: "\e081"; }

.glyphicon-minus-sign:before {
  content: "\e082"; }

.glyphicon-remove-sign:before {
  content: "\e083"; }

.glyphicon-ok-sign:before {
  content: "\e084"; }

.glyphicon-question-sign:before {
  content: "\e085"; }

.glyphicon-info-sign:before {
  content: "\e086"; }

.glyphicon-screenshot:before {
  content: "\e087"; }

.glyphicon-remove-circle:before {
  content: "\e088"; }

.glyphicon-ok-circle:before {
  content: "\e089"; }

.glyphicon-ban-circle:before {
  content: "\e090"; }

.glyphicon-arrow-left:before {
  content: "\e091"; }

.glyphicon-arrow-right:before {
  content: "\e092"; }

.glyphicon-arrow-up:before {
  content: "\e093"; }

.glyphicon-arrow-down:before {
  content: "\e094"; }

.glyphicon-share-alt:before {
  content: "\e095"; }

.glyphicon-resize-full:before {
  content: "\e096"; }

.glyphicon-resize-small:before {
  content: "\e097"; }

.glyphicon-exclamation-sign:before {
  content: "\e101"; }

.glyphicon-gift:before {
  content: "\e102"; }

.glyphicon-leaf:before {
  content: "\e103"; }

.glyphicon-fire:before {
  content: "\e104"; }

.glyphicon-eye-open:before {
  content: "\e105"; }

.glyphicon-eye-close:before {
  content: "\e106"; }

.glyphicon-warning-sign:before {
  content: "\e107"; }

.glyphicon-plane:before {
  content: "\e108"; }

.glyphicon-calendar:before {
  content: "\e109"; }

.glyphicon-random:before {
  content: "\e110"; }

.glyphicon-comment:before {
  content: "\e111"; }

.glyphicon-magnet:before {
  content: "\e112"; }

.glyphicon-chevron-up:before {
  content: "\e113"; }

.glyphicon-chevron-down:before {
  content: "\e114"; }

.glyphicon-retweet:before {
  content: "\e115"; }

.glyphicon-shopping-cart:before {
  content: "\e116"; }

.glyphicon-folder-close:before {
  content: "\e117"; }

.glyphicon-folder-open:before {
  content: "\e118"; }

.glyphicon-resize-vertical:before {
  content: "\e119"; }

.glyphicon-resize-horizontal:before {
  content: "\e120"; }

.glyphicon-hdd:before {
  content: "\e121"; }

.glyphicon-bullhorn:before {
  content: "\e122"; }

.glyphicon-bell:before {
  content: "\e123"; }

.glyphicon-certificate:before {
  content: "\e124"; }

.glyphicon-thumbs-up:before {
  content: "\e125"; }

.glyphicon-thumbs-down:before {
  content: "\e126"; }

.glyphicon-hand-right:before {
  content: "\e127"; }

.glyphicon-hand-left:before {
  content: "\e128"; }

.glyphicon-hand-up:before {
  content: "\e129"; }

.glyphicon-hand-down:before {
  content: "\e130"; }

.glyphicon-circle-arrow-right:before {
  content: "\e131"; }

.glyphicon-circle-arrow-left:before {
  content: "\e132"; }

.glyphicon-circle-arrow-up:before {
  content: "\e133"; }

.glyphicon-circle-arrow-down:before {
  content: "\e134"; }

.glyphicon-globe:before {
  content: "\e135"; }

.glyphicon-wrench:before {
  content: "\e136"; }

.glyphicon-tasks:before {
  content: "\e137"; }

.glyphicon-filter:before {
  content: "\e138"; }

.glyphicon-briefcase:before {
  content: "\e139"; }

.glyphicon-fullscreen:before {
  content: "\e140"; }

.glyphicon-dashboard:before {
  content: "\e141"; }

.glyphicon-paperclip:before {
  content: "\e142"; }

.glyphicon-heart-empty:before {
  content: "\e143"; }

.glyphicon-link:before {
  content: "\e144"; }

.glyphicon-phone:before {
  content: "\e145"; }

.glyphicon-pushpin:before {
  content: "\e146"; }

.glyphicon-usd:before {
  content: "\e148"; }

.glyphicon-gbp:before {
  content: "\e149"; }

.glyphicon-sort:before {
  content: "\e150"; }

.glyphicon-sort-by-alphabet:before {
  content: "\e151"; }

.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152"; }

.glyphicon-sort-by-order:before {
  content: "\e153"; }

.glyphicon-sort-by-order-alt:before {
  content: "\e154"; }

.glyphicon-sort-by-attributes:before {
  content: "\e155"; }

.glyphicon-sort-by-attributes-alt:before {
  content: "\e156"; }

.glyphicon-unchecked:before {
  content: "\e157"; }

.glyphicon-expand:before {
  content: "\e158"; }

.glyphicon-collapse-down:before {
  content: "\e159"; }

.glyphicon-collapse-up:before {
  content: "\e160"; }

.glyphicon-log-in:before {
  content: "\e161"; }

.glyphicon-flash:before {
  content: "\e162"; }

.glyphicon-log-out:before {
  content: "\e163"; }

.glyphicon-new-window:before {
  content: "\e164"; }

.glyphicon-record:before {
  content: "\e165"; }

.glyphicon-save:before {
  content: "\e166"; }

.glyphicon-open:before {
  content: "\e167"; }

.glyphicon-saved:before {
  content: "\e168"; }

.glyphicon-import:before {
  content: "\e169"; }

.glyphicon-export:before {
  content: "\e170"; }

.glyphicon-send:before {
  content: "\e171"; }

.glyphicon-floppy-disk:before {
  content: "\e172"; }

.glyphicon-floppy-saved:before {
  content: "\e173"; }

.glyphicon-floppy-remove:before {
  content: "\e174"; }

.glyphicon-floppy-save:before {
  content: "\e175"; }

.glyphicon-floppy-open:before {
  content: "\e176"; }

.glyphicon-credit-card:before {
  content: "\e177"; }

.glyphicon-transfer:before {
  content: "\e178"; }

.glyphicon-cutlery:before {
  content: "\e179"; }

.glyphicon-header:before {
  content: "\e180"; }

.glyphicon-compressed:before {
  content: "\e181"; }

.glyphicon-earphone:before {
  content: "\e182"; }

.glyphicon-phone-alt:before {
  content: "\e183"; }

.glyphicon-tower:before {
  content: "\e184"; }

.glyphicon-stats:before {
  content: "\e185"; }

.glyphicon-sd-video:before {
  content: "\e186"; }

.glyphicon-hd-video:before {
  content: "\e187"; }

.glyphicon-subtitles:before {
  content: "\e188"; }

.glyphicon-sound-stereo:before {
  content: "\e189"; }

.glyphicon-sound-dolby:before {
  content: "\e190"; }

.glyphicon-sound-5-1:before {
  content: "\e191"; }

.glyphicon-sound-6-1:before {
  content: "\e192"; }

.glyphicon-sound-7-1:before {
  content: "\e193"; }

.glyphicon-copyright-mark:before {
  content: "\e194"; }

.glyphicon-registration-mark:before {
  content: "\e195"; }

.glyphicon-cloud-download:before {
  content: "\e197"; }

.glyphicon-cloud-upload:before {
  content: "\e198"; }

.glyphicon-tree-conifer:before {
  content: "\e199"; }

.glyphicon-tree-deciduous:before {
  content: "\e200"; }

.glyphicon-cd:before {
  content: "\e201"; }

.glyphicon-save-file:before {
  content: "\e202"; }

.glyphicon-open-file:before {
  content: "\e203"; }

.glyphicon-level-up:before {
  content: "\e204"; }

.glyphicon-copy:before {
  content: "\e205"; }

.glyphicon-paste:before {
  content: "\e206"; }

.glyphicon-alert:before {
  content: "\e209"; }

.glyphicon-equalizer:before {
  content: "\e210"; }

.glyphicon-king:before {
  content: "\e211"; }

.glyphicon-queen:before {
  content: "\e212"; }

.glyphicon-pawn:before {
  content: "\e213"; }

.glyphicon-bishop:before {
  content: "\e214"; }

.glyphicon-knight:before {
  content: "\e215"; }

.glyphicon-baby-formula:before {
  content: "\e216"; }

.glyphicon-tent:before {
  content: "\26fa"; }

.glyphicon-blackboard:before {
  content: "\e218"; }

.glyphicon-bed:before {
  content: "\e219"; }

.glyphicon-apple:before {
  content: "\f8ff"; }

.glyphicon-erase:before {
  content: "\e221"; }

.glyphicon-hourglass:before {
  content: "\231b"; }

.glyphicon-lamp:before {
  content: "\e223"; }

.glyphicon-duplicate:before {
  content: "\e224"; }

.glyphicon-piggy-bank:before {
  content: "\e225"; }

.glyphicon-scissors:before {
  content: "\e226"; }

.glyphicon-bitcoin:before {
  content: "\e227"; }

.glyphicon-btc:before {
  content: "\e227"; }

.glyphicon-xbt:before {
  content: "\e227"; }

.glyphicon-yen:before {
  content: "\00a5"; }

.glyphicon-jpy:before {
  content: "\00a5"; }

.glyphicon-ruble:before {
  content: "\20bd"; }

.glyphicon-rub:before {
  content: "\20bd"; }

.glyphicon-scale:before {
  content: "\e230"; }

.glyphicon-ice-lolly:before {
  content: "\e231"; }

.glyphicon-ice-lolly-tasted:before {
  content: "\e232"; }

.glyphicon-education:before {
  content: "\e233"; }

.glyphicon-option-horizontal:before {
  content: "\e234"; }

.glyphicon-option-vertical:before {
  content: "\e235"; }

.glyphicon-menu-hamburger:before {
  content: "\e236"; }

.glyphicon-modal-window:before {
  content: "\e237"; }

.glyphicon-oil:before {
  content: "\e238"; }

.glyphicon-grain:before {
  content: "\e239"; }

.glyphicon-sunglasses:before {
  content: "\e240"; }

.glyphicon-text-size:before {
  content: "\e241"; }

.glyphicon-text-color:before {
  content: "\e242"; }

.glyphicon-text-background:before {
  content: "\e243"; }

.glyphicon-object-align-top:before {
  content: "\e244"; }

.glyphicon-object-align-bottom:before {
  content: "\e245"; }

.glyphicon-object-align-horizontal:before {
  content: "\e246"; }

.glyphicon-object-align-left:before {
  content: "\e247"; }

.glyphicon-object-align-vertical:before {
  content: "\e248"; }

.glyphicon-object-align-right:before {
  content: "\e249"; }

.glyphicon-triangle-right:before {
  content: "\e250"; }

.glyphicon-triangle-left:before {
  content: "\e251"; }

.glyphicon-triangle-bottom:before {
  content: "\e252"; }

.glyphicon-triangle-top:before {
  content: "\e253"; }

.glyphicon-console:before {
  content: "\e254"; }

.glyphicon-superscript:before {
  content: "\e255"; }

.glyphicon-subscript:before {
  content: "\e256"; }

.glyphicon-menu-left:before {
  content: "\e257"; }

.glyphicon-menu-right:before {
  content: "\e258"; }

.glyphicon-menu-down:before {
  content: "\e259"; }

.glyphicon-menu-up:before {
  content: "\e260"; }

* {
  box-sizing: border-box; }

*:before,
*:after {
  box-sizing: border-box; }

html {
  font-size: 10px;
  -webkit-tap-highlight-color: transparent; }

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.428571429;
  color: #333333;
  background-color: #fff; }

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

a {
  color: #337ab7;
  text-decoration: none; }
  a:hover, a:focus {
    color: #23527c;
    text-decoration: underline; }
  a:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }

figure {
  margin: 0; }

img {
  vertical-align: middle; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

.img-rounded {
  border-radius: 6px; }

.img-thumbnail {
  padding: 4px;
  line-height: 1.428571429;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto; }

.img-circle {
  border-radius: 50%; }

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eeeeee; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

[role="button"] {
  cursor: pointer; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit; }
  h1 small,
  h1 .small, h2 small,
  h2 .small, h3 small,
  h3 .small, h4 small,
  h4 .small, h5 small,
  h5 .small, h6 small,
  h6 .small,
  .h1 small,
  .h1 .small, .h2 small,
  .h2 .small, .h3 small,
  .h3 .small, .h4 small,
  .h4 .small, .h5 small,
  .h5 .small, .h6 small,
  .h6 .small {
    font-weight: normal;
    line-height: 1;
    color: #777777; }

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 20px;
  margin-bottom: 10px; }
  h1 small,
  h1 .small, .h1 small,
  .h1 .small,
  h2 small,
  h2 .small, .h2 small,
  .h2 .small,
  h3 small,
  h3 .small, .h3 small,
  .h3 .small {
    font-size: 65%; }

h4, .h4,
h5, .h5,
h6, .h6 {
  margin-top: 10px;
  margin-bottom: 10px; }
  h4 small,
  h4 .small, .h4 small,
  .h4 .small,
  h5 small,
  h5 .small, .h5 small,
  .h5 .small,
  h6 small,
  h6 .small, .h6 small,
  .h6 .small {
    font-size: 75%; }

h1, .h1 {
  font-size: 36px; }

h2, .h2 {
  font-size: 30px; }

h3, .h3 {
  font-size: 24px; }

h4, .h4 {
  font-size: 18px; }

h5, .h5 {
  font-size: 14px; }

h6, .h6 {
  font-size: 12px; }

p {
  margin: 0 0 10px; }

.lead {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4; }
  @media (min-width: 768px) {
    .lead {
      font-size: 21px; } }

small,
.small {
  font-size: 85%; }

mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

.text-nowrap {
  white-space: nowrap; }

.text-lowercase {
  text-transform: lowercase; }

.text-uppercase, .initialism {
  text-transform: uppercase; }

.text-capitalize {
  text-transform: capitalize; }

.text-muted {
  color: #777777; }

.text-primary {
  color: #337ab7; }

a.text-primary:hover,
a.text-primary:focus {
  color: #286090; }

.text-success {
  color: #3c763d; }

a.text-success:hover,
a.text-success:focus {
  color: #2b542c; }

.text-info {
  color: #31708f; }

a.text-info:hover,
a.text-info:focus {
  color: #245269; }

.text-warning {
  color: #8a6d3b; }

a.text-warning:hover,
a.text-warning:focus {
  color: #66512c; }

.text-danger {
  color: #a94442; }

a.text-danger:hover,
a.text-danger:focus {
  color: #843534; }

.bg-primary {
  color: #fff; }

.bg-primary {
  background-color: #337ab7; }

a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090; }

.bg-success {
  background-color: #dff0d8; }

a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3; }

.bg-info {
  background-color: #d9edf7; }

a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee; }

.bg-warning {
  background-color: #fcf8e3; }

a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5; }

.bg-danger {
  background-color: #f2dede; }

a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9; }

.page-header {
  padding-bottom: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #eeeeee; }

ul,
ol {
  margin-top: 0;
  margin-bottom: 10px; }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-bottom: 0; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px; }
  .list-inline > li {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px; }

dl {
  margin-top: 0;
  margin-bottom: 20px; }

dt,
dd {
  line-height: 1.428571429; }

dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

.dl-horizontal dd:before, .dl-horizontal dd:after {
  content: " ";
  display: table; }

.dl-horizontal dd:after {
  clear: both; }

@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .dl-horizontal dd {
    margin-left: 180px; } }

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777; }

.initialism {
  font-size: 90%; }

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  border-left: 5px solid #eeeeee; }
  blockquote p:last-child,
  blockquote ul:last-child,
  blockquote ol:last-child {
    margin-bottom: 0; }
  blockquote footer,
  blockquote small,
  blockquote .small {
    display: block;
    font-size: 80%;
    line-height: 1.428571429;
    color: #777777; }
    blockquote footer:before,
    blockquote small:before,
    blockquote .small:before {
      content: '\2014 \00A0'; }

.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right; }
  .blockquote-reverse footer:before,
  .blockquote-reverse small:before,
  .blockquote-reverse .small:before,
  blockquote.pull-right footer:before,
  blockquote.pull-right small:before,
  blockquote.pull-right .small:before {
    content: ''; }
  .blockquote-reverse footer:after,
  .blockquote-reverse small:after,
  .blockquote-reverse .small:after,
  blockquote.pull-right footer:after,
  blockquote.pull-right small:after,
  blockquote.pull-right .small:after {
    content: '\00A0 \2014'; }

address {
  margin-bottom: 20px;
  font-style: normal;
  line-height: 1.428571429; }

code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px; }

kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #fff;
  background-color: #333;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: bold;
    box-shadow: none; }

pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.428571429;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px; }
  pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    white-space: pre-wrap;
    background-color: transparent;
    border-radius: 0; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container:before, .container:after {
    content: " ";
    display: table; }
  .container:after {
    clear: both; }
  @media (min-width: 768px) {
    .container {
      width: 750px; } }
  @media (min-width: 992px) {
    .container {
      width: 970px; } }
  @media (min-width: 1200px) {
    .container {
      width: 1170px; } }

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container-fluid:before, .container-fluid:after {
    content: " ";
    display: table; }
  .container-fluid:after {
    clear: both; }

.row {
  margin-left: -15px;
  margin-right: -15px; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left; }

.col-xs-1 {
  width: 8.3333333333%; }

.col-xs-2 {
  width: 16.6666666667%; }

.col-xs-3 {
  width: 25%; }

.col-xs-4 {
  width: 33.3333333333%; }

.col-xs-5 {
  width: 41.6666666667%; }

.col-xs-6 {
  width: 50%; }

.col-xs-7 {
  width: 58.3333333333%; }

.col-xs-8 {
  width: 66.6666666667%; }

.col-xs-9 {
  width: 75%; }

.col-xs-10 {
  width: 83.3333333333%; }

.col-xs-11 {
  width: 91.6666666667%; }

.col-xs-12 {
  width: 100%; }

.col-xs-pull-0 {
  right: auto; }

.col-xs-pull-1 {
  right: 8.3333333333%; }

.col-xs-pull-2 {
  right: 16.6666666667%; }

.col-xs-pull-3 {
  right: 25%; }

.col-xs-pull-4 {
  right: 33.3333333333%; }

.col-xs-pull-5 {
  right: 41.6666666667%; }

.col-xs-pull-6 {
  right: 50%; }

.col-xs-pull-7 {
  right: 58.3333333333%; }

.col-xs-pull-8 {
  right: 66.6666666667%; }

.col-xs-pull-9 {
  right: 75%; }

.col-xs-pull-10 {
  right: 83.3333333333%; }

.col-xs-pull-11 {
  right: 91.6666666667%; }

.col-xs-pull-12 {
  right: 100%; }

.col-xs-push-0 {
  left: auto; }

.col-xs-push-1 {
  left: 8.3333333333%; }

.col-xs-push-2 {
  left: 16.6666666667%; }

.col-xs-push-3 {
  left: 25%; }

.col-xs-push-4 {
  left: 33.3333333333%; }

.col-xs-push-5 {
  left: 41.6666666667%; }

.col-xs-push-6 {
  left: 50%; }

.col-xs-push-7 {
  left: 58.3333333333%; }

.col-xs-push-8 {
  left: 66.6666666667%; }

.col-xs-push-9 {
  left: 75%; }

.col-xs-push-10 {
  left: 83.3333333333%; }

.col-xs-push-11 {
  left: 91.6666666667%; }

.col-xs-push-12 {
  left: 100%; }

.col-xs-offset-0 {
  margin-left: 0%; }

.col-xs-offset-1 {
  margin-left: 8.3333333333%; }

.col-xs-offset-2 {
  margin-left: 16.6666666667%; }

.col-xs-offset-3 {
  margin-left: 25%; }

.col-xs-offset-4 {
  margin-left: 33.3333333333%; }

.col-xs-offset-5 {
  margin-left: 41.6666666667%; }

.col-xs-offset-6 {
  margin-left: 50%; }

.col-xs-offset-7 {
  margin-left: 58.3333333333%; }

.col-xs-offset-8 {
  margin-left: 66.6666666667%; }

.col-xs-offset-9 {
  margin-left: 75%; }

.col-xs-offset-10 {
  margin-left: 83.3333333333%; }

.col-xs-offset-11 {
  margin-left: 91.6666666667%; }

.col-xs-offset-12 {
  margin-left: 100%; }

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left; }
  .col-sm-1 {
    width: 8.3333333333%; }
  .col-sm-2 {
    width: 16.6666666667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4 {
    width: 33.3333333333%; }
  .col-sm-5 {
    width: 41.6666666667%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-7 {
    width: 58.3333333333%; }
  .col-sm-8 {
    width: 66.6666666667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.3333333333%; }
  .col-sm-11 {
    width: 91.6666666667%; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.3333333333%; }
  .col-sm-pull-2 {
    right: 16.6666666667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.3333333333%; }
  .col-sm-pull-5 {
    right: 41.6666666667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.3333333333%; }
  .col-sm-pull-8 {
    right: 66.6666666667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.3333333333%; }
  .col-sm-pull-11 {
    right: 91.6666666667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.3333333333%; }
  .col-sm-push-2 {
    left: 16.6666666667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.3333333333%; }
  .col-sm-push-5 {
    left: 41.6666666667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.3333333333%; }
  .col-sm-push-8 {
    left: 66.6666666667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.3333333333%; }
  .col-sm-push-11 {
    left: 91.6666666667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.3333333333%; }
  .col-sm-offset-2 {
    margin-left: 16.6666666667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.3333333333%; }
  .col-sm-offset-5 {
    margin-left: 41.6666666667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.3333333333%; }
  .col-sm-offset-8 {
    margin-left: 66.6666666667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.3333333333%; }
  .col-sm-offset-11 {
    margin-left: 91.6666666667%; }
  .col-sm-offset-12 {
    margin-left: 100%; } }

@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left; }
  .col-md-1 {
    width: 8.3333333333%; }
  .col-md-2 {
    width: 16.6666666667%; }
  .col-md-3 {
    width: 25%; }
  .col-md-4 {
    width: 33.3333333333%; }
  .col-md-5 {
    width: 41.6666666667%; }
  .col-md-6 {
    width: 50%; }
  .col-md-7 {
    width: 58.3333333333%; }
  .col-md-8 {
    width: 66.6666666667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.3333333333%; }
  .col-md-11 {
    width: 91.6666666667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.3333333333%; }
  .col-md-pull-2 {
    right: 16.6666666667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.3333333333%; }
  .col-md-pull-5 {
    right: 41.6666666667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.3333333333%; }
  .col-md-pull-8 {
    right: 66.6666666667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.3333333333%; }
  .col-md-pull-11 {
    right: 91.6666666667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.3333333333%; }
  .col-md-push-2 {
    left: 16.6666666667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.3333333333%; }
  .col-md-push-5 {
    left: 41.6666666667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.3333333333%; }
  .col-md-push-8 {
    left: 66.6666666667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.3333333333%; }
  .col-md-push-11 {
    left: 91.6666666667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1 {
    margin-left: 8.3333333333%; }
  .col-md-offset-2 {
    margin-left: 16.6666666667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.3333333333%; }
  .col-md-offset-5 {
    margin-left: 41.6666666667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.3333333333%; }
  .col-md-offset-8 {
    margin-left: 66.6666666667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.3333333333%; }
  .col-md-offset-11 {
    margin-left: 91.6666666667%; }
  .col-md-offset-12 {
    margin-left: 100%; } }

@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left; }
  .col-lg-1 {
    width: 8.3333333333%; }
  .col-lg-2 {
    width: 16.6666666667%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-4 {
    width: 33.3333333333%; }
  .col-lg-5 {
    width: 41.6666666667%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-7 {
    width: 58.3333333333%; }
  .col-lg-8 {
    width: 66.6666666667%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-10 {
    width: 83.3333333333%; }
  .col-lg-11 {
    width: 91.6666666667%; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-pull-1 {
    right: 8.3333333333%; }
  .col-lg-pull-2 {
    right: 16.6666666667%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-4 {
    right: 33.3333333333%; }
  .col-lg-pull-5 {
    right: 41.6666666667%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-7 {
    right: 58.3333333333%; }
  .col-lg-pull-8 {
    right: 66.6666666667%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-10 {
    right: 83.3333333333%; }
  .col-lg-pull-11 {
    right: 91.6666666667%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-push-1 {
    left: 8.3333333333%; }
  .col-lg-push-2 {
    left: 16.6666666667%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-4 {
    left: 33.3333333333%; }
  .col-lg-push-5 {
    left: 41.6666666667%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-7 {
    left: 58.3333333333%; }
  .col-lg-push-8 {
    left: 66.6666666667%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-10 {
    left: 83.3333333333%; }
  .col-lg-push-11 {
    left: 91.6666666667%; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-offset-0 {
    margin-left: 0%; }
  .col-lg-offset-1 {
    margin-left: 8.3333333333%; }
  .col-lg-offset-2 {
    margin-left: 16.6666666667%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-4 {
    margin-left: 33.3333333333%; }
  .col-lg-offset-5 {
    margin-left: 41.6666666667%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-7 {
    margin-left: 58.3333333333%; }
  .col-lg-offset-8 {
    margin-left: 66.6666666667%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-10 {
    margin-left: 83.3333333333%; }
  .col-lg-offset-11 {
    margin-left: 91.6666666667%; }
  .col-lg-offset-12 {
    margin-left: 100%; } }

table {
  background-color: transparent; }

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left; }

th {
  text-align: left; }

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px; }
  .table > thead > tr > th,
  .table > thead > tr > td,
  .table > tbody > tr > th,
  .table > tbody > tr > td,
  .table > tfoot > tr > th,
  .table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.428571429;
    vertical-align: top;
    border-top: 1px solid #ddd; }
  .table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd; }
  .table > caption + thead > tr:first-child > th,
  .table > caption + thead > tr:first-child > td,
  .table > colgroup + thead > tr:first-child > th,
  .table > colgroup + thead > tr:first-child > td,
  .table > thead:first-child > tr:first-child > th,
  .table > thead:first-child > tr:first-child > td {
    border-top: 0; }
  .table > tbody + tbody {
    border-top: 2px solid #ddd; }
  .table .table {
    background-color: #fff; }

.table-condensed > thead > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px; }

.table-bordered {
  border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td,
  .table-bordered > tbody > tr > th,
  .table-bordered > tbody > tr > td,
  .table-bordered > tfoot > tr > th,
  .table-bordered > tfoot > tr > td {
    border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td {
    border-bottom-width: 2px; }

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9; }

.table-hover > tbody > tr:hover {
  background-color: #f5f5f5; }

table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column; }

table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell; }

.table > thead > tr > td.active,
.table > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5; }

.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8; }

.table > thead > tr > td.success,
.table > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.table > tfoot > tr.success > th {
  background-color: #dff0d8; }

.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6; }

.table > thead > tr > td.info,
.table > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.table > tfoot > tr.info > th {
  background-color: #d9edf7; }

.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3; }

.table > thead > tr > td.warning,
.table > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3; }

.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc; }

.table > thead > tr > td.danger,
.table > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.table > tfoot > tr.danger > th {
  background-color: #f2dede; }

.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc; }

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%; }
  @media screen and (max-width: 767px) {
    .table-responsive {
      width: 100%;
      margin-bottom: 15px;
      overflow-y: hidden;
      -ms-overflow-style: -ms-autohiding-scrollbar;
      border: 1px solid #ddd; }
      .table-responsive > .table {
        margin-bottom: 0; }
        .table-responsive > .table > thead > tr > th,
        .table-responsive > .table > thead > tr > td,
        .table-responsive > .table > tbody > tr > th,
        .table-responsive > .table > tbody > tr > td,
        .table-responsive > .table > tfoot > tr > th,
        .table-responsive > .table > tfoot > tr > td {
          white-space: nowrap; }
      .table-responsive > .table-bordered {
        border: 0; }
        .table-responsive > .table-bordered > thead > tr > th:first-child,
        .table-responsive > .table-bordered > thead > tr > td:first-child,
        .table-responsive > .table-bordered > tbody > tr > th:first-child,
        .table-responsive > .table-bordered > tbody > tr > td:first-child,
        .table-responsive > .table-bordered > tfoot > tr > th:first-child,
        .table-responsive > .table-bordered > tfoot > tr > td:first-child {
          border-left: 0; }
        .table-responsive > .table-bordered > thead > tr > th:last-child,
        .table-responsive > .table-bordered > thead > tr > td:last-child,
        .table-responsive > .table-bordered > tbody > tr > th:last-child,
        .table-responsive > .table-bordered > tbody > tr > td:last-child,
        .table-responsive > .table-bordered > tfoot > tr > th:last-child,
        .table-responsive > .table-bordered > tfoot > tr > td:last-child {
          border-right: 0; }
        .table-responsive > .table-bordered > tbody > tr:last-child > th,
        .table-responsive > .table-bordered > tbody > tr:last-child > td,
        .table-responsive > .table-bordered > tfoot > tr:last-child > th,
        .table-responsive > .table-bordered > tfoot > tr:last-child > td {
          border-bottom: 0; } }

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0; }

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5; }

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold; }

input[type="search"] {
  box-sizing: border-box; }

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal; }

input[type="file"] {
  display: block; }

input[type="range"] {
  display: block;
  width: 100%; }

select[multiple],
select[size] {
  height: auto; }

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.428571429;
  color: #555555; }

.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.428571429;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .form-control:focus {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }
  .form-control::-moz-placeholder {
    color: #999;
    opacity: 1; }
  .form-control:-ms-input-placeholder {
    color: #999; }
  .form-control::-webkit-input-placeholder {
    color: #999; }
  .form-control::-ms-expand {
    border: 0;
    background-color: transparent; }
  .form-control[disabled], .form-control[readonly],
  fieldset[disabled] .form-control {
    background-color: #eeeeee;
    opacity: 1; }
  .form-control[disabled],
  fieldset[disabled] .form-control {
    cursor: not-allowed; }

textarea.form-control {
  height: auto; }

input[type="search"] {
  -webkit-appearance: none; }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 34px; }
  input[type="date"].input-sm, .input-group-sm > input[type="date"].form-control,
  .input-group-sm > input[type="date"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="date"].btn,
  .input-group-sm input[type="date"],
  input[type="time"].input-sm,
  .input-group-sm > input[type="time"].form-control,
  .input-group-sm > input[type="time"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="time"].btn,
  .input-group-sm
  input[type="time"],
  input[type="datetime-local"].input-sm,
  .input-group-sm > input[type="datetime-local"].form-control,
  .input-group-sm > input[type="datetime-local"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="datetime-local"].btn,
  .input-group-sm
  input[type="datetime-local"],
  input[type="month"].input-sm,
  .input-group-sm > input[type="month"].form-control,
  .input-group-sm > input[type="month"].input-group-addon,
  .input-group-sm > .input-group-btn > input[type="month"].btn,
  .input-group-sm
  input[type="month"] {
    line-height: 30px; }
  input[type="date"].input-lg, .input-group-lg > input[type="date"].form-control,
  .input-group-lg > input[type="date"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="date"].btn,
  .input-group-lg input[type="date"],
  input[type="time"].input-lg,
  .input-group-lg > input[type="time"].form-control,
  .input-group-lg > input[type="time"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="time"].btn,
  .input-group-lg
  input[type="time"],
  input[type="datetime-local"].input-lg,
  .input-group-lg > input[type="datetime-local"].form-control,
  .input-group-lg > input[type="datetime-local"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="datetime-local"].btn,
  .input-group-lg
  input[type="datetime-local"],
  input[type="month"].input-lg,
  .input-group-lg > input[type="month"].form-control,
  .input-group-lg > input[type="month"].input-group-addon,
  .input-group-lg > .input-group-btn > input[type="month"].btn,
  .input-group-lg
  input[type="month"] {
    line-height: 46px; } }

.form-group {
  margin-bottom: 15px; }

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px; }
  .radio label,
  .checkbox label {
    min-height: 20px;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer; }

.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9; }

.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px; }

.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer; }

.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px; }

input[type="radio"][disabled], input[type="radio"].disabled,
fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled],
input[type="checkbox"].disabled,
fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed; }

.radio-inline.disabled,
fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
fieldset[disabled]
.checkbox-inline {
  cursor: not-allowed; }

.radio.disabled label,
fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled]
.checkbox label {
  cursor: not-allowed; }

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px; }
  .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,
  .input-group-lg > .form-control-static.input-group-addon,
  .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,
  .input-group-sm > .form-control-static.input-group-addon,
  .input-group-sm > .input-group-btn > .form-control-static.btn {
    padding-left: 0;
    padding-right: 0; }

.input-sm, .input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px; }

select.input-sm, .input-group-sm > select.form-control,
.input-group-sm > select.input-group-addon,
.input-group-sm > .input-group-btn > select.btn {
  height: 30px;
  line-height: 30px; }

textarea.input-sm, .input-group-sm > textarea.form-control,
.input-group-sm > textarea.input-group-addon,
.input-group-sm > .input-group-btn > textarea.btn,
select[multiple].input-sm,
.input-group-sm > select[multiple].form-control,
.input-group-sm > select[multiple].input-group-addon,
.input-group-sm > .input-group-btn > select[multiple].btn {
  height: auto; }

.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px; }

.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px; }

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto; }

.form-group-sm .form-control-static {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5; }

.input-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px; }

select.input-lg, .input-group-lg > select.form-control,
.input-group-lg > select.input-group-addon,
.input-group-lg > .input-group-btn > select.btn {
  height: 46px;
  line-height: 46px; }

textarea.input-lg, .input-group-lg > textarea.form-control,
.input-group-lg > textarea.input-group-addon,
.input-group-lg > .input-group-btn > textarea.btn,
select[multiple].input-lg,
.input-group-lg > select[multiple].form-control,
.input-group-lg > select[multiple].input-group-addon,
.input-group-lg > .input-group-btn > select[multiple].btn {
  height: auto; }

.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px; }

.form-group-lg select.form-control {
  height: 46px;
  line-height: 46px; }

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto; }

.form-group-lg .form-control-static {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.3333333; }

.has-feedback {
  position: relative; }
  .has-feedback .form-control {
    padding-right: 42.5px; }

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none; }

.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback,
.input-group-lg > .input-group-addon + .form-control-feedback,
.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px; }

.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback,
.input-group-sm > .input-group-addon + .form-control-feedback,
.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px; }

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d; }

.has-success .form-control {
  border-color: #3c763d;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-success .form-control:focus {
    border-color: #2b542c;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }

.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8; }

.has-success .form-control-feedback {
  color: #3c763d; }

.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b; }

.has-warning .form-control {
  border-color: #8a6d3b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-warning .form-control:focus {
    border-color: #66512c;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }

.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3; }

.has-warning .form-control-feedback {
  color: #8a6d3b; }

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442; }

.has-error .form-control {
  border-color: #a94442;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-error .form-control:focus {
    border-color: #843534;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }

.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede; }

.has-error .form-control-feedback {
  color: #a94442; }

.has-feedback label ~ .form-control-feedback {
  top: 25px; }

.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0; }

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #737373; }

@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .form-inline .form-control-static {
    display: inline-block; }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle; }
    .form-inline .input-group .input-group-addon,
    .form-inline .input-group .input-group-btn,
    .form-inline .input-group .form-control {
      width: auto; }
  .form-inline .input-group > .form-control {
    width: 100%; }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle; }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle; }
    .form-inline .radio label,
    .form-inline .checkbox label {
      padding-left: 0; }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0; }
  .form-inline .has-feedback .form-control-feedback {
    top: 0; } }

.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px; }

.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px; }

.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px; }
  .form-horizontal .form-group:before, .form-horizontal .form-group:after {
    content: " ";
    display: table; }
  .form-horizontal .form-group:after {
    clear: both; }

@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px; } }

.form-horizontal .has-feedback .form-control-feedback {
  right: 15px; }

@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 18px; } }

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-to
                        
19 Jan
2 years ago

canadianlover started a new conversation Getting Fonts To Display On My Laravel App

I have the following SCSS file: `@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";

@mixin fontFace($family,$src,$weight: normal,$style: normal) { @font-face { font-family: $family; src: url('#{$src}'); // IE9 compat

font-style: $style;
font-weight: $weight;

} } @include fontFace('NexaBold', 'build/fonts/NexaBold.otf')

body { margin: 0; background-color: #ecf0f1; font-family: NexaBold; }

.mainheader { height: 75px; font-family: NexaBold; font-size: 28px; line-height: 75px; text-align: center; vertical-align: middle; background-color: #dce0e1; }

.menu { height: 40px; }

.subcontainter-title{float:left;}

.subcontainer-left { height: 75px; float: left; width:50%; }

.subcontainer { height: 75px; margin: auto; }

.subcontainer-right { height: 75px; width: 50%; float: right; }

.subcontainer-button { height: 90px; width: 105px; float: right; padding-left: 12px; padding-right: 12px; text-align: center; vertical-align: middle; line-height: 75px; font-family: OpenSans; font-size: 14px; }

.subcontainer-left .subcontainer-button{float:left;}

.subcontainer-button a { text-decoration: none; color: black; }

.subcontainer-button a:visited { text-decoration: none; color: black; }

.subcontainer-button a:active { color: black; }

.subcontainer-button a:hover { border-bottom: 3px solid gray; cursor: pointer; }

.subcontainer-title { height: 75px;

float: left; padding-left: 12px; padding-right: 12px; text-align: center; vertical-align: middle; line-height: 75px; font-family: OpenSans; font-size: 14px; }

.bt-active a { border-bottom: 3px solid gold; }

.noselect { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.maincontainer { height: 700px; }

.textheader { height: 180px; text-align: center; vertical-align: middle; line-height: 180px; font-family: NexaLight; font-size: 48px; }

.ongoing-header { width: 700px; margin: auto; height: 70px; border-top-left-radius: 6px; border-top-right-radius: 6px; background-color: #bcc0c1; }

.subheader { height: 70px; width: 260px; font-family: OpenSans; font-weight: bold; font-size: 22px; text-align: center; line-height: 70px; vertical-align: middle; float: left; }

.subheader-menu { height: 36px; background-color: #ccd0d1; }

.button { height: 36px; width: auto; margin: auto; padding-left: 12px; padding-right: 12px; text-align: center; vertical-align: middle; line-height: 36px; font-family: OpenSans; cursor: pointer; border-radius: 4px; transition: 0.3s; }

.button:hover { background-color: #ecf0f1; }

.subheader-right { float: right; padding-top: 16px; width: 260px; margin: auto; margin-right: 24px; }

.ongoing-container { width: 700px; margin: auto; }

.ongoing-game { height: 40px; line-height: 40px; vertical-align: middle; text-align: center; cursor: pointer; font-family: OpenSans; transition: 0.3s; }

.ongoing-game:nth-child(even):hover { background-color: #f3f9fa; }

.ongoing-game:nth-child(odd):hover { background-color: #f3f9fa; }

.ongoing-game:nth-child(even) { background-color: #d3d9da; }

.ongoing-game:nth-child(odd) { background-color: #dce0e1; }

.iconholder { height: 20px; width: 20px; float: left; margin-top: 4px; margin-right: 4px; }

#username { float: left; height: 40px; width: 220px; text-align: left; padding-left: 24px; }

#btcamount { float: left; height: 40px; width: 220px; text-align: right; padding-right: 24px; }

#ongoing { height: 40px; width: 212px; float: left; }

.bitcoinlogo { height: 15px; }

.helpcontainer { height: 600px; width: 500px; margin: auto; font-family: OpenSans; }

.helpform { margin-top: 20px; height: 400px; font-size: 12px; }

.helpform textarea { resize: none; font-family: OpenSans; }

#issuetext { height: 100px; width: 480px; }

#emailtext { height: 18px; width: 220px; font-family: OpenSans; }

.submitbutton { height: 40px; width: 180px; float: none; margin: auto; margin-top: 20px; border: 1px solid gray; background-color: white; text-align: center; vertical-align: middle; line-height: 40px; font-size: 14px; cursor: pointer; border-radius: 3px; transition: 0.2s background-color; }

.submitbutton:hover { background-color: lightgrey; }`

Everything compiles down and runs in gulp just fine. However, when i load my page in Chrome, my fonts are missing. I've spent a lot of time on this issue, and I am beginning to get fusturated. How do I get fonts to display in Chrome?

17 Jan
2 years ago

canadianlover left a reply on Linking To Custom Font File From A Stylesheet Inside A Blade Template

I think i found the solutiuon. there is a duplicate definition in my scss file...

canadianlover left a reply on Linking To Custom Font File From A Stylesheet Inside A Blade Template

And I tried putting my fonts before the stylesheet and that didnt work.

canadianlover started a new conversation Linking To Custom Font File From A Stylesheet Inside A Blade Template

I am trying to get custom fonts which I have copied over to my /public/build/fonts folder using elixr. The files are in my directory, However, i don't know what helper function to use to link to my font files. I have tried several things, nothing seems to be working.

Here is my app.blade.php file:

' @font-face { font-family: NexaBold; src: url('{!! assetpath('build/fonts/NexaBold.otf') !!}'); }

@font-face { font-family: NexaLight; src: url('{!! asset('build/fonts/NexaLight.otf') !!}'); }

@font-face { font-family: OpenSans; src: url('{!! asset('build/fontsOpenSans-Regular.ttf') !!}'); }

@include('flash::message')
    <div class="subcontainer-left">
        <div class="subcontainter-title">Cryptoflip</div>
        @if(Auth::guest())


        <div class="subcontainer-button">
            <a href="/login">Login</a>
        </div>
        <div class="subcontainer-button">

            <a href="/register">Register</a>
        </div>
        @else
     <div class="subcontainer-button">
                                <a href="/user/{{Auth::user()->name}}">Your Profile</a>
                </div>
         <div class="subcontainer-button">
            <a href="/logout">Logout</a>
        </div>
            @endif

    </div>
    <div class="subcontainer-right noselect">
        <div class="subcontainer-button">
            <a href="support.html">Support</a>
        </div>
        <div class="subcontainer-button">
            <a>Provably Fair</a>
        </div>
        <div class="subcontainer-button">
            <a>Dice</a>
        </div>
        <div class="subcontainer-button bt-active">
            <a href="main.html">Coinflip</a>
        </div>
    </div>
</div>
<!-- Decoration -->
<!--<div style="height: 10px; width: 200px; margin: auto; margin-top: -50px; background-color: gold"></div>-->
@yield('content')
'
16 Jan
2 years ago

canadianlover left a reply on Disabling Redis Connections

I decided to add the server back and it worked. It may be unused, but what are you going to do...