Merge pull request #471 from publicarray/improve-upstream
Improve upstream
This commit is contained in:
commit
31820bcf68
|
|
@ -19,7 +19,6 @@ class EventCheckInController extends MyBaseController
|
|||
*/
|
||||
public function showCheckIn($event_id)
|
||||
{
|
||||
|
||||
$event = Event::scope()->findOrFail($event_id);
|
||||
|
||||
$data = [
|
||||
|
|
@ -59,8 +58,11 @@ class EventCheckInController extends MyBaseController
|
|||
$query->where('attendees.event_id', '=', $event_id);
|
||||
})->where(function ($query) use ($searchQuery) {
|
||||
$query->orWhere('attendees.first_name', 'like', $searchQuery . '%')
|
||||
->orWhere(DB::raw("CONCAT_WS(' ', attendees.first_name, attendees.last_name)"), 'like',
|
||||
$searchQuery . '%')
|
||||
->orWhere(
|
||||
DB::raw("CONCAT_WS(' ', attendees.first_name, attendees.last_name)"),
|
||||
'like',
|
||||
$searchQuery . '%'
|
||||
)
|
||||
//->orWhere('attendees.email', 'like', $searchQuery . '%')
|
||||
->orWhere('orders.order_reference', 'like', $searchQuery . '%')
|
||||
->orWhere('attendees.last_name', 'like', $searchQuery . '%');
|
||||
|
|
@ -163,21 +165,10 @@ class EventCheckInController extends MyBaseController
|
|||
'has_arrived' => false
|
||||
])->count();
|
||||
|
||||
if ($relatedAttendesCount >= 1) {
|
||||
$confirmOrderTicketsRoute = route('confirmCheckInOrderTickets', [$event->id, $attendee->order_id]);
|
||||
|
||||
/*
|
||||
* @todo Incorporate this feature into the new design
|
||||
*/
|
||||
//$appendedText = '<br><br><form class="ajax" action="' . $confirmOrderTicketsRoute . '" method="POST">' . csrf_field() . '<button class="btn btn-primary btn-sm" type="submit"><i class="ico-ticket"></i> Check in all tickets associated to this order</button></form>';
|
||||
} else {
|
||||
$appendedText = '';
|
||||
}
|
||||
|
||||
if ($attendee->has_arrived) {
|
||||
return response()->json([
|
||||
'status' => 'error',
|
||||
'message' => trans("Controllers.attendee_already_checked_in", ["time"=> $attendee->arrival_time->format(env("DEFAULT_DATETIME_FORMAT"))]) . $appendedText
|
||||
'message' => trans("Controllers.attendee_already_checked_in", ["time"=> $attendee->arrival_time->format(env("DEFAULT_DATETIME_FORMAT"))])
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -190,28 +181,4 @@ class EventCheckInController extends MyBaseController
|
|||
'ticket' => $attendee->ticket
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirm tickets of same order.
|
||||
*
|
||||
* @param $event_id
|
||||
* @param $order_id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function confirmOrderTicketsQr($event_id, $order_id)
|
||||
{
|
||||
$updateRowsCount = Attendee::scope()->where([
|
||||
'event_id' => $event_id,
|
||||
'order_id' => $order_id,
|
||||
'has_arrived' => 0,
|
||||
])->update([
|
||||
'has_arrived' => 1,
|
||||
'arrival_time' => Carbon::now(),
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'message' => trans("Controllers.num_attendees_checked_in", ["num"=>$updateRowsCount])
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -193,9 +193,9 @@ class EventCheckoutController extends Controller
|
|||
$activeAccountPaymentGateway->fill(['payment_gateway_id' => config('attendize.payment_gateway_dummy')]);
|
||||
$paymentGateway= $activeAccountPaymentGateway;
|
||||
} else {
|
||||
$activeAccountPaymentGateway = count($event->account->active_payment_gateway) ? $event->account->active_payment_gateway : false;
|
||||
$paymentGateway = count($event->account->active_payment_gateway) ? $event->account->active_payment_gateway->payment_gateway : false;
|
||||
}
|
||||
$activeAccountPaymentGateway = $event->account->active_payment_gateway->count() ? $event->account->active_payment_gateway->firstOrFail() : false;
|
||||
$paymentGateway = $event->account->active_payment_gateway->count() ? $event->account->active_payment_gateway->payment_gateway : false;
|
||||
}
|
||||
|
||||
/*
|
||||
* The 'ticket_order_{event_id}' session stores everything we need to complete the transaction.
|
||||
|
|
|
|||
|
|
@ -1,114 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests;
|
||||
use App\Models\Attendee;
|
||||
use App\Models\Event;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use JavaScript;
|
||||
|
||||
class EventQrcodeCheckInController extends Controller
|
||||
{
|
||||
/**
|
||||
* Show the check-in page
|
||||
*
|
||||
* @param $event_id
|
||||
* @return \Illuminate\View\View
|
||||
*/
|
||||
public function showCheckIn($event_id)
|
||||
{
|
||||
$event = Event::scope()->findOrFail($event_id);
|
||||
|
||||
JavaScript::put([
|
||||
'qrcodeCheckInRoute' => route('postQRCodeCheckInAttendee', ['event_id' => $event->id])
|
||||
]);
|
||||
|
||||
return view('ManageEvent.QrcodeCheckIn', compact('event'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check in an attendee
|
||||
*
|
||||
* @param $event_id
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function postCheckInAttendee($event_id, Request $request)
|
||||
{
|
||||
$event = Event::scope()->findOrFail($event_id);
|
||||
|
||||
$qrcodeToken = $request->get('qrcode_token');
|
||||
|
||||
$attendee = Attendee::scope()->withoutCancelled()
|
||||
->join('tickets', 'tickets.id', '=', 'attendees.ticket_id')
|
||||
->where(function ($query) use ($event, $qrcodeToken) {
|
||||
$query->where('attendees.event_id', $event->id)
|
||||
->where('attendees.private_reference_number', $qrcodeToken);
|
||||
})->select([
|
||||
'attendees.id',
|
||||
'attendees.order_id',
|
||||
'attendees.first_name',
|
||||
'attendees.last_name',
|
||||
'attendees.email',
|
||||
'attendees.reference',
|
||||
'attendees.arrival_time',
|
||||
'attendees.has_arrived',
|
||||
'tickets.title as ticket',
|
||||
])->first();
|
||||
|
||||
if (is_null($attendee)) {
|
||||
return response()->json(['status' => 'error', 'message' => trans("Controllers.invalid_ticket_error")]);
|
||||
}
|
||||
|
||||
$relatedAttendesCount = Attendee::where('id', '!=', $attendee->id)
|
||||
->where([
|
||||
'order_id' => $attendee->order_id,
|
||||
'has_arrived' => false
|
||||
])->count();
|
||||
|
||||
$appendedText = '';
|
||||
if ($relatedAttendesCount >= 1) {
|
||||
$confirmOrderTicketsRoute = route('confirmCheckInOrderTickets', [$event->id, $attendee->order_id]);
|
||||
|
||||
$appendedText = '<br><br><form class="ajax" action="' . $confirmOrderTicketsRoute . '" method="POST">' . csrf_field() . '<button class="btn btn-primary btn-sm" type="submit"><i class="ico-ticket"></i> '.trans("Controllers.check_in_all_tickets").'</button></form>';
|
||||
}
|
||||
|
||||
if ($attendee->has_arrived) {
|
||||
return response()->json([
|
||||
'status' => 'error',
|
||||
'message' => trans("Controllers.attendee_already_checked_in", ["time"=>$attendee->arrival_time->format(env("DEFAULT_DATETIME_FORMAT"))]) . $appendedText
|
||||
]);
|
||||
}
|
||||
|
||||
Attendee::find($attendee->id)->update(['has_arrived' => true, 'arrival_time' => Carbon::now()]);
|
||||
|
||||
return response()->json([
|
||||
'status' => 'success',
|
||||
'message' => trans("Controllers.attendee_check_in_success", ["name"=> $attendee->first_name.' '.$attendee->last_name, "ref"=>$attendee->reference, "ticket"=>$attendee->ticket]). $appendedText
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirm tickets of same order.
|
||||
*
|
||||
* @param $event_id
|
||||
* @param $order_id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function confirmOrderTickets($event_id, $order_id)
|
||||
{
|
||||
$updateRowsCount = Attendee::scope()->where([
|
||||
'event_id' => $event_id,
|
||||
'order_id' => $order_id,
|
||||
'has_arrived' => false,
|
||||
'arrival_time' => Carbon::now(),
|
||||
])
|
||||
->update(['has_arrived' => true, 'arrival_time' => Carbon::now()]);
|
||||
|
||||
return response()->json([
|
||||
'message' => trans("Controllers.num_attendees_checked_in", ["num"=>$updateRowsCount])
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -37,8 +37,8 @@ class UserController extends Controller
|
|||
'email',
|
||||
'unique:users,email,' . Auth::user()->id . ',id,account_id,' . Auth::user()->account_id
|
||||
],
|
||||
'new_password' => ['min:5', 'confirmed', 'required_with:password'],
|
||||
'password' => 'passcheck',
|
||||
'new_password' => ['min:8', 'confirmed', 'required_with:password'],
|
||||
'first_name' => ['required'],
|
||||
'last_name' => ['required'],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class UserSignupController extends Controller
|
|||
$is_attendize = Utils::isAttendize();
|
||||
$this->validate($request, [
|
||||
'email' => 'required|email|unique:users',
|
||||
'password' => 'required|min:5|confirmed',
|
||||
'password' => 'required|min:8|confirmed',
|
||||
'first_name' => 'required',
|
||||
'terms_agreed' => $is_attendize ? 'required' : '',
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -383,18 +383,6 @@ Route::group(
|
|||
'uses' => 'EventTicketsController@postUpdateTicketsOrder',
|
||||
]);
|
||||
|
||||
/*
|
||||
* Ticket questions
|
||||
*/
|
||||
Route::get('{event_id}/tickets/questions', [
|
||||
'as' => 'showTicketQuestions',
|
||||
'uses' => 'EventTicketQuestionsController@showQuestions',
|
||||
]);
|
||||
Route::post('{event_id}/tickets/questions/create', [
|
||||
'as' => 'postCreateQuestion',
|
||||
'uses' => 'EventTicketQuestionsController@postCreateQuestion',
|
||||
]);
|
||||
|
||||
/*
|
||||
* -------
|
||||
* Attendees
|
||||
|
|
@ -695,27 +683,6 @@ Route::group(
|
|||
]);
|
||||
|
||||
|
||||
/*
|
||||
* -------
|
||||
* QRCode Check In App
|
||||
* -------
|
||||
|
||||
Route::get('{event_id}/qrcode_check_in', [
|
||||
'as' => 'showQRCodeChechIn',
|
||||
'uses' => 'EventQrcodeCheckInController@showCheckIn',
|
||||
]);
|
||||
|
||||
Route::post('{event_id}/qrcode_check_in', [
|
||||
'as' => 'postQRCodeCheckInAttendee',
|
||||
'uses' => 'EventQrcodeCheckInController@postCheckInAttendee',
|
||||
]);
|
||||
|
||||
Route::match(['PUT', 'PATCH'], '{event_id}/confirm_order_tickets/{order_id}', [
|
||||
'as' => 'confirmCheckInOrderTickets',
|
||||
'uses' => 'EventQrcodeCheckInController@confirmOrderTickets',
|
||||
]);
|
||||
*/
|
||||
|
||||
/*
|
||||
* -------
|
||||
* Promote
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class Attendee extends MyBaseModel
|
|||
parent::boot();
|
||||
|
||||
static::creating(function ($order) {
|
||||
$order->private_reference_number = str_pad(rand(0, pow(10, 9) - 1), 9, '0', STR_PAD_LEFT);
|
||||
$order->private_reference_number = str_pad(random_int(0, pow(10, 9) - 1), 9, '0', STR_PAD_LEFT);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ class Order extends MyBaseModel
|
|||
parent::boot();
|
||||
|
||||
static::creating(function ($order) {
|
||||
$order->order_reference = strtoupper(str_random(5)) . date('jn');
|
||||
$order->order_reference = strtoupper(str_random(11)) . date('jn');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class Ticket extends MyBaseModel
|
|||
'start_sale_date' => ['date'],
|
||||
'end_sale_date' => ['date', 'after:start_sale_date'],
|
||||
'quantity_available' => ['integer', 'min:0'],
|
||||
];
|
||||
];
|
||||
/**
|
||||
* The validation error messages.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class Registrar implements RegistrarContract
|
|||
return Validator::make($data, [
|
||||
'name' => 'required|max:255',
|
||||
'email' => 'required|email|max:255|unique:users',
|
||||
'password' => 'required|confirmed|min:6',
|
||||
'password' => 'required|confirmed|min:8',
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
12
artisan
12
artisan
|
|
@ -1,6 +1,8 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
define('LARAVEL_START', microtime(true));
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register The Auto Loader
|
||||
|
|
@ -13,7 +15,7 @@
|
|||
|
|
||||
*/
|
||||
|
||||
require __DIR__.'/bootstrap/autoload.php';
|
||||
require __DIR__.'/vendor/autoload.php';
|
||||
|
||||
$app = require_once __DIR__.'/bootstrap/app.php';
|
||||
|
||||
|
|
@ -28,11 +30,11 @@ $app = require_once __DIR__.'/bootstrap/app.php';
|
|||
|
|
||||
*/
|
||||
|
||||
$kernel = $app->make('Illuminate\Contracts\Console\Kernel');
|
||||
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
|
||||
|
||||
$status = $kernel->handle(
|
||||
$input = new Symfony\Component\Console\Input\ArgvInput,
|
||||
new Symfony\Component\Console\Output\ConsoleOutput
|
||||
$input = new Symfony\Component\Console\Input\ArgvInput,
|
||||
new Symfony\Component\Console\Output\ConsoleOutput
|
||||
);
|
||||
|
||||
/*
|
||||
|
|
@ -40,7 +42,7 @@ $status = $kernel->handle(
|
|||
| Shutdown The Application
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Once Artisan has finished running. We will fire off the shutdown events
|
||||
| Once Artisan has finished running, we will fire off the shutdown events
|
||||
| so that any final work may be done by the application before we shut
|
||||
| down the process. This is the last thing to happen to the request.
|
||||
|
|
||||
|
|
|
|||
|
|
@ -1,44 +1,49 @@
|
|||
{
|
||||
"name": "attendize/attendize",
|
||||
"description": "A free and open-source event management and ticket selling application.",
|
||||
"keywords": ["event management", "ticket selling", "tickets", "events"],
|
||||
"keywords": [
|
||||
"event management",
|
||||
"ticket selling",
|
||||
"tickets",
|
||||
"events"
|
||||
],
|
||||
"license": "AAL",
|
||||
"type": "project",
|
||||
"homepage" : "https://www.attendize.com",
|
||||
"homepage": "https://www.attendize.com",
|
||||
"require": {
|
||||
"barryvdh/laravel-ide-helper": "~2.4",
|
||||
"doctrine/dbal": "~2.3",
|
||||
"dompdf/dompdf": "~0.8",
|
||||
"filp/whoops": "~2.2",
|
||||
"guzzlehttp/guzzle": "6",
|
||||
"guzzlehttp/psr7": "1.4",
|
||||
"illuminate/support": "~5.6",
|
||||
"intervention/image": "~2.4",
|
||||
"laracasts/utilities": "~2.1",
|
||||
"barryvdh/laravel-ide-helper": "~2.4",
|
||||
"doctrine/dbal": "~2.8",
|
||||
"dompdf/dompdf": "~0.8",
|
||||
"filp/whoops": "~2.2",
|
||||
"guzzlehttp/guzzle": "~6.3",
|
||||
"guzzlehttp/psr7": "~1.4",
|
||||
"illuminate/support": "~5.6",
|
||||
"intervention/image": "~2.4",
|
||||
"laracasts/utilities": "~2.1",
|
||||
"laravel/framework": "~5.6",
|
||||
"laravel/socialite": "~3.0",
|
||||
"laravelcollective/html": "~5.6",
|
||||
"league/flysystem-aws-s3-v3" : "~1.0",
|
||||
"maatwebsite/excel": "~2.1",
|
||||
"maxhoffmann/parsedown-laravel": "dev-master",
|
||||
"mcamara/laravel-localization": "~1.2",
|
||||
"mews/purifier": "~2.0",
|
||||
"milon/barcode": "~5.3",
|
||||
"nitmedia/wkhtml2pdf": "dev-master",
|
||||
"omnipay/common": "~3",
|
||||
"omnipay/dummy": "~3",
|
||||
"omnipay/paypal": "~3",
|
||||
"omnipay/stripe": "~3",
|
||||
"php-http/curl-client": "^1.7",
|
||||
"php-http/message": "^1.6",
|
||||
"predis/predis": "~1.1",
|
||||
"laravel/socialite": "~3.0",
|
||||
"laravelcollective/html": "~5.6",
|
||||
"league/flysystem-aws-s3-v3": "~1.0",
|
||||
"maatwebsite/excel": "~2.1",
|
||||
"maxhoffmann/parsedown-laravel": "dev-master",
|
||||
"mcamara/laravel-localization": "~1.2",
|
||||
"mews/purifier": "~2.0",
|
||||
"milon/barcode": "~5.3",
|
||||
"nitmedia/wkhtml2pdf": "dev-master",
|
||||
"omnipay/common": "~3",
|
||||
"omnipay/dummy": "~3",
|
||||
"omnipay/paypal": "~3",
|
||||
"omnipay/stripe": "~3",
|
||||
"php-http/curl-client": "^1.7",
|
||||
"php-http/message": "^1.6",
|
||||
"predis/predis": "~1.1",
|
||||
"vinelab/http": "~1.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "7.3.*",
|
||||
"phpspec/phpspec": "5.0.*",
|
||||
"fzaninotto/faker": "1.8.*",
|
||||
"symfony/dom-crawler": "~3.0",
|
||||
"phpunit/phpunit": "7.3.*",
|
||||
"phpspec/phpspec": "5.0.*",
|
||||
"fzaninotto/faker": "1.8.*",
|
||||
"symfony/dom-crawler": "~3.0",
|
||||
"symfony/css-selector": "~3.0"
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -59,23 +64,23 @@
|
|||
]
|
||||
},
|
||||
"scripts": {
|
||||
"post-install-cmd": [
|
||||
"php artisan clear-compiled"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"php artisan clear-compiled"
|
||||
],
|
||||
"post-create-project-cmd": [
|
||||
"php -r \"copy('.env.example', '.env');\"",
|
||||
"php artisan key:generate"
|
||||
]
|
||||
"post-install-cmd": [
|
||||
"php artisan clear-compiled"
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"php artisan clear-compiled"
|
||||
],
|
||||
"post-create-project-cmd": [
|
||||
"php -r \"copy('.env.example', '.env');\"",
|
||||
"php artisan key:generate"
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"preferred-install": "dist"
|
||||
},
|
||||
"extra" : {
|
||||
"laravel" : {
|
||||
"dont-discover" : [
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"dont-discover": [
|
||||
"potsky/laravel-localization-helpers"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'url' => env('APP_URL'),
|
||||
'url' => env('APP_URL', 'http://localhost'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -91,8 +91,8 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'key' => env('APP_KEY', 'SomeRandomString'),
|
||||
'cipher' => env('APP_CIPHER', 'MCRYPT_RIJNDAEL_128'),
|
||||
'key' => env('APP_KEY'),
|
||||
'cipher' => env('APP_CIPHER', 'AES-256-CBC'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -235,7 +235,6 @@ return [
|
|||
'Purifier' => Mews\Purifier\Facades\Purifier::class,
|
||||
'Markdown' => MaxHoffmann\Parsedown\ParsedownFacade::class,
|
||||
'Omnipay' => Omnipay\Omnipay::class,
|
||||
// 'Omnipay' => Omnipay\Omnipay::class,
|
||||
'LaravelLocalization' => Mcamara\LaravelLocalization\Facades\LaravelLocalization::class,
|
||||
|
||||
],
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'lifetime' => 120,
|
||||
'lifetime' => env('SESSION_LIFETIME', 120),
|
||||
|
||||
'expire_on_close' => false,
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'encrypt' => false,
|
||||
'encrypt' => env('SESSION_ENCRYPTED', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -70,7 +70,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'connection' => null,
|
||||
'connection' => env('SESSION_CONNECTION', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -85,6 +85,18 @@ return [
|
|||
|
||||
'table' => 'sessions',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cache Store
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "apc" or "memcached" session drivers, you may specify a
|
||||
| cache store that should be used for these sessions. This value must
|
||||
| correspond with one of the application's configured cache stores.
|
||||
|
|
||||
*/
|
||||
'store' => env('SESSION_STORE', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Sweeping Lottery
|
||||
|
|
@ -108,8 +120,10 @@ return [
|
|||
| new session cookie is created by the framework for every driver.
|
||||
|
|
||||
*/
|
||||
|
||||
'cookie' => 'laravel_session',
|
||||
'cookie' => env(
|
||||
'SESSION_COOKIE',
|
||||
str_slug(env('APP_NAME', 'laravel'), '_').'_session'
|
||||
),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -135,7 +149,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'domain' => null,
|
||||
'domain' => env('SESSION_DOMAIN', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -148,6 +162,31 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'secure' => false,
|
||||
'secure' => env('SESSION_SECURE_COOKIE', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| HTTP Access Only
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Setting this value to true will prevent JavaScript from accessing the
|
||||
| value of the cookie and the cookie will only be accessible through
|
||||
| the HTTP protocol. You are free to modify this option if needed.
|
||||
|
|
||||
*/
|
||||
'http_only' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Same-Site Cookies
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option determines how your cookies behave when cross-site requests
|
||||
| take place, and can be used to mitigate CSRF attacks. By default, we
|
||||
| do not enable this as other CSRF protection services are in place.
|
||||
|
|
||||
| Supported: "lax", "strict"
|
||||
|
|
||||
*/
|
||||
'same_site' => null,
|
||||
];
|
||||
|
|
|
|||
|
|
@ -166,6 +166,7 @@ var checkinApp = new Vue({
|
|||
this.showScannerModal = false;
|
||||
track = this.stream.getTracks()[0];
|
||||
track.stop();
|
||||
this.isInit = false;
|
||||
this.fetchAttendees();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -265,20 +265,6 @@ footer {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
#ScanVideoOutter {
|
||||
min-width: 100%;
|
||||
min-height: 300px;
|
||||
position: relative;
|
||||
background: #999;
|
||||
background: url(http://dev.attendize.com/assets/images/background.png) repeat;
|
||||
background-color: #2E3254;
|
||||
}
|
||||
|
||||
#qr-file {
|
||||
|
||||
}
|
||||
|
||||
#QrCanvas{
|
||||
display:none;
|
||||
}
|
||||
|
|
@ -318,10 +304,6 @@ video#scannerVideo {
|
|||
border-radius:20px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@-webkit-keyframes opacity {
|
||||
0% {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
|
|
@ -412,4 +394,4 @@ video#scannerVideo {
|
|||
-ms-animation-delay: 300ms;
|
||||
-o-animation-delay: 300ms;
|
||||
animation-delay: 300ms;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
/*
|
||||
-----------------------------------------------------
|
||||
MANAGE ORGANISERS
|
||||
MANAGE ORGANISERS
|
||||
-----------------------------------------------------
|
||||
*/
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ MANAGE ORGANISERS
|
|||
|
||||
/*
|
||||
-----------------------------------------------------
|
||||
MANAGE EVENT
|
||||
MANAGE EVENT
|
||||
-----------------------------------------------------
|
||||
*/
|
||||
|
||||
|
|
@ -69,8 +69,8 @@ MANAGE EVENT
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -241,7 +241,7 @@ GLOBAL
|
|||
.btn {
|
||||
width: 100%;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
padding-right: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.pull-left, .pull-right {
|
||||
|
|
@ -302,7 +302,7 @@ label.required::after {
|
|||
|
||||
.dtpicker-header .dtpicker-value {
|
||||
padding: .8em .2em .2em .2em;
|
||||
color: @primary;
|
||||
color: @primary;
|
||||
text-align: center;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
|
@ -314,7 +314,7 @@ label.required::after {
|
|||
}
|
||||
|
||||
.dtpicker-content {
|
||||
border-radius: @border-radius;
|
||||
border-radius: @border-radius;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -437,3 +437,8 @@ html.working {
|
|||
cursor: move;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
// Fix the editor fullscreen mode
|
||||
.editor-toolbar.fullscreen, .CodeMirror-fullscreen {
|
||||
z-index: 10000 !important;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
return array (
|
||||
return [
|
||||
'Contact' => 'Contact',
|
||||
'DETAILS' => 'DETAILS',
|
||||
'Facebook' => 'Facebook',
|
||||
|
|
@ -36,7 +36,7 @@ return array (
|
|||
'expiry_year' => 'Expiry year',
|
||||
'first_name' => 'First name',
|
||||
'free' => 'FREE',
|
||||
'inc_fees' => '(inc. :fees Fees)',
|
||||
'inc_fees' => 'Booking Fees',
|
||||
'last_name' => 'Last name',
|
||||
'offline_payment_instructions' => 'Offline payment instructions',
|
||||
'offline_payment_methods_available' => 'Offline Payment Methods Available',
|
||||
|
|
@ -75,4 +75,4 @@ return array (
|
|||
'your_message' => 'Your message',
|
||||
'your_name' => 'Your name',
|
||||
'your' => 'Your'
|
||||
);
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
return array (
|
||||
return [
|
||||
'Contact' => 'Kontakt',
|
||||
'DETAILS' => 'SZCZEGÓŁY',
|
||||
'Facebook' => 'Facebook',
|
||||
|
|
@ -36,7 +36,7 @@ return array (
|
|||
'expiry_year' => 'Rok ważności karty',
|
||||
'first_name' => 'Imię',
|
||||
'free' => 'GRATIS',
|
||||
'inc_fees' => '(uwzgl. opłaty: :fees)',
|
||||
'inc_fees' => 'Opłaty za rezerwację',
|
||||
'last_name' => 'Nazwisko',
|
||||
'offline_payment_instructions' => 'Instrukcje płatności offline',
|
||||
'offline_payment_methods_available' => 'Płatności offline dostępne',
|
||||
|
|
@ -75,4 +75,4 @@ return array (
|
|||
'your_message' => 'Twoja wiadomość',
|
||||
'your_name' => 'Twoje imię',
|
||||
'your' => 'Twój',
|
||||
);
|
||||
];
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
step: 0.1,
|
||||
decimals: 2,
|
||||
verticalbuttons: true,
|
||||
forcestepdivisibility: 'none',
|
||||
postfix: '%',
|
||||
buttondown_class: "btn btn-link",
|
||||
buttonup_class: "btn btn-link",
|
||||
|
|
@ -47,7 +48,7 @@
|
|||
$("input[name='organiser_fee_fixed']").TouchSpin({
|
||||
min: 0,
|
||||
max: 100,
|
||||
step: 0.1,
|
||||
step: 0.01,
|
||||
decimals: 2,
|
||||
verticalbuttons: true,
|
||||
postfix: '{{$event->currency->symbol_left}}',
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@
|
|||
@stop
|
||||
|
||||
@section('head')
|
||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css" />
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
|
||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css" integrity="sha256-szHusaozbQctTn4FX+3l5E0A5zoxz7+ne4fr8NgWJlw=" crossorigin="anonymous" />
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.4/raphael-min.js" integrity="sha256-Gk+dzc4kV2rqAZMkyy3gcfW6Xd66BhGYjVWa/FjPu+s=" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js" integrity="sha256-0rg2VtfJo3VUij/UY9X0HJP7NET6tgAY98aMOfwP0P8=" crossorigin="anonymous"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
$.getJSON('http://graph.facebook.com/?id=' + '{{route('showEventPage',['event_id' => $event->id, 'event_slug' => Str::slug($event->title)])}}', function (fbdata) {
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@
|
|||
<li>
|
||||
<div class="section">
|
||||
<h4 class="nm">
|
||||
{{ ($ticket->quantity_available === null) ? '∞' : $ticket->quantity_remaining }}
|
||||
{{ ($ticket->quantity_available === null) ? '∞' : $ticket->quantity_remaining }}
|
||||
</h4>
|
||||
|
||||
<p class="nm text-muted">@lang("Ticket.remaining")</p>
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@
|
|||
|
||||
@section('head')
|
||||
|
||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css">
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
|
||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css" integrity="sha256-szHusaozbQctTn4FX+3l5E0A5zoxz7+ne4fr8NgWJlw=" crossorigin="anonymous" />
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.4/raphael-min.js" integrity="sha256-Gk+dzc4kV2rqAZMkyy3gcfW6Xd66BhGYjVWa/FjPu+s=" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js" integrity="sha256-0rg2VtfJo3VUij/UY9X0HJP7NET6tgAY98aMOfwP0P8=" crossorigin="anonymous"></script>
|
||||
|
||||
{!! HTML::script('https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places&key='.env("GOOGLE_MAPS_GEOCODING_KEY")) !!}
|
||||
{!! HTML::script('vendor/geocomplete/jquery.geocomplete.min.js')!!}
|
||||
|
|
|
|||
|
|
@ -95,8 +95,9 @@
|
|||
$tax_amt = ($grand_total * $event->organiser->tax_value) / 100;
|
||||
$grand_total = $tax_amt + $grand_total;
|
||||
@endphp
|
||||
{{money($grand_total, $order->event->currency)}} (inc. {{money($attendee->ticket->total_booking_fee, $order->event->currency)}} @lang("Public_ViewEvent.inc_fees") (inc. {{money($tax_amt, $order->event->currency)}} {{$event->organiser->tax_name}})
|
||||
{{money($grand_total, $order->event->currency)}} @if ($attendee->ticket->total_booking_fee) (inc. {{money($attendee->ticket->total_booking_fee, $order->event->currency)}} @lang("Public_ViewEvent.inc_fees")) @endif @if ($event->organiser->tax_name) (inc. {{money($tax_amt, $order->event->currency)}} {{$event->organiser->tax_name}})
|
||||
<br><br>{{$event->organiser->tax_name}} ID: {{ $event->organiser->tax_id }}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="barcode">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="{{ Lang::locale() }}">
|
||||
<head>
|
||||
<!--
|
||||
_ _ _ _
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
-->
|
||||
<title>
|
||||
@section('title')
|
||||
Attendize ::
|
||||
Attendize -
|
||||
@show
|
||||
</title>
|
||||
|
||||
|
|
@ -130,7 +130,7 @@
|
|||
$(function () {
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-Token': "<?php echo csrf_token() ?>"
|
||||
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
@ -148,4 +148,4 @@
|
|||
@include('Shared.Partials.GlobalFooterJS')
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
@if(session()->get('message'))
|
||||
<script>showMessage('{{\Session::get('message')}}');</script>
|
||||
@endif
|
||||
|
||||
@if(env('GOOGLE_ANALYTICS_ID'))
|
||||
<script>
|
||||
@if(env('GOOGLE_ANALYTICS_ID'))
|
||||
(function (i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function () {
|
||||
|
|
@ -18,5 +19,5 @@
|
|||
ga('create', '{{env('GOOGLE_ANALYTICS_ID')}}', 'auto');
|
||||
ga('require', 'displayfeatures');
|
||||
ga('send', 'pageview');
|
||||
@endif
|
||||
</script>
|
||||
</script>
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
{{--Attendize is provided free of charge on the condition the below hyperlink is left in place.--}}
|
||||
{{--See https://www.attendize.com/licence.html for more information.--}}
|
||||
Powered By <a style="color: #FFF;" title="Attendize - Sell Tickets Online" href="http://www.attendize.com/?powered_by">Attendize</a>
|
||||
Powered By <a style="color: #FFF;" title="Attendize - Sell Tickets Online" href="https://www.attendize.com/?powered_by">Attendize</a>
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@
|
|||
</p>
|
||||
<p>
|
||||
If you still need help you can <a href="https://github.com/Attendize/Attendize/issues">raise an issue</a>. Please include as much detail as possible, including any errors in the log file.
|
||||
Also take a look at the <a href="http://www.attendize.com/troubleshooting.html">troubleshooting guide</a>
|
||||
Also take a look at the <a href="https://www.attendize.com/troubleshooting.html">troubleshooting guide</a>
|
||||
</p>
|
||||
<p>
|
||||
Please also <a style="text-decoration: underline;" target="_blank" href="http://www.attendize.com/license.html">read the licence</a> before installing Attendize.
|
||||
Please also <a style="text-decoration: underline;" target="_blank" href="https://www.attendize.com/license.html">read the licence</a> before installing Attendize.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue