All kinds of new stuff.

This commit is contained in:
James Cole
2015-02-06 19:33:31 +01:00
parent a92efbc55f
commit 1b54b14671
9 changed files with 188 additions and 96 deletions

View File

@@ -1,5 +1,6 @@
<?php namespace FireflyIII\Http\Controllers; <?php namespace FireflyIII\Http\Controllers;
class HomeController extends Controller class HomeController extends Controller
{ {
@@ -22,6 +23,7 @@ class HomeController extends Controller
public function __construct() public function __construct()
{ {
$this->middleware('auth'); $this->middleware('auth');
$this->middleware('range');
//$this->middleware('guest'); //$this->middleware('guest');
} }
@@ -33,12 +35,13 @@ class HomeController extends Controller
public function index() public function index()
{ {
// count is fake // count is fake
$count = 0; $count = \Auth::user()->accounts()->accountTypeIn(['Asset account', 'Default account'])->count();
$title = 'Firefly'; $title = 'Firefly';
$subTitle = 'What\'s playing?'; $subTitle = 'What\'s playing?';
$mainTitleIcon = 'fa-fire'; $mainTitleIcon = 'fa-fire';
$transactions = [];
return view('index', compact('count', 'title', 'subTitle', 'mainTitleIcon')); return view('index', compact('count', 'title', 'subTitle', 'mainTitleIcon','transactions'));
} }
} }

View File

@@ -2,31 +2,35 @@
use Illuminate\Foundation\Http\Kernel as HttpKernel; use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel { class Kernel extends HttpKernel
{
/** /**
* The application's global HTTP middleware stack. * The application's global HTTP middleware stack.
* *
* @var array * @var array
*/ */
protected $middleware = [ protected $middleware
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode', = [
'Illuminate\Cookie\Middleware\EncryptCookies', 'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', 'Illuminate\Cookie\Middleware\EncryptCookies',
'Illuminate\Session\Middleware\StartSession', 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\View\Middleware\ShareErrorsFromSession', 'Illuminate\Session\Middleware\StartSession',
'FireflyIII\Http\Middleware\VerifyCsrfToken', 'Illuminate\View\Middleware\ShareErrorsFromSession',
]; 'FireflyIII\Http\Middleware\VerifyCsrfToken',
];
/** /**
* The application's route middleware. * The application's route middleware.
* *
* @var array * @var array
*/ */
protected $routeMiddleware = [ protected $routeMiddleware
'auth' => 'FireflyIII\Http\Middleware\Authenticate', = [
'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth', 'auth' => 'FireflyIII\Http\Middleware\Authenticate',
'guest' => 'FireflyIII\Http\Middleware\RedirectIfAuthenticated', 'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
]; 'guest' => 'FireflyIII\Http\Middleware\RedirectIfAuthenticated',
'range' => 'FireflyIII\Http\Middleware\Range',
];
} }

View File

@@ -1,6 +1,12 @@
<?php <?php
/*
* Home Controller
*/
Route::get('/', ['uses' => 'HomeController@index', 'as' => 'index']); Route::get('/', ['uses' => 'HomeController@index', 'as' => 'index']);
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']);
/* /*
* Account Controller * Account Controller

View File

@@ -1,7 +1,7 @@
<?php namespace FireflyIII\Models; <?php namespace FireflyIII\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
/** /**
* Class Account * Class Account
* *
@@ -25,5 +25,13 @@ class Account extends Model
return $this->belongsTo('FireflyIII\User'); return $this->belongsTo('FireflyIII\User');
} }
public function scopeAccountTypeIn(EloquentBuilder $query, array $types)
{
if (is_null($this->joinedAccountTypes)) {
$query->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id');
$this->joinedAccountTypes = true;
}
$query->whereIn('account_types.type', $types);
}
} }

View File

@@ -1,44 +1,64 @@
<?php namespace FireflyIII\Providers; <?php namespace FireflyIII\Providers;
use Illuminate\Routing\Router;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Routing\Router;
class RouteServiceProvider extends ServiceProvider { class RouteServiceProvider extends ServiceProvider
{
/** /**
* This namespace is applied to the controller routes in your routes file. * This namespace is applied to the controller routes in your routes file.
* *
* In addition, it is set as the URL generator's root namespace. * In addition, it is set as the URL generator's root namespace.
* *
* @var string * @var string
*/ */
protected $namespace = 'FireflyIII\Http\Controllers'; protected $namespace = 'FireflyIII\Http\Controllers';
/** /**
* Define your route model bindings, pattern filters, etc. * Define your route model bindings, pattern filters, etc.
* *
* @param \Illuminate\Routing\Router $router * @param \Illuminate\Routing\Router $router
* @return void *
*/ * @return void
public function boot(Router $router) */
{ public function boot(Router $router)
parent::boot($router); {
parent::boot($router);
// $router->before(
} function (Request $request) {
/** // put IP in session if not already there.
* Define the routes for the application.
* $reminders = [];
* @param \Illuminate\Routing\Router $router
* @return void if ($request->user()) {
*/ //Filter::setSessionDateRange();
public function map(Router $router) //Reminders::updateReminders();
{ //Steam::removeEmptyBudgetLimits();
$router->group(['namespace' => $this->namespace], function($router) //$reminders = Reminders::getReminders();
{ }
require app_path('Http/routes.php'); // View::share('reminders', $reminders);
}); }
} );
}
/**
* Define the routes for the application.
*
* @param \Illuminate\Routing\Router $router
*
* @return void
*/
public function map(Router $router)
{
$router->group(
['namespace' => $this->namespace], function ($router) {
require app_path('Http/routes.php');
}
);
}
} }

View File

@@ -146,6 +146,7 @@ return [
'FireflyIII\Providers\ConfigServiceProvider', 'FireflyIII\Providers\ConfigServiceProvider',
'FireflyIII\Providers\EventServiceProvider', 'FireflyIII\Providers\EventServiceProvider',
'FireflyIII\Providers\RouteServiceProvider', 'FireflyIII\Providers\RouteServiceProvider',
'FireflyIII\Providers\FireflyServiceProvider',
], ],
@@ -162,40 +163,41 @@ return [
'aliases' => [ 'aliases' => [
'App' => 'Illuminate\Support\Facades\App', 'App' => 'Illuminate\Support\Facades\App',
'Artisan' => 'Illuminate\Support\Facades\Artisan', 'Artisan' => 'Illuminate\Support\Facades\Artisan',
'Auth' => 'Illuminate\Support\Facades\Auth', 'Auth' => 'Illuminate\Support\Facades\Auth',
'Blade' => 'Illuminate\Support\Facades\Blade', 'Blade' => 'Illuminate\Support\Facades\Blade',
'Bus' => 'Illuminate\Support\Facades\Bus', 'Bus' => 'Illuminate\Support\Facades\Bus',
'Cache' => 'Illuminate\Support\Facades\Cache', 'Cache' => 'Illuminate\Support\Facades\Cache',
'Config' => 'Illuminate\Support\Facades\Config', 'Config' => 'Illuminate\Support\Facades\Config',
'Cookie' => 'Illuminate\Support\Facades\Cookie', 'Cookie' => 'Illuminate\Support\Facades\Cookie',
'Crypt' => 'Illuminate\Support\Facades\Crypt', 'Crypt' => 'Illuminate\Support\Facades\Crypt',
'DB' => 'Illuminate\Support\Facades\DB', 'DB' => 'Illuminate\Support\Facades\DB',
'Eloquent' => 'Illuminate\Database\Eloquent\Model', 'Eloquent' => 'Illuminate\Database\Eloquent\Model',
'Event' => 'Illuminate\Support\Facades\Event', 'Event' => 'Illuminate\Support\Facades\Event',
'File' => 'Illuminate\Support\Facades\File', 'File' => 'Illuminate\Support\Facades\File',
'Hash' => 'Illuminate\Support\Facades\Hash', 'Hash' => 'Illuminate\Support\Facades\Hash',
'Input' => 'Illuminate\Support\Facades\Input', 'Input' => 'Illuminate\Support\Facades\Input',
'Inspiring' => 'Illuminate\Foundation\Inspiring', 'Inspiring' => 'Illuminate\Foundation\Inspiring',
'Lang' => 'Illuminate\Support\Facades\Lang', 'Lang' => 'Illuminate\Support\Facades\Lang',
'Log' => 'Illuminate\Support\Facades\Log', 'Log' => 'Illuminate\Support\Facades\Log',
'Mail' => 'Illuminate\Support\Facades\Mail', 'Mail' => 'Illuminate\Support\Facades\Mail',
'Password' => 'Illuminate\Support\Facades\Password', 'Password' => 'Illuminate\Support\Facades\Password',
'Queue' => 'Illuminate\Support\Facades\Queue', 'Queue' => 'Illuminate\Support\Facades\Queue',
'Redirect' => 'Illuminate\Support\Facades\Redirect', 'Redirect' => 'Illuminate\Support\Facades\Redirect',
'Redis' => 'Illuminate\Support\Facades\Redis', 'Redis' => 'Illuminate\Support\Facades\Redis',
'Request' => 'Illuminate\Support\Facades\Request', 'Request' => 'Illuminate\Support\Facades\Request',
'Response' => 'Illuminate\Support\Facades\Response', 'Response' => 'Illuminate\Support\Facades\Response',
'Route' => 'Illuminate\Support\Facades\Route', 'Route' => 'Illuminate\Support\Facades\Route',
'Schema' => 'Illuminate\Support\Facades\Schema', 'Schema' => 'Illuminate\Support\Facades\Schema',
'Session' => 'Illuminate\Support\Facades\Session', 'Session' => 'Illuminate\Support\Facades\Session',
'Storage' => 'Illuminate\Support\Facades\Storage', 'Storage' => 'Illuminate\Support\Facades\Storage',
'URL' => 'Illuminate\Support\Facades\URL', 'URL' => 'Illuminate\Support\Facades\URL',
'Validator' => 'Illuminate\Support\Facades\Validator', 'Validator' => 'Illuminate\Support\Facades\Validator',
'View' => 'Illuminate\Support\Facades\View', 'View' => 'Illuminate\Support\Facades\View',
'Form' => 'Illuminate\Html\FormFacade', 'Form' => 'Illuminate\Html\FormFacade',
'Html' => 'Illuminate\Html\HtmlFacade', 'Html' => 'Illuminate\Html\HtmlFacade',
'Preferences' => 'FireflyIII\Support\Facades\Preferences',
], ],

49
config/firefly.php Normal file
View File

@@ -0,0 +1,49 @@
<?php
return [
'index_periods' => ['1D', '1W', '1M', '3M', '6M', '1Y', 'custom'],
'budget_periods' => ['daily', 'weekly', 'monthly', 'quarterly', 'half-year', 'yearly'],
'piggy_bank_periods' => [
'week' => 'Week',
'month' => 'Month',
'quarter' => 'Quarter',
'year' => 'Year'
],
'periods_to_text' => [
'weekly' => 'A week',
'monthly' => 'A month',
'quarterly' => 'A quarter',
'half-year' => 'Six months',
'yearly' => 'A year',
],
'accountRoles' => [
'defaultExpense' => 'Default expense account',
'sharedExpense' => 'Shared expense account'
],
'range_to_text' => [
'1D' => 'day',
'1W' => 'week',
'1M' => 'month',
'3M' => 'three months',
'6M' => 'half year',
'custom' => '(custom)'
],
'range_to_name' => [
'1D' => 'one day',
'1W' => 'one week',
'1M' => 'one month',
'3M' => 'three months',
'6M' => 'six months',
'1Y' => 'one year',
],
'range_to_repeat_freq' => [
'1D' => 'weekly',
'1W' => 'weekly',
'1M' => 'monthly',
'3M' => 'quarterly',
'6M' => 'half-year',
'custom' => 'monthly'
],
];

View File

@@ -10,7 +10,7 @@ body {
.google-chart-error { .google-chart-error {
height:30px; height:30px;
background:url('../../images/error.png') no-repeat center center background:url('../images/error.png') no-repeat center center
} }
.google-visualization-table-tr-head td:first-child {width:100px;} .google-visualization-table-tr-head td:first-child {width:100px;}

BIN
public/images/error.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B