v2 first commit

This commit is contained in:
denisdulici
2019-11-16 10:21:14 +03:00
parent 5b23e9c2c4
commit 6d50fa8442
3075 changed files with 3451681 additions and 65594 deletions

214
routes/admin.php Normal file
View File

@ -0,0 +1,214 @@
<?php
Route::group(['as' => 'uploads.', 'prefix' => 'uploads'], function () {
Route::delete('{id}', 'Common\Uploads@destroy')->name('destroy');
});
Route::group(['prefix' => 'common'], function () {
Route::get('companies/{company}/switch', 'Common\Companies@switch')->name('companies.switch');
Route::get('companies/{company}/enable', 'Common\Companies@enable')->name('companies.enable');
Route::get('companies/{company}/disable', 'Common\Companies@disable')->name('companies.disable');
Route::resource('companies', 'Common\Companies');
Route::get('dashboard/cashflow', 'Common\Dashboard@cashFlow')->name('dashboards.cashflow');
Route::resource('dashboards', 'Common\Dashboard');
Route::post('widgets/getData', 'Common\Widgets@getData')->name('widgets.getData');
Route::resource('widgets', 'Common\Widgets');
Route::get('import/{group}/{type}', 'Common\Import@create')->name('import.create');
Route::get('items/autocomplete', 'Common\Items@autocomplete')->name('items.autocomplete');
Route::post('items/total', 'Common\Items@total')->middleware(['money'])->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');
Route::get('items/{item}/enable', 'Common\Items@enable')->name('items.enable');
Route::get('items/{item}/disable', 'Common\Items@disable')->name('items.disable');
Route::resource('items', 'Common\Items', ['middleware' => ['money']]);
Route::resource('search', 'Common\Search');
Route::post('notifications/disable', 'Common\Notifications@disable')->name('notifications.disable');
Route::post('bulk-actions/{group}/{type}', 'Common\BulkActions@action');
Route::get('reports/{report}/print', 'Common\Reports@print')->name('reports.print');
Route::get('reports/{report}/export', 'Common\Reports@export')->name('reports.export');
Route::get('reports/{report}/enable', 'Common\Reports@enable')->name('reports.enable');
Route::get('reports/{report}/disable', 'Common\Reports@disable')->name('reports.disable');
Route::get('reports/groups', 'Common\Reports@groups')->name('reports.groups');
Route::resource('reports', 'Common\Reports');
});
Route::group(['prefix' => 'auth'], function () {
Route::get('logout', 'Auth\Login@destroy')->name('logout');
Route::get('users/autocomplete', 'Auth\Users@autocomplete')->name('users.autocomplete');
Route::get('users/{user}/read-bills', 'Auth\Users@readUpcomingBills')->name('users.read.bills');
Route::get('users/{user}/read-invoices', 'Auth\Users@readOverdueInvoices')->name('users.read.invoices');
Route::get('users/{user}/enable', 'Auth\Users@enable')->name('users.enable');
Route::get('users/{user}/disable', 'Auth\Users@disable')->name('users.disable');
Route::resource('users', 'Auth\Users');
Route::resource('roles', 'Auth\Roles');
Route::resource('permissions', 'Auth\Permissions');
});
Route::group(['prefix' => 'incomes'], function () {
Route::get('invoices/{invoice}/sent', 'Incomes\Invoices@markSent')->name('invoices.sent');
Route::get('invoices/{invoice}/email', 'Incomes\Invoices@emailInvoice')->name('invoices.email');
Route::get('invoices/{invoice}/pay', 'Incomes\Invoices@markPaid')->name('invoices.paid');
Route::get('invoices/{invoice}/print', 'Incomes\Invoices@printInvoice')->name('invoices.print');
Route::get('invoices/{invoice}/pdf', 'Incomes\Invoices@pdfInvoice')->name('invoices.pdf');
Route::get('invoices/{invoice}/duplicate', 'Incomes\Invoices@duplicate')->name('invoices.duplicate');
Route::get('invoices/addItem', 'Incomes\Invoices@addItem')->middleware(['money'])->name('invoice.add.item');
Route::post('invoices/import', 'Incomes\Invoices@import')->name('invoices.import');
Route::get('invoices/export', 'Incomes\Invoices@export')->name('invoices.export');
Route::resource('invoices', 'Incomes\Invoices', ['middleware' => ['date.format', 'money']]);
Route::get('revenues/{revenue}/duplicate', 'Incomes\Revenues@duplicate')->name('revenues.duplicate');
Route::post('revenues/import', 'Incomes\Revenues@import')->name('revenues.import');
Route::get('revenues/export', 'Incomes\Revenues@export')->name('revenues.export');
Route::resource('revenues', 'Incomes\Revenues', ['middleware' => ['date.format', 'money']]);
Route::get('customers/currency', 'Incomes\Customers@currency');
Route::get('customers/{customer}/duplicate', 'Incomes\Customers@duplicate')->name('customers.duplicate');
Route::post('customers/field', 'Incomes\Customers@field')->name('customers.field');
Route::post('customers/import', 'Incomes\Customers@import')->name('customers.import');
Route::get('customers/export', 'Incomes\Customers@export')->name('customers.export');
Route::get('customers/{customer}/enable', 'Incomes\Customers@enable')->name('customers.enable');
Route::get('customers/{customer}/disable', 'Incomes\Customers@disable')->name('customers.disable');
Route::get('customers/{customer}/currency', 'Incomes\Customers@currency')->name('customers.currency');
Route::resource('customers', 'Incomes\Customers');
});
Route::group(['prefix' => 'expenses'], function () {
Route::get('bills/{bill}/received', 'Expenses\Bills@markReceived')->name('bills.received');
Route::get('bills/{bill}/print', 'Expenses\Bills@printBill')->name('bills.print');
Route::get('bills/{bill}/pdf', 'Expenses\Bills@pdfBill')->name('bills.pdf');
Route::get('bills/{bill}/duplicate', 'Expenses\Bills@duplicate')->name('bills.duplicate');
Route::get('bills/addItem', 'Expenses\Bills@addItem')->middleware(['money'])->name('bill.add.item');
Route::post('bills/payment', 'Expenses\Bills@payment')->middleware(['date.format', 'money'])->name('bill.payment');
Route::post('bills/import', 'Expenses\Bills@import')->name('bills.import');
Route::get('bills/export', 'Expenses\Bills@export')->name('bills.export');
Route::resource('bills', 'Expenses\Bills', ['middleware' => ['date.format', 'money']]);
Route::get('payments/{payment}/duplicate', 'Expenses\Payments@duplicate')->name('payments.duplicate');
Route::post('payments/import', 'Expenses\Payments@import')->name('payments.import');
Route::get('payments/export', 'Expenses\Payments@export')->name('payments.export');
Route::resource('payments', 'Expenses\Payments', ['middleware' => ['date.format', 'money']]);
Route::get('vendors/currency', 'Expenses\Vendors@currency');
Route::get('vendors/{vendor}/duplicate', 'Expenses\Vendors@duplicate')->name('vendors.duplicate');
Route::post('vendors/import', 'Expenses\Vendors@import')->name('vendors.import');
Route::get('vendors/export', 'Expenses\Vendors@export')->name('vendors.export');
Route::get('vendors/{vendor}/enable', 'Expenses\Vendors@enable')->name('vendors.enable');
Route::get('vendors/{vendor}/currency', 'Expenses\Vendors@currency')->name('vendors.currency');
Route::get('vendors/{vendor}/disable', 'Expenses\Vendors@disable')->name('vendors.disable');
Route::resource('vendors', 'Expenses\Vendors');
});
Route::group(['prefix' => 'banking'], function () {
Route::get('accounts/currency', 'Banking\Accounts@currency')->name('accounts.currency');
Route::get('accounts/{account}/enable', 'Banking\Accounts@enable')->name('accounts.enable');
Route::get('accounts/{account}/disable', 'Banking\Accounts@disable')->name('accounts.disable');
Route::resource('accounts', 'Banking\Accounts', ['middleware' => ['date.format', 'money']]);
Route::post('transactions/import', 'Banking\Transactions@import')->name('transactions.import');
Route::get('transactions/export', 'Banking\Transactions@export')->name('transactions.export');
Route::resource('transactions', 'Banking\Transactions');
Route::resource('transfers', 'Banking\Transfers', ['middleware' => ['date.format', 'money']]);
Route::post('reconciliations/calculate', 'Banking\Reconciliations@calculate')->middleware(['money']);
Route::patch('reconciliations/calculate', 'Banking\Reconciliations@calculate')->middleware(['money']);
Route::resource('reconciliations', 'Banking\Reconciliations', ['middleware' => ['date.format', 'money']]);
});
Route::group(['prefix' => 'settings'], function () {
Route::post('categories/category', 'Settings\Categories@category');
Route::get('categories/{category}/enable', 'Settings\Categories@enable')->name('categories.enable');
Route::get('categories/{category}/disable', 'Settings\Categories@disable')->name('categories.disable');
Route::resource('categories', 'Settings\Categories');
Route::get('currencies/currency', 'Settings\Currencies@currency');
Route::get('currencies/config', 'Settings\Currencies@config');
Route::get('currencies/{currency}/enable', 'Settings\Currencies@enable')->name('currencies.enable');
Route::get('currencies/{currency}/disable', 'Settings\Currencies@disable')->name('currencies.disable');
Route::resource('currencies', 'Settings\Currencies');
Route::get('taxes/{tax}/enable', 'Settings\Taxes@enable')->name('taxes.enable');
Route::get('taxes/{tax}/disable', 'Settings\Taxes@disable')->name('taxes.disable');
Route::resource('taxes', 'Settings\Taxes');
Route::group(['as' => 'settings.'], function () {
Route::get('settings', 'Settings\Settings@index')->name('index');
Route::patch('settings', 'Settings\Settings@update')->name('update');
Route::get('company', 'Settings\Company@edit')->name('company.edit');
Route::get('localisation', 'Settings\Localisation@edit')->name('localisation.edit');
Route::get('invoice', 'Settings\Invoice@edit')->name('invoice.edit');
Route::get('default', 'Settings\Defaults@edit')->name('default.edit');
Route::get('email', 'Settings\Email@edit')->name('email.edit');
Route::patch('email', 'Settings\Email@update')->name('email.update');
Route::get('schedule', 'Settings\Schedule@edit')->name('schedule.edit');
Route::get('{alias}', 'Settings\Modules@edit');
Route::patch('{alias}', 'Settings\Modules@update');
});
});
Route::group(['as' => 'apps.', 'prefix' => 'apps'], function () {
Route::resource('api-key', 'Modules\ApiKey');
Route::group(['middleware' => 'api.key'], function () {
Route::resource('home', 'Modules\Home');
Route::resource('my', 'Modules\My');
Route::get('categories/{alias}', 'Modules\Tiles@categoryModules');
Route::get('vendors/{alias}', 'Modules\Tiles@vendorModules');
Route::get('docs/{alias}', 'Modules\Item@documentation');
Route::get('paid', 'Modules\Tiles@paidModules')->name('paid');
Route::get('new', 'Modules\Tiles@newModules')->name('new');
Route::get('free', 'Modules\Tiles@freeModules')->name('free');
Route::get('search', 'Modules\Tiles@searchModules')->name('search');
Route::post('steps', 'Modules\Item@steps')->name('steps');
Route::post('download', 'Modules\Item@download')->name('download');
Route::post('unzip', 'Modules\Item@unzip')->name('unzip');
Route::post('install', 'Modules\Item@install')->name('install');
Route::get('post/{alias}', 'Modules\Item@post');
Route::post('{alias}/reviews', 'Modules\Item@reviews')->name('app.reviews');
Route::get('{alias}/uninstall', 'Modules\Item@uninstall')->name('app.uninstall');
Route::get('{alias}/enable', 'Modules\Item@enable')->name('app.enable');
Route::get('{alias}/disable', 'Modules\Item@disable')->name('app.disable');
Route::get('{alias}', 'Modules\Item@show')->name('app.show');
});
});
Route::group(['prefix' => 'install'], function () {
Route::get('updates/changelog', 'Install\Updates@changelog')->name('updates.changelog');
Route::get('updates/check', 'Install\Updates@check')->name('updates.check');
Route::get('updates/update/{alias}/{version}', 'Install\Updates@update')->name('updates.update');
Route::get('updates/post/{alias}/{old}/{new}', 'Install\Updates@post')->name('updates.post');
Route::post('updates/steps', 'Install\Updates@steps')->name('updates.steps');
Route::post('updates/download', 'Install\Updates@download')->middleware('api.key')->name('updates.download');
Route::post('updates/unzip', 'Install\Updates@unzip')->middleware('api.key')->name('updates.unzip');
Route::post('updates/file-copy', 'Install\Updates@fileCopy')->middleware('api.key')->name('updates.copy');
Route::post('updates/migrate', 'Install\Updates@migrate')->name('updates.migrate');
Route::post('updates/finish', 'Install\Updates@finish')->name('updates.finish');
Route::resource('updates', 'Install\Updates');
});
Route::group(['as' => 'modals.', 'prefix' => 'modals'], function () {
Route::resource('categories', 'Modals\Categories');
Route::resource('customers', 'Modals\Customers');
Route::resource('vendors', 'Modals\Vendors');
Route::resource('invoices/{invoice}/transactions', 'Modals\InvoiceTransactions', ['middleware' => ['date.format', 'money']]);
Route::resource('bills/{bill}/transactions', 'Modals\BillTransactions', ['middleware' => ['date.format', 'money']]);
Route::resource('taxes', 'Modals\Taxes');
});

View File

@ -5,30 +5,50 @@ $api = app('Dingo\Api\Routing\Router');
$api->version('v1', ['middleware' => ['api']], function($api) {
$api->group(['namespace' => 'App\Http\Controllers\Api'], function($api) {
// Companies
$api->get('companies/{company}/owner', 'Common\Companies@owner')->name('companies.owner');
$api->get('companies/{company}/enable', 'Common\Companies@enable')->name('companies.enable');
$api->get('companies/{company}/disable', 'Common\Companies@disable')->name('companies.disable');
$api->resource('companies', 'Common\Companies');
// Items
$api->get('items/{item}/enable', 'Common\Items@enable')->name('items.enable');
$api->get('items/{item}/disable', 'Common\Items@disable')->name('items.disable');
$api->resource('items', 'Common\Items');
// Contacts
$api->get('contacts/{contact}/enable', 'Common\Contacts@enable')->name('contacts.enable');
$api->get('contacts/{contact}/disable', 'Common\Contacts@disable')->name('contacts.disable');
$api->resource('contacts', 'Common\Contacts');
// Incomes
$api->resource('customers', 'Incomes\Customers');
$api->resource('invoices', 'Incomes\Invoices');
$api->resource('invoices.payments', 'Incomes\InvoicePayments');
$api->resource('revenues', 'Incomes\Revenues');
$api->resource('invoices.transactions', 'Incomes\InvoiceTransactions');
// Expenses
$api->get('bills/{bill}/received', 'Expenses\Bills@received')->name('bills.received');
$api->resource('bills', 'Expenses\Bills');
$api->resource('payments', 'Expenses\Payments');
$api->resource('vendors', 'Expenses\Vendors');
// Banking
$api->get('accounts/{account}/enable', 'Banking\Accounts@enable')->name('accounts.enable');
$api->get('accounts/{account}/disable', 'Banking\Accounts@disable')->name('accounts.disable');
$api->resource('accounts', 'Banking\Accounts');
$api->resource('reconciliations', 'Banking\Reconciliations');
$api->resource('transactions', 'Banking\Transactions');
$api->resource('transfers', 'Banking\Transfers');
// Reports
$api->resource('reports', 'Common\Reports');
// Settings
$api->get('categories/{category}/enable', 'Settings\Categories@enable')->name('categories.enable');
$api->get('categories/{category}/disable', 'Settings\Categories@disable')->name('categories.disable');
$api->resource('categories', 'Settings\Categories');
$api->get('currencies/{currency}/enable', 'Settings\Currencies@enable')->name('currencies.enable');
$api->get('currencies/{currency}/disable', 'Settings\Currencies@disable')->name('currencies.disable');
$api->resource('currencies', 'Settings\Currencies');
$api->resource('settings', 'Settings\Settings');
$api->get('taxes/{tax}/enable', 'Settings\Taxes@enable')->name('taxes.enable');
$api->get('taxes/{tax}/disable', 'Settings\Taxes@disable')->name('taxes.disable');
$api->resource('taxes', 'Settings\Taxes');
// Common
@ -37,6 +57,8 @@ $api->version('v1', ['middleware' => ['api']], function($api) {
// Auth
$api->resource('permissions', 'Auth\Permissions');
$api->resource('roles', 'Auth\Roles');
$api->get('users/{user}/enable', 'Auth\Users@enable')->name('users.enable');
$api->get('users/{user}/disable', 'Auth\Users@disable')->name('users.disable');
$api->resource('users', 'Auth\Users');
});
});

21
routes/common.php Normal file
View File

@ -0,0 +1,21 @@
<?php
Route::group(['middleware' => 'auth'], function () {
Route::group(['as' => 'uploads.', 'prefix' => 'uploads'], function () {
Route::get('{id}', 'Common\Uploads@get')->name('get');
Route::get('{id}/show', 'Common\Uploads@show')->name('show');
Route::get('{id}/download', 'Common\Uploads@download')->name('download');
});
Route::group(['middleware' => ['permission:read-admin-panel']], function () {
Route::group(['middleware' => ['menu.admin']], function () {
Route::get('/', 'Common\Dashboard@index')->name('dashboard');
});
Route::get('wizard', 'Wizard\Companies@edit')->name('wizard.edit');
});
Route::group(['middleware' => ['menu.portal', 'permission:read-client-portal']], function () {
Route::get('portal', 'Portal\Dashboard@index')->name('portal.dashboard');
});
});

13
routes/guest.php Normal file
View File

@ -0,0 +1,13 @@
<?php
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');
});

14
routes/install.php Normal file
View File

@ -0,0 +1,14 @@
<?php
Route::get('/', 'Install\Requirements@show');
Route::get('requirements', 'Install\Requirements@show')->name('install.requirements');
Route::get('language', 'Install\Language@create')->name('install.language');
Route::get('language/getLanguages', 'Install\Language@getLanguages');
Route::post('language', 'Install\Language@store');
Route::get('database', 'Install\Database@create')->name('install.database');
Route::post('database', 'Install\Database@store');
Route::get('settings', 'Install\Settings@create')->name('install.settings');
Route::post('settings', 'Install\Settings@store');

18
routes/portal.php Normal file
View File

@ -0,0 +1,18 @@
<?php
Route::group(['as' => 'portal.'], function () {
Route::get('invoices/{invoice}/print', 'Portal\Invoices@printInvoice')->name('invoices.print');
Route::get('invoices/{invoice}/pdf', 'Portal\Invoices@pdfInvoice')->name('invoices.pdf');
Route::post('invoices/{invoice}/payment', 'Portal\Invoices@payment')->name('invoices.payment');
Route::post('invoices/{invoice}/confirm', 'Portal\Invoices@confirm')->name('invoices.confirm');
Route::resource('invoices', 'Portal\Invoices');
Route::resource('payments', 'Portal\Payments');
Route::resource('transactions', 'Portal\Transactions');
Route::get('profile/read-invoices', 'Portal\Profile@readOverdueInvoices')->name('invoices.read');
Route::resource('profile', 'Portal\Profile');
Route::get('logout', 'Auth\Login@destroy')->name('logout');
});

View File

@ -1,9 +1,7 @@
<?php
Route::group(['middleware' => 'language'], function () {
Route::get('invoices/{invoice}', 'Customers\Invoices@link')->name('signed.invoices');
Route::get('invoices/{invoice}/print', 'Customers\Invoices@printInvoice')->name('signed.invoices.print');
Route::get('invoices/{invoice}/pdf', 'Customers\Invoices@pdfInvoice')->name('signed.invoices.pdf');
Route::post('invoices/{invoice}/payment', 'Customers\Invoices@payment')->name('signed.invoices.payment');
Route::post('invoices/{invoice}/confirm', 'Customers\Invoices@confirm')->name('signed.invoices.confirm');
});
Route::get('invoices/{invoice}', 'Portal\Invoices@signed')->name('signed.invoices.show');
Route::get('invoices/{invoice}/print', 'Portal\Invoices@printInvoice')->name('signed.invoices.print');
Route::get('invoices/{invoice}/pdf', 'Portal\Invoices@pdfInvoice')->name('signed.invoices.pdf');
Route::post('invoices/{invoice}/payment', 'Portal\Invoices@payment')->name('signed.invoices.payment');
Route::post('invoices/{invoice}/confirm', 'Portal\Invoices@confirm')->name('signed.invoices.confirm');

View File

@ -1,270 +0,0 @@
<?php
Route::group(['middleware' => 'language'], function () {
Route::group(['middleware' => 'auth'], function () {
Route::group(['prefix' => 'uploads'], function () {
Route::get('{id}', 'Common\Uploads@get');
Route::get('{id}/show', 'Common\Uploads@show');
Route::get('{id}/download', 'Common\Uploads@download');
});
Route::group(['middleware' => 'permission:read-admin-panel'], function () {
Route::group(['prefix' => 'wizard'], function () {
Route::get('/', 'Wizard\Companies@edit')->name('wizard.index');
Route::get('companies', 'Wizard\Companies@edit')->name('wizard.companies.edit');
Route::patch('companies', 'Wizard\Companies@update')->name('wizard.companies.update');
Route::get('currencies', 'Wizard\Currencies@index')->name('wizard.currencies.index');
Route::get('currencies/create', 'Wizard\Currencies@create')->name('wizard.currencies.create');
Route::get('currencies/{currency}/edit', 'Wizard\Currencies@edit')->name('wizard.currencies.edit');
Route::get('currencies/{currency}/enable', 'Wizard\Currencies@enable')->name('wizard.currencies.enable');
Route::get('currencies/{currency}/disable', 'Wizard\Currencies@disable')->name('wizard.currencies.disable');
Route::get('currencies/{currency}/delete', 'Wizard\Currencies@destroy')->name('wizard.currencies.delete');
Route::post('currencies', 'Wizard\Currencies@store')->name('wizard.currencies.store');
Route::patch('currencies/{currency}', 'Wizard\Currencies@update')->name('wizard.currencies.update');
Route::get('taxes', 'Wizard\Taxes@index')->name('wizard.taxes.index');
Route::get('taxes/create', 'Wizard\Taxes@create')->name('wizard.taxes.create');
Route::get('taxes/{tax}/edit', 'Wizard\Taxes@edit')->name('wizard.taxes.edit');
Route::get('taxes/{tax}/enable', 'Wizard\Taxes@enable')->name('wizard.taxes.enable');
Route::get('taxes/{tax}/disable', 'Wizard\Taxes@disable')->name('wizard.taxes.disable');
Route::get('taxes/{tax}/delete', 'Wizard\Taxes@destroy')->name('wizard.taxes.delete');
Route::post('taxes', 'Wizard\Taxes@store')->name('wizard.taxes.store');
Route::patch('taxes/{tax}', 'Wizard\Taxes@update')->name('wizard.taxes.upadate');
Route::get('finish', 'Wizard\Finish@index')->name('wizard.finish.index');
});
});
Route::group(['middleware' => ['adminmenu', 'permission:read-admin-panel']], function () {
Route::get('/', 'Common\Dashboard@index');
Route::group(['prefix' => 'uploads'], function () {
Route::delete('{id}', 'Common\Uploads@destroy');
});
Route::group(['prefix' => 'common'], function () {
Route::get('companies/{company}/set', 'Common\Companies@set')->name('companies.switch');
Route::get('companies/{company}/enable', 'Common\Companies@enable')->name('companies.enable');
Route::get('companies/{company}/disable', 'Common\Companies@disable')->name('companies.disable');
Route::resource('companies', 'Common\Companies');
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')->middleware(['money'])->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');
Route::get('items/{item}/enable', 'Common\Items@enable')->name('items.enable');
Route::get('items/{item}/disable', 'Common\Items@disable')->name('items.disable');
Route::resource('items', 'Common\Items', ['middleware' => ['money']]);
Route::get('search/search', 'Common\Search@search')->name('search.search');
Route::resource('search', 'Common\Search');
Route::post('notifications/disable', 'Common\Notifications@disable')->name('notifications.disable');
});
Route::group(['prefix' => 'auth'], function () {
Route::get('logout', 'Auth\Login@destroy')->name('logout');
Route::get('users/autocomplete', 'Auth\Users@autocomplete');
Route::get('users/{user}/read-bills', 'Auth\Users@readUpcomingBills');
Route::get('users/{user}/read-invoices', 'Auth\Users@readOverdueInvoices');
Route::get('users/{user}/read-items', 'Auth\Users@readItemsOutOfStock');
Route::get('users/{user}/enable', 'Auth\Users@enable')->name('users.enable');
Route::get('users/{user}/disable', 'Auth\Users@disable')->name('users.disable');
Route::resource('users', 'Auth\Users');
Route::resource('roles', 'Auth\Roles');
Route::resource('permissions', 'Auth\Permissions');
});
Route::group(['prefix' => 'incomes'], function () {
Route::get('invoices/{invoice}/sent', 'Incomes\Invoices@markSent');
Route::get('invoices/{invoice}/email', 'Incomes\Invoices@emailInvoice');
Route::get('invoices/{invoice}/pay', 'Incomes\Invoices@markPaid');
Route::get('invoices/{invoice}/print', 'Incomes\Invoices@printInvoice');
Route::get('invoices/{invoice}/pdf', 'Incomes\Invoices@pdfInvoice');
Route::get('invoices/{invoice}/duplicate', 'Incomes\Invoices@duplicate');
Route::get('invoices/addItem', 'Incomes\Invoices@addItem')->middleware(['money'])->name('invoice.add.item');
Route::post('invoices/payment', 'Incomes\Invoices@payment')->middleware(['dateformat', 'money'])->name('invoice.payment');
Route::delete('invoices/payment/{payment}', 'Incomes\Invoices@paymentDestroy');
Route::post('invoices/import', 'Incomes\Invoices@import')->name('invoices.import');
Route::get('invoices/export', 'Incomes\Invoices@export')->name('invoices.export');
Route::resource('invoices', 'Incomes\Invoices', ['middleware' => ['dateformat', 'money']]);
Route::get('revenues/{revenue}/duplicate', 'Incomes\Revenues@duplicate');
Route::post('revenues/import', 'Incomes\Revenues@import')->name('revenues.import');
Route::get('revenues/export', 'Incomes\Revenues@export')->name('revenues.export');
Route::resource('revenues', 'Incomes\Revenues', ['middleware' => ['dateformat', 'money']]);
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');
Route::post('customers/import', 'Incomes\Customers@import')->name('customers.import');
Route::get('customers/export', 'Incomes\Customers@export')->name('customers.export');
Route::get('customers/{customer}/enable', 'Incomes\Customers@enable')->name('customers.enable');
Route::get('customers/{customer}/disable', 'Incomes\Customers@disable')->name('customers.disable');
Route::resource('customers', 'Incomes\Customers');
});
Route::group(['prefix' => 'expenses'], function () {
Route::get('bills/{bill}/received', 'Expenses\Bills@markReceived');
Route::get('bills/{bill}/print', 'Expenses\Bills@printBill');
Route::get('bills/{bill}/pdf', 'Expenses\Bills@pdfBill');
Route::get('bills/{bill}/duplicate', 'Expenses\Bills@duplicate');
Route::get('bills/addItem', 'Expenses\Bills@addItem')->middleware(['money'])->name('bill.add.item');
Route::post('bills/payment', 'Expenses\Bills@payment')->middleware(['dateformat', 'money'])->name('bill.payment');
Route::delete('bills/payment/{payment}', 'Expenses\Bills@paymentDestroy');
Route::post('bills/import', 'Expenses\Bills@import')->name('bills.import');
Route::get('bills/export', 'Expenses\Bills@export')->name('bills.export');
Route::resource('bills', 'Expenses\Bills', ['middleware' => ['dateformat', 'money']]);
Route::get('payments/{payment}/duplicate', 'Expenses\Payments@duplicate');
Route::post('payments/import', 'Expenses\Payments@import')->name('payments.import');
Route::get('payments/export', 'Expenses\Payments@export')->name('payments.export');
Route::resource('payments', 'Expenses\Payments', ['middleware' => ['dateformat', 'money']]);
Route::get('vendors/currency', 'Expenses\Vendors@currency');
Route::get('vendors/{vendor}/duplicate', 'Expenses\Vendors@duplicate');
Route::post('vendors/vendor', 'Expenses\Vendors@vendor');
Route::post('vendors/import', 'Expenses\Vendors@import')->name('vendors.import');
Route::get('vendors/export', 'Expenses\Vendors@export')->name('vendors.export');
Route::get('vendors/{vendor}/enable', 'Expenses\Vendors@enable')->name('vendors.enable');
Route::get('vendors/{vendor}/disable', 'Expenses\Vendors@disable')->name('vendors.disable');
Route::resource('vendors', 'Expenses\Vendors');
});
Route::group(['prefix' => 'banking'], function () {
Route::get('accounts/currency', 'Banking\Accounts@currency')->name('accounts.currency');
Route::get('accounts/{account}/enable', 'Banking\Accounts@enable')->name('accounts.enable');
Route::get('accounts/{account}/disable', 'Banking\Accounts@disable')->name('accounts.disable');
Route::resource('accounts', 'Banking\Accounts', ['middleware' => ['dateformat', 'money']]);
Route::resource('transactions', 'Banking\Transactions');
Route::resource('transfers', 'Banking\Transfers', ['middleware' => ['dateformat', 'money']]);
Route::post('reconciliations/calculate', 'Banking\Reconciliations@calculate')->middleware(['money']);
Route::patch('reconciliations/calculate', 'Banking\Reconciliations@calculate')->middleware(['money']);
Route::resource('reconciliations', 'Banking\Reconciliations', ['middleware' => ['dateformat', 'money']]);
});
Route::group(['prefix' => 'reports'], function () {
Route::resource('income-summary', 'Reports\IncomeSummary');
Route::resource('expense-summary', 'Reports\ExpenseSummary');
Route::resource('income-expense-summary', 'Reports\IncomeExpenseSummary');
Route::resource('tax-summary', 'Reports\TaxSummary');
Route::resource('profit-loss', 'Reports\ProfitLoss');
});
Route::group(['prefix' => 'settings'], function () {
Route::post('categories/category', 'Settings\Categories@category');
Route::get('categories/{category}/enable', 'Settings\Categories@enable')->name('categories.enable');
Route::get('categories/{category}/disable', 'Settings\Categories@disable')->name('categories.disable');
Route::resource('categories', 'Settings\Categories');
Route::get('currencies/currency', 'Settings\Currencies@currency');
Route::get('currencies/config', 'Settings\Currencies@config');
Route::get('currencies/{currency}/enable', 'Settings\Currencies@enable')->name('currencies.enable');
Route::get('currencies/{currency}/disable', 'Settings\Currencies@disable')->name('currencies.disable');
Route::resource('currencies', 'Settings\Currencies');
Route::get('settings', 'Settings\Settings@edit');
Route::patch('settings', 'Settings\Settings@update');
Route::get('taxes/{tax}/enable', 'Settings\Taxes@enable')->name('taxes.enable');
Route::get('taxes/{tax}/disable', 'Settings\Taxes@disable')->name('taxes.disable');
Route::resource('taxes', 'Settings\Taxes');
Route::get('apps/{alias}', 'Settings\Modules@edit');
Route::patch('apps/{alias}', 'Settings\Modules@update');
});
Route::group(['prefix' => 'apps'], function () {
Route::resource('token', 'Modules\Token');
Route::resource('home', 'Modules\Home');
Route::resource('my', 'Modules\My');
Route::get('categories/{alias}', 'Modules\Tiles@categoryModules');
Route::get('vendors/{alias}', 'Modules\Tiles@vendorModules');
Route::get('docs/{alias}', 'Modules\Item@documentation');
Route::get('paid', 'Modules\Tiles@paidModules');
Route::get('new', 'Modules\Tiles@newModules');
Route::get('free', 'Modules\Tiles@freeModules');
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::post('{alias}/reviews', 'Modules\Item@reviews');
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');
});
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::post('updates/steps', 'Install\Updates@steps');
Route::post('updates/download', 'Install\Updates@download');
Route::post('updates/download', 'Install\Updates@download');
Route::post('updates/unzip', 'Install\Updates@unzip');
Route::post('updates/file-copy', 'Install\Updates@fileCopy');
Route::post('updates/migrate', 'Install\Updates@migrate');
Route::post('updates/finish', 'Install\Updates@finish');
Route::resource('updates', 'Install\Updates');
});
Route::group(['as' => 'modals.', 'prefix' => 'modals'], function () {
Route::resource('categories', 'Modals\Categories');
Route::resource('customers', 'Modals\Customers');
Route::resource('vendors', 'Modals\Vendors');
Route::resource('invoices/{invoice}/payment', 'Modals\InvoicePayments', ['middleware' => ['dateformat', 'money']]);
Route::resource('bills/{bill}/payment', 'Modals\BillPayments', ['middleware' => ['dateformat', 'money']]);
Route::resource('taxes', 'Modals\Taxes');
});
/* @deprecated */
Route::post('items/items/totalItem', 'Common\Items@totalItem');
});
Route::group(['middleware' => ['customermenu', 'permission:read-customer-panel']], function () {
Route::group(['prefix' => 'customers'], function () {
Route::get('/', 'Customers\Dashboard@index');
Route::get('invoices/{invoice}/print', 'Customers\Invoices@printInvoice');
Route::get('invoices/{invoice}/pdf', 'Customers\Invoices@pdfInvoice');
Route::post('invoices/{invoice}/payment', 'Customers\Invoices@payment');
Route::post('invoices/{invoice}/confirm', 'Customers\Invoices@confirm');
Route::resource('invoices', 'Customers\Invoices');
Route::resource('payments', 'Customers\Payments');
Route::resource('transactions', 'Customers\Transactions');
Route::get('profile/read-invoices', 'Customers\Profile@readOverdueInvoices');
Route::resource('profile', 'Customers\Profile');
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');
});
});
});
});

18
routes/wizard.php Normal file
View File

@ -0,0 +1,18 @@
<?php
Route::group(['as' => 'wizard.'], function () {
Route::get('companies', 'Wizard\Companies@edit')->name('companies.edit');
Route::patch('companies', 'Wizard\Companies@update')->name('companies.update');
Route::get('currencies', 'Wizard\Currencies@index')->name('currencies.index');
Route::get('currencies/{currency}/delete', 'Wizard\Currencies@destroy')->name('currencies.delete');
Route::post('currencies', 'Wizard\Currencies@store')->name('currencies.store');
Route::patch('currencies/{currency}', 'Wizard\Currencies@update')->name('currencies.update');
Route::get('taxes', 'Wizard\Taxes@index')->name('taxes.index');
Route::get('taxes/{tax}/delete', 'Wizard\Taxes@destroy')->name('taxes.delete');
Route::post('taxes', 'Wizard\Taxes@store')->name('taxes.store');
Route::patch('taxes/{tax}', 'Wizard\Taxes@update')->name('taxes.update');
Route::get('finish', 'Wizard\Finish@index')->name('finish.index');
});