Compare commits

...

7 Commits
0.1.0 ... 0.1.6

Author SHA1 Message Date
Deon George
b0fcdaa375 Added artisan command schedule:list 2018-06-15 14:14:04 +10:00
Deon George
55d369df47 Added helpers.php 2018-06-12 16:09:27 +10:00
Deon George
c5413d5b50 Added X-CSRF-TOKEN 2018-06-05 23:39:47 +10:00
Deon George
8bafc735c4 Moved page-scripts to render after main scripts 2018-05-24 12:28:30 +10:00
Deon George
1bfd5609a5 Using @js instead of script, minor fixes 2018-05-22 22:09:18 +10:00
Deon George
602fc14760 Added admin switch, and composer dependencies 2018-05-20 11:57:49 +10:00
Deon George
eb6ebd635e Added partial.topmenu 2018-05-08 15:13:31 +10:00
11 changed files with 167 additions and 14 deletions

View File

@@ -10,13 +10,18 @@
} }
], ],
"require": { "require": {
"igaster/laravel-theme": "2.0.6",
"orchestra/asset": "^3.6"
}, },
"require-dev": { "require-dev": {
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Leenooks\\": "src" "Leenooks\\": "src"
} },
"files": [
"src/helpers.php"
]
}, },
"extra": { "extra": {
"laravel": { "laravel": {

6
readme.md Normal file
View File

@@ -0,0 +1,6 @@
* User Switch
Add the following routes
```
Route::get( 'admin/switch/start/{id}', 'UserController@user_switch_start' );
Route::get( 'admin/switch/stop', 'UserController@user_switch_stop' );
```

View File

@@ -36,6 +36,9 @@
@include('adminlte::layouts.partials.scripts') @include('adminlte::layouts.partials.scripts')
{{-- Scripts --}} {{-- Scripts --}}
{!! Asset::scripts() !!} {!! Asset::scripts() !!}
@yield('page-scripts')
@show @show
</body> </body>
</html> </html>

View File

@@ -1,6 +1,6 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>{{ config('app.name') }} - @yield('htmlheader_title', 'Your title here') </title> <title>{{ config('app.name') }} - @yield('htmlheader_title', 'Your title here')</title>
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'> <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<!-- CSRF Token --> <!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}"> <meta name="csrf-token" content="{{ csrf_token() }}">
@@ -29,13 +29,7 @@
echo json_encode($trans); echo json_encode($trans);
@endphp @endphp
</script> </script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<style>
#favourite.selected {
color: orange;
}
</style>
<!-- STYLESHEETS --> <!-- STYLESHEETS -->
{!! Asset::styles() !!} {!! Asset::styles() !!}
</head> </head>

View File

@@ -42,6 +42,9 @@
</li> </li>
@endif @endif
<!-- Top Menu Items -->
@include('adminlte::layouts.partials.topmenu')
<li class="dropdown user user-menu" id="user_menu"> <li class="dropdown user user-menu" id="user_menu">
<!-- Menu Toggle Button --> <!-- Menu Toggle Button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">

View File

@@ -2,12 +2,21 @@
<!-- JQuery and bootstrap are required by Laravel 5.3 in resources/assets/js/bootstrap.js--> <!-- JQuery and bootstrap are required by Laravel 5.3 in resources/assets/js/bootstrap.js-->
<!-- Laravel App --> <!-- Laravel App -->
<script src="{{ url (mix('/js/app.js')) }}" type="text/javascript"></script> <script src="{{ url(mix('/js/app.js')) }}" type="text/javascript"></script>
<!-- Our our CSRF token to each interaction -->
{{-- @todo Test that we are validating this, also axios should be doing this for us? --}}
<script type="text/javascript">
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
</script>
@yield('page-scripts')
<!-- Optionally, you can add Slimscroll and FastClick plugins. <!-- Optionally, you can add Slimscroll and FastClick plugins.
Both of these plugins are recommended to enhance the Both of these plugins are recommended to enhance the
user experience. Slimscroll is required when using the user experience. Slimscroll is required when using the
fixed layout. --> fixed layout. -->
<script src="{{ url('/plugins/jquery.slimscroll.min.js') }}" type="text/javascript"></script> @js('/site/js/jquery.slimscroll.min.js','jq.slimscroll');
<script src="{{ url('/plugins/fastclick/fastclick.min.js') }}" type="text/javascript"></script> @js('/site/js/fastclick.min.js','jq.fastclick');

View File

@@ -37,7 +37,7 @@
</aside> </aside>
@section('page-scripts') @section('page-scripts')
<script src="{{ url('/plugins/bootstrap3-typeahead.min.js') }}"></script> @js('/site/js/bootstrap3-typeahead.min.js','bs-typeahead')
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {

View File

@@ -0,0 +1,66 @@
<?php
namespace Leenooks\Commands;
use Illuminate\Console\Command;
use Illuminate\Console\Scheduling\Schedule;
class ScheduleList extends Command
{
protected $signature = 'schedule:list';
protected $description = 'List when scheduled commands are executed.';
/**
* @var Schedule
*/
protected $schedule;
/**
* ScheduleList constructor.
*
* @param Schedule $schedule
*/
public function __construct(Schedule $schedule)
{
parent::__construct();
$this->schedule = $schedule;
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$events = array_map(function ($event) {
return [
'cron' => $event->expression,
'command' => static::fixupCommand($event->command),
];
}, $this->schedule->events());
$this->table(
['Cron', 'Command'],
$events
);
}
/**
* If it's an artisan command, strip off the PHP
*
* @param $command
* @return string
*/
protected static function fixupCommand($command)
{
$parts = explode(' ', $command);
if (count($parts) > 2 && $parts[1] === "'artisan'") {
array_shift($parts);
}
return implode(' ', $parts);
}
}

View File

@@ -0,0 +1,52 @@
<?php
namespace Leenooks\Controllers;
use App\Http\Controllers\Controller;
use App\User;
use Auth;
use Redirect;
use Session;
class AdminController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
/**
* @todo Change the background color (or something) so we know we are switched
*/
public function user_switch_start($id)
{
if ($this->switch_authorised())
{
$uo = User::find($id);
if (! $uo)
abort(404,'User not found');
Session::put('orig_user',Auth::id());
Auth::login($uo);
}
return Redirect::to('/home');
}
public function user_switch_stop()
{
if ($id = Session::pull('orig_user')) {
$uo = User::find($id);
Auth::login($uo);
}
return Redirect::to('/home');
}
public function switch_authorised()
{
// @todo
return TRUE;
}
}

15
src/helpers.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
// is_json helper
if (! function_exists('is_json')) {
function is_json($string) {
try {
json_decode($string);
} catch (\Exception $e) {
return FALSE;
}
return (json_last_error() == JSON_ERROR_NONE);
}
}