Moved some JSON around. [skip-ci]

This commit is contained in:
James Cole 2014-07-15 07:08:13 +02:00
parent 0e09e52e45
commit 09b6c4d982
8 changed files with 82 additions and 3 deletions

View File

@ -1,15 +1,23 @@
<?php
use Firefly\Storage\Account\AccountRepositoryInterface as ARI;
use Firefly\Storage\Budget\BudgetRepositoryInterface as Bud;
use Firefly\Storage\Category\CategoryRepositoryInterface as Cat;
use Firefly\Storage\Component\ComponentRepositoryInterface as CRI;
class JsonController extends BaseController
{
protected $accounts;
protected $components;
protected $categories;
protected $budgets;
public function __construct(ARI $accounts,CRI $components)
public function __construct(ARI $accounts, CRI $components, Cat $categories, Bud $budgets)
{
$this->components = $components;
$this->accounts = $accounts;
$this->categories = $categories;
$this->budgets = $budgets;
}
/**
@ -32,7 +40,13 @@ class JsonController extends BaseController
*/
public function categories()
{
$list = $this->components->get();
$list = $this->categories->get();
$return = [];
foreach ($list as $entry) {
$return[] = $entry->name;
}
return Response::json($return);
}

View File

@ -0,0 +1,8 @@
<?php
namespace Firefly\Storage\Budget;
interface BudgetRepositoryInterface {
}

View File

@ -0,0 +1,8 @@
<?php
namespace Firefly\Storage\Budget;
class EloquentBudgetRepository implements BudgetRepositoryInterface {
}

View File

@ -0,0 +1,10 @@
<?php
namespace Firefly\Storage\Category;
interface CategoryRepositoryInterface {
public function get();
}

View File

@ -0,0 +1,11 @@
<?php
namespace Firefly\Storage\Category;
class EloquentCategoryRepository implements CategoryRepositoryInterface {
public function get() {
return \Auth::user()->categories()->get();
}
}

View File

@ -34,6 +34,15 @@ class StorageServiceProvider extends ServiceProvider
'Firefly\Storage\Component\ComponentRepositoryInterface',
'Firefly\Storage\Component\EloquentComponentRepository'
);
$this->app->bind(
'Firefly\Storage\Budget\BudgetRepositoryInterface',
'Firefly\Storage\Budget\EloquentBudgetRepository'
);
$this->app->bind(
'Firefly\Storage\Category\CategoryRepositoryInterface',
'Firefly\Storage\Category\EloquentCategoryRepository'
);
}
}

View File

@ -49,4 +49,19 @@ class User extends Elegant implements UserInterface, RemindableInterface
return $this->hasMany('Preference');
}
public function components()
{
return $this->hasMany('Component');
}
public function budgets()
{
return $this->hasMany('Budget');
}
public function categories()
{
return $this->hasMany('Category');
}
}

View File

@ -1,3 +1,7 @@
$.getJSON('accounts/beneficiaries').success(function (data) {
$.getJSON('json/beneficiaries').success(function (data) {
$('input[name="beneficiary"]').typeahead({ source: data });
});
$.getJSON('json/categories').success(function (data) {
$('input[name="category"]').typeahead({ source: data });
});