Compare commits
18 Commits
snyk-fix-1
...
dev
Author | SHA1 | Date | |
---|---|---|---|
|
ced2012578 | ||
|
00918f54aa | ||
|
41bd325f9a | ||
|
b4311b861f | ||
|
2f9e8583f2 | ||
|
2155979eb9 | ||
|
f30a3bc1ef | ||
|
3461672f10 | ||
|
b4d5114ea2 | ||
|
231e54ea5e | ||
|
b1ae0240be | ||
|
64e470abec | ||
|
695ab3a90d | ||
|
0e1b55c6d7 | ||
|
ba5b4e23c7 | ||
|
ef38d39ec4 | ||
|
ccebc69be2 | ||
|
6becc6de63 |
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@ -80,7 +80,7 @@ jobs:
|
||||
- name: Run Tests
|
||||
run: |
|
||||
export PHP_CS_FIXER_IGNORE_ENV=1
|
||||
vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php -v --dry-run --diff --using-cache=no
|
||||
#vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php -v --dry-run --diff --using-cache=no
|
||||
vendor/bin/phpunit --debug --verbose
|
||||
|
||||
# This runs after all of the tests, run have run. Creates a cleaned up version of the
|
||||
|
2
Makefile
2
Makefile
@ -102,7 +102,7 @@ reset-installer:
|
||||
|
||||
.PHONY: docker-test
|
||||
docker-test:
|
||||
@docker compose -f docker-compose.local.yml up
|
||||
@docker compose -f docker-compose.dev.yml up
|
||||
|
||||
.PHONY: docker-clean
|
||||
docker-clean:
|
||||
|
@ -39,7 +39,7 @@ make docker-test
|
||||
|
||||
# **OR** with docker-compose directly
|
||||
|
||||
docker-compose -f docker-compose.yml -f docker-compose.local.yml up
|
||||
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
|
||||
```
|
||||
|
||||
Then go to `http://localhost`. If you're using dnsmasq, the `app` container is listening on `phpvms.test`, or you can add to your `/etc/hosts` file:
|
||||
|
@ -63,6 +63,7 @@ class AirportFactory extends Factory
|
||||
'lat' => $this->faker->latitude,
|
||||
'lon' => $this->faker->longitude,
|
||||
'hub' => false,
|
||||
'notes' => null,
|
||||
'ground_handling_cost' => $this->faker->randomFloat(2, 0, 500),
|
||||
'fuel_100ll_cost' => $this->faker->randomFloat(2, 1, 10),
|
||||
'fuel_jeta_cost' => $this->faker->randomFloat(2, 1, 10),
|
||||
|
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
use App\Contracts\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class() extends Migration {
|
||||
public function up()
|
||||
{
|
||||
Schema::table('airports', function (Blueprint $table) {
|
||||
$table->mediumText('notes')->nullable()->after('hub');
|
||||
});
|
||||
}
|
||||
};
|
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
use App\Contracts\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class() extends Migration {
|
||||
public function up()
|
||||
{
|
||||
Schema::table('airlines', function (Blueprint $table) {
|
||||
$table->string('callsign')->nullable()->after('name');
|
||||
});
|
||||
}
|
||||
};
|
@ -212,14 +212,19 @@ class AircraftController extends Controller
|
||||
public function export(Request $request)
|
||||
{
|
||||
$exporter = app(ExportService::class);
|
||||
$aircraft = $this->aircraftRepo->all();
|
||||
|
||||
$where = [];
|
||||
$file_name = 'aircraft.csv';
|
||||
if ($request->input('subfleet')) {
|
||||
$subfleet_id = $request->input('subfleet');
|
||||
$where['subfleet_id'] = $subfleet_id;
|
||||
$file_name = 'aircraft-'.$subfleet_id.'.csv';
|
||||
}
|
||||
|
||||
$aircraft = $this->aircraftRepo->where($where)->orderBy('registration')->get();
|
||||
|
||||
$path = $exporter->exportAircraft($aircraft);
|
||||
return response()
|
||||
->download($path, 'aircraft.csv', [
|
||||
'content-type' => 'text/csv',
|
||||
])
|
||||
->deleteFileAfterSend(true);
|
||||
return response()->download($path, $file_name, ['content-type' => 'text/csv'])->deleteFileAfterSend(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -48,7 +48,7 @@ class RolesController extends Controller
|
||||
public function index(Request $request)
|
||||
{
|
||||
$this->rolesRepo->pushCriteria(new RequestCriteria($request));
|
||||
$roles = $this->rolesRepo->findWhere(['read_only' => false]);
|
||||
$roles = $this->rolesRepo->withCount('users')->findWhere(['read_only' => false]);
|
||||
|
||||
return view('admin.roles.index', [
|
||||
'roles' => $roles,
|
||||
@ -117,7 +117,7 @@ class RolesController extends Controller
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$role = $this->rolesRepo->findWithoutFail($id);
|
||||
$role = $this->rolesRepo->withCount('users')->with('users')->findWithoutFail($id);
|
||||
|
||||
if (empty($role)) {
|
||||
Flash::error('Role not found');
|
||||
@ -126,6 +126,8 @@ class RolesController extends Controller
|
||||
|
||||
return view('admin.roles.edit', [
|
||||
'role' => $role,
|
||||
'users' => $role->users,
|
||||
'users_count' => $role->users_count,
|
||||
'permissions' => $this->permsRepo->all(),
|
||||
]);
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ use Illuminate\Support\Str;
|
||||
* @property string icao
|
||||
* @property string iata
|
||||
* @property string name
|
||||
* @property string callsign
|
||||
* @property string logo
|
||||
* @property string country
|
||||
* @property Journal journal
|
||||
@ -37,6 +38,7 @@ class Airline extends Model
|
||||
'icao',
|
||||
'iata',
|
||||
'name',
|
||||
'callsign',
|
||||
'logo',
|
||||
'country',
|
||||
'total_flights',
|
||||
@ -61,11 +63,12 @@ class Airline extends Model
|
||||
* @var array
|
||||
*/
|
||||
public static $rules = [
|
||||
'country' => 'nullable',
|
||||
'iata' => 'nullable|max:5',
|
||||
'icao' => 'required|max:5',
|
||||
'logo' => 'nullable',
|
||||
'name' => 'required',
|
||||
'country' => 'nullable',
|
||||
'iata' => 'nullable|max:5',
|
||||
'icao' => 'required|max:5',
|
||||
'logo' => 'nullable',
|
||||
'name' => 'required',
|
||||
'callsign' => 'nullable',
|
||||
];
|
||||
|
||||
/**
|
||||
|
@ -19,6 +19,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
* @property string location
|
||||
* @property string country
|
||||
* @property string timezone
|
||||
* @property string notes
|
||||
* @property float ground_handling_cost
|
||||
* @property float fuel_100ll_cost
|
||||
* @property float fuel_jeta_cost
|
||||
@ -56,6 +57,7 @@ class Airport extends Model
|
||||
'fuel_100ll_cost',
|
||||
'fuel_jeta_cost',
|
||||
'fuel_mogas_cost',
|
||||
'notes',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
@ -81,8 +83,7 @@ class Airport extends Model
|
||||
'ground_handling_cost' => 'nullable|numeric',
|
||||
'fuel_100ll_cost' => 'nullable|numeric',
|
||||
'fuel_jeta_cost' => 'nullable|numeric',
|
||||
|
||||
'fuel_mogas_cost' => 'nullable|numeric',
|
||||
'fuel_mogas_cost' => 'nullable|numeric',
|
||||
];
|
||||
|
||||
/**
|
||||
|
@ -169,7 +169,7 @@ class FareService extends Service
|
||||
}
|
||||
}
|
||||
|
||||
$fare->notes = '';
|
||||
// $fare->notes = '';
|
||||
$fare->active = true;
|
||||
|
||||
return $fare;
|
||||
|
@ -18,7 +18,7 @@ class AirportImporter extends ImportExport
|
||||
*/
|
||||
public static $columns = [
|
||||
'icao' => 'required',
|
||||
'iata' => 'required',
|
||||
'iata' => 'nullable',
|
||||
'name' => 'required',
|
||||
'location' => 'nullable',
|
||||
'country' => 'nullable',
|
||||
@ -30,6 +30,7 @@ class AirportImporter extends ImportExport
|
||||
'fuel_100ll_cost' => 'nullable|numeric',
|
||||
'fuel_jeta_cost' => 'nullable|numeric',
|
||||
'fuel_mogas_cost' => 'nullable|numeric',
|
||||
'notes' => 'nullable',
|
||||
];
|
||||
|
||||
/**
|
||||
|
@ -33,7 +33,7 @@ class Money
|
||||
/**
|
||||
* Create from a dollar amount
|
||||
*
|
||||
* @param mixed $amount The amount in pennies
|
||||
* @param mixed $amount The amount in dollar
|
||||
*
|
||||
* @throws \UnexpectedValueException
|
||||
* @throws \InvalidArgumentException
|
||||
@ -52,12 +52,12 @@ class Money
|
||||
*
|
||||
* @param mixed $amount
|
||||
*
|
||||
* @return float|int
|
||||
* @return int
|
||||
*/
|
||||
public static function convertToSubunit($amount)
|
||||
{
|
||||
$currency = setting('units.currency', 'USD');
|
||||
return (int) $amount * config('money.'.$currency.'.subunit');
|
||||
return (int) ($amount * config('money.'.$currency.'.subunit'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -23,45 +23,46 @@
|
||||
"symfony/polyfill-mbstring": "*",
|
||||
"symfony/polyfill-php80": "*",
|
||||
"symfony/polyfill-php81": "*",
|
||||
"symfony/deprecation-contracts": "^v2.5.0",
|
||||
"symfony/event-dispatcher-contracts": "^2",
|
||||
"symfony/mailgun-mailer": "^6.0",
|
||||
"symfony/http-client": "^6.0",
|
||||
"symfony/yaml": "^6.0",
|
||||
"symfony/deprecation-contracts": "~v2.5.0",
|
||||
"symfony/event-dispatcher-contracts": "~2.5.0",
|
||||
"symfony/mailgun-mailer": "^6.0.0",
|
||||
"symfony/console": "^6.0.0",
|
||||
"symfony/http-client": "^6.0.0",
|
||||
"symfony/yaml": "~6.0.0",
|
||||
"psr/container": "1.1.1",
|
||||
"composer/composer": "^2.2.7",
|
||||
"composer/composer": "~2.3.0",
|
||||
"composer/installers": "~1.12.0",
|
||||
"laravel/framework": "~v9.2",
|
||||
"arrilot/laravel-widgets": "~3.13.0",
|
||||
"doctrine/dbal": "^3.3.2",
|
||||
"doctrine/dbal": "~3.3.2",
|
||||
"guzzlehttp/guzzle": "~7.4.1",
|
||||
"hashids/hashids": "^4.1.0",
|
||||
"igaster/laravel-theme": "^2.0",
|
||||
"intervention/image": "^2.4",
|
||||
"hashids/hashids": "~4.1.0",
|
||||
"igaster/laravel-theme": "~2.0.0",
|
||||
"intervention/image": "~2.4",
|
||||
"jmikola/geojson": "1.0.*",
|
||||
"joshbrw/laravel-module-installer": "^2.0",
|
||||
"laracasts/flash": "^3.2.1",
|
||||
"laravel/helpers": "^v1.5.0",
|
||||
"joshbrw/laravel-module-installer": "~2.0.1",
|
||||
"laracasts/flash": "~3.2.1",
|
||||
"laravel/helpers": "~v1.5.0",
|
||||
"laravelcollective/html": "~6.3.0",
|
||||
"jeremykendall/php-domain-parser": "~5.7.2",
|
||||
"league/commonmark": "~2.2.2",
|
||||
"league/csv": "^9.8.0",
|
||||
"league/geotools": "^1.0.0",
|
||||
"league/iso3166": "^4.0.0",
|
||||
"markrogoyski/math-php": "^2.5.0",
|
||||
"league/csv": "~9.8.0",
|
||||
"league/geotools": "~1.0.0",
|
||||
"league/iso3166": "~4.0.0",
|
||||
"markrogoyski/math-php": "~2.5.0",
|
||||
"myclabs/deep-copy": "~1.10.0",
|
||||
"nabeel/vacentral": "~2.1.0",
|
||||
"nwidart/laravel-modules": "^9.0.0",
|
||||
"nwidart/laravel-modules": "~9.0.0",
|
||||
"php-units-of-measure/php-units-of-measure": "~2.1.0",
|
||||
"phpvms/sample-module": "^1.0",
|
||||
"phpvms/sample-module": "~1.0",
|
||||
"prettus/l5-repository": "~2.8.0",
|
||||
"santigarcor/laratrust": "~7.0.0",
|
||||
"semver/semver": "~1.1.0",
|
||||
"spatie/valuestore": "~1.3.1",
|
||||
"tivie/php-os-detector": "~1.1.0",
|
||||
"vlucas/phpdotenv": "^5.4.1",
|
||||
"webpatser/laravel-uuid": "^4.0.1",
|
||||
"oomphinc/composer-installers-extender": "^2.0",
|
||||
"vlucas/phpdotenv": "~5.4.1",
|
||||
"webpatser/laravel-uuid": "~4.0.1",
|
||||
"oomphinc/composer-installers-extender": "~2.0.0",
|
||||
"laravel/ui": "^3.4.5",
|
||||
"madnest/madzipper": "^1.1.0",
|
||||
"elcobvg/laravel-opcache": "^0.4.1",
|
||||
@ -69,8 +70,8 @@
|
||||
"queueworker/sansdaemon": "^1.2.4",
|
||||
"jpkleemans/attribute-events": "^1.3.0",
|
||||
"akaunting/laravel-money": "^2.0.1",
|
||||
"staudenmeir/belongs-to-through": "^v2.12",
|
||||
"staudenmeir/eloquent-has-many-deep": "1.15",
|
||||
"staudenmeir/belongs-to-through": "^v2.12.0",
|
||||
"staudenmeir/eloquent-has-many-deep": "1.15.0",
|
||||
"spatie/laravel-ignition": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
@ -124,7 +125,8 @@
|
||||
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
||||
"@php artisan package:discover --ansi",
|
||||
"@php artisan phpvms:caches"
|
||||
]
|
||||
],
|
||||
"test": "phpunit --verbose"
|
||||
},
|
||||
"config": {
|
||||
"bin-dir": "vendor/bin/",
|
||||
|
1399
composer.lock
generated
1399
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Run with either `make docker-test` or the following Docker command:
|
||||
# docker-compose -f docker-compose.yml -f docker-compose.local.yml up
|
||||
# docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
|
||||
#
|
||||
---
|
||||
services:
|
||||
|
17723
package-lock.json
generated
17723
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
17
package.json
17
package.json
@ -2,12 +2,12 @@
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "npm run development",
|
||||
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"watch-poll": "npm run watch -- --watch-poll",
|
||||
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"prod": "npm run production",
|
||||
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
|
||||
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --config=node_modules/laravel-mix/setup/webpack.config.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@turf/center": "^6.0.1",
|
||||
@ -46,8 +46,8 @@
|
||||
"select2": "^4.0.13",
|
||||
"ssri": "^8.0.1",
|
||||
"tar": ">=4.4.2",
|
||||
"webpack": "^5.45.1",
|
||||
"webpack-cli": "^3.3.12",
|
||||
"webpack": "^5.0.0",
|
||||
"webpack-cli": "^4.10.0",
|
||||
"x-editable": "1.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -58,11 +58,12 @@
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||
"eslint-plugin-react": "^7.21.5",
|
||||
"sass": "^1.32.13",
|
||||
"sass-loader": "^8.0.2",
|
||||
"node-gyp": "~9.1.0",
|
||||
"sass": "^1.54.5",
|
||||
"sass-loader": "^12.1.0",
|
||||
"tailwindcss": "^0.5.3",
|
||||
"vue-template-compiler": "^2.6.12",
|
||||
"webpack-bundle-analyzer": "^3.9.0",
|
||||
"webpack-dev-server": "^1.16.5"
|
||||
"webpack-dev-server": "^4.10.0"
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
5
public/assets/admin/css/vendor.min.css
vendored
5
public/assets/admin/css/vendor.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,21 +1,23 @@
|
||||
/* @preserve
|
||||
* Leaflet 1.7.1, a JS library for interactive maps. http://leafletjs.com
|
||||
* (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
||||
* Leaflet 1.8.0, a JS library for interactive maps. https://leafletjs.com
|
||||
* (c) 2010-2022 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
||||
*/
|
||||
|
||||
/*! *****************************************************************************
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
||||
this file except in compliance with the License. You may obtain a copy of the
|
||||
License at http://www.apache.org/licenses/LICENSE-2.0
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
||||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
||||
MERCHANTABLITY OR NON-INFRINGEMENT.
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted.
|
||||
|
||||
See the Apache Version 2.0 License for specific language governing permissions
|
||||
and limitations under the License.
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
|
||||
/*! Leaflet.Geodesic 2.5.4 - (c) Henry Thasler - https://github.com/henrythasler/Leaflet.Geodesic */
|
||||
/*! Leaflet.Geodesic 2.6.1 - (c) Henry Thasler - https://github.com/henrythasler/Leaflet.Geodesic */
|
||||
|
||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,21 +1,23 @@
|
||||
/* @preserve
|
||||
* Leaflet 1.7.1, a JS library for interactive maps. http://leafletjs.com
|
||||
* (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
||||
* Leaflet 1.8.0, a JS library for interactive maps. https://leafletjs.com
|
||||
* (c) 2010-2022 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
||||
*/
|
||||
|
||||
/*! *****************************************************************************
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
||||
this file except in compliance with the License. You may obtain a copy of the
|
||||
License at http://www.apache.org/licenses/LICENSE-2.0
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
||||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
||||
MERCHANTABLITY OR NON-INFRINGEMENT.
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted.
|
||||
|
||||
See the Apache Version 2.0 License for specific language governing permissions
|
||||
and limitations under the License.
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
|
||||
/*! Leaflet.Geodesic 2.5.4 - (c) Henry Thasler - https://github.com/henrythasler/Leaflet.Geodesic */
|
||||
/*! Leaflet.Geodesic 2.6.1 - (c) Henry Thasler - https://github.com/henrythasler/Leaflet.Geodesic */
|
||||
|
||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
10882
public/assets/global/js/jquery.js
vendored
10882
public/assets/global/js/jquery.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,6 +1 @@
|
||||
/*!
|
||||
* Determine if an object is a Buffer
|
||||
*
|
||||
* @author Feross Aboukhadijeh <https://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1264
public/assets/vendor/ckeditor4/ckeditor.js
vendored
1264
public/assets/vendor/ckeditor4/ckeditor.js
vendored
File diff suppressed because one or more lines are too long
39
public/assets/vendor/ckeditor4/config.js
vendored
39
public/assets/vendor/ckeditor4/config.js
vendored
@ -1 +1,38 @@
|
||||
CKEDITOR.editorConfig=function(e){e.toolbarGroups=[{name:"clipboard",groups:["clipboard","undo"]},{name:"editing",groups:["find","selection","spellchecker"]},{name:"links"},{name:"insert"},{name:"forms"},{name:"tools"},{name:"document",groups:["mode","document","doctools"]},{name:"others"},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi"]},{name:"styles"},{name:"colors"},{name:"about"}],e.removeButtons="Underline,Subscript,Superscript",e.format_tags="p;h1;h2;h3;pre",e.removeDialogTabs="image:advanced;link:advanced"};
|
||||
/**
|
||||
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
||||
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
CKEDITOR.editorConfig = function( config ) {
|
||||
// Define changes to default configuration here.
|
||||
// For complete reference see:
|
||||
// https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html
|
||||
|
||||
// The toolbar groups arrangement, optimized for two toolbar rows.
|
||||
config.toolbarGroups = [
|
||||
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
|
||||
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] },
|
||||
{ name: 'links' },
|
||||
{ name: 'insert' },
|
||||
{ name: 'forms' },
|
||||
{ name: 'tools' },
|
||||
{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
|
||||
{ name: 'others' },
|
||||
'/',
|
||||
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
|
||||
{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
|
||||
{ name: 'styles' },
|
||||
{ name: 'colors' },
|
||||
{ name: 'about' }
|
||||
];
|
||||
|
||||
// Remove some buttons provided by the standard plugins, which are
|
||||
// not needed in the Standard(s) toolbar.
|
||||
config.removeButtons = 'Underline,Subscript,Superscript';
|
||||
|
||||
// Set the most common block elements.
|
||||
config.format_tags = 'p;h1;h2;h3;pre';
|
||||
|
||||
// Simplify the dialog windows.
|
||||
config.removeDialogTabs = 'image:advanced;link:advanced';
|
||||
};
|
||||
|
209
public/assets/vendor/ckeditor4/contents.css
vendored
209
public/assets/vendor/ckeditor4/contents.css
vendored
@ -1 +1,208 @@
|
||||
body{font-family:sans-serif,Arial,Verdana,"Trebuchet MS","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:12px;color:#333;background-color:#fff;margin:20px}.cke_editable{font-size:13px;line-height:1.6;word-wrap:break-word}blockquote{font-style:italic;font-family:Georgia,Times,"Times New Roman",serif;padding:2px 0;border-style:solid;border-color:#ccc;border-width:0}.cke_contents_ltr blockquote{padding-left:20px;padding-right:8px;border-left-width:5px}.cke_contents_rtl blockquote{padding-left:8px;padding-right:20px;border-right-width:5px}a{color:#0782c1}dl,ol,ul{padding:0 40px}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.2}hr{border:0;border-top:1px solid #ccc}img.right{border:1px solid #ccc;float:right;margin-left:15px;padding:5px}img.left{border:1px solid #ccc;float:left;margin-right:15px;padding:5px}pre{white-space:pre-wrap;word-wrap:break-word;-moz-tab-size:4;tab-size:4}.marker{background-color:#ff0}span[lang]{font-style:italic}figure{text-align:center;outline:solid 1px #ccc;background:rgba(0,0,0,.05);padding:10px;margin:10px 20px;display:inline-block}figure>figcaption{text-align:center;display:block}a>img{padding:1px;margin:1px;border:none;outline:1px solid #0782C1}.code-featured{border:5px solid red}.math-featured{padding:20px;box-shadow:0 0 2px #c80000;background-color:rgba(255,0,0,.05);margin:10px}.image-clean{border:0;background:0 0;padding:0}.image-clean>figcaption{font-size:.9em;text-align:right}.image-grayscale{background-color:#fff;color:#666}.image-grayscale img,img.image-grayscale{filter:grayscale(100%)}.embed-240p{max-width:426px;max-height:240px;margin:0 auto}.embed-360p{max-width:640px;max-height:360px;margin:0 auto}.embed-480p{max-width:854px;max-height:480px;margin:0 auto}.embed-720p{max-width:1280px;max-height:720px;margin:0 auto}.embed-1080p{max-width:1920px;max-height:1080px;margin:0 auto}
|
||||
/*
|
||||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
body
|
||||
{
|
||||
/* Font */
|
||||
/* Emoji fonts are added to visualise them nicely in Internet Explorer. */
|
||||
font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 12px;
|
||||
|
||||
/* Text color */
|
||||
color: #333;
|
||||
|
||||
/* Remove the background color to make it transparent. */
|
||||
background-color: #fff;
|
||||
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.cke_editable
|
||||
{
|
||||
font-size: 13px;
|
||||
line-height: 1.6;
|
||||
|
||||
/* Fix for missing scrollbars with RTL texts. (#10488) */
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
blockquote
|
||||
{
|
||||
font-style: italic;
|
||||
font-family: Georgia, Times, "Times New Roman", serif;
|
||||
padding: 2px 0;
|
||||
border-style: solid;
|
||||
border-color: #ccc;
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
.cke_contents_ltr blockquote
|
||||
{
|
||||
padding-left: 20px;
|
||||
padding-right: 8px;
|
||||
border-left-width: 5px;
|
||||
}
|
||||
|
||||
.cke_contents_rtl blockquote
|
||||
{
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
border-right-width: 5px;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
color: #0782C1;
|
||||
}
|
||||
|
||||
ol,ul,dl
|
||||
{
|
||||
/* IE7: reset rtl list margin. (#7334) */
|
||||
*margin-right: 0px;
|
||||
/* Preserved spaces for list items with text direction different than the list. (#6249,#8049)*/
|
||||
padding: 0 40px;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6
|
||||
{
|
||||
font-weight: normal;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
hr
|
||||
{
|
||||
border: 0px;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
img.right
|
||||
{
|
||||
border: 1px solid #ccc;
|
||||
float: right;
|
||||
margin-left: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
img.left
|
||||
{
|
||||
border: 1px solid #ccc;
|
||||
float: left;
|
||||
margin-right: 15px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
pre
|
||||
{
|
||||
white-space: pre-wrap; /* CSS 2.1 */
|
||||
word-wrap: break-word; /* IE7 */
|
||||
-moz-tab-size: 4;
|
||||
tab-size: 4;
|
||||
}
|
||||
|
||||
.marker
|
||||
{
|
||||
background-color: Yellow;
|
||||
}
|
||||
|
||||
span[lang]
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
figure
|
||||
{
|
||||
text-align: center;
|
||||
outline: solid 1px #ccc;
|
||||
background: rgba(0,0,0,0.05);
|
||||
padding: 10px;
|
||||
margin: 10px 20px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
figure > figcaption
|
||||
{
|
||||
text-align: center;
|
||||
display: block; /* For IE8 */
|
||||
}
|
||||
|
||||
a > img {
|
||||
padding: 1px;
|
||||
margin: 1px;
|
||||
border: none;
|
||||
outline: 1px solid #0782C1;
|
||||
}
|
||||
|
||||
/* Widget Styles */
|
||||
.code-featured
|
||||
{
|
||||
border: 5px solid red;
|
||||
}
|
||||
|
||||
.math-featured
|
||||
{
|
||||
padding: 20px;
|
||||
box-shadow: 0 0 2px rgba(200, 0, 0, 1);
|
||||
background-color: rgba(255, 0, 0, 0.05);
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.image-clean
|
||||
{
|
||||
border: 0;
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.image-clean > figcaption
|
||||
{
|
||||
font-size: .9em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.image-grayscale
|
||||
{
|
||||
background-color: white;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.image-grayscale img, img.image-grayscale
|
||||
{
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
.embed-240p
|
||||
{
|
||||
max-width: 426px;
|
||||
max-height: 240px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-360p
|
||||
{
|
||||
max-width: 640px;
|
||||
max-height: 360px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-480p
|
||||
{
|
||||
max-width: 854px;
|
||||
max-height: 480px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-720p
|
||||
{
|
||||
max-width: 1280px;
|
||||
max-height: 720px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
||||
.embed-1080p
|
||||
{
|
||||
max-width: 1920px;
|
||||
max-height: 1080px;
|
||||
margin:0 auto;
|
||||
}
|
||||
|
51
public/assets/vendor/ckeditor4/package.json
vendored
51
public/assets/vendor/ckeditor4/package.json
vendored
@ -1,39 +1,12 @@
|
||||
{
|
||||
"_from": "ckeditor4@4.14.0",
|
||||
"_id": "ckeditor4@4.14.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-g5p3bhbxbwB094bE7ss0rOyvG/azYdRjLTyngnPM2+fKZhnPrMVaFDx3SiiWKB+zyvndT3Deu54VTv/z2MQJCA==",
|
||||
"_location": "/ckeditor4",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "ckeditor4@4.14.0",
|
||||
"name": "ckeditor4",
|
||||
"escapedName": "ckeditor4",
|
||||
"rawSpec": "4.14.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.14.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"#USER",
|
||||
"/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ckeditor4/-/ckeditor4-4.14.0.tgz",
|
||||
"_shasum": "bfcbe942599fa0c6f488309ecbfe38b2519f919b",
|
||||
"_spec": "ckeditor4@4.14.0",
|
||||
"_where": "/Users/a206675592/dev/nabeelio/phpvms",
|
||||
"author": {
|
||||
"name": "CKSource",
|
||||
"url": "https://cksource.com/"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ckeditor/ckeditor4/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"name": "ckeditor4",
|
||||
"version": "4.14.0",
|
||||
"description": "JavaScript WYSIWYG web text editor.",
|
||||
"homepage": "https://ckeditor.com/ckeditor-4/",
|
||||
"main": "ckeditor.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ckeditor/ckeditor4-releases.git"
|
||||
},
|
||||
"keywords": [
|
||||
"ckeditor4",
|
||||
"ckeditor",
|
||||
@ -45,12 +18,10 @@
|
||||
"text",
|
||||
"javascript"
|
||||
],
|
||||
"author": "CKSource (https://cksource.com/)",
|
||||
"license": "(GPL-2.0 OR LGPL-2.1 OR MPL-1.1)",
|
||||
"main": "ckeditor.js",
|
||||
"name": "ckeditor4",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ckeditor/ckeditor4-releases.git"
|
||||
"bugs": {
|
||||
"url": "https://github.com/ckeditor/ckeditor4/issues"
|
||||
},
|
||||
"version": "4.14.0"
|
||||
"homepage": "https://ckeditor.com/ckeditor-4/"
|
||||
}
|
||||
|
138
public/assets/vendor/ckeditor4/styles.js
vendored
138
public/assets/vendor/ckeditor4/styles.js
vendored
@ -1 +1,137 @@
|
||||
CKEDITOR.stylesSet.add("default",[{name:"Italic Title",element:"h2",styles:{"font-style":"italic"}},{name:"Subtitle",element:"h3",styles:{color:"#aaa","font-style":"italic"}},{name:"Special Container",element:"div",styles:{padding:"5px 10px",background:"#eee",border:"1px solid #ccc"}},{name:"Marker",element:"span",attributes:{class:"marker"}},{name:"Big",element:"big"},{name:"Small",element:"small"},{name:"Typewriter",element:"tt"},{name:"Computer Code",element:"code"},{name:"Keyboard Phrase",element:"kbd"},{name:"Sample Text",element:"samp"},{name:"Variable",element:"var"},{name:"Deleted Text",element:"del"},{name:"Inserted Text",element:"ins"},{name:"Cited Work",element:"cite"},{name:"Inline Quotation",element:"q"},{name:"Language: RTL",element:"span",attributes:{dir:"rtl"}},{name:"Language: LTR",element:"span",attributes:{dir:"ltr"}},{name:"Styled Image (left)",element:"img",attributes:{class:"left"}},{name:"Styled Image (right)",element:"img",attributes:{class:"right"}},{name:"Compact Table",element:"table",attributes:{cellpadding:"5",cellspacing:"0",border:"1",bordercolor:"#ccc"},styles:{"border-collapse":"collapse"}},{name:"Borderless Table",element:"table",styles:{"border-style":"hidden","background-color":"#E6E6FA"}},{name:"Square Bulleted List",element:"ul",styles:{"list-style-type":"square"}},{name:"Clean Image",type:"widget",widget:"image",attributes:{class:"image-clean"}},{name:"Grayscale Image",type:"widget",widget:"image",attributes:{class:"image-grayscale"}},{name:"Featured Snippet",type:"widget",widget:"codeSnippet",attributes:{class:"code-featured"}},{name:"Featured Formula",type:"widget",widget:"mathjax",attributes:{class:"math-featured"}},{name:"240p",type:"widget",widget:"embedSemantic",attributes:{class:"embed-240p"},group:"size"},{name:"360p",type:"widget",widget:"embedSemantic",attributes:{class:"embed-360p"},group:"size"},{name:"480p",type:"widget",widget:"embedSemantic",attributes:{class:"embed-480p"},group:"size"},{name:"720p",type:"widget",widget:"embedSemantic",attributes:{class:"embed-720p"},group:"size"},{name:"1080p",type:"widget",widget:"embedSemantic",attributes:{class:"embed-1080p"},group:"size"},{name:"240p ",type:"widget",widget:"embed",attributes:{class:"embed-240p"},group:"size"},{name:"360p ",type:"widget",widget:"embed",attributes:{class:"embed-360p"},group:"size"},{name:"480p ",type:"widget",widget:"embed",attributes:{class:"embed-480p"},group:"size"},{name:"720p ",type:"widget",widget:"embed",attributes:{class:"embed-720p"},group:"size"},{name:"1080p ",type:"widget",widget:"embed",attributes:{class:"embed-1080p"},group:"size"}]);
|
||||
/**
|
||||
* Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
|
||||
// This file contains style definitions that can be used by CKEditor plugins.
|
||||
//
|
||||
// The most common use for it is the "stylescombo" plugin which shows the Styles drop-down
|
||||
// list containing all styles in the editor toolbar. Other plugins, like
|
||||
// the "div" plugin, use a subset of the styles for their features.
|
||||
//
|
||||
// If you do not have plugins that depend on this file in your editor build, you can simply
|
||||
// ignore it. Otherwise it is strongly recommended to customize this file to match your
|
||||
// website requirements and design properly.
|
||||
//
|
||||
// For more information refer to: https://ckeditor.com/docs/ckeditor4/latest/guide/dev_styles.html#style-rules
|
||||
|
||||
CKEDITOR.stylesSet.add( 'default', [
|
||||
/* Block styles */
|
||||
|
||||
// These styles are already available in the "Format" drop-down list ("format" plugin),
|
||||
// so they are not needed here by default. You may enable them to avoid
|
||||
// placing the "Format" combo in the toolbar, maintaining the same features.
|
||||
/*
|
||||
{ name: 'Paragraph', element: 'p' },
|
||||
{ name: 'Heading 1', element: 'h1' },
|
||||
{ name: 'Heading 2', element: 'h2' },
|
||||
{ name: 'Heading 3', element: 'h3' },
|
||||
{ name: 'Heading 4', element: 'h4' },
|
||||
{ name: 'Heading 5', element: 'h5' },
|
||||
{ name: 'Heading 6', element: 'h6' },
|
||||
{ name: 'Preformatted Text',element: 'pre' },
|
||||
{ name: 'Address', element: 'address' },
|
||||
*/
|
||||
|
||||
{ name: 'Italic Title', element: 'h2', styles: { 'font-style': 'italic' } },
|
||||
{ name: 'Subtitle', element: 'h3', styles: { 'color': '#aaa', 'font-style': 'italic' } },
|
||||
{
|
||||
name: 'Special Container',
|
||||
element: 'div',
|
||||
styles: {
|
||||
padding: '5px 10px',
|
||||
background: '#eee',
|
||||
border: '1px solid #ccc'
|
||||
}
|
||||
},
|
||||
|
||||
/* Inline styles */
|
||||
|
||||
// These are core styles available as toolbar buttons. You may opt enabling
|
||||
// some of them in the Styles drop-down list, removing them from the toolbar.
|
||||
// (This requires the "stylescombo" plugin.)
|
||||
/*
|
||||
{ name: 'Strong', element: 'strong', overrides: 'b' },
|
||||
{ name: 'Emphasis', element: 'em' , overrides: 'i' },
|
||||
{ name: 'Underline', element: 'u' },
|
||||
{ name: 'Strikethrough', element: 'strike' },
|
||||
{ name: 'Subscript', element: 'sub' },
|
||||
{ name: 'Superscript', element: 'sup' },
|
||||
*/
|
||||
|
||||
{ name: 'Marker', element: 'span', attributes: { 'class': 'marker' } },
|
||||
|
||||
{ name: 'Big', element: 'big' },
|
||||
{ name: 'Small', element: 'small' },
|
||||
{ name: 'Typewriter', element: 'tt' },
|
||||
|
||||
{ name: 'Computer Code', element: 'code' },
|
||||
{ name: 'Keyboard Phrase', element: 'kbd' },
|
||||
{ name: 'Sample Text', element: 'samp' },
|
||||
{ name: 'Variable', element: 'var' },
|
||||
|
||||
{ name: 'Deleted Text', element: 'del' },
|
||||
{ name: 'Inserted Text', element: 'ins' },
|
||||
|
||||
{ name: 'Cited Work', element: 'cite' },
|
||||
{ name: 'Inline Quotation', element: 'q' },
|
||||
|
||||
{ name: 'Language: RTL', element: 'span', attributes: { 'dir': 'rtl' } },
|
||||
{ name: 'Language: LTR', element: 'span', attributes: { 'dir': 'ltr' } },
|
||||
|
||||
/* Object styles */
|
||||
|
||||
{
|
||||
name: 'Styled Image (left)',
|
||||
element: 'img',
|
||||
attributes: { 'class': 'left' }
|
||||
},
|
||||
|
||||
{
|
||||
name: 'Styled Image (right)',
|
||||
element: 'img',
|
||||
attributes: { 'class': 'right' }
|
||||
},
|
||||
|
||||
{
|
||||
name: 'Compact Table',
|
||||
element: 'table',
|
||||
attributes: {
|
||||
cellpadding: '5',
|
||||
cellspacing: '0',
|
||||
border: '1',
|
||||
bordercolor: '#ccc'
|
||||
},
|
||||
styles: {
|
||||
'border-collapse': 'collapse'
|
||||
}
|
||||
},
|
||||
|
||||
{ name: 'Borderless Table', element: 'table', styles: { 'border-style': 'hidden', 'background-color': '#E6E6FA' } },
|
||||
{ name: 'Square Bulleted List', element: 'ul', styles: { 'list-style-type': 'square' } },
|
||||
|
||||
/* Widget styles */
|
||||
|
||||
{ name: 'Clean Image', type: 'widget', widget: 'image', attributes: { 'class': 'image-clean' } },
|
||||
{ name: 'Grayscale Image', type: 'widget', widget: 'image', attributes: { 'class': 'image-grayscale' } },
|
||||
|
||||
{ name: 'Featured Snippet', type: 'widget', widget: 'codeSnippet', attributes: { 'class': 'code-featured' } },
|
||||
|
||||
{ name: 'Featured Formula', type: 'widget', widget: 'mathjax', attributes: { 'class': 'math-featured' } },
|
||||
|
||||
{ name: '240p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-240p' }, group: 'size' },
|
||||
{ name: '360p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-360p' }, group: 'size' },
|
||||
{ name: '480p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-480p' }, group: 'size' },
|
||||
{ name: '720p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-720p' }, group: 'size' },
|
||||
{ name: '1080p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-1080p' }, group: 'size' },
|
||||
|
||||
// Adding space after the style name is an intended workaround. For now, there
|
||||
// is no option to create two styles with the same name for different widget types. See https://dev.ckeditor.com/ticket/16664.
|
||||
{ name: '240p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-240p' }, group: 'size' },
|
||||
{ name: '360p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-360p' }, group: 'size' },
|
||||
{ name: '480p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-480p' }, group: 'size' },
|
||||
{ name: '720p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-720p' }, group: 'size' },
|
||||
{ name: '1080p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-1080p' }, group: 'size' }
|
||||
|
||||
] );
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -33,6 +33,7 @@ export default (_opts) => {
|
||||
positions: null,
|
||||
render_elem: 'map',
|
||||
aircraft_icon: '/assets/img/acars/aircraft.png',
|
||||
flown_route_color: ACTUAL_ROUTE_COLOR,
|
||||
units: 'nmi',
|
||||
}, _opts);
|
||||
|
||||
@ -76,7 +77,7 @@ export default (_opts) => {
|
||||
layerSelFlight = new L.Geodesic([], {
|
||||
weight: 5,
|
||||
opacity: 0.9,
|
||||
color: ACTUAL_ROUTE_COLOR,
|
||||
color: opts.flown_route_color,
|
||||
wrap: false,
|
||||
}).addTo(map);
|
||||
|
||||
|
@ -27,20 +27,6 @@ export const onFeaturePointClick = (feature, layer) => {
|
||||
layer.bindPopup(popup_html);
|
||||
};
|
||||
|
||||
/**
|
||||
* Show each point as a marker
|
||||
* @param feature
|
||||
* @param latlng
|
||||
* @returns {*}
|
||||
*/
|
||||
export const pointToLayer = (feature, latlng) => leaflet.circleMarker(latlng, {
|
||||
radius: 5,
|
||||
fillColor: CIRCLE_COLOR,
|
||||
color: '#000',
|
||||
weight: 1,
|
||||
opacity: 1,
|
||||
fillOpacity: 0.8,
|
||||
});
|
||||
|
||||
/**
|
||||
*
|
||||
@ -57,12 +43,30 @@ export default (_opts) => {
|
||||
live_map: false,
|
||||
aircraft_icon: '/assets/img/acars/aircraft.png',
|
||||
refresh_interval: 10,
|
||||
flown_route_color: ACTUAL_ROUTE_COLOR,
|
||||
circle_color: CIRCLE_COLOR,
|
||||
flightplan_route_color: PLAN_ROUTE_COLOR,
|
||||
metar_wms: {
|
||||
url: '',
|
||||
params: {},
|
||||
},
|
||||
}, _opts);
|
||||
|
||||
/**
|
||||
* Show each point as a marker
|
||||
* @param feature
|
||||
* @param latlng
|
||||
* @returns {*}
|
||||
*/
|
||||
const pointToLayer = (feature, latlng) => leaflet.circleMarker(latlng, {
|
||||
radius: 5,
|
||||
fillColor: opts.circle_color,
|
||||
color: '#000',
|
||||
weight: 1,
|
||||
opacity: 1,
|
||||
fillOpacity: 0.8,
|
||||
});
|
||||
|
||||
const aircraftIcon = leaflet.icon({
|
||||
iconUrl: opts.aircraft_icon,
|
||||
iconSize: [42, 42],
|
||||
@ -79,7 +83,7 @@ export default (_opts) => {
|
||||
const plannedRouteLayer = new L.Geodesic([], {
|
||||
weight: 4,
|
||||
opacity: 0.9,
|
||||
color: PLAN_ROUTE_COLOR,
|
||||
color: opts.flightplan_route_color,
|
||||
steps: 50,
|
||||
wrap: false,
|
||||
}).addTo(map);
|
||||
@ -98,7 +102,7 @@ export default (_opts) => {
|
||||
onEachFeature: onFeaturePointClick,
|
||||
pointToLayer,
|
||||
style: {
|
||||
color: PLAN_ROUTE_COLOR,
|
||||
color: opts.flightplan_route_color,
|
||||
weight: 3,
|
||||
opacity: 0.65,
|
||||
},
|
||||
@ -115,7 +119,7 @@ export default (_opts) => {
|
||||
const actualRouteLayer = new L.Geodesic([], {
|
||||
weight: 3,
|
||||
opacity: 0.9,
|
||||
color: ACTUAL_ROUTE_COLOR,
|
||||
color: opts.flown_route_color,
|
||||
steps: 50,
|
||||
wrap: false,
|
||||
}).addTo(map);
|
||||
@ -134,7 +138,7 @@ export default (_opts) => {
|
||||
onEachFeature: onFeaturePointClick,
|
||||
pointToLayer,
|
||||
style: {
|
||||
color: ACTUAL_ROUTE_COLOR,
|
||||
color: opts.flown_route_color,
|
||||
weight: 3,
|
||||
opacity: 0.65,
|
||||
},
|
||||
|
@ -8,6 +8,6 @@ return [
|
||||
'rejected' => 'Rechazado',
|
||||
'on_leave' => 'En excedencia',
|
||||
'suspended' => 'Suspendido',
|
||||
'deleted' => 'Borrar',
|
||||
'deleted' => 'Borrado',
|
||||
],
|
||||
];
|
||||
|
@ -2,11 +2,31 @@
|
||||
@section('title', 'Aircraft')
|
||||
|
||||
@section('actions')
|
||||
<li><a href="{{ route('admin.aircraft.export') }}"><i class="ti-plus"></i>Export to CSV</a></li>
|
||||
<li><a href="{{ route('admin.aircraft.import') }}"><i class="ti-plus"></i>Import from CSV</a></li>
|
||||
{{--<li><a href="{{ url('/admin/subfleets') }}"><i class="ti-files"></i>Subfleets</a></li>--}}
|
||||
<li><a href="{{ route('admin.aircraft.create') }}?subfleet={{$subfleet_id}}">
|
||||
<i class="ti-plus"></i>New Aircraft</a>
|
||||
@if(request()->get('subfleet'))
|
||||
<li>
|
||||
<a href="{{ route('admin.aircraft.export') }}{{ '?subfleet='.request()->get('subfleet') }}">
|
||||
<i class="ti-plus"></i>
|
||||
Export to CSV (Selected Subfleet Only)
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li>
|
||||
<a href="{{ route('admin.aircraft.export') }}">
|
||||
<i class="ti-plus"></i>
|
||||
Export to CSV
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('admin.aircraft.import') }}">
|
||||
<i class="ti-plus"></i>
|
||||
Import from CSV
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('admin.aircraft.create') }}?subfleet={{$subfleet_id}}">
|
||||
<i class="ti-plus"></i>
|
||||
New Aircraft
|
||||
</a>
|
||||
</li>
|
||||
@endsection
|
||||
|
||||
@ -17,4 +37,3 @@
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
|
@ -1,31 +1,32 @@
|
||||
<div class="row">
|
||||
<!-- Code Field -->
|
||||
<div class="form-group col-sm-6">
|
||||
{{ Form::label('icao', 'Code:') }} <span class="required">*</span>
|
||||
<div class="form-group col-sm-4">
|
||||
{{ Form::label('icao', 'ICAO (3LD):') }} <span class="required">*</span>
|
||||
{{ Form::text('icao', null, ['class' => 'form-control']) }}
|
||||
<p class="text-danger">{{ $errors->first('icao') }}</p>
|
||||
</div>
|
||||
<div class="form-group col-sm-4">
|
||||
{{ Form::label('iata', 'IATA (2LD):') }}
|
||||
{{ Form::text('iata', null, ['class' => 'form-control']) }}
|
||||
<p class="text-danger">{{ $errors->first('iata') }}</p>
|
||||
</div>
|
||||
<div class="form-group col-sm-4">
|
||||
{{ Form::label('callsign', 'Radio Callsign:') }}
|
||||
{{ Form::text('callsign', null, ['class' => 'form-control']) }}
|
||||
<p class="text-danger">{{ $errors->first('callsign') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Name Field -->
|
||||
<div class="form-group col-sm-6">
|
||||
<div class="row">
|
||||
<div class="form-group col-sm-4">
|
||||
{{ Form::label('name', 'Name:') }} <span class="required">*</span>
|
||||
{{ Form::text('name', null, ['class' => 'form-control']) }}
|
||||
<p class="text-danger">{{ $errors->first('name') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-sm-6">
|
||||
{{ Form::label('iata', 'IATA:') }}
|
||||
{{ Form::text('iata', null, ['class' => 'form-control']) }}
|
||||
<p class="text-danger">{{ $errors->first('iata') }}</p>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6">
|
||||
<div class="form-group col-sm-8">
|
||||
{{ Form::label('logo', 'Logo URL:') }}
|
||||
{{ Form::text('logo', null, ['class' => 'form-control']) }}
|
||||
<p class="text-danger">{{ $errors->first('logo') }}</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
@ -34,7 +35,6 @@
|
||||
{{ Form::select('country', $countries, null, ['class' => 'form-control select2' ]) }}
|
||||
<p class="text-danger">{{ $errors->first('country') }}</p>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6">
|
||||
{{ Form::label('active', 'Active:') }}
|
||||
<br/>
|
||||
@ -44,8 +44,8 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<!-- Submit Field -->
|
||||
<div class="form-group col-sm-12">
|
||||
<div class="pull-right">
|
||||
{{ Form::button('Save', ['type' => 'submit', 'class' => 'btn btn-success']) }}
|
||||
|
@ -100,7 +100,13 @@
|
||||
This is the cost per {{ config('phpvms.internal_units.fuel') }}
|
||||
@endcomponent
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="form-group col-md-12">
|
||||
{{ Form::label('notes', 'Remarks / Notes:') }}
|
||||
{{ Form::textarea('notes', null, ['id' => 'editor', 'class' => 'editor', 'style' => 'padding: 5px']) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
@ -119,3 +125,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@section('scripts')
|
||||
@parent
|
||||
<script src="{{ public_asset('assets/vendor/ckeditor4/ckeditor.js') }}"></script>
|
||||
<script>
|
||||
$(document).ready(function () { CKEDITOR.replace('editor'); });
|
||||
</script>
|
||||
@endsection
|
@ -4,7 +4,8 @@
|
||||
<th>ICAO</th>
|
||||
<th>Name</th>
|
||||
<th>Location</th>
|
||||
<th>Hub</th>
|
||||
<th style="text-align: center;">Hub</th>
|
||||
<th style="text-align: center;">Notes</th>
|
||||
<th style="text-align: center;">GH Cost</th>
|
||||
<th style="text-align: center;">JetA</th>
|
||||
<th style="text-align: center;">100LL</th>
|
||||
@ -22,6 +23,11 @@
|
||||
<span class="label label-success">Hub</span>
|
||||
@endif
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
@if(filled($airport->notes))
|
||||
<span class="label label-info" title="{{ $airport->notes }}">Notes</span>
|
||||
@endif
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
{{ $airport->ground_handling_cost }}
|
||||
</td>
|
||||
|
@ -6,7 +6,7 @@
|
||||
the values used come from the subfleet of the aircraft that the flight is
|
||||
filed with. Only assign the fares you want to override. They can be set as
|
||||
a monetary amount, or a percentage.
|
||||
<a href="{{ docs_link('finances') }}" target="_blank">Read documentation about finances</a>.
|
||||
<a href="https://docs.phpvms.net/guides/finances" target="_blank">Read documentation about finances</a>.
|
||||
@endcomponent
|
||||
|
||||
<p class="text-danger">{{ $errors->first('value') }}</p>
|
||||
|
@ -83,22 +83,19 @@
|
||||
|
||||
<div class="form-group col-sm-4">
|
||||
{{ Form::label('load_factor', 'Load Factor:') }}
|
||||
{{ Form::text('load_factor', null, ['class' => 'form-control']) }}
|
||||
{{ Form::number('load_factor', null, ['class' => 'form-control', 'min' => 0, 'max' => 100]) }}
|
||||
<p class="text-danger">{{ $errors->first('load_factor') }}</p>
|
||||
@component('admin.components.info')
|
||||
Value between 1 and 100. See
|
||||
<a href="{{ docs_link('load_factor') }}" target="_blank">docs</a>.
|
||||
Leave blank to use the default value.
|
||||
Percentage value for pax/cargo load, leave blank to use the default value.
|
||||
@endcomponent
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-4">
|
||||
{{ Form::label('load_factor_variance', 'Load Factor Variance:') }}
|
||||
{{ Form::text('load_factor_variance', null, ['class' => 'form-control']) }}
|
||||
{{ Form::number('load_factor_variance', null, ['class' => 'form-control', 'min' => 0, 'max' => 100]) }}
|
||||
<p class="text-danger">{{ $errors->first('load_factor_variance') }}</p>
|
||||
@component('admin.components.info')
|
||||
How much the load factor can vary per flight (+ or -). Leave blank to
|
||||
use the default value.
|
||||
Percentage of how much the load can vary (+/-), leave blank to use the default value.
|
||||
@endcomponent
|
||||
</div>
|
||||
</div>
|
||||
@ -273,7 +270,7 @@
|
||||
|
||||
<div class="row">
|
||||
<!-- Active Field -->
|
||||
<div class="col-sm-4">
|
||||
<div class="col-sm-3">
|
||||
<div class="checkbox">
|
||||
<label class="checkbox-inline">
|
||||
{{ Form::label('active', 'Active:') }}
|
||||
@ -282,7 +279,17 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
<!-- Visible Field -->
|
||||
<div class="col-sm-3">
|
||||
<div class="checkbox">
|
||||
<label class="checkbox-inline">
|
||||
{{ Form::label('visible', 'Visible:') }}
|
||||
<input name="visible" type="hidden" value="0" />
|
||||
{{ Form::checkbox('visible') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="text-right">
|
||||
{{ Form::button('Save', ['type' => 'submit', 'class' => 'btn btn-info']) }}
|
||||
</div>
|
||||
|
@ -9,6 +9,7 @@
|
||||
<th>Arr Time</th>
|
||||
<th>Notes</th>
|
||||
<th style="text-align: center;">Active</th>
|
||||
<th style="text-align: center;">Visible</th>
|
||||
<th colspan="3" style="text-align: right;">Action</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -37,6 +38,13 @@
|
||||
<span class="label label-default">@lang('common.inactive')</span>
|
||||
@endif
|
||||
</td>
|
||||
<td style="text-align: center;">
|
||||
@if($flight->visible == 1)
|
||||
<span class="text-success"><i class="fas fa-check fa2x" title="Visible"></i></span>
|
||||
@else
|
||||
<span class="text-danger"><i class="fas fa-times fa2x" title="Hidden"></i></span>
|
||||
@endif
|
||||
</td>
|
||||
<td style="text-align: right;">
|
||||
{{ Form::open(['route' => ['admin.flights.destroy', $flight->id], 'method' => 'delete']) }}
|
||||
<a href="{{ route('admin.flights.edit', [$flight->id]) }}" class='btn btn-sm btn-success btn-icon'><i
|
||||
|
@ -1,12 +1,14 @@
|
||||
<table class="table table-hover table-responsive" id="roles-table">
|
||||
<thead>
|
||||
<th>Name</th>
|
||||
<th></th>
|
||||
<th class="text-center">Members</th>
|
||||
<th class="text-right">Actions</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($roles as $role)
|
||||
<tr>
|
||||
<td>{{ $role->display_name }}</td>
|
||||
<td class="text-center">{{ $role->users_count }}</td>
|
||||
<td class="text-right">
|
||||
{{ Form::open(['route' => ['admin.roles.destroy', $role->id], 'method' => 'delete']) }}
|
||||
<a href="{{ route('admin.roles.edit', [$role->id]) }}"
|
||||
|
@ -2,15 +2,20 @@
|
||||
<!-- Code Field -->
|
||||
<div class="form-group col-sm-12">
|
||||
<div class="form-container">
|
||||
<h6><i class="fas fa-users"></i>
|
||||
Users
|
||||
<h6>
|
||||
<i class="fas fa-users mr-2"></i>
|
||||
@if($users_count > 0) {{ $users_count.' users are assigned to this role' }} @else No Users @endif
|
||||
</h6>
|
||||
<div class="form-container-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
TO DO
|
||||
@if($users_count > 0)
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@foreach($users as $u)
|
||||
• <a href="{{ route('admin.users.edit', [$u->id]) }}">{{ $u->ident.' '.$u->name }}</a>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -16,12 +16,11 @@
|
||||
|
||||
{{-- Show the airspace map in the other column --}}
|
||||
<div class="col-7">
|
||||
{{ Widget::AirspaceMap([
|
||||
'width' => '100%',
|
||||
'height' => '400px',
|
||||
'lat' => $airport->lat,
|
||||
'lon' => $airport->lon,
|
||||
]) }}
|
||||
{{ Widget::AirspaceMap(['width' => '100%', 'height' => '400px', 'lat' => $airport->lat, 'lon' => $airport->lon]) }}
|
||||
@if(filled($airport->notes))
|
||||
<hr>
|
||||
{!! $airport->notes !!}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
@ -12,6 +12,8 @@
|
||||
route_points: {!! json_encode($map_features['route_points']) !!},
|
||||
planned_route_line: {!! json_encode($map_features['planned_route_line']) !!},
|
||||
metar_wms: {!! json_encode(config('map.metar_wms')) !!},
|
||||
circle_color: '#056093',
|
||||
flightplan_route_color: '#8B008B',
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
@ -213,43 +213,16 @@
|
||||
<h6><i class="fas fa-info-circle"></i> Prefile ATC Flight Plan</h6>
|
||||
<div class="form-container-body">
|
||||
<div class="row">
|
||||
<div class="col-4" align="center">
|
||||
<form action="https://fpl.ivao.aero/api/fp/load" method="POST" target="_blank">
|
||||
<input type="hidden" name="CALLSIGN" value="{{ $simbrief->xml->atc->callsign }}"/>
|
||||
<input type="hidden" name="RULES" value="I"/>
|
||||
<input type="hidden" name="FLIGHTTYPE" value="N"/>
|
||||
<input type="hidden" name="NUMBER" value="1"/>
|
||||
<input type="hidden" name="ACTYPE" value="{{ $simbrief->xml->aircraft->icaocode }}"/>
|
||||
<input type="hidden" name="WAKECAT" value="{{ $wakecat }}"/>
|
||||
<input type="hidden" name="EQUIPMENT" value="{{ $equipment }}"/>
|
||||
<input type="hidden" name="TRANSPONDER" value="{{ $transponder }}"/>
|
||||
<input type="hidden" name="DEPICAO" value="{{ $simbrief->xml->origin->icao_code}}"/>
|
||||
<input type="hidden" name="DEPTIME" value="{{ date('Hi', $simbrief->xml->times->est_out->__toString()) }}"/>
|
||||
<input type="hidden" name="SPEEDTYPE" value="{{ $simbrief->xml->atc->initial_spd_unit }}"/>
|
||||
<input type="hidden" name="SPEED" value="{{ $simbrief->xml->atc->initial_spd }}"/>
|
||||
<input type="hidden" name="LEVELTYPE" value="{{ $simbrief->xml->atc->initial_alt_unit }}"/>
|
||||
<input type="hidden" name="LEVEL" value="{{ $simbrief->xml->atc->initial_alt }}"/>
|
||||
<input type="hidden" name="ROUTE" value="{{ $simbrief->xml->general->route_ifps }}"/>
|
||||
<input type="hidden" name="DESTICAO" value="{{ $simbrief->xml->destination->icao_code }}"/>
|
||||
<input type="hidden" name="EET" value="@secstohhmm($simbrief->xml->times->est_time_enroute)"/>
|
||||
<input type="hidden" name="ALTICAO" value="{{ $simbrief->xml->alternate->icao_code}}"/>
|
||||
<input type="hidden" name="ALTICAO2" value="{{ $simbrief->xml->alternate2->icao_code}}"/>
|
||||
<input type="hidden" name="OTHER" value="{{ $simbrief->xml->atc->section18 }}"/>
|
||||
<input type="hidden" name="ENDURANCE" value="@secstohhmm($simbrief->xml->times->endurance)"/>
|
||||
<input type="hidden" name="POB" value="{{ $simbrief->xml->weights->pax_count }}"/>
|
||||
<input id="ivao_prefile" type="submit" class="btn btn-primary" value="File ATC on IVAO"/>
|
||||
</form>
|
||||
<div class="col-3" align="center">
|
||||
<a href="{{ $simbrief->xml->prefile->ivao->link }}" target="_blank" class="btn btn-info">File > IVAO</a>
|
||||
</div>
|
||||
<div class="col-4" align="center">
|
||||
<form action="https://my.vatsim.net/pilots/flightplan" method="GET" target="_blank">
|
||||
<input type="hidden" name="raw" value="{{ $simbrief->xml->atc->flightplan_text }}">
|
||||
<input type="hidden" name="fuel_time" value="@secstohhmm($simbrief->xml->times->endurance)">
|
||||
<input type="hidden" name="speed" value="@if(substr($simbrief->xml->atc->initial_spd,0,1) === '0') {{ substr($simbrief->xml->atc->initial_spd,1) }} @else {{ $simbrief->xml->atc->initial_spd }} @endif">
|
||||
<input type="hidden" name="altitude" value="{{ $simbrief->xml->general->initial_altitude }}">
|
||||
<input id="vatsim_prefile" type="submit" class="btn btn-primary" value="File ATC on VATSIM"/>
|
||||
</form>
|
||||
<div class="col-3" align="center">
|
||||
<a href="{{ $simbrief->xml->prefile->vatsim->link }}" target="_blank" class="btn btn-info">File > VATSIM</a>
|
||||
</div>
|
||||
<div class="col-4" align="center">
|
||||
<div class="col-3" align="center">
|
||||
<a href="{{ $simbrief->xml->prefile->poscon->link }}" target="_blank" class="btn btn-info">File > POSCON</a>
|
||||
</div>
|
||||
<div class="col-3" align="center">
|
||||
<a
|
||||
href="http://skyvector.com/?chart=304&fpl={{ $simbrief->xml->origin->icao_code}} {{ $simbrief->xml->general->route }} {{ $simbrief->xml->destination->icao_code}}"
|
||||
target="_blank" class="btn btn-info">View Route At SkyVector</a>
|
||||
|
@ -127,7 +127,7 @@
|
||||
</div>
|
||||
|
||||
{{-- Prepare Form Fields For SimBrief --}}
|
||||
<input type="hidden" name="acdata" value="{'paxwgt':{{ round($pax_weight + $bag_weight) }}}">
|
||||
<input type="hidden" name="acdata" value="{'paxwgt':{{ round($pax_weight) }}, 'bagwgt': {{ round($bag_weight) }}}">
|
||||
@if($tpaxfig)
|
||||
<input type="hidden" name="pax" value="{{ $tpaxfig }}">
|
||||
@elseif(!$tpaxfig && $tcargoload)
|
||||
|
@ -15,9 +15,12 @@
|
||||
actual_route_line: {!! json_encode($map_features['actual_route_line']) !!},
|
||||
actual_route_points: {!! json_encode($map_features['actual_route_points']) !!},
|
||||
aircraft_icon: '{!! public_asset('/assets/img/acars/aircraft.png') !!}',
|
||||
flown_route_color: '#067ec1',
|
||||
circle_color: '#056093',
|
||||
flightplan_route_color: '#8B008B',
|
||||
leafletOptions: {
|
||||
scrollWheelZoom: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
@ -72,16 +72,18 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="progress" style="margin: 20px 0;">
|
||||
<div class="progress-bar progress-bar-success" role="progressbar"
|
||||
aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"
|
||||
style="width: {{$pirep->progress_percent}}%;">
|
||||
@if(!empty($pirep->distance))
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="progress" style="margin: 20px 0;">
|
||||
<div class="progress-bar progress-bar-success" role="progressbar"
|
||||
aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"
|
||||
style="width: {{$pirep->progress_percent}}%;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
|
@ -116,6 +116,7 @@ and being mindful of the rivets bindings
|
||||
aircraft_icon: '{!! public_asset('/assets/img/acars/aircraft.png') !!}',
|
||||
refresh_interval: {{ setting('acars.update_interval', 60) }},
|
||||
units: '{{ setting('units.distance') }}',
|
||||
flown_route_color: '#067ec1',
|
||||
leafletOptions: {
|
||||
scrollWheelZoom: false,
|
||||
}
|
||||
|
@ -712,20 +712,20 @@ class FinanceTest extends TestCase
|
||||
|
||||
$journalRepo->post(
|
||||
$journal,
|
||||
Money::createFromAmount(100),
|
||||
Money::createFromAmount(100.5),
|
||||
null,
|
||||
$user
|
||||
);
|
||||
|
||||
$balance = $journalRepo->getBalance($journal);
|
||||
$this->assertEquals(100, $balance->getValue());
|
||||
$this->assertEquals(100, $journal->balance->getValue());
|
||||
$this->assertEquals(100.5, $balance->getValue());
|
||||
$this->assertEquals(100.5, $journal->balance->getValue());
|
||||
|
||||
// add another transaction
|
||||
|
||||
$journalRepo->post(
|
||||
$journal,
|
||||
Money::createFromAmount(25),
|
||||
Money::createFromAmount(24.5),
|
||||
null,
|
||||
$user
|
||||
);
|
||||
@ -912,7 +912,7 @@ class FinanceTest extends TestCase
|
||||
|
||||
// $this->assertCount(9, $transactions['transactions']);
|
||||
$this->assertEquals(3020, $transactions['credits']->getValue());
|
||||
$this->assertEquals(2050.0, $transactions['debits']->getValue());
|
||||
$this->assertEquals(2050.4, $transactions['debits']->getValue());
|
||||
|
||||
// Check that all the different transaction types are there
|
||||
// test by the different groups that exist
|
||||
@ -967,7 +967,7 @@ class FinanceTest extends TestCase
|
||||
|
||||
// $this->assertCount(9, $transactions['transactions']);
|
||||
$this->assertEquals(3020, $transactions['credits']->getValue());
|
||||
$this->assertEquals(2050.0, $transactions['debits']->getValue());
|
||||
$this->assertEquals(2050.4, $transactions['debits']->getValue());
|
||||
|
||||
// Check that all the different transaction types are there
|
||||
// test by the different groups that exist
|
||||
@ -1006,7 +1006,7 @@ class FinanceTest extends TestCase
|
||||
|
||||
$transactions = $journalRepo->getAllForObject($pirep2);
|
||||
$this->assertEquals(3020, $transactions['credits']->getValue());
|
||||
$this->assertEquals(2150.0, $transactions['debits']->getValue());
|
||||
$this->assertEquals(2150.4, $transactions['debits']->getValue());
|
||||
|
||||
// Check that all the different transaction types are there
|
||||
// test by the different groups that exist
|
||||
@ -1115,6 +1115,6 @@ class FinanceTest extends TestCase
|
||||
|
||||
// $this->assertCount(9, $transactions['transactions']);
|
||||
$this->assertEquals(3020, $transactions['credits']->getValue());
|
||||
$this->assertEquals(2050.0, $transactions['debits']->getValue());
|
||||
$this->assertEquals(2050.4, $transactions['debits']->getValue());
|
||||
}
|
||||
}
|
||||
|
@ -670,6 +670,7 @@ class ImporterTest extends TestCase
|
||||
$this->assertEquals('-97.6699', $airport->lon);
|
||||
$this->assertEquals(0.0, $airport->ground_handling_cost);
|
||||
$this->assertEquals(setting('airports.default_jet_a_fuel_cost'), $airport->fuel_jeta_cost);
|
||||
$this->assertEquals('Test Note', $airport->notes);
|
||||
|
||||
// See if it imported
|
||||
$airport = Airport::where([
|
||||
|
@ -1,4 +1,4 @@
|
||||
icao,iata,name,location,country,timezone,hub,lat,lon,ground_handling_cost,fuel_100ll_cost,fuel_jeta_cost,fuel_mogas_cost
|
||||
KAUS,AUS,Austin-Bergstrom,"Austin, Texas, USA", United States,America/Chicago,1,30.1945,-97.6699,0,,,
|
||||
KSFO,SFO,San Francisco,"San Francisco, California, USA", United States,America/California,1,30.1945,-97.6699,,,0.9,
|
||||
KJFK,JFK,Kennedy,"Queens, New York, USA", United States,America/New_York,0,30.1945,abcd,150,,0.8,
|
||||
icao,iata,name,location,country,timezone,hub,lat,lon,ground_handling_cost,fuel_100ll_cost,fuel_jeta_cost,fuel_mogas_cost,notes
|
||||
KAUS,AUS,Austin-Bergstrom,"Austin, Texas, USA", United States,America/Chicago,1,30.1945,-97.6699,0,,,,"Test Note"
|
||||
KSFO,SFO,San Francisco,"San Francisco, California, USA", United States,America/California,1,30.1945,-97.6699,,,0.9,,
|
||||
KJFK,JFK,Kennedy,"Queens, New York, USA", United States,America/New_York,0,30.1945,abcd,150,,0.8,,"Busy Airport"
|
||||
|
|
@ -1,10 +1,10 @@
|
||||
icao,iata,name,location,country,timezone,hub,lat,lon,ground_handling_cost,fuel_100ll_cost,fuel_jeta_cost,fuel_mogas_cost
|
||||
EGLL,LHR,"London Heathrow","London, England",,Europe/London,,51.4775,-0.4614,500,0,0,0
|
||||
KAUS,AUS,Austin-Bergstrom,"Austin, Texas, USA","United States",America/Chicago,1,30.1945,-97.6699,0,0,0,0
|
||||
KJFK,JFK,"John F Kennedy","New York, New York, USA","United States",America/New_York,1,40.6399,-73.7787,250,0,0,0
|
||||
KPAE,PAE,"Snohomish County (Paine Field) Airport",Everett,"United States",America/Los_Angeles,,47.9063,-122.282,0,0,0,0
|
||||
KSEA,SEA,"Seattle Tacoma International Airport",Seattle,"United States",America/Los_Angeles,,47.449,-122.309,0,0,0,0
|
||||
LEMD,MAD,"Adolfo Suárez Madrid–Barajas Airport",Madrid,Spain,Europe/Madrid,,40.4719,-3.5626,,0,0,0
|
||||
MKJP,KIN,"Norman Manley International Airport","Kingston, Jamaica",,America/Jamaica,,17.9357,-76.7875,50,0,0,0
|
||||
MWCR,GCM,"Owen Roberts International Airport",Georgetown,Cayman,America/Cayman,,19.2928,-81.3577,50,0,0,0
|
||||
OMDB,DXB,"Dubai International Airport","Dubai, UAE",,Asia/Dubai,,25.2528,55.3644,50,0,0,0
|
||||
icao,iata,name,location,country,timezone,hub,lat,lon,ground_handling_cost,fuel_100ll_cost,fuel_jeta_cost,fuel_mogas_cost,notes
|
||||
EGLL,LHR,"London Heathrow","London, England",,Europe/London,,51.4775,-0.4614,500,0,0,0,
|
||||
KAUS,AUS,Austin-Bergstrom,"Austin, Texas, USA","United States",America/Chicago,1,30.1945,-97.6699,0,0,0,0,"Test Note"
|
||||
KJFK,JFK,"John F Kennedy","New York, New York, USA","United States",America/New_York,1,40.6399,-73.7787,250,0,0,0,"Busy Airport"
|
||||
KPAE,PAE,"Snohomish County (Paine Field) Airport",Everett,"United States",America/Los_Angeles,,47.9063,-122.282,0,0,0,0,
|
||||
KSEA,SEA,"Seattle Tacoma International Airport",Seattle,"United States",America/Los_Angeles,,47.449,-122.309,0,0,0,0,
|
||||
LEMD,MAD,"Adolfo Suárez Madrid–Barajas Airport",Madrid,Spain,Europe/Madrid,,40.4719,-3.5626,,0,0,0,
|
||||
MKJP,KIN,"Norman Manley International Airport","Kingston, Jamaica",,America/Jamaica,,17.9357,-76.7875,50,0,0,0,
|
||||
MWCR,GCM,"Owen Roberts International Airport",Georgetown,Cayman,America/Cayman,,19.2928,-81.3577,50,0,0,0,
|
||||
OMDB,DXB,"Dubai International Airport","Dubai, UAE",,Asia/Dubai,,25.2528,55.3644,50,0,0,0,
|
||||
|
|
Loading…
Reference in New Issue
Block a user