['web', 'permission:crm', 'permission:crm.settings'], 'prefix' => 'settings', 'as' => 'settings.', 'namespace' => 'Modules\Leads\Http\Controllers\Settings' ], function () { Route::get('crm-settings/leads-fields', ['as' => 'crm.lead_fields', 'uses' => 'LeadFieldSettingsController@index']); Route::post('crm-settings/leads-fields', ['as' => 'crm.lead_fields.save', 'uses' => 'LeadFieldSettingsController@save']); Route::post('crm-settings/leads-fields/reset', ['as' => 'crm.lead_fields.reset', 'uses' => 'LeadFieldSettingsController@reset']); }); Route::group(['middleware' => ['web','permission:leads.browse'],'prefix'=>'leads','as'=>'leads.', 'namespace' => 'Modules\Leads\Http\Controllers'], function () { Route::get('/','LeadsController@indexRedirect'); Route::group(['middleware' => ['web','permission:leads.settings']], function () { Route::resource('status', 'Settings\LeadStatusController'); Route::resource('source', 'Settings\LeadSourceController'); Route::resource('multiSelect', 'Settings\LeadMultiSelectController'); Route::resource('industry', 'Settings\LeadIndustryController'); Route::resource('rating', 'Settings\LeadRatingController'); }); Route::group(['middleware' => ['web', 'permission:leads.report']], function () { Route::get('leads/report', 'LeadsController@report')->name('leads.report'); }); // Full data set export (streamed CSV), honours the listing filters. // Must be declared BEFORE the resource routes: "leads/leads/export" would // otherwise be matched by "leads/leads/{lead}" (show) as a lead id. Route::post('leads/selection-ids', ['as' => 'leads.selection_ids', 'uses' => 'LeadsController@selectionIds']); Route::get('leads/export', ['as' => 'leads.export', 'uses' => 'LeadsController@export']); // The {lead} parameter is restricted to numeric ids so the dynamic show // route can never swallow static routes such as "leads/leads/export". Route::resource('leads', 'LeadsController')->where(['lead' => '[0-9,]+']); Route::post('leads/mass_update', ['as'=>'leads.mass_update','uses'=> 'LeadsController@massUpdate']); Route::get('leads/convert_to_contact/{id}', ['as'=>'leads.convert.to.contact','uses'=> 'LeadsController@convertToContact']); Route::post('leads/import', ['as'=>'leads.import','uses'=> 'LeadsController@import']); Route::post('leads/import_process', ['as'=>'leads.import.process','uses'=> 'LeadsController@importProcess']); Route::get('leads/leademails-selection/{entityId}', ['as'=>'leademails.selection','uses'=> 'Tabs\LeadEmailsController@selection']); Route::get('leads/leademails-linked/{entityId}', ['as'=>'leademails.linked','uses'=> 'Tabs\LeadEmailsController@linked']); Route::post('leads/leademails-unlink', ['as'=>'leademails.unlink','uses'=> 'Tabs\LeadEmailsController@unlink']); Route::post('leads/leademails-delete', ['as'=>'leademails.delete','uses'=> 'Tabs\LeadEmailsController@delete']); Route::post('leads/leademails-link', ['as'=>'leademails.link','uses'=> 'Tabs\LeadEmailsController@link']); Route::get('leads/sentemails-selection/{entityId}', ['as'=>'sentemails.selection','uses'=> 'Tabs\LeadSentEmailsController@selection']); Route::get('leads/sentemails-linked/{entityId}', ['as'=>'sentemails.linked','uses'=> 'Tabs\LeadSentEmailsController@linked']); Route::post('leads/sentemails-unlink', ['as'=>'sentemails.unlink','uses'=> 'Tabs\LeadSentEmailsController@unlink']); Route::post('leads/sentemails-delete', ['as'=>'sentemails.delete','uses'=> 'Tabs\LeadSentEmailsController@delete']); Route::post('leads/sentemails-link', ['as'=>'sentemails.link','uses'=> 'Tabs\LeadSentEmailsController@link']); Route::get('leads/events-selection/{entityId}', ['as'=>'events.selection','uses'=> 'Tabs\LeadEventsController@selection']); Route::get('leads/events-linked/{entityId}', ['as'=>'events.linked','uses'=> 'Tabs\LeadEventsController@linked']); Route::post('leads/events-unlink', ['as'=>'events.unlink','uses'=> 'Tabs\LeadEventsController@unlink']); Route::post('leads/events-link', ['as'=>'events.link','uses'=> 'Tabs\LeadEventsController@link']); Route::post('leads/events-delete', ['as'=>'events.delete','uses'=> 'Tabs\LeadEventsController@delete']); Route::get('leads/calls-selection/{entityId}', ['as'=>'calls.selection','uses'=> 'Tabs\LeadCallsController@selection']); Route::get('leads/calls-linked/{entityId}', ['as'=>'calls.linked','uses'=> 'Tabs\LeadCallsController@linked']); Route::post('leads/calls-unlink', ['as'=>'calls.unlink','uses'=> 'Tabs\LeadCallsController@unlink']); Route::post('leads/calls-link', ['as'=>'calls.link','uses'=> 'Tabs\LeadCallsController@link']); Route::get('leads/tickets-selection/{entityId}', ['as'=>'tickets.selection','uses'=> 'Tabs\LeadTicketsController@selection']); Route::get('leads/tickets-linked/{entityId}', ['as'=>'tickets.linked','uses'=> 'Tabs\LeadTicketsController@linked']); Route::post('leads/tickets-unlink', ['as'=>'tickets.unlink','uses'=> 'Tabs\LeadTicketsController@unlink']); Route::post('leads/tickets-link', ['as'=>'tickets.link','uses'=> 'Tabs\LeadTicketsController@link']); Route::get('leads/contactrequests-selection/{entityId}', ['as'=>'contactrequests.selection','uses'=> 'Tabs\LeadContactRequestsController@selection']); Route::get('leads/contactrequests-linked/{entityId}', ['as'=>'contactrequests.linked','uses'=> 'Tabs\LeadContactRequestsController@linked']); Route::post('leads/contactrequests-unlink', ['as'=>'contactrequests.unlink','uses'=> 'Tabs\LeadContactRequestsController@unlink']); Route::post('leads/contactrequests-link', ['as'=>'contactrequests.link','uses'=> 'Tabs\LeadContactRequestsController@link']); Route::get('leads/documents-selection/{entityId}', ['as'=>'documents.selection','uses'=> 'Tabs\LeadDocumentsController@selection']); Route::get('leads/documents-linked/{entityId}', ['as'=>'documents.linked','uses'=> 'Tabs\LeadDocumentsController@linked']); Route::post('leads/documents-unlink', ['as'=>'documents.unlink','uses'=> 'Tabs\LeadDocumentsController@unlink']); Route::post('leads/documents-link', ['as'=>'documents.link','uses'=> 'Tabs\LeadDocumentsController@link']); Route::get('leads/campaigns-selection/{entityId}', ['as'=>'campaigns.selection','uses'=> 'Tabs\LeadCampaignsController@selection']); Route::get('leads/campaigns-linked/{entityId}', ['as'=>'campaigns.linked','uses'=> 'Tabs\LeadCampaignsController@linked']); Route::post('leads/campaigns-unlink', ['as'=>'campaigns.unlink','uses'=> 'Tabs\LeadCampaignsController@unlink']); Route::post('leads/campaigns-link', ['as'=>'campaigns.link','uses'=> 'Tabs\LeadCampaignsController@link']); Route::get('leads/products-selection/{entityId}', ['as'=>'products.selection','uses'=> 'Tabs\LeadProductsController@selection']); Route::get('leads/products-linked/{entityId}', ['as'=>'products.linked','uses'=> 'Tabs\LeadProductsController@linked']); Route::post('leads/products-unlink', ['as'=>'products.unlink','uses'=> 'Tabs\LeadProductsController@unlink']); Route::post('leads/products-link', ['as'=>'products.link','uses'=> 'Tabs\LeadProductsController@link']); Route::get('leads/sms-selection/{entityId}', ['as'=>'sms.selection','uses'=> 'Tabs\LeadSmsController@selection']); Route::get('leads/sms-linked/{entityId}', ['as'=>'sms.linked','uses'=> 'Tabs\LeadSmsController@linked']); Route::post('leads/sms-unlink', ['as'=>'sms.unlink','uses'=> 'Tabs\LeadSmsController@unlink']); Route::post('leads/sms-delete', ['as'=>'sms.delete','uses'=> 'Tabs\LeadSmsController@delete']); Route::post('leads/sms-link', ['as'=>'sms.link','uses'=> 'Tabs\LeadSmsController@link']); });