Updated Companies for #3059

This commit is contained in:
snipe 2016-12-15 15:48:30 -08:00
parent 6c8e9327c1
commit c6ab34faee
6 changed files with 30 additions and 36 deletions

View file

@ -6,6 +6,7 @@ use Input;
use Lang; use Lang;
use Redirect; use Redirect;
use View; use View;
use Illuminate\Http\Request;
/** /**
* This controller handles all actions related to Companies for * This controller handles all actions related to Companies for
@ -24,7 +25,7 @@ final class CompaniesController extends Controller
* @since [v1.8] * @since [v1.8]
* @return View * @return View
*/ */
public function getIndex() public function index()
{ {
return View::make('companies/index')->with('companies', Company::all()); return View::make('companies/index')->with('companies', Company::all());
} }
@ -36,7 +37,7 @@ final class CompaniesController extends Controller
* @since [v1.8] * @since [v1.8]
* @return View * @return View
*/ */
public function getCreate() public function create()
{ {
return View::make('companies/edit')->with('item', new Company); return View::make('companies/edit')->with('item', new Company);
} }
@ -48,14 +49,13 @@ final class CompaniesController extends Controller
* @since [v1.8] * @since [v1.8]
* @return Redirect * @return Redirect
*/ */
public function postCreate() public function store(Request $request)
{ {
$company = new Company; $company = new Company;
$company->name = e($request->input('name'));
$company->name = e(Input::get('name'));
if ($company->save()) { if ($company->save()) {
return redirect()->to('admin/settings/companies') return redirect()->route('companies.index')
->with('success', trans('admin/companies/message.create.success')); ->with('success', trans('admin/companies/message.create.success'));
} else { } else {
return redirect()->back()->withInput()->withErrors($company->getErrors()); return redirect()->back()->withInput()->withErrors($company->getErrors());
@ -72,10 +72,10 @@ final class CompaniesController extends Controller
* @param int $companyId * @param int $companyId
* @return View * @return View
*/ */
public function getEdit($companyId) public function edit($companyId)
{ {
if (is_null($item = Company::find($companyId))) { if (is_null($item = Company::find($companyId))) {
return redirect()->to('admin/settings/companies') return redirect()->route('companies.index')
->with('error', trans('admin/companies/message.does_not_exist')); ->with('error', trans('admin/companies/message.does_not_exist'));
} else { } else {
return View::make('companies/edit')->with('item', $item); return View::make('companies/edit')->with('item', $item);
@ -90,20 +90,20 @@ final class CompaniesController extends Controller
* @param int $companyId * @param int $companyId
* @return Redirect * @return Redirect
*/ */
public function postEdit($companyId) public function update(Request $request, $companyId)
{ {
if (is_null($company = Company::find($companyId))) { if (is_null($company = Company::find($companyId))) {
return redirect()->to('admin/settings/companies')->with('error', trans('admin/companies/message.does_not_exist')); return redirect()->route('companies.index')->with('error', trans('admin/companies/message.does_not_exist'));
} else { } else {
$company->name = e(Input::get('name')); $company->name = e($request->input('name'));
if ($company->save()) { if ($company->save()) {
return redirect()->to('admin/settings/companies') return redirect()->route('companies.index')
->with('success', trans('admin/companies/message.update.success')); ->with('success', trans('admin/companies/message.update.success'));
} else { } else {
return redirect()->to("admin/settings/companies/$companyId/edit") return redirect()->route('companies.edit', ['company' => $companyId])
->with('error', trans('admin/companies/message.update.error')); ->with('error', trans('admin/companies/message.update.error'));
} }
@ -118,15 +118,15 @@ final class CompaniesController extends Controller
* @param int $companyId * @param int $companyId
* @return Redirect * @return Redirect
*/ */
public function postDelete($companyId) public function destroy($companyId)
{ {
if (is_null($company = Company::find($companyId))) { if (is_null($company = Company::find($companyId))) {
return redirect()->to('admin/settings/companies') return redirect()->route('companies.index')
->with('error', trans('admin/companies/message.not_found')); ->with('error', trans('admin/companies/message.not_found'));
} else { } else {
try { try {
$company->delete(); $company->delete();
return redirect()->to('admin/settings/companies') return redirect()->route('companies.index')
->with('success', trans('admin/companies/message.delete.success')); ->with('success', trans('admin/companies/message.delete.success'));
} catch (\Illuminate\Database\QueryException $exception) { } catch (\Illuminate\Database\QueryException $exception) {
/* /*
@ -134,7 +134,7 @@ final class CompaniesController extends Controller
* For example when rows in other tables are referencing this company * For example when rows in other tables are referencing this company
*/ */
if ($exception->getCode() == 23000) { if ($exception->getCode() == 23000) {
return redirect()->to('admin/settings/companies') return redirect()->route('companies.index')
->with('error', trans('admin/companies/message.assoc_users')); ->with('error', trans('admin/companies/message.assoc_users'));
} else { } else {
throw $exception; throw $exception;

View file

@ -2,7 +2,8 @@
'createText' => trans('admin/companies/table.create') , 'createText' => trans('admin/companies/table.create') ,
'updateText' => trans('admin/companies/table.update'), 'updateText' => trans('admin/companies/table.update'),
'helpTitle' => trans('admin/companies/general.about_companies_title'), 'helpTitle' => trans('admin/companies/general.about_companies_title'),
'helpText' => trans('admin/companies/general.about_companies_text') 'helpText' => trans('admin/companies/general.about_companies_text'),
'formAction' => ($item) ? route('companies.update', ['company' => $item->id]) : route('companies.store'),
]) ])
{{-- Page content --}} {{-- Page content --}}

View file

@ -7,7 +7,7 @@
@stop @stop
@section('header_right') @section('header_right')
<a href="{{ route('create/company') }}" class="btn btn-primary pull-right"> <a href="{{ route('companies.create') }}" class="btn btn-primary pull-right">
{{ trans('general.create') }}</a> {{ trans('general.create') }}</a>
@stop @stop
@ -32,11 +32,11 @@
<td>{{ $company->id }}</td> <td>{{ $company->id }}</td>
<td>{{ $company->name }}</td> <td>{{ $company->name }}</td>
<td> <td>
<form method="POST" action="{{ route('delete/company', $company->id) }}" role="form"> <form method="POST" action="{{ route('companies.destroy', $company->id) }}" role="form">
<input type="hidden" name="_token" value="{{ csrf_token() }}" /> <input type="hidden" name="_token" value="{{ csrf_token() }}" />
<a href="{{ route('update/company', $company->id) }}" class="btn btn-sm btn-warning" <a href="{{ route('companies.edit', $company->id) }}" class="btn btn-sm btn-warning"
title="{{ trans('button.edit') }}"> title="{{ trans('button.edit') }}">
<i class="fa fa-pencil icon-white"></i> <i class="fa fa-pencil icon-white"></i>
</a> </a>

View file

@ -317,7 +317,7 @@
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li {!! (Request::is('settings/companies*') ? ' class="active"' : '') !!}> <li {!! (Request::is('settings/companies*') ? ' class="active"' : '') !!}>
<a href="{{ URL::to('admin/settings/companies') }}"> <a href="{{ route('companies.index') }}">
<i class="fa fa-building-o fa-fw"></i> @lang('general.companies') <i class="fa fa-building-o fa-fw"></i> @lang('general.companies')
</a> </a>
</li> </li>

View file

@ -13,6 +13,10 @@ Route::resource('fields', 'CustomFieldsController', [
'parameters' => ['customfield' => 'field_id', 'fieldset' => 'fieldset_id'] 'parameters' => ['customfield' => 'field_id', 'fieldset' => 'fieldset_id']
]); ]);
Route::resource('companies', 'CompaniesController', [
'parameters' => ['company' => 'company_id']
]);
/* /*
@ -141,17 +145,6 @@ Route::group([ 'prefix' => 'admin','middleware' => ['web','auth']], function ()
Route::get('/', [ 'as' => 'settings/backups', 'uses' => 'SettingsController@getBackups' ]); Route::get('/', [ 'as' => 'settings/backups', 'uses' => 'SettingsController@getBackups' ]);
}); });
# Companies
Route::group([ 'prefix' => 'companies' ], function () {
Route::get('{companyId}/edit', ['as' => 'update/company', 'uses' => 'CompaniesController@getEdit']);
Route::get('create', ['as' => 'create/company', 'uses' => 'CompaniesController@getCreate']);
Route::get('/', ['as' => 'companies', 'uses' => 'CompaniesController@getIndex']);
Route::post('{companyId}/delete', ['as' => 'delete/company', 'uses' => 'CompaniesController@postDelete']);
Route::post('{companyId}/edit', 'CompaniesController@postEdit');
Route::post('create', 'CompaniesController@postCreate');
});

View file

@ -16,7 +16,7 @@ class CompaniesCest
{ {
$I->wantTo('Test Company Creation'); $I->wantTo('Test Company Creation');
$I->lookForwardTo('seeing it load without errors'); $I->lookForwardTo('seeing it load without errors');
$I->amOnPage(route('create/company')); $I->amOnPage(route('companies.create'));
$I->seeInTitle('Create Company'); $I->seeInTitle('Create Company');
$I->see('Create Company', 'h1.pull-left'); $I->see('Create Company', 'h1.pull-left');
} }
@ -24,7 +24,7 @@ class CompaniesCest
public function failsEmptyValidation(FunctionalTester $I) public function failsEmptyValidation(FunctionalTester $I)
{ {
$I->wantTo("Test Validation Fails with blank elements"); $I->wantTo("Test Validation Fails with blank elements");
$I->amOnPage(route('create/company')); $I->amOnPage(route('companies.create'));
$I->click('Save'); $I->click('Save');
$I->seeElement('.alert-danger'); $I->seeElement('.alert-danger');
$I->see('The name field is required.', '.alert-msg'); $I->see('The name field is required.', '.alert-msg');
@ -37,7 +37,7 @@ class CompaniesCest
'name' => $company->name 'name' => $company->name
]; ];
$I->wantTo("Test Validation Succeeds"); $I->wantTo("Test Validation Succeeds");
$I->amOnPage(route('create/company')); $I->amOnPage(route('companies.create'));
$I->fillField('name', 'TestCompany'); $I->fillField('name', 'TestCompany');
$I->submitForm('form#create-form', $values); $I->submitForm('form#create-form', $values);
$I->seeRecord('companies', $values); $I->seeRecord('companies', $values);