Merge remote-tracking branch 'github/master'
# Conflicts: # composer.lock
This commit is contained in:
commit
588f5012d6
|
|
@ -311,7 +311,7 @@ Route::group(['middleware' => ['auth', 'first.run']], function () {
|
|||
});
|
||||
|
||||
/*
|
||||
* Upoad event images
|
||||
* Upload event images
|
||||
*/
|
||||
Route::post('/upload_image', [
|
||||
'as' => 'postUploadEventImage',
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@
|
|||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.0",
|
||||
"phpspec/phpspec": "~2.1"
|
||||
"phpspec/phpspec": "~2.1",
|
||||
"fzaninotto/faker": "^1.5"
|
||||
},
|
||||
|
||||
"autoload": {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,290 @@
|
|||
<?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.
|
||||
|
|
||||
*/
|
||||
|
||||
use Carbon\Carbon;
|
||||
|
||||
$factory->define(App\Models\OrderStatus::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'name' => $faker->text,
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\TicketStatus::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'name' => $faker->text,
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\ReservedTickets::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'ticket_id' => factory(App\Models\Ticket::class)->create()->id,
|
||||
'event_id' => factory(App\Models\Event::class)->create()->id,
|
||||
'quantity_reserved' => 50,
|
||||
'expires' => Carbon::now()->addDays(2),
|
||||
'session_id' => $faker->randomNumber
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\Timezone::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'name' => 'America/New_York',
|
||||
'location' => 'New York'
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
$factory->define(App\Models\Timezone::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'format' => "Y-m-d",
|
||||
'picker_format' => "Y-m-d",
|
||||
'label' => "utc date",
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
$factory->define(App\Models\DateTimeFormat::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'format' => "Y-m-d H:i:s",
|
||||
'label' => "utc",
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\Currency::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'title' => "Dollar",
|
||||
'symbol_left' => "$",
|
||||
'symbol_right' => "",
|
||||
'code' => 'USD',
|
||||
'decimal_place' => 2,
|
||||
'value' => 100.00,
|
||||
'decimal_point' => '.',
|
||||
'thousand_point' => ',',
|
||||
'status' => 1
|
||||
];
|
||||
});
|
||||
|
||||
//TODO create country class so country_id can be populated
|
||||
$factory->define(App\Models\Account::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'first_name' => $faker->firstName,
|
||||
'last_name' => $faker->lastName,
|
||||
'email' => $faker->email,
|
||||
'timezone_id' => factory(App\Models\Timezone::class)->create()->id,
|
||||
'date_format_id' => factory(App\Models\Timezone::class)->create()->id,
|
||||
'datetime_format_id' => factory(App\Models\DateTimeFormat::class)->create()->id,
|
||||
'currency_id' => factory()->create()->id,
|
||||
'name' => $faker->name,
|
||||
'last_ip' => "127.0.0.1",
|
||||
'last_login_date' => Carbon::now()->subDays(2),
|
||||
'address1' => $faker->address,
|
||||
'address2' => "",
|
||||
'city' => $faker->city,
|
||||
'state' => $faker->stateAbbr,
|
||||
'postal_code' => $faker->postcode,
|
||||
'country_id' => factory(App\Models\Country::class)->create()->id,
|
||||
'email_footer' => 'Email footer text',
|
||||
'is_active' => false,
|
||||
'is_banned' => false,
|
||||
'is_beta' => false,
|
||||
'stripe_access_token' => str_random(10),
|
||||
'stripe_refresh_token' => str_random(10),
|
||||
'stripe_secret_key' => str_random(10),
|
||||
'stripe_publishable_key' => str_random(10),
|
||||
'stripe_raw_data' => $faker->text,
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\User::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'account_id' => $faker->randomDigit,
|
||||
'first_name' => $faker->firstName,
|
||||
'last_name' => $faker->lastName,
|
||||
'phone' => $faker->phoneNumber,
|
||||
'email' => $faker->email,
|
||||
'password' => $faker->password,
|
||||
'confirmation_code' => $faker->randomNumber,
|
||||
'is_registered' => false,
|
||||
'is_confirmed' => false,
|
||||
'is_parent' => false,
|
||||
'remember_token' => $faker->randomNumber
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\Organiser::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'account_id' => factory(App\Models\Account::class)->create()->id,
|
||||
'name' => $faker->name,
|
||||
'about' => $faker->text,
|
||||
'email' => $faker->email,
|
||||
'phone' => $faker->phoneNumber,
|
||||
'facebook' => 'https://facebook.com/organizer-profile',
|
||||
'twitter' => 'https://twitter.com/organizer-profile',
|
||||
'logo_path' => 'path/to/logo',
|
||||
'is_email_confirmed' => 0,
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\Event::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'title' => $faker->title,
|
||||
'location' => $faker->text,
|
||||
'bg_type' => 'color',
|
||||
'bg_color' => config('attendize.event_default_bg_color'),
|
||||
'bg_image_path' => $faker->imageUrl,
|
||||
'description' => $faker->text,
|
||||
'start_date' => Carbon::now(),
|
||||
'end_date' => Carbon::now()->addDay(),
|
||||
'on_sale_date' => Carbon::now()->subDays(20),
|
||||
'account_id' => factory(App\Models\Account::class)->create()->id,
|
||||
'user_id' => factory(App\Models\User::class)->create()->id,
|
||||
'currency_id' => factory(App\Models\Currency::class)->create()->id,
|
||||
'sales_volume' => 0,
|
||||
'organiser_fees_volume' => 0,
|
||||
'organiser_fee_fixed' => 0,
|
||||
'organiser_fee_percentage' => 0,
|
||||
'organiser_id' => factory(App\Models\Organiser::class)->create()->id,
|
||||
'venue_name' => $faker->name,
|
||||
'venue_name_full' => $faker->name,
|
||||
'location_address' => $faker->address,
|
||||
'location_address_line_1' => $faker->streetAddress,
|
||||
'location_address_line_2' => $faker->secondaryAddress,
|
||||
'location_country' => $faker->country,
|
||||
'location_country_code' => $faker->countryCode,
|
||||
'location_state' => $faker->state,
|
||||
'location_post_code' => $faker->postcode,
|
||||
'location_street_number' => $faker->buildingNumber,
|
||||
'location_lat' => $faker->latitude,
|
||||
'location_long' => $faker->longitude,
|
||||
'location_google_place_id' => $faker->randomDigit,
|
||||
'ask_for_all_attendees_info' => 0,
|
||||
'pre_order_display_message' => $faker->text,
|
||||
'post_order_display_message' => $faker->text,
|
||||
'social_share_text' => 'Check Out [event_title] - [event_url]',
|
||||
'social_show_facebook' => true,
|
||||
'social_show_linkedin' => true,
|
||||
'social_show_twitter' => true,
|
||||
'social_show_email' => true,
|
||||
'social_show_googleplus' => true,
|
||||
'location_is_manual' => 0,
|
||||
'is_live' => false
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\Order::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'account_id' => factory(App\Models\Account::class)->create()->id,
|
||||
'order_status_id' => factory(App\Models\OrderStatus::class)->create()->id,
|
||||
'first_name' => $faker->firstName,
|
||||
'last_name' => $faker->lastName,
|
||||
'email' => $faker->email,
|
||||
'ticket_pdf_path' => '/ticket/pdf/path',
|
||||
'order_reference' => $faker->text,
|
||||
'transaction_id' => $faker->text,
|
||||
'discount' => .20,
|
||||
'booking_fee' => .10,
|
||||
'organiser_booking_fee' => .10,
|
||||
'order_date' => Carbon::now(),
|
||||
'notes' => $faker->text,
|
||||
'is_deleted' => 0,
|
||||
'is_cancelled' => 0,
|
||||
'is_partially_refunded' => 0,
|
||||
'is_refunded' => 0,
|
||||
'amount' => 20.00,
|
||||
'amount_refunded' => 0,
|
||||
'event_id' => factory(App\Models\Event::class)->create()->id
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
$factory->define(App\Models\Ticket::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'edited_by_user_id' => factory(App\Models\User::class)->create()->id,
|
||||
'account_id' => factory(App\Models\Account::class)->create()->id,
|
||||
'order_id' => factory(App\Models\OrderStatus::class)->create()->id,
|
||||
'event_id' => factory(App\Models\Event::class)->create()->id,
|
||||
'title' => $faker->name,
|
||||
'description' => $faker->text,
|
||||
'price' => 50.00,
|
||||
'max_per_person' => 4,
|
||||
'min_per_person' => 1,
|
||||
'quantity_available' => 50,
|
||||
'quantity_sold' => 0,
|
||||
'start_sale_date' => Carbon::now(),
|
||||
'end_sale_date' => Carbon::now()->addDays(20),
|
||||
'sales_volume' => 0,
|
||||
'organizer_fees_volume' => 0,
|
||||
'is_paused' => 0
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\OrderItem::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'title' => $faker->title,
|
||||
'quantity' => 5,
|
||||
'unit_price' => 20.00,
|
||||
'unit_booking_fee' => 2.00,
|
||||
'order_id' => factory(App\Models\Order::class)->create()->id
|
||||
];
|
||||
});
|
||||
|
||||
$factory->define(App\Models\EventStats::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'date' => Carbon::now(),
|
||||
'views' => 0,
|
||||
'unique_views' => 0,
|
||||
'tickets_sold' => 0,
|
||||
'sales_volumne' => 0,
|
||||
'organiser_fees_volume' => 0,
|
||||
'event_id' => factory(App\Models\Event::class)->create()->id,
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
$factory->define(App\Models\Attendee::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'order_id' => factory(App\Models\Order::class)->create()->id,
|
||||
'event_id' => factory(App\Models\Event::class)->create()->id,
|
||||
'ticket_id' => factory(App\Models\Ticket::class)->create()->id,
|
||||
'first_name' => $faker->firstName,
|
||||
'last_name' => $faker->lastName,
|
||||
'email' => $faker->email,
|
||||
'reference' => $faker->text(20),
|
||||
'private_reference_number' => 1,
|
||||
'is_cancelled' => false,
|
||||
'has_arrived' => false,
|
||||
'arrival_time' => Carbon::now(),
|
||||
'account_id' => factory(App\Models\Account::class)->create()->id,
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
$faker->define(App\Models\Message::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'message' => $faker->text,
|
||||
'subject' => $faker->text,
|
||||
'recipients' => 0,
|
||||
|
||||
];
|
||||
});
|
||||
|
||||
$faker->define(App\Models\EventImage::class, function (Faker\Generator $faker) {
|
||||
return [
|
||||
'image_path' => $faker->imageUrl(),
|
||||
'event_id' => factory(App\Models\Event::class)->create()->id,
|
||||
'account_id' => factory(App\Models\Account::class)->create()->id,
|
||||
'user_id' => factory(App\Models\User::class)->create()->id
|
||||
];
|
||||
});
|
||||
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
|
||||
</head>
|
||||
<body class="attendize">
|
||||
<div id="event_page_wrap">
|
||||
<div id="event_page_wrap" vocab="http://schema.org/" typeof="Event">
|
||||
@yield('content')
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,18 +7,18 @@
|
|||
<div class="row">
|
||||
@if($event->images->count())
|
||||
<div class="col-md-7">
|
||||
<div class="content event_details">
|
||||
<div class="content event_details" property="description">
|
||||
{!! Markdown::parse($event->description) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="content event_poster">
|
||||
<img alt="{{$event->title}}" src="{{config('attendize.cdn_url_user_assets').'/'.$event->images->first()['image_path']}}" />
|
||||
<img alt="{{$event->title}}" src="{{config('attendize.cdn_url_user_assets').'/'.$event->images->first()['image_path']}}" property="image">
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="col-md-12">
|
||||
<div class="content event_details">
|
||||
<div class="content event_details" property="description">
|
||||
{!! Markdown::parse($event->description) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -32,9 +32,20 @@
|
|||
<section id="intro" class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1>{{$event->title}}</h1>
|
||||
<div class="event_venue">{{ $event->start_date->toDayDateTimeString() }}
|
||||
- {{ $event->end_date->format('H:i A') }} @ <b> {{$event->venue_name}}</b>
|
||||
<h1 property="name">{{$event->title}}</h1>
|
||||
<div class="event_venue">
|
||||
<span property="startDate" content="{{ $event->start_date->toIso8601String() }}">
|
||||
{{ $event->start_date->toDayDateTimeString() }}
|
||||
</span>
|
||||
-
|
||||
<span property="endDate" content="{{ $event->end_date->toIso8601String() }}">
|
||||
{{ $event->end_date->format('H:i A') }}
|
||||
</span>
|
||||
@
|
||||
<span property="location" typeof="Place">
|
||||
<b property="name">{{$event->venue_name}}</b>
|
||||
<meta property="address" content="{{{ urldecode($event->venue_name) }}}">
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="event_buttons">
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
<section id="organiser" class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="event_organiser_details">
|
||||
<div class="event_organiser_details" property="organizer" typeof="Organization">
|
||||
<div class="logo">
|
||||
<img alt="{{$event->organiser->name}}" src="{{asset($event->organiser->full_logo_path)}}"/>
|
||||
<img alt="{{$event->organiser->name}}" src="{{asset($event->organiser->full_logo_path)}}" property="logo">
|
||||
</div>
|
||||
<h3>
|
||||
<h3 property="name">
|
||||
{{$event->organiser->name}}
|
||||
</h3>
|
||||
|
||||
<p>
|
||||
<p property="description">
|
||||
{{nl2br($event->organiser->about)}}
|
||||
</p>
|
||||
<p>
|
||||
|
|
|
|||
|
|
@ -20,12 +20,12 @@
|
|||
<div class="tickets_table_wrap">
|
||||
<table class="table">
|
||||
@foreach($tickets as $ticket)
|
||||
<tr class="ticket">
|
||||
<tr class="ticket" property="offers" typeof="Offer">
|
||||
<td>
|
||||
<span class="ticket-title semibold">
|
||||
<span class="ticket-title semibold" property="name">
|
||||
{{{$ticket->title}}}
|
||||
</span>
|
||||
<p class="ticket-descripton mb0 text-muted">
|
||||
<p class="ticket-descripton mb0 text-muted" property="description">
|
||||
{{{$ticket->description}}}
|
||||
</p>
|
||||
</td>
|
||||
|
|
@ -35,6 +35,8 @@
|
|||
FREE
|
||||
@else
|
||||
<span title='{{{money($ticket->price, $event->currency->code)}}} Ticket Price + {{money($ticket->total_booking_fee, $event->currency->code)}} Booking Fees'>{{{money($ticket->total_price, $event->currency->code)}}} </span>
|
||||
<meta property="priceCurrency" content="{{{ $event->currency->code }}}">
|
||||
<meta property="price" content="{{{ number_format($ticket->price, 2, '.', '') }}}">
|
||||
@endif
|
||||
</div>
|
||||
</td>
|
||||
|
|
@ -48,7 +50,7 @@
|
|||
@else
|
||||
|
||||
@if($ticket->sale_status === config('attendize.ticket_status_sold_out'))
|
||||
<span class="text-danger">
|
||||
<span class="text-danger" property="availability" content="http://schema.org/SoldOut">
|
||||
Sold Out
|
||||
</span>
|
||||
@elseif($ticket->sale_status === config('attendize.ticket_status_before_sale_date'))
|
||||
|
|
@ -61,6 +63,7 @@
|
|||
</span>
|
||||
@else
|
||||
{!! Form::hidden('tickets[]', $ticket->id) !!}
|
||||
<meta property="availability" content="http://schema.org/InStock">
|
||||
<select name="ticket_{{$ticket->id}}" class="form-control" style="text-align: center">
|
||||
<option value="0">0</option>
|
||||
@for($i=$ticket->min_per_person; $i<=$ticket->max_per_person; $i++)
|
||||
|
|
|
|||
Loading…
Reference in New Issue