mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 18:54:58 +00:00 
			
		
		
		
	New code for new date range thing.
This commit is contained in:
		| @@ -8,7 +8,7 @@ use Preferences; | ||||
| use Redirect; | ||||
| use Session; | ||||
| use URL; | ||||
|  | ||||
| use Input; | ||||
| /** | ||||
|  * 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 | ||||
|      */ | ||||
| @@ -76,49 +84,5 @@ class HomeController extends Controller | ||||
|         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 Closure; | ||||
| use Illuminate\Contracts\Auth\Guard; | ||||
| use Navigation; | ||||
| use Preferences; | ||||
| use Session; | ||||
| use Navigation; | ||||
|  | ||||
| /** | ||||
|  * Class SessionFilter | ||||
| @@ -46,25 +46,20 @@ class Range | ||||
|     public function handle($request, Closure $theNext) | ||||
|     { | ||||
|         if ($this->auth->check()) { | ||||
|             // user's view range comes from preferences, gets set in session: | ||||
|  | ||||
|             // ignore preference. set the range to be the current month: | ||||
|             if (!Session::has('start') && !Session::has('end')) { | ||||
|  | ||||
|                 /** @var \FireflyIII\Models\Preference $viewRange */ | ||||
|                 $viewRange = Preferences::get('viewRange', '1M'); | ||||
|  | ||||
|  | ||||
|             // the start and end date are checked and stored: | ||||
|                 $start     = Session::has('start') ? Session::get('start') : new Carbon; | ||||
|                 $start     = Navigation::updateStartDate($viewRange->data, $start); | ||||
|                 $end       = Navigation::updateEndDate($viewRange->data, $start); | ||||
|             $period = Navigation::periodName($viewRange->data, $start); | ||||
|             $prev   = Navigation::jumpToPrevious($viewRange->data, clone $start); | ||||
|             $next   = Navigation::jumpToNext($viewRange->data, clone $start); | ||||
|  | ||||
|             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 () { | ||||
|     Route::get('/', ['uses' => 'HomeController@index', 'as' => 'index']); | ||||
|     Route::get('/home', ['uses' => 'HomeController@index', 'as' => 'home']); | ||||
|     Route::get('/prev', ['uses' => 'HomeController@sessionPrev', 'as' => 'sessionPrev']); | ||||
|     Route::get('/next', ['uses' => 'HomeController@sessionNext', 'as' => 'sessionNext']); | ||||
|     Route::get('/jump/{range}', ['uses' => 'HomeController@rangeJump', 'as' => 'rangeJump']); | ||||
|     Route::post('/daterange',['uses' => 'HomeController@dateRange','as' => 'daterange']); | ||||
|     Route::get('/flush', ['uses' => 'HomeController@flush', 'as' => 'flush']); | ||||
|     /** | ||||
|      * 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 () { | ||||
|  | ||||
|     $('.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')); | ||||
|             } | ||||
|  | ||||
|         ); | ||||
|  | ||||
| }); | ||||
|  | ||||
| @@ -22,3 +54,4 @@ function currencySelect(e) { | ||||
|  | ||||
|     return false; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -16,15 +16,17 @@ | ||||
|     </title> | ||||
|  | ||||
|     <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/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="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') | ||||
|  | ||||
|     <!--[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="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/sb-admin-2.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> | ||||
| @yield('scripts') | ||||
| </body> | ||||
|   | ||||
| @@ -1,3 +1,5 @@ | ||||
| {{-- | ||||
|  | ||||
| <div class="panel panel-default"> | ||||
|     <div class="panel-heading"> | ||||
|         <i class="fa fa-clock-o fa-fw"></i> | ||||
| @@ -26,3 +28,4 @@ | ||||
|         </div> | ||||
|     </div> | ||||
| </div> | ||||
| --}} | ||||
| @@ -36,7 +36,7 @@ | ||||
|  | ||||
|  | ||||
|     </ul> | ||||
|  | ||||
|     <p class="navbar-text navbar-right" id="daterange"><span> </span> <b class="caret"></b> </p> | ||||
|  | ||||
|  | ||||
|     <!-- /.navbar-top-links --> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user