['web', 'permission:crm', 'permission:crm.settings'], 'prefix' => 'settings', 'as' => 'settings.', 'namespace' => 'Modules\CallLogs\Http\Controllers\Settings', ], function () { Route::get('crm-settings/calllogs-fields', ['as' => 'crm.calllogs_fields', 'uses' => 'CallLogFieldSettingsController@index']); Route::post('crm-settings/calllogs-fields', ['as' => 'crm.calllogs_fields.save', 'uses' => 'CallLogFieldSettingsController@save']); Route::post('crm-settings/calllogs-fields/reset', ['as' => 'crm.calllogs_fields.reset', 'uses' => 'CallLogFieldSettingsController@reset']); }); // ── Call Logs module routes ──────────────────────────────────────────────────── Route::group([ 'middleware' => ['web', 'permission:calllogs.browse'], 'prefix' => 'calllogs', 'as' => 'calllogs.', 'namespace' => 'Modules\CallLogs\Http\Controllers', ], function () { Route::get('/', 'CallLogsController@indexRedirect'); // ── Dictionary settings (Status / Source / Outcome) ─────────────────────── Route::group(['middleware' => ['web', 'permission:calllogs.settings']], function () { Route::resource('status', 'Settings\CallLogStatusController'); Route::resource('source', 'Settings\CallLogSourceController'); Route::resource('outcome', 'Settings\CallLogOutcomeController'); }); Route::group(['middleware' => ['web', 'permission:calllogs.update']], function () { Route::get('settings/fields', 'Settings\CallLogFieldSettingsController@index') ->name('settings.fields'); Route::post('settings/fields', 'Settings\CallLogFieldSettingsController@save') ->name('settings.fields.save'); Route::post('settings/fields/reset', 'Settings\CallLogFieldSettingsController@reset') ->name('settings.fields.reset'); }); Route::resource('calllogs', 'CallLogsController'); Route::post('calllogs/mass_update', [ 'as' => 'calllogs.mass_update', 'uses' => 'CallLogsController@massUpdate', ]); });