<?php

/*
|--------------------------------------------------------------------------
| 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!
|
*/

use App\Http\Controllers\CompanyDetailsController;
use App\Http\Controllers\MailController;
use Illuminate\Support\Facades\Route;
use Maatwebsite\Excel\Row;

Route::get('/send', [CompanyDetailsController::class, 'sendnotification']);
Route::get('/', 'PagesController@index')->name('home');
Route::get('/apply', 'PagesController@startapplication')->name('apply');
Route::post('/sendotp', 'PagesController@sendotp')->name('sendotp');
Route::get('/otpsent', 'PagesController@sentotp')->name('showverify');
Route::post('/verifyotp/', 'PagesController@verifyotp')->name('verifyotp');
Route::get('/companydetails', 'PagesController@showcompanydetailsform')->name('companydetails');
//Route::any('/submit/application','PagesController@submitform')->name('submit.form');


Route::get('/application/submitted', 'PagesController@completedform')->name('completed.form');
Route::get('/applicationform', 'UserExistsController@continueform')->name('continue.form');
// Route::post('/savefor','SaveForLaterController@index')->name('save.for.later');
Route::get('/doanload/form', 'UserExistsController@downloadform')->name('download.form');
Route::get('/resendcode', 'UserExistsController@resendotp')->name('resendotp');

Route::get('/logout/user', 'UserExistsController@logout')->name('logout.user');
Route::get('/insertmachineused/{id}', 'UserExistsController@insertmachineused')->name('get.machinee');
Route::get('/addmachine/{id}', 'UserExistsController@addmachine')->name('get.addmachine');
Route::get('/productlevel/{id}', 'UserExistsController@productlevel')->name('get.productlevel');
Route::get('/director/{id}', 'UserExistsController@director')->name('get.director');
Route::get('/opper/{id}', 'UserExistsController@opper')->name('get.opper');
Route::get('/pack/{id}', 'PagesController@ownership_applicant')->name('get.owner');
Route::get('/key/{id}', 'PagesController@key')->name('get.c1');
Route::get('/major/{id}', 'PagesController@major')->name('get.c2');
Route::get('/request/{id}', 'PagesController@request')->name('get.request');
Route::get('/non_cash_collaterals_grid/{id}', 'PagesController@non_cash_collaterals_grid')->name('get.non_cash_collaterals_grid');
Route::get('/cash_collaterals_grid/{id}', 'PagesController@ncash_collaterals_grid')->name('get.cash_collaterals_grid');
Route::post('/login/restore', 'UserExistsController@restore')->name('restore.login');
Route::get('/credit/{id}', 'UserExistsController@credit')->name('get.credit');
Route::get('/view/application/underreview', 'UserExistsController@viewunder_review')->name('view.under.review');
Route::get('/post/user', 'UserExistsController@post_index')->name('view.post.index');
Route::get('/post/files', 'UserExistsController@post_add')->name('post.add.files');
Route::post('/post/store', 'UserExistsController@post_store')->name('post.store');






#========================== NEW FUNCTIONALITY ==============================#

Route::any('submit/application', 'CompanyDetailsController@submitform')->name('submit.form');
Route::any('section/2/application', 'CompanyDetailsController@viewSection2')->name('section2.view');
Route::any('section/2/application/filled', 'CompanyDetailsController@viewSection2filled')->name('section2.view.filled');
Route::post('section/2/process', 'CompanyDetailsController@processSection2')->name('section2.process');
Route::post('section/2/processtwo', 'CompanyDetailsController@processSection2two')->name('section2.process.two');
Route::any('get/credit_facility_other_banks_details/{id}', 'UserExistsController@creditFacilityOthers')->name('get.credit.details');
Route::any('get/credit/facility/{id}', 'UserExistsController@getCreditFacility')->name('get.credit.facility');
Route::get('/showpost', 'UserExistsController@showpostdis')->name('post.add.files.post');
Route::post('/postdis/store', 'UserExistsController@post_store_post')->name('post.store_store');


Route::get('forget-password', 'Auth\ForgotPasswordController@showForgetPasswordForm')->name('forget.password.get');
Route::post('forget-password', 'Auth\ForgotPasswordController@submitForgetPasswordForm')->name('forget.password.post');
Route::get('reset-password/{token}', 'Auth\ForgotPasswordController@showResetPasswordForm')->name('reset.password.get');
Route::post('reset-password', 'Auth\ForgotPasswordController@submitResetPasswordForm')->name('reset.password.post');



// Admin routes
Route::get('/admin', 'AdminController@index')->name('admin.index');
Route::post('/admin/login', 'AdminController@login')->middleware('throttle:5,2')->name('admin.login');


Route::group(['middleware' => 'admin',], function () {
    Route::get('/allreject', 'AdminController@allreject')->name('admin.stage.reject');
    Route::get('/dashboard', 'AdminController@dashboard')->name('admin.dashboard');
    Route::get('/start_review/application/{id}', 'AdminController@startreview')->name('admin.start.review');
    Route::post('/complete_review/application/{id}', 'AdminController@completereview')->name('admin.complete.review');
    Route::get('/view/application/{id}', 'AdminController@viewapplication')->name('admin.view.application');
    Route::get('/print/application/{id}', 'AdminController@printApplication')->name('admin.print.application');
    Route::get('/application/started', 'AdminController@startedapp')->name('admin.started.app');
    Route::get('/application/completed', 'AdminController@completedapp')->name('admin.completed.app');
    Route::get('/application/under_review', 'AdminController@underreviewapp')->name('admin.underreview.app');
    Route::get('/application/reviewed', 'AdminController@reviewedapp')->name('admin.reviewed.app');
    Route::get('/logout', 'AdminController@logout')->name('logout.admin');
    Route::get('/grant_applications', 'AdminController@grantapp')->name('admin.grant.app');
    Route::get('/page_analytics', 'AdminController@pageanalytics')->name('admin.grant.analytics');
    Route::post('/reject/application/{id}', 'AdminController@rejectapp')->name('admin.complete.reject');
    Route::get('show/reject', 'AdminController@showreject')->name('admin.rejected.app');
    Route::get('palette/completed', 'AdminController@paleteCompleted')->name('palette.completed');
    Route::post('/approve/grant/{id}', 'AdminController@approvegrant')->name('admin.application.approvegrant');
    Route::post('/reject/grant/{id}', 'AdminController@rejectgrant')->name('admin.application.rejectgrant');
    Route::get('/approvedapp', 'AdminController@approvedapp')->name('admin.approvedapp.app');

    Route::get('underassessmentlist', 'AdminController@creditunderassess')->name('credit.under_review');
    Route::get('proj/underassessment', 'AdminController@projunderassess')->name('proj.under_review');
    Route::get('underinterviewlist', 'AdminController@underinterview')->name('credit.underinterview');


    // preconditionview

    Route::get('showchangepassword', 'AdminController@showchange')->name('changepass');
    Route::post('passwordchange', 'AdminController@passwordchange')->name('passwordchange');
    #=========================================== AUDIT TRAILS =====================================#
    Route::get('audit/trails', 'AdminController@auditTrails')->name('admin.audit.trails');
    Route::get('audit/trails/clients', 'AdminController@auditTrailsClients')->name('admin.audit.trails.clients');



    // issues files download
    Route::get('downloadissuesfiles/{id}', 'EvaluationController@downloadissuesfiles')->name('download.issue.files');


    // creditanalyst
    Route::get('showcreditanalystdash', 'AdminController@showcreditdash')->name('admin.creditanalyst.dashboard');
    Route::get('analyst/applicantoverview', 'AdminController@applicantOverview')->name('admin.creditanalyst.applicant.overview');
    Route::get('analyst/applicantoverview/{id}/edit', 'AdminController@editOver')->name('admin.creditanalyst.edit.over');
    Route::post('analyst/applicantoverview/{id}/update', 'AdminController@updateApplicantOverview')->name('admin.applicant.overview.update');
    Route::get('analyst/applicantoverview/{id}/view', 'AdminController@viewApplicantOverview')->name('admin.applicant.overview.view');
    Route::get('analyst/applicantoverview/{id}/download', 'AdminController@downloadApplicantOverview')->name('admin.applicant.overview.download');
    Route::get('showprojectanalystdash', 'AdminController@showprojectdash')->name('admin.projectanalyst.dashboard');
    Route::get('showprojectevaluation', 'AdminController@showprojectevalution')->name('admin.fyei.project.evaluation');
    Route::get('showcreditassessment', 'AdminController@showcreditassessment')->name('admin.fyei.credit.assess');


    Route::get('showpredistcons/{id}', 'UserExistsController@showpredistcons')->name('admin.pre.dist');
    Route::get('show/{id}/issues', 'EvaluationController@showissues')->name('admin.respondtoissue');
    Route::post('/uploadissueresponse/{id}', 'EvaluationController@uploadresponsetoissue')->name('admin.upload.issue.response');

    Route::post('setinterview/forapplicant/{id}', 'EvaluationController@setinterview')->name('admin.setinterview');

    ROute::get('fyei/assignments', 'AdminController@fyeiassignments')->name('admin.fyei.assignments.index');
    Route::post('/fyei/{id}/reassign', 'AdminController@reassign')->name('admin.reassing.post');


    // users
    Route::get('/users', 'AdminUserController@index')->name('admin.users.index');
    Route::post('/addusers', 'AdminUserController@add')->name('admin.users.add');
    Route::get('/users/{id}/edit', 'AdminController@edituser')->name('admin.users.edit');
    Route::post('/users/update', 'AdminUserController@updateuser')->name('admin.users.update');
    Route::get('/users/{id}/delete', 'AdminUserController@delete')->name('admin.users.delete');



    // FYEI Evaluation
    Route::get('/grants/evaluation', 'EvaluationController@index')->name('admin.fyei.evaluation.index');
    Route::get('/view/{id}/precondition', 'EvaluationController@viewprecondition')->name('admin.precondition.view');
    Route::get('/evaluate/{id}/application', 'EvaluationController@evaluate')->name('admin.evaluate.app');
    Route::post('/evaluate/store', 'EvaluationController@evaluatestore')->name('admin.evaluate.store');
    Route::get('/evaluate/{id}/issues', 'EvaluationController@issuessheet')->name('admin.evaluate.issuessheet');
    Route::post('/issues/store', 'EvaluationController@issues_store')->name('admin.issues_store.store');
    Route::get('/assess/{id}/sheet', 'EvaluationController@assessmentsheet')->name('admin.evaluate.assessmentsheet');
    Route::get('/assessment/index', 'EvaluationController@assessmentindex')->name('admin.fyei.assessment.index');
    Route::post('/assessment/store', 'EvaluationController@storeassessment')->name('admin.assessment.store');
    Route::get('/fyeidashboard/{id}', 'EvaluationController@showdash')->name('admin.fyei.dashboard');
    Route::get('/fyeidashboard/print/{id}', 'EvaluationController@printDash')->name('admin.fyei.dashboard.print');
    Route::post('/saveforlaterforeva', 'EvaluationController@ssaveforlater')->name('saveforlater.evaluation');
    Route::post('/saveforlaterforissues', 'EvaluationController@saveIssuesForLater')->name('saveforlater.issues');
    Route::post('/saveforlaterforAssessment', 'EvaluationController@saveAssessmentForLater')->name('saveforlater.assessment');



    Route::get('showfailedevaluation', 'EvaluationController@showfailed')->name('admin.fyei.project.see.rejected');
    Route::get('showfailedassessment', 'EvaluationController@showfailedcredit')->name('admin.fyei.credit.see.rejected');




    Route::get('showrej_app/{id}', 'AdminController@showrejectedappl')->name('rej.admin.view.application');
    Route::get('showrej_fyeidash/{id}', 'EvaluationController@showfyeidashrej')->name('rej.admin.fyei.dashboard');



    Route::get('file/download/{id}/{type}', 'FileDownloadController@downloadFinanceFile')->name('download.finance.file');
    Route::get('historic/download/{id}/{type}', 'FileDownloadController@downloadFinanceFile')->name('download.historic_financial.file');
    // initial reject
    Route::get('/initialreject', 'AdminController@initialreject')->name('admin.initial.reject');
    Route::get('/log/export', 'AdminController@logexport')->name('admin.log.one');
});
// Route::get('sendmailnow','EvaluationController@sendmailnow')->name('ll');
