diff --git a/app/Models/EntityModel.php b/app/Models/EntityModel.php
index f0dde93ce33e..d922d641e7ad 100644
--- a/app/Models/EntityModel.php
+++ b/app/Models/EntityModel.php
@@ -355,6 +355,15 @@ class EntityModel extends Eloquent
return false;
}
+ public static function getFormUrl($entityType)
+ {
+ if (in_array($entityType, [ENTITY_PROPOSAL_CATEGORY, ENTITY_PROPOSAL_SNIPPET, ENTITY_PROPOSAL_TEMPLATE])) {
+ return str_replace('_', 's/', Utils::pluralizeEntityType($entityType));
+ } else {
+ return Utils::pluralizeEntityType($entityType);
+ }
+ }
+
public static function getStates($entityType = false)
{
$data = [];
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index 1e06822f18a2..0d5c0bddc328 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -96,6 +96,7 @@ class AppServiceProvider extends ServiceProvider
});
Form::macro('breadcrumbs', function ($status = false) {
+
$str = '
';
// Get the breadcrumbs by exploding the current path.
@@ -133,6 +134,9 @@ class AppServiceProvider extends ServiceProvider
if ($i == count($crumbs) - 1) {
$str .= "- $name
";
} else {
+ if (count($crumbs) > 2 && $crumbs[1] == 'proposals' && $crumb != 'proposals') {
+ $crumb = 'proposals/' . $crumb;
+ }
$str .= '- '.link_to($crumb, $name).'
';
}
}
diff --git a/resources/views/list.blade.php b/resources/views/list.blade.php
index e062277b54ca..72dbd8924597 100644
--- a/resources/views/list.blade.php
+++ b/resources/views/list.blade.php
@@ -1,4 +1,4 @@
-{!! Former::open(Utils::pluralizeEntityType($entityType) . '/bulk')
+{!! Former::open(\App\Models\EntityModel::getFormUrl($entityType) . '/bulk')
->addClass('listForm_' . $entityType) !!}
@@ -114,7 +114,7 @@
@if (Auth::user()->can('create', $entityType) && empty($vendorId))
{!! Button::primary(mtrans($entityType, "new_{$entityType}"))
->asLinkTo(url(
- (in_array($entityType, [ENTITY_PROPOSAL_SNIPPET, ENTITY_PROPOSAL_CATEGORY, ENTITY_PROPOSAL_TEMPLATE]) ? str_replace('_', 's/', Utils::pluralizeEntityType($entityType)) : Utils::pluralizeEntityType($entityType)) .
+ (in_array($entityType, [ENTITY_PROPOSAL_SNIPPET, ENTITY_PROPOSAL_CATEGORY, ENTITY_PROPOSAL_TEMPLATE]) ? str_replace('_', 's/', Utils::pluralizeEntityType($entityType)) : Utils::pluralizeEntityType($entityType)) .
'/create/' . (isset($clientId) ? ($clientId . (isset($projectId) ? '/' . $projectId : '')) : '')
))
->appendIcon(Icon::create('plus-sign')) !!}
diff --git a/routes/web.php b/routes/web.php
index 01030648a286..beb311ab6ea3 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -205,18 +205,25 @@ Route::group(['middleware' => ['lookup:user', 'auth:user']], function () {
Route::get('api/quotes/{client_id?}', 'QuoteController@getDatatable');
Route::post('quotes/bulk', 'QuoteController@bulk');
+ Route::post('proposals/categories/bulk', 'ProposalCategoryController@bulk');
Route::get('proposals/categories/{proposal_categories}/edit', 'ProposalCategoryController@edit');
Route::get('proposals/categories/create', 'ProposalCategoryController@create');
Route::resource('proposals/categories', 'ProposalCategoryController');
Route::get('api/proposal_categories', 'ProposalCategoryController@getDatatable');
+
+ Route::post('proposals/snippets/bulk', 'ProposalSnippetController@bulk');
Route::get('proposals/snippets/{proposal_snippets}/edit', 'ProposalSnippetController@edit');
Route::get('proposals/snippets/create', 'ProposalSnippetController@create');
Route::resource('proposals/snippets', 'ProposalSnippetController');
Route::get('api/proposal_snippets', 'ProposalSnippetController@getDatatable');
+
+ Route::post('proposals/templates/bulk', 'ProposalTemplateController@bulk');
Route::get('proposals/templates/{proposal_templates}/edit', 'ProposalTemplateController@edit');
Route::get('proposals/templates/create', 'ProposalTemplateController@create');
Route::resource('proposals/templates', 'ProposalTemplateController');
Route::get('api/proposal_templates', 'ProposalTemplateController@getDatatable');
+
+ Route::post('proposals/proposals/bulk', 'ProposalController@bulk');
Route::get('proposals/{proposals}/edit', 'ProposalController@edit');
Route::get('proposals/create/{quote_id?}', 'ProposalController@create');
Route::resource('proposals', 'ProposalController');