diff --git a/app/Http/Controllers/ProposalCategoryController.php b/app/Http/Controllers/ProposalCategoryController.php index 84236a0d9f94..18259c442782 100644 --- a/app/Http/Controllers/ProposalCategoryController.php +++ b/app/Http/Controllers/ProposalCategoryController.php @@ -65,6 +65,13 @@ class ProposalCategoryController extends BaseController return View::make('proposals/categories.edit', $data); } + public function show($publicId) + { + Session::reflash(); + + return redirect("proposals/categories/$publicId/edit"); + } + public function edit(ProposalCategoryRequest $request) { $proposalCategory = $request->entity(); @@ -75,8 +82,6 @@ class ProposalCategoryController extends BaseController 'method' => 'PUT', 'url' => 'proposals/categories/' . $proposalCategory->public_id, 'title' => trans('texts.edit_proposal_category'), - 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), - 'clientPublicId' => $proposalCategory->client ? $proposalCategory->client->public_id : null, ]; return View::make('proposals/categories.edit', $data); diff --git a/app/Http/Controllers/ProposalController.php b/app/Http/Controllers/ProposalController.php index 9ead6fdf6f9b..0998a6699bf5 100644 --- a/app/Http/Controllers/ProposalController.php +++ b/app/Http/Controllers/ProposalController.php @@ -66,6 +66,13 @@ class ProposalController extends BaseController return View::make('proposals.edit', $data); } + public function show($publicId) + { + Session::reflash(); + + return redirect("proposals/$publicId/edit"); + } + public function edit(ProposalRequest $request) { $proposal = $request->entity(); diff --git a/app/Http/Controllers/ProposalSnippetController.php b/app/Http/Controllers/ProposalSnippetController.php index 0cf1d6ef66d9..ea225ab73fcd 100644 --- a/app/Http/Controllers/ProposalSnippetController.php +++ b/app/Http/Controllers/ProposalSnippetController.php @@ -65,6 +65,13 @@ class ProposalSnippetController extends BaseController return View::make('proposals/snippets/edit', $data); } + public function show($publicId) + { + Session::reflash(); + + return redirect("proposals/snippets/$publicId/edit"); + } + public function edit(ProposalSnippetRequest $request) { $proposalSnippet = $request->entity(); diff --git a/app/Http/Controllers/ProposalTemplateController.php b/app/Http/Controllers/ProposalTemplateController.php index 5a36b73392e3..fdf297c985bf 100644 --- a/app/Http/Controllers/ProposalTemplateController.php +++ b/app/Http/Controllers/ProposalTemplateController.php @@ -65,6 +65,13 @@ class ProposalTemplateController extends BaseController return View::make('proposals/templates/edit', $data); } + public function show($publicId) + { + Session::reflash(); + + return redirect("proposals/templates/$publicId/edit"); + } + public function edit(ProposalTemplateRequest $request) { $proposalTemplate = $request->entity(); diff --git a/app/Ninja/Datatables/ProposalCategoryDatatable.php b/app/Ninja/Datatables/ProposalCategoryDatatable.php index 39e0914a35b7..c2620e9eca3b 100644 --- a/app/Ninja/Datatables/ProposalCategoryDatatable.php +++ b/app/Ninja/Datatables/ProposalCategoryDatatable.php @@ -29,7 +29,7 @@ class ProposalCategoryDatatable extends EntityDatatable [ trans('texts.edit_category'), function ($model) { - return URL::to("proposal_categories/{$model->public_id}/edit"); + return URL::to("proposals/categories/{$model->public_id}/edit"); }, function ($model) { return Auth::user()->can('editByOwner', [ENTITY_PROPOSAL_CATEGORY, $model->user_id]); diff --git a/app/Ninja/Repositories/ProposalCategoryRepository.php b/app/Ninja/Repositories/ProposalCategoryRepository.php index 22c71f72cb68..734977bcf0c4 100644 --- a/app/Ninja/Repositories/ProposalCategoryRepository.php +++ b/app/Ninja/Repositories/ProposalCategoryRepository.php @@ -23,40 +23,22 @@ class ProposalCategoryRepository extends BaseRepository { $query = DB::table('proposal_categories') ->where('proposal_categories.account_id', '=', Auth::user()->account_id) - ->leftjoin('invoices', 'invoices.id', '=', 'proposal_categories.quote_id') - ->leftjoin('clients', 'clients.id', '=', 'invoices.client_id') - ->leftJoin('contacts', 'contacts.client_id', '=', 'clients.id') - ->where('clients.deleted_at', '=', null) - ->where('contacts.deleted_at', '=', null) - ->where('contacts.is_primary', '=', true) ->select( - 'proposal_categories.name as proposal', + 'proposal_categories.name', 'proposal_categories.public_id', 'proposal_categories.user_id', 'proposal_categories.deleted_at', - 'proposal_categories.is_deleted', - 'proposal_categories.private_notes', - DB::raw("COALESCE(NULLIF(clients.name,''), NULLIF(CONCAT(contacts.first_name, ' ', contacts.last_name),''), NULLIF(contacts.email,'')) client_name"), - 'clients.user_id as client_user_id', - 'clients.public_id as client_public_id' + 'proposal_categories.is_deleted' ); $this->applyFilters($query, ENTITY_PROPOSAL_CATEGORY); if ($filter) { $query->where(function ($query) use ($filter) { - $query->where('clients.name', 'like', '%'.$filter.'%') - ->orWhere('contacts.first_name', 'like', '%'.$filter.'%') - ->orWhere('contacts.last_name', 'like', '%'.$filter.'%') - ->orWhere('contacts.email', 'like', '%'.$filter.'%') - ->orWhere('proposal_categories.name', 'like', '%'.$filter.'%'); + $query->Where('proposal_categories.name', 'like', '%'.$filter.'%'); }); } - if ($userId) { - $query->where('proposal_categories.user_id', '=', $userId); - } - return $query; } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 4f110ee80668..bbc80083ec8b 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -34,10 +34,10 @@ class AuthServiceProvider extends ServiceProvider \App\Models\PaymentTerm::class => \App\Policies\PaymentTermPolicy::class, \App\Models\Project::class => \App\Policies\ProjectPolicy::class, \App\Models\AccountGatewayToken::class => \App\Policies\CustomerPolicy::class, - \App\Models\Proposal::class => \App\Policies\Proposal::class, - \App\Models\ProposalSnippet::class => \App\Policies\ProposalSnippet::class, - \App\Models\ProposalTemplate::class => \App\Policies\ProposalTemplate::class, - \App\Models\ProposalCategory::class => \App\Policies\ProposalCategory::class, + \App\Models\Proposal::class => \App\Policies\ProposalPolicy::class, + \App\Models\ProposalSnippet::class => \App\Policies\ProposalSnippetPolicy::class, + \App\Models\ProposalTemplate::class => \App\Policies\ProposalTemplatePolicy::class, + \App\Models\ProposalCategory::class => \App\Policies\ProposalCategoryPolicy::class, ]; /** diff --git a/routes/web.php b/routes/web.php index 60c21f324b28..01030648a286 100644 --- a/routes/web.php +++ b/routes/web.php @@ -205,18 +205,19 @@ Route::group(['middleware' => ['lookup:user', 'auth:user']], function () { Route::get('api/quotes/{client_id?}', 'QuoteController@getDatatable'); Route::post('quotes/bulk', 'QuoteController@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::get('api/proposal_categories', 'ProposalCategoryController@getDatatable'); + 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::get('api/proposal_snippets', 'ProposalSnippetController@getDatatable'); + Route::get('proposals/templates/{proposal_templates}/edit', 'ProposalTemplateController@edit'); Route::get('proposals/templates/create', 'ProposalTemplateController@create'); Route::resource('proposals/templates', 'ProposalTemplateController'); - Route::get('api/proposals/templates', 'ProposalTemplateController@getDatatable'); - + Route::get('api/proposal_templates', 'ProposalTemplateController@getDatatable'); + Route::get('proposals/{proposals}/edit', 'ProposalController@edit'); Route::get('proposals/create/{quote_id?}', 'ProposalController@create'); Route::resource('proposals', 'ProposalController'); Route::get('api/proposals', 'ProposalController@getDatatable');