bp/app/Modules/CRM/Config/Routes.php

50 lines
2.3 KiB
PHP

<?php
// CRM Module Routes
$routes->group('crm', ['filter' => ['org', 'subscription:crm'], 'namespace' => 'App\Modules\CRM\Controllers'], static function ($routes) {
// Dashboard
$routes->get('/', 'DashboardController::index');
// Contacts
$routes->get('contacts', 'ContactsController::index');
$routes->get('contacts/table', 'ContactsController::contactsTable');
$routes->get('contacts/create', 'ContactsController::create');
$routes->post('contacts', 'ContactsController::store');
$routes->get('contacts/(:num)/edit', 'ContactsController::edit/$1');
$routes->post('contacts/(:num)', 'ContactsController::update/$1');
$routes->get('contacts/(:num)/delete', 'ContactsController::destroy/$1');
// Contacts AJAX API (for inline editing in Clients module)
$routes->post('contacts/list/(:num)', 'ContactsController::ajaxList/$1');
$routes->post('contacts/store', 'ContactsController::ajaxStore');
$routes->post('contacts/update/(:num)', 'ContactsController::ajaxUpdate/$1');
$routes->post('contacts/delete/(:num)', 'ContactsController::ajaxDelete/$1');
// Deals
$routes->group('deals', static function ($routes) {
$routes->get('/', 'DealsController::index');
$routes->get('table', 'DealsController::table');
$routes->get('kanban', 'DealsController::kanban');
$routes->get('calendar', 'DealsController::calendar');
$routes->get('new', 'DealsController::create');
$routes->get('create', 'DealsController::create');
$routes->post('/', 'DealsController::store');
$routes->get('(:num)', 'DealsController::show/$1');
$routes->get('(:num)/edit', 'DealsController::edit/$1');
$routes->post('(:num)', 'DealsController::update/$1');
$routes->get('(:num)/delete', 'DealsController::destroy/$1');
// API endpoints
$routes->post('move-stage', 'DealsController::moveStage');
$routes->get('contacts-by-client', 'DealsController::getContactsByClient');
// Stages
$routes->get('stages', 'DealsController::stages');
$routes->post('stages', 'DealsController::storeStage');
$routes->post('stages/(:num)', 'DealsController::updateStage/$1');
$routes->get('stages/(:num)/delete', 'DealsController::destroyStage/$1');
});
});