<br />
<b>Warning</b>:  Undefined variable $auth in <b>/home/pevo0181/public_html/pia-soft.com/cleania/routes/index.php</b> on line <b>542</b><br />
<br />
<b>Warning</b>:  Trying to access array offset on value of type null in <b>/home/pevo0181/public_html/pia-soft.com/cleania/routes/index.php</b> on line <b>542</b><br />
<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\backend\AuthController;
use App\Http\Controllers\backend\CardController;
use App\Http\Controllers\backend\RoleController;
use App\Http\Controllers\backend\AdminController;
use App\Http\Controllers\backend\ProfilController;
use App\Http\Controllers\backend\PensionController;
use App\Http\Controllers\backend\StudentController;
use App\Http\Controllers\backend\DashboardController;
use App\Http\Controllers\backend\ClassSchoolController;
use App\Http\Controllers\backend\SessionYearController;
use App\Http\Controllers\backend\SubscriptionController;
use App\Http\Controllers\backend\PresenceController;
use App\Http\Controllers\backend\TeacherController;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/


/** ACTIONS AUTHENTIFICATION */
Route::get('/login',                     [AuthController::class, 'getLogin'])->name('get.backend.login');
Route::post('/check/post-login',    [AuthController::class, 'postLogin'])->name('post.backend.login');


Route::middleware(["auth"])->group(function() {

    Route::get('/logout',       [AuthController::class, 'logout'])->name('get.backend.logout');
    Route::get('/dashboard',    [DashboardController::class, 'getDashboard'])->name('get.backend.dashboard');


    /**ACTIONS ADMIN */
    Route::get('/admin/list',                       [AdminController::class, 'getListUser'])->name('get.backend.list.users');
    Route::get('/admin/add',                        [AdminController::class, 'getAddUser'])->name('get.backend.add.users');
    Route::get('/admin/{id}/edit',                  [AdminController::class, 'getEditUser'])->name('get.backend.edit.users');
    Route::post('/add-info/admin',                  [AdminController::class, 'postAddUser'])->name('post.backend.add.users');
    Route::post('/edit-info/admin/{id}',            [AdminController::class, 'postEditUser'])->name('post.backend.edit.users');
    Route::post('/admin/{id}/change-status',        [AdminController::class, 'changeStatus'])->name('post.backend.change.status.users');


    /**PROFIL ADMIN */
    Route::get('/profile',                       [ProfilController::class, 'getProfil'])->name('get.backend.profil.users');
    Route::post('profile/edit-profile/{id}',         [ProfilController::class, 'postEditProfil'])->name('post.backend.edit.profile');
    Route::post('/edit-password/{id}',              [ProfilController::class, 'postEditPassword'])->name('post.backend.edit.password');
    Route::get('/edit/urban',                   [ProfilController::class, 'getEditUrban'])->name('get.backend.edit.urban.me');
    Route::post('/edit-post/urban',             [ProfilController::class, 'postEditUrban'])->name('get.backend.post.urban.me');
    
    /** ACTIONS ROLE */
    Route::get('/list/role',            [RoleController::class, 'getListRole'])->name('get.backend.list.role');
    Route::post('/add/role',            [RoleController::class, 'postAddRole'])->name('post.backend.add.role');
    Route::post('/edit/role/{id}',      [RoleController::class, 'postEditRole'])->name('post.backend.edit.role');


    /** ACTIONS SESSION */
    Route::get('/session-year/list',          [SessionYearController::class, 'getList'])->name('get.backend.list.session.year');
    Route::post('/session-year/add',          [SessionYearController::class, 'postAdd'])->name('post.backend.add.session.year');
    Route::post('/session-year/{id}/edit',    [SessionYearController::class, 'postEdit'])->name('post.backend.edit.session.year');

    /** ACTIONS CLASS SCHOOL */
    Route::get('/class-school/list',                [ClassSchoolController::class, 'getList'])->name('get.backend.list.class.school');
    Route::post('/class-school/add',                [ClassSchoolController::class, 'postAdd'])->name('post.backend.add.class.school');
    Route::post('/class-school/{id}/edit',          [ClassSchoolController::class, 'postEdit'])->name('post.backend.edit.class.school');
    Route::get('/class-school/{class}/students',    [ClassSchoolController::class, 'getStudentByClass'])->name('get.backend.list.student.school');


    /*** ACTIONS STUDENTS */
    Route::get('/students/list/{status?}',                         [StudentController::class, 'getList'])->name('get.backend.list.student');
    Route::get('/students/add',                                    [StudentController::class, 'getAdd'])->name('get.backend.add.student');
    Route::post('/students/add',                                   [StudentController::class, 'postAdd'])->name('post.backend.add.student');
    Route::get('/students-folder/list/{status?}',                  [StudentController::class, 'getListFolder'])->name('get.backend.list.student.folder');
    Route::get('/students/{id}/details',                           [StudentController::class, 'getDetails'])->name('get.backend.details.student');
    Route::post('/customers/{id}/edit',                            [StudentController::class, 'postEdit'])->name('post.backend.edit.student');
    Route::get('/get/all/students',                                [StudentController::class, 'getAllUsager'])->name('get.backend.all.student');
    Route::get('/students/search',                                 [StudentController::class, 'search'])->name('get.backend.search.student');
    Route::post('/students-all/active',                            [StudentController::class, 'activeAllStudent'])->name('post.backend.active.all.student');
    Route::post('/students/{code}/change-status',                  [StudentController::class, 'changeStatus'])->name('post.backend.change.status');
    Route::get('/students/export-excel/{status?}',                 [StudentController::class, 'exportAllExcel'])->name('get.backend.export.all.excel.student');
    Route::get('/students-all/api',                                [StudentController::class, 'getApiAllStudent'])->name('get.backend.api.all.customers');
    Route::post('/students/send-message-global',                                [StudentController::class, 'postSendMessageGlobal'])->name('post.backend.send.message.global.student');

    

    /*** ACTIONS TEACHERS */
    Route::get('/teachers/list/{status?}',                          [TeacherController::class, 'getList'])->name('get.backend.list.teacher');
    Route::get('/teachers/{id}/edit',                               [TeacherController::class, 'getEditTeacher'])->name('get.backend.edit.teacher');
    Route::post('/edit-info/{id}/teachers',                         [TeacherController::class, 'postEditTeacher'])->name('post.backend.edit.teacher');

    /*** ACTIONS INSCRIPTIONS */
    Route::get('/subscriptions/list',                                      [SubscriptionController::class, 'getList'])->name('get.backend.list.subscription');
    Route::get('/subscriptions/add',                                       [SubscriptionController::class, 'getAdd'])->name('get.backend.add.subscription');
    Route::post('/subscriptions/add',                                      [SubscriptionController::class, 'postAdd'])->name('post.backend.add.subscription');
    Route::get('/subscriptions/search',                                    [SubscriptionController::class, 'search'])->name('get.backend.search.subscription');
    Route::get('/subscriptions/all-api',                                   [SubscriptionController::class, 'getApiAllSubscriptions'])->name('get.backend.api.all.subscription');


    /**** GESTION DES CARDS USAGERS*/
    Route::get('/card/list',                                            [CardController::class, 'getList'])->name('get.backend.list.card');
    Route::get('/card/search',                                          [CardController::class, 'search'])->name('get.backend.search.card');

    /***ACTIONS CAISSE  */
    Route::get('/pensions/list',                                                [PensionController::class, 'getList'])->name('get.backend.list.pension');
    Route::get('/pensions/add',                                                 [PensionController::class, 'getAdd'])->name('get.backend.add.pension');
    Route::post('/pensions/add',                                                [PensionController::class, 'postAdd'])->name('post.backend.add.pension');
    Route::get('/pensions/search',                                              [PensionController::class, 'search'])->name('get.backend.search.pension');
    Route::get('/pensions/check',                                               [PensionController::class, 'checkPension'])->name('get.backend.check.pension');
    Route::get('/pensions-students/export-pdf/{status?}',                       [PensionController::class, 'exportPensionStudent'])->name('get.backend.export.pension.student.pdf');
    Route::get('/pensions/all-api',                                             [PensionController::class, 'getAllPensions'])->name('get.backend.api.all.pension');
    Route::post('/pensions/send-message',                                        [PensionController::class, 'postSendMessagePension'])->name('post.backend.send.message.pension');
    Route::get('/pensions/check-all',                                               [PensionController::class, 'checkPensionToAll'])->name('get.backend.check.all.pension');

    /***ACTIONS PRESENCES  */
    Route::get('/students/presence-list',                                                   [PresenceController::class, 'getListStudent'])->name('get.backend.list.presence.student');
    Route::get('/teachers/presence-list',                                                   [PresenceController::class, 'getListTeacher'])->name('get.backend.list.presence.teacher');
    Route::get('/students/presence-search',                                                 [PresenceController::class, 'getSearchStudent'])->name('get.backend.search.presence.student');
    Route::get('/teachers/presence-search',                                                 [PresenceController::class, 'getSearchTeacher'])->name('get.backend.search.presence.teacher');
});


/** 404 PAGE ERROR  */
Route::fallback(function () {
    return view('errors.404');
});

/*********
 * ################
 * FRONTEND ROUTES
 * ###############
 */
Route::get('/', function() {
    return redirect()->route('get.backend.login');
});
Route::get('/students/send-message',                                        [StudentController::class, 'getSendMessage'])->name('get.backend.send.message.student');
Route::post('/students/send-message/{class?}',                               [StudentController::class, 'postSendMessage'])->name('post.backend.send.message.student');

Route::get('/student/{id}/card/{auth?}',                                [CardController::class, 'getCard'])->name('get.backend.card.student');
Route::get('/teacher/{id}/card/{auth?}',                                [CardController::class, 'getCardTeacher'])->name('get.backend.card.teacher');
Route::get('/student/{code}/info',                                      [StudentController::class, 'getInfoStudent'])->name('get.backend.info.student');
Route::get('/teacher/{code}/info',                                      [StudentController::class, 'getInfoTeacher'])->name('get.backend.info.teacher');


Route::get('/payment/pdf',                                      [SubscriptionController::class, 'getPdf'])->name('get.b