akaunting/routes/web.php

206 lines
12 KiB
PHP
Raw Normal View History

2017-09-14 22:21:00 +03:00
<?php
2017-10-22 13:02:33 +03:00
Route::group(['middleware' => 'language'], function () {
Route::group(['middleware' => 'auth'], function () {
Route::group(['prefix' => 'uploads'], function () {
2018-01-02 16:22:30 +03:00
Route::get('{id}', 'Common\Uploads@get');
Route::get('{id}/download', 'Common\Uploads@download');
2017-10-22 13:02:33 +03:00
});
Route::group(['middleware' => ['adminmenu', 'permission:read-admin-panel']], function () {
2018-06-10 02:48:51 +03:00
Route::get('/', 'Common\Dashboard@index');
2017-10-22 13:02:33 +03:00
2018-06-01 12:40:11 +03:00
Route::group(['prefix' => 'uploads'], function () {
Route::delete('{id}', 'Common\Uploads@destroy');
});
2017-11-30 11:47:56 +03:00
Route::group(['prefix' => 'common'], function () {
2018-06-11 03:47:32 +03:00
Route::get('companies/{company}/set', 'Common\Companies@set')->name('companies.switch');
2018-06-10 02:48:51 +03:00
Route::resource('companies', 'Common\Companies');
2018-06-11 03:47:32 +03:00
Route::get('dashboard/cashflow', 'Common\Dashboard@cashFlow')->name('dashboard.cashflow');
Route::get('import/{group}/{type}', 'Common\Import@create')->name('import.create');
Route::get('items/autocomplete', 'Common\Items@autocomplete')->name('items.autocomplete');
Route::post('items/totalItem', 'Common\Items@totalItem')->name('items.total');
Route::get('items/{item}/duplicate', 'Common\Items@duplicate')->name('items.duplicate');
Route::post('items/import', 'Common\Items@import')->name('items.import');
Route::get('items/export', 'Common\Items@export')->name('items.export');
2018-06-11 11:19:30 +03:00
Route::get('items/{item}/enable', 'Common\Items@enable')->name('items.enable');
Route::get('items/{item}/disable', 'Common\Items@disable')->name('items.disable');
2018-06-10 02:48:51 +03:00
Route::resource('items', 'Common\Items');
2018-06-11 03:47:32 +03:00
Route::get('search/search', 'Common\Search@search')->name('search.search');
2018-06-10 02:48:51 +03:00
Route::resource('search', 'Common\Search');
2017-10-22 13:02:33 +03:00
});
Route::group(['prefix' => 'auth'], function () {
Route::get('logout', 'Auth\Login@destroy')->name('logout');
Route::get('users/autocomplete', 'Auth\Users@autocomplete');
2017-10-22 13:02:33 +03:00
Route::get('users/{user}/read-bills', 'Auth\Users@readUpcomingBills');
Route::get('users/{user}/read-invoices', 'Auth\Users@readOverdueInvoices');
2017-11-21 23:37:15 +03:00
Route::get('users/{user}/read-items', 'Auth\Users@readItemsOutOfStock');
2018-06-11 11:19:30 +03:00
Route::get('users/{user}/enable', 'Auth\Users@enable')->name('users.enable');
Route::get('users/{user}/disable', 'Auth\Users@disable')->name('users.disable');
2017-10-22 13:02:33 +03:00
Route::resource('users', 'Auth\Users');
Route::resource('roles', 'Auth\Roles');
Route::resource('permissions', 'Auth\Permissions');
});
Route::group(['prefix' => 'incomes'], function () {
2017-11-08 17:22:04 +03:00
Route::get('invoices/{invoice}/sent', 'Incomes\Invoices@markSent');
2017-11-15 21:53:40 +03:00
Route::get('invoices/{invoice}/email', 'Incomes\Invoices@emailInvoice');
Route::get('invoices/{invoice}/pay', 'Incomes\Invoices@markPaid');
2017-11-08 17:22:04 +03:00
Route::get('invoices/{invoice}/print', 'Incomes\Invoices@printInvoice');
Route::get('invoices/{invoice}/pdf', 'Incomes\Invoices@pdfInvoice');
2017-11-26 15:20:17 +03:00
Route::get('invoices/{invoice}/duplicate', 'Incomes\Invoices@duplicate');
2017-10-22 13:02:33 +03:00
Route::post('invoices/payment', 'Incomes\Invoices@payment');
Route::delete('invoices/payment/{payment}', 'Incomes\Invoices@paymentDestroy');
2018-06-11 03:47:32 +03:00
Route::post('invoices/import', 'Incomes\Invoices@import')->name('invoices.import');
Route::get('invoices/export', 'Incomes\Invoices@export')->name('invoices.export');
2017-10-22 13:02:33 +03:00
Route::resource('invoices', 'Incomes\Invoices');
2017-11-26 15:20:17 +03:00
Route::get('revenues/{revenue}/duplicate', 'Incomes\Revenues@duplicate');
2018-06-11 03:47:32 +03:00
Route::post('revenues/import', 'Incomes\Revenues@import')->name('revenues.import');
Route::get('revenues/export', 'Incomes\Revenues@export')->name('revenues.export');
2017-10-22 13:02:33 +03:00
Route::resource('revenues', 'Incomes\Revenues');
2017-11-26 15:20:17 +03:00
Route::get('customers/currency', 'Incomes\Customers@currency');
Route::get('customers/{customer}/duplicate', 'Incomes\Customers@duplicate');
Route::post('customers/customer', 'Incomes\Customers@customer');
Route::post('customers/field', 'Incomes\Customers@field');
2018-06-11 03:47:32 +03:00
Route::post('customers/import', 'Incomes\Customers@import')->name('customers.import');
Route::get('customers/export', 'Incomes\Customers@export')->name('customers.export');
2017-11-26 15:20:17 +03:00
Route::resource('customers', 'Incomes\Customers');
2017-10-22 13:02:33 +03:00
});
Route::group(['prefix' => 'expenses'], function () {
2017-11-08 17:22:04 +03:00
Route::get('bills/{bill}/received', 'Expenses\Bills@markReceived');
Route::get('bills/{bill}/print', 'Expenses\Bills@printBill');
Route::get('bills/{bill}/pdf', 'Expenses\Bills@pdfBill');
2017-11-26 15:20:17 +03:00
Route::get('bills/{bill}/duplicate', 'Expenses\Bills@duplicate');
2017-10-22 13:02:33 +03:00
Route::post('bills/payment', 'Expenses\Bills@payment');
Route::delete('bills/payment/{payment}', 'Expenses\Bills@paymentDestroy');
2018-06-11 03:47:32 +03:00
Route::post('bills/import', 'Expenses\Bills@import')->name('bills.import');
Route::get('bills/export', 'Expenses\Bills@export')->name('bills.export');
2017-10-22 13:02:33 +03:00
Route::resource('bills', 'Expenses\Bills');
2017-11-26 15:20:17 +03:00
Route::get('payments/{payment}/duplicate', 'Expenses\Payments@duplicate');
2018-06-11 03:47:32 +03:00
Route::post('payments/import', 'Expenses\Payments@import')->name('payments.import');
Route::get('payments/export', 'Expenses\Payments@export')->name('payments.export');
2017-11-26 15:20:17 +03:00
Route::resource('payments', 'Expenses\Payments');
2017-10-22 13:02:33 +03:00
Route::get('vendors/currency', 'Expenses\Vendors@currency');
2017-11-26 15:20:17 +03:00
Route::get('vendors/{vendor}/duplicate', 'Expenses\Vendors@duplicate');
Route::post('vendors/vendor', 'Expenses\Vendors@vendor');
2018-06-11 03:47:32 +03:00
Route::post('vendors/import', 'Expenses\Vendors@import')->name('vendors.import');
Route::get('vendors/export', 'Expenses\Vendors@export')->name('vendors.export');
2017-10-22 13:02:33 +03:00
Route::resource('vendors', 'Expenses\Vendors');
});
Route::group(['prefix' => 'banking'], function () {
Route::resource('accounts', 'Banking\Accounts');
Route::resource('transactions', 'Banking\Transactions');
Route::resource('transfers', 'Banking\Transfers');
});
Route::group(['prefix' => 'reports'], function () {
Route::resource('income-summary', 'Reports\IncomeSummary');
Route::resource('expense-summary', 'Reports\ExpenseSummary');
Route::resource('income-expense-summary', 'Reports\IncomeExpenseSummary');
2018-04-16 12:15:51 +03:00
Route::resource('tax-summary', 'Reports\TaxSummary');
2018-04-11 19:40:21 +03:00
Route::resource('profit-loss', 'Reports\ProfitLoss');
2017-10-22 13:02:33 +03:00
});
Route::group(['prefix' => 'settings'], function () {
Route::post('categories/category', 'Settings\Categories@category');
2018-06-11 11:19:30 +03:00
Route::get('categories/{category}/enable', 'Settings\Categories@enable')->name('categories.enable');
Route::get('categories/{category}/disable', 'Settings\Categories@disable')->name('categories.disable');
2017-10-22 13:02:33 +03:00
Route::resource('categories', 'Settings\Categories');
Route::get('currencies/currency', 'Settings\Currencies@currency');
2017-12-09 16:24:18 +03:00
Route::get('currencies/config', 'Settings\Currencies@config');
2018-06-11 11:19:30 +03:00
Route::get('currencies/{currency}/enable', 'Settings\Currencies@enable')->name('currencies.enable');
Route::get('currencies/{currency}/disable', 'Settings\Currencies@disable')->name('currencies.disable');
2017-10-22 13:02:33 +03:00
Route::resource('currencies', 'Settings\Currencies');
Route::get('settings', 'Settings\Settings@edit');
Route::patch('settings', 'Settings\Settings@update');
Route::resource('taxes', 'Settings\Taxes');
2017-11-01 22:15:25 +03:00
Route::get('apps/{alias}', 'Settings\Modules@edit');
Route::patch('apps/{alias}', 'Settings\Modules@update');
2017-10-22 13:02:33 +03:00
});
2017-11-01 22:15:25 +03:00
Route::group(['prefix' => 'apps'], function () {
2017-10-22 13:02:33 +03:00
Route::resource('token', 'Modules\Token');
Route::resource('home', 'Modules\Home');
Route::resource('my', 'Modules\My');
Route::get('categories/{alias}', 'Modules\Tiles@categoryModules');
Route::get('paid', 'Modules\Tiles@paidModules');
Route::get('new', 'Modules\Tiles@newModules');
Route::get('free', 'Modules\Tiles@freeModules');
2018-04-25 19:28:10 +03:00
Route::get('search', 'Modules\Tiles@searchModules');
Route::post('steps', 'Modules\Item@steps');
Route::post('download', 'Modules\Item@download');
Route::post('unzip', 'Modules\Item@unzip');
Route::post('install', 'Modules\Item@install');
Route::get('post/{alias}', 'Modules\Item@post');
Route::get('{alias}/uninstall', 'Modules\Item@uninstall');
Route::get('{alias}/enable', 'Modules\Item@enable');
Route::get('{alias}/disable', 'Modules\Item@disable');
Route::get('{alias}', 'Modules\Item@show');
2017-10-22 13:02:33 +03:00
});
Route::group(['prefix' => 'install'], function () {
Route::get('updates/changelog', 'Install\Updates@changelog');
Route::get('updates/check', 'Install\Updates@check');
Route::get('updates/update/{alias}/{version}', 'Install\Updates@update');
Route::get('updates/post/{alias}/{old}/{new}', 'Install\Updates@post');
Route::resource('updates', 'Install\Updates');
});
2018-06-11 03:47:32 +03:00
/* @deprecated */
Route::post('items/items/totalItem', 'Common\Items@totalItem');
2017-10-22 13:02:33 +03:00
});
Route::group(['middleware' => ['customermenu', 'permission:read-customer-panel']], function () {
Route::group(['prefix' => 'customers'], function () {
Route::get('/', 'Customers\Dashboard@index');
2017-11-18 15:23:20 +03:00
Route::get('invoices/{invoice}/print', 'Customers\Invoices@printInvoice');
Route::get('invoices/{invoice}/pdf', 'Customers\Invoices@pdfInvoice');
Route::post('invoices/{invoice}/payment', 'Customers\Invoices@payment');
2017-11-18 16:57:55 +03:00
Route::post('invoices/{invoice}/confirm', 'Customers\Invoices@confirm');
2017-10-22 13:02:33 +03:00
Route::resource('invoices', 'Customers\Invoices');
Route::resource('payments', 'Customers\Payments');
Route::resource('transactions', 'Customers\Transactions');
2017-12-16 16:02:31 +03:00
Route::get('profile/read-invoices', 'Customers\Profile@readOverdueInvoices');
Route::resource('profile', 'Customers\Profile');
2017-10-22 13:02:33 +03:00
Route::get('logout', 'Auth\Login@destroy')->name('customer_logout');
});
});
});
Route::group(['middleware' => 'guest'], function () {
Route::group(['prefix' => 'auth'], function () {
Route::get('login', 'Auth\Login@create')->name('login');
Route::post('login', 'Auth\Login@store');
Route::get('forgot', 'Auth\Forgot@create')->name('forgot');
Route::post('forgot', 'Auth\Forgot@store');
//Route::get('reset', 'Auth\Reset@create');
Route::get('reset/{token}', 'Auth\Reset@create')->name('reset');
Route::post('reset', 'Auth\Reset@store');
});
Route::group(['middleware' => 'install'], function () {
Route::group(['prefix' => 'install'], function () {
Route::get('/', 'Install\Requirements@show');
Route::get('requirements', 'Install\Requirements@show');
Route::get('language', 'Install\Language@create');
Route::post('language', 'Install\Language@store');
Route::get('database', 'Install\Database@create');
Route::post('database', 'Install\Database@store');
Route::get('settings', 'Install\Settings@create');
Route::post('settings', 'Install\Settings@store');
});
});
});
2017-11-18 16:57:55 +03:00
});