示例#1
0
                return view('cmf::page.about');
            });
            Route::get('page/{page}.html', ['uses' => __cmf_general_controller_class() . '@getPage']);
        });
        // Custom Pages
        Route::get('page/{page}', ['as' => 'cmf_page', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
        // Switch locales
        Route::get('switch_locale/{locale}', ['uses' => __cmf_general_controller_class() . '@switchLocale']);
        // Clean cache
        Route::get('cache/clean', ['uses' => __cmf_general_controller_class() . '@cleanCache']);
    });
    Route::pattern('table_name', '[a-z]+([_a-z0-9]*[a-z0-9])?');
    // Scaffold pages and templates
    Route::group(['prefix' => 'resource', 'middleware' => [ValidateModel::class, ValidateAdmin::class]], function () {
        Route::get('{table_name}', ['as' => 'cmf_items_table', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
        Route::get('{table_name}/create', ['as' => 'cmf_item_add_form', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
        Route::get('{table_name}/details/{id}', ['as' => 'cmf_item_details', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
        Route::get('{table_name}/edit/{id}', ['as' => 'cmf_item_edit_form', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
    });
    // Scaffold API
    Route::group(['prefix' => 'api', 'middleware' => [AjaxOnly::class, ValidateModel::class, ValidateAdmin::class]], function () {
        Route::get('{table_name}/service/templates', ['as' => 'cmf_api_get_templates', 'uses' => __cmf_scaffold_api_controller_class() . '@getTemplates']);
        Route::get('{table_name}/list', ['as' => 'cmf_api_get_items', 'uses' => __cmf_scaffold_api_controller_class() . '@getItemsList']);
        Route::get('{table_name}/service/options', ['as' => 'cmf_api_get_options', 'uses' => __cmf_scaffold_api_controller_class() . '@getOptions']);
        Route::post('{table_name}', ['as' => 'cmf_api_create_item', 'uses' => __cmf_scaffold_api_controller_class() . '@addItem']);
        Route::get('{table_name}/service/defaults', ['as' => 'cmf_api_get_item', 'uses' => __cmf_scaffold_api_controller_class() . '@getItemDefaults']);
        Route::get('{table_name}/{id}', ['as' => 'cmf_api_get_item', 'uses' => __cmf_scaffold_api_controller_class() . '@getItem']);
        Route::put('{table_name}/{id}', ['as' => 'cmf_api_update_item', 'uses' => __cmf_scaffold_api_controller_class() . '@updateItem']);
        Route::delete('{table_name}/{id}', ['as' => 'cmf_api_delete_item', 'uses' => __cmf_scaffold_api_controller_class() . '@deleteItem']);
    });
});
示例#2
0
        // Switch locales
        Route::get('switch_locale/{locale}', ['uses' => __cmf_general_controller_class() . '@switchLocale']);
        // Clean cache
        Route::get('cache/clean', ['uses' => __cmf_general_controller_class() . '@cleanCache']);
    });
    Route::pattern('table_name', '[a-z]+([_a-z0-9]*[a-z0-9])?');
    // Scaffold pages and templates
    Route::group(['prefix' => 'resource', 'middleware' => \PeskyCMF\Config\CmfConfig::getInstance()->middleware_for_routes_that_require_authorisation()], function () {
        Route::get('{table_name}', ['as' => 'cmf_items_table', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
        Route::get('{table_name}/create', ['as' => 'cmf_item_add_form', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
        Route::get('{table_name}/details/{id}', ['as' => 'cmf_item_details', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
        Route::get('{table_name}/edit/{id}', ['as' => 'cmf_item_edit_form', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
        Route::get('{table_name}/{id}/page/{page}.html', ['middleware' => AjaxOnly::class, 'fallback' => ['route' => 'cmf_item_custom_page', 'params' => true], 'uses' => function () {
            return view('cmf::ui.default_page_header', ['header' => 'Handler for route [' . request()->getPathInfo() . '] is not defined']);
        }]);
        Route::get('{table_name}/{id}/page/{page}', ['as' => 'cmf_item_custom_page', 'uses' => __cmf_general_controller_class() . '@loadJsApp']);
    });
    // Scaffold API
    Route::group(['prefix' => 'api', 'middleware' => array_unique(array_merge([AjaxOnly::class], \PeskyCMF\Config\CmfConfig::getInstance()->middleware_for_routes_that_require_authorisation(), \PeskyCMF\Config\CmfConfig::getInstance()->middleware_for_cmf_scaffold_api_controller()))], function () {
        Route::get('{table_name}/service/templates', ['as' => 'cmf_api_get_templates', 'uses' => __cmf_scaffold_api_controller_class() . '@getTemplates', 'fallback' => ['route' => 'cmf_items_table', 'params' => true]]);
        Route::get('{table_name}/list', ['as' => 'cmf_api_get_items', 'uses' => __cmf_scaffold_api_controller_class() . '@getItemsList', 'fallback' => ['route' => 'cmf_items_table', 'params' => true]]);
        Route::get('{table_name}/service/options', ['as' => 'cmf_api_get_options', 'uses' => __cmf_scaffold_api_controller_class() . '@getOptions', 'fallback' => ['route' => 'cmf_items_table', 'params' => true]]);
        Route::post('{table_name}', ['as' => 'cmf_api_create_item', 'uses' => __cmf_scaffold_api_controller_class() . '@addItem', 'fallback' => ['route' => 'cmf_item_add_form', 'params' => true]]);
        Route::get('{table_name}/service/defaults', ['as' => 'cmf_api_get_item', 'uses' => __cmf_scaffold_api_controller_class() . '@getItemDefaults', 'fallback' => ['route' => 'cmf_item_add_form', 'params' => true]]);
        Route::delete('{table_name}/bulk', ['as' => 'cmf_api_delete_bulk', 'uses' => __cmf_scaffold_api_controller_class() . '@deleteBulk', 'fallback' => ['route' => 'cmf_items_table', 'params' => true]]);
        Route::put('{table_name}/bulk', ['as' => 'cmf_api_edit_bulk', 'uses' => __cmf_scaffold_api_controller_class() . '@updateBulk', 'fallback' => ['route' => 'cmf_items_table', 'params' => true]]);
        Route::get('{table_name}/{id}', ['as' => 'cmf_api_get_item', 'uses' => __cmf_scaffold_api_controller_class() . '@getItem', 'fallback' => ['route' => 'cmf_item_edit_form', 'params' => true]]);
        Route::put('{table_name}/{id}', ['as' => 'cmf_api_update_item', 'uses' => __cmf_scaffold_api_controller_class() . '@updateItem', 'fallback' => ['route' => 'cmf_item_edit_form', 'params' => true]]);
        Route::delete('{table_name}/{id}', ['as' => 'cmf_api_delete_item', 'uses' => __cmf_scaffold_api_controller_class() . '@deleteItem', 'fallback' => ['route' => 'cmf_items_table', 'params' => true]]);
    });
});