mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-29 18:20:01 +00:00
New code for new date range thing.
This commit is contained in:
@@ -8,7 +8,7 @@ use Preferences;
|
|||||||
use Redirect;
|
use Redirect;
|
||||||
use Session;
|
use Session;
|
||||||
use URL;
|
use URL;
|
||||||
|
use Input;
|
||||||
/**
|
/**
|
||||||
* Class HomeController
|
* Class HomeController
|
||||||
*
|
*
|
||||||
@@ -24,6 +24,14 @@ class HomeController extends Controller
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function dateRange() {
|
||||||
|
$start = new Carbon(Input::get('start'));
|
||||||
|
$end = new Carbon(Input::get('end'));
|
||||||
|
|
||||||
|
Session::put('start',$start);
|
||||||
|
Session::put('end',$end);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
* @return \Illuminate\Http\RedirectResponse
|
||||||
*/
|
*/
|
||||||
@@ -76,49 +84,5 @@ class HomeController extends Controller
|
|||||||
return view('index', compact('count', 'title', 'subTitle', 'mainTitleIcon', 'transactions'));
|
return view('index', compact('count', 'title', 'subTitle', 'mainTitleIcon', 'transactions'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $range
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function rangeJump($range)
|
|
||||||
{
|
|
||||||
|
|
||||||
$valid = ['1D', '1W', '1M', '3M', '6M', '1Y',];
|
|
||||||
|
|
||||||
if (in_array($range, $valid)) {
|
|
||||||
Preferences::set('viewRange', $range);
|
|
||||||
Session::forget('range');
|
|
||||||
}
|
|
||||||
|
|
||||||
return Redirect::to(URL::previous());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
|
||||||
*/
|
|
||||||
public function sessionNext()
|
|
||||||
{
|
|
||||||
$range = Session::get('range');
|
|
||||||
$start = Session::get('start');
|
|
||||||
|
|
||||||
Session::put('start', Navigation::jumpToNext($range, clone $start));
|
|
||||||
|
|
||||||
return Redirect::to(URL::previous());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
|
||||||
*/
|
|
||||||
public function sessionPrev()
|
|
||||||
{
|
|
||||||
$range = Session::get('range');
|
|
||||||
$start = Session::get('start');
|
|
||||||
|
|
||||||
Session::put('start', Navigation::jumpToPrevious($range, clone $start));
|
|
||||||
|
|
||||||
return Redirect::to(URL::previous());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -6,9 +6,9 @@ namespace FireflyIII\Http\Middleware;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Contracts\Auth\Guard;
|
use Illuminate\Contracts\Auth\Guard;
|
||||||
use Navigation;
|
|
||||||
use Preferences;
|
use Preferences;
|
||||||
use Session;
|
use Session;
|
||||||
|
use Navigation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class SessionFilter
|
* Class SessionFilter
|
||||||
@@ -46,25 +46,20 @@ class Range
|
|||||||
public function handle($request, Closure $theNext)
|
public function handle($request, Closure $theNext)
|
||||||
{
|
{
|
||||||
if ($this->auth->check()) {
|
if ($this->auth->check()) {
|
||||||
// user's view range comes from preferences, gets set in session:
|
|
||||||
/** @var \FireflyIII\Models\Preference $viewRange */
|
|
||||||
$viewRange = Preferences::get('viewRange', '1M');
|
|
||||||
|
|
||||||
|
// ignore preference. set the range to be the current month:
|
||||||
|
if (!Session::has('start') && !Session::has('end')) {
|
||||||
|
|
||||||
// the start and end date are checked and stored:
|
/** @var \FireflyIII\Models\Preference $viewRange */
|
||||||
$start = Session::has('start') ? Session::get('start') : new Carbon;
|
$viewRange = Preferences::get('viewRange', '1M');
|
||||||
$start = Navigation::updateStartDate($viewRange->data, $start);
|
$start = Session::has('start') ? Session::get('start') : new Carbon;
|
||||||
$end = Navigation::updateEndDate($viewRange->data, $start);
|
$start = Navigation::updateStartDate($viewRange->data, $start);
|
||||||
$period = Navigation::periodName($viewRange->data, $start);
|
$end = Navigation::updateEndDate($viewRange->data, $start);
|
||||||
$prev = Navigation::jumpToPrevious($viewRange->data, clone $start);
|
|
||||||
$next = Navigation::jumpToNext($viewRange->data, clone $start);
|
Session::put('start', $start);
|
||||||
|
Session::put('end', $end);
|
||||||
|
}
|
||||||
|
|
||||||
Session::put('range', $viewRange->data);
|
|
||||||
Session::put('start', $start);
|
|
||||||
Session::put('end', $end);
|
|
||||||
Session::put('period', $period);
|
|
||||||
Session::put('prev', Navigation::periodName($viewRange->data, $prev));
|
|
||||||
Session::put('next', Navigation::periodName($viewRange->data, $next));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -148,9 +148,7 @@ Route::group(
|
|||||||
['middleware' => ['auth', 'range']], function () {
|
['middleware' => ['auth', 'range']], function () {
|
||||||
Route::get('/', ['uses' => 'HomeController@index', 'as' => 'index']);
|
Route::get('/', ['uses' => 'HomeController@index', 'as' => 'index']);
|
||||||
Route::get('/home', ['uses' => 'HomeController@index', 'as' => 'home']);
|
Route::get('/home', ['uses' => 'HomeController@index', 'as' => 'home']);
|
||||||
Route::get('/prev', ['uses' => 'HomeController@sessionPrev', 'as' => 'sessionPrev']);
|
Route::post('/daterange',['uses' => 'HomeController@dateRange','as' => 'daterange']);
|
||||||
Route::get('/next', ['uses' => 'HomeController@sessionNext', 'as' => 'sessionNext']);
|
|
||||||
Route::get('/jump/{range}', ['uses' => 'HomeController@rangeJump', 'as' => 'rangeJump']);
|
|
||||||
Route::get('/flush', ['uses' => 'HomeController@flush', 'as' => 'flush']);
|
Route::get('/flush', ['uses' => 'HomeController@flush', 'as' => 'flush']);
|
||||||
/**
|
/**
|
||||||
* Account Controller
|
* Account Controller
|
||||||
|
1
public/css/firefly.css
Normal file
1
public/css/firefly.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
#daterange {cursor:pointer;}
|
@@ -1,6 +1,38 @@
|
|||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
$('.currencySelect').click(currencySelect)
|
$('.currencySelect').click(currencySelect);
|
||||||
|
|
||||||
|
$('#daterange').daterangepicker(
|
||||||
|
{
|
||||||
|
ranges: {
|
||||||
|
'This Month': [moment().startOf('month'), moment().endOf('month')],
|
||||||
|
'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')],
|
||||||
|
'Next Month': [moment().add('month', 1).startOf('month'), moment().add('month', 1).endOf('month')]
|
||||||
|
},
|
||||||
|
opens: 'left',
|
||||||
|
|
||||||
|
format: 'DD-MM-YYYY',
|
||||||
|
startDate: start,
|
||||||
|
endDate: end
|
||||||
|
},
|
||||||
|
function(start, end, label) {
|
||||||
|
|
||||||
|
// send post.
|
||||||
|
$.post(dateRangeURL, {
|
||||||
|
start: start.format('YYYY-MM-DD'),
|
||||||
|
end: end.format('YYYY-MM-DD'),
|
||||||
|
_token: token
|
||||||
|
}).success(function() {
|
||||||
|
window.location.reload(true);
|
||||||
|
}).fail(function() {
|
||||||
|
alert('Could not change date range');
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
//alert('A date range was chosen: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -21,4 +53,5 @@ function currencySelect(e) {
|
|||||||
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,15 +16,17 @@
|
|||||||
</title>
|
</title>
|
||||||
|
|
||||||
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" type="text/css" media="all" />
|
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" type="text/css" media="all" />
|
||||||
<!-- <link rel="stylesheet" href="css/metisMenu.min.css" type="text/css" media="all" /> -->
|
|
||||||
<!-- new css for SB admin -->
|
|
||||||
<link rel="stylesheet" href="css/metisMenu.min.css" type="text/css" media="all" />
|
<link rel="stylesheet" href="css/metisMenu.min.css" type="text/css" media="all" />
|
||||||
<link rel="stylesheet" href="css/sb-admin-2.css" type="text/css" media="all" />
|
<link rel="stylesheet" href="css/sb-admin-2.css" type="text/css" media="all" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="font-awesome/css/font-awesome.min.css" type="text/css" media="all" />
|
<link rel="stylesheet" href="font-awesome/css/font-awesome.min.css" type="text/css" media="all" />
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto2" type="text/css" media="all" />
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto2" type="text/css" media="all" />
|
||||||
|
|
||||||
|
<!-- date range -->
|
||||||
|
<link rel="stylesheet" href="css/daterangepicker-bs3.css" type="text/css" media="all" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="css/firefly.css" type="text/css" media="all" />
|
||||||
|
|
||||||
|
|
||||||
@yield('styles')
|
@yield('styles')
|
||||||
|
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
@@ -112,19 +114,23 @@
|
|||||||
|
|
||||||
<script type="text/javascript" src="js/jquery-2.1.3.min.js"></script>
|
<script type="text/javascript" src="js/jquery-2.1.3.min.js"></script>
|
||||||
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
|
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
|
||||||
<!-- <script type="text/javascript" src="js/jquery.metisMenu.min.js"></script> -->
|
|
||||||
<!-- <script type="text/javascript" src="js/sb-admin-2.js"></script>-->
|
|
||||||
|
|
||||||
<!-- new js for sb admin -->
|
|
||||||
|
|
||||||
<script type="text/javascript" src="js/metisMenu.min.js"></script>
|
<script type="text/javascript" src="js/metisMenu.min.js"></script>
|
||||||
<script type="text/javascript" src="js/sb-admin-2.js"></script>
|
<script type="text/javascript" src="js/sb-admin-2.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" src="js/help.js"></script>
|
<script type="text/javascript" src="js/help.js"></script>
|
||||||
|
|
||||||
|
<!-- date range stuff -->
|
||||||
|
<script type="text/javascript" src="js/moment.min.js"></script>
|
||||||
|
<script type="text/javascript" src="js/daterangepicker.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var start = "{{Session::get('start')->format('d-m-Y')}}";
|
||||||
|
var end = "{{Session::get('end')->format('d-m-Y')}}";
|
||||||
|
var titleString = "{{Session::get('start')->format('j M Y')}} - {{Session::get('end')->format('j M Y')}}";
|
||||||
|
var dateRangeURL = "{{route('daterange')}}";
|
||||||
|
var token = "{{csrf_token()}}";
|
||||||
|
$('#daterange span').text(titleString);
|
||||||
|
</script>
|
||||||
|
|
||||||
<script type="text/javascript" src="js/firefly.js"></script>
|
<script type="text/javascript" src="js/firefly.js"></script>
|
||||||
@yield('scripts')
|
@yield('scripts')
|
||||||
</body>
|
</body>
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
{{--
|
||||||
|
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<i class="fa fa-clock-o fa-fw"></i>
|
<i class="fa fa-clock-o fa-fw"></i>
|
||||||
@@ -26,3 +28,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
--}}
|
@@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
<p class="navbar-text navbar-right" id="daterange"><span> </span> <b class="caret"></b> </p>
|
||||||
|
|
||||||
|
|
||||||
<!-- /.navbar-top-links -->
|
<!-- /.navbar-top-links -->
|
||||||
|
Reference in New Issue
Block a user