mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-11-30 20:54:04 -06:00
103 lines
2.8 KiB
PHP
103 lines
2.8 KiB
PHP
<?php
|
|
|
|
use Firefly\Helper\Controllers\CategoryInterface as CI;
|
|
use Firefly\Storage\Category\CategoryRepositoryInterface as CRI;
|
|
|
|
/**
|
|
* Class CategoryController
|
|
*/
|
|
class CategoryController extends BaseController
|
|
{
|
|
protected $_repository;
|
|
protected $_category;
|
|
|
|
public function __construct(CRI $repository, CI $category)
|
|
{
|
|
$this->_repository = $repository;
|
|
$this->_category = $category;
|
|
View::share('menu', 'categories');
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
return View::make('categories.create');
|
|
}
|
|
|
|
public function delete(Category $category)
|
|
{
|
|
return View::make('categories.delete')->with('category', $category);
|
|
}
|
|
|
|
public function destroy(Category $category)
|
|
{
|
|
$result = $this->_repository->destroy($category);
|
|
if ($result === true) {
|
|
Session::flash('success', 'The category was deleted.');
|
|
} else {
|
|
Session::flash('error', 'Could not delete the category. Check the logs to be sure.');
|
|
}
|
|
|
|
return Redirect::route('categories.index');
|
|
}
|
|
|
|
public function edit(Category $category)
|
|
{
|
|
return View::make('categories.edit')->with('category', $category);
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$categories = $this->_repository->get();
|
|
|
|
return View::make('categories.index')->with('categories', $categories);
|
|
}
|
|
|
|
public function show(Category $category)
|
|
{
|
|
$start = \Session::get('start');
|
|
$end = \Session::get('end');
|
|
|
|
|
|
$journals = $this->_category->journalsInRange($category, $start, $end);
|
|
|
|
return View::make('categories.show')->with('category', $category)->with('journals', $journals)->with(
|
|
'highlight', Input::get('highlight')
|
|
);
|
|
}
|
|
|
|
public function store()
|
|
{
|
|
$category = $this->_repository->store(Input::all());
|
|
if ($category->id) {
|
|
Session::flash('success', 'Category created!');
|
|
|
|
if (Input::get('create') == '1') {
|
|
return Redirect::route('categories.create');
|
|
}
|
|
|
|
return Redirect::route('categories.index');
|
|
} else {
|
|
Session::flash('error', 'Could not save the new category!');
|
|
|
|
return Redirect::route('categories.create')->withInput();
|
|
}
|
|
}
|
|
|
|
public function update(Category $category)
|
|
{
|
|
$category = $this->_repository->update($category, Input::all());
|
|
if ($category->validate()) {
|
|
Session::flash('success', 'Category "' . $category->name . '" updated.');
|
|
|
|
return Redirect::route('categories.index');
|
|
} else {
|
|
Session::flash('success', 'Could not update category "' . $category->name . '".');
|
|
|
|
return Redirect::route('categories.edit')->withErrors($category->errors())->withInput();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
} |