Expense categories

This commit is contained in:
David Bomba 2016-10-28 07:48:34 +11:00
parent a4b919f188
commit 301032c905
2 changed files with 24 additions and 4 deletions

View File

@ -1,6 +1,8 @@
<?php namespace App\Http\Controllers; <?php namespace App\Http\Controllers;
use App\Http\Requests\Request;
use App\Models\Expense; use App\Models\Expense;
use App\Ninja\Repositories\ExpenseCategoryRepository;
use App\Ninja\Repositories\ExpenseRepository; use App\Ninja\Repositories\ExpenseRepository;
use App\Services\ExpenseService; use App\Services\ExpenseService;
use App\Http\Requests\ExpenseRequest; use App\Http\Requests\ExpenseRequest;
@ -12,15 +14,17 @@ class ExpenseApiController extends BaseAPIController
// Expenses // Expenses
protected $expenseRepo; protected $expenseRepo;
protected $expenseService; protected $expenseService;
protected $categoryRepo;
protected $entityType = ENTITY_EXPENSE; protected $entityType = ENTITY_EXPENSE;
public function __construct(ExpenseRepository $expenseRepo, ExpenseService $expenseService) public function __construct(ExpenseCategoryRepository $categoryRepo, ExpenseRepository $expenseRepo, ExpenseService $expenseService)
{ {
parent::__construct(); parent::__construct();
$this->expenseRepo = $expenseRepo; $this->expenseRepo = $expenseRepo;
$this->expenseService = $expenseService; $this->expenseService = $expenseService;
$this->categoryRepo = $categoryRepo;
} }
/** /**
@ -75,8 +79,8 @@ class ExpenseApiController extends BaseAPIController
$expense = $this->expenseRepo->save($request->input()); $expense = $this->expenseRepo->save($request->input());
$expense = Expense::scope($expense->public_id) $expense = Expense::scope($expense->public_id)
->with('client', 'invoice', 'vendor') ->with('client', 'invoice', 'vendor')
->first(); ->first();
return $this->itemResponse($expense); return $this->itemResponse($expense);
} }
@ -146,4 +150,19 @@ class ExpenseApiController extends BaseAPIController
} }
public function updateCategory(UpdateExpenseCategoryRequest $request)
{
$category = $this->categoryRepo->save($request->input(), $request->entity());
return $this->itemResponse($category);
}
public function addCategory(CreateExpenseCategoryRequest $request)
{
$category = $this->categoryRepo->save($request->input());
return $this->itemResponse($category);
}
} }

View File

@ -309,7 +309,8 @@ Route::group(['middleware' => 'api', 'prefix' => 'api/v1'], function()
Route::get('dashboard', 'DashboardApiController@index'); Route::get('dashboard', 'DashboardApiController@index');
Route::resource('documents', 'DocumentAPIController'); Route::resource('documents', 'DocumentAPIController');
Route::resource('vendors', 'VendorApiController'); Route::resource('vendors', 'VendorApiController');
Route::resource('expenses', 'ExpenseApiController'); Route::post('createExpenseCategory', 'ExpenseApiController@addCategory');
Route::put('updateExpenseCategory/{expense_category_id}', 'ExpenseApiController@updateCategory');
}); });
// Redirects for legacy links // Redirects for legacy links