Skip to content

Commit

Permalink
Merge branch 'main' into modifcategorie
Browse files Browse the repository at this point in the history
  • Loading branch information
PgbDev1 committed Nov 29, 2022
2 parents 37a0926 + 4717f33 commit 22a4245
Show file tree
Hide file tree
Showing 39 changed files with 1,838 additions and 402 deletions.
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,14 @@ Modifiez le fichier `env` avec vos informations et faites en une copie que vous
Pour obtenir une base de donnée à jour, deux commandes sont importantes :

Effectuer toutes les migrations :
```
php spark migrate:refresh

Doc sur les migrations :
https://codeigniter4.github.io/userguide/dbmgmt/migration.html
```

Importer un jeu de test :
```
php spark db:seed SaadsSeeder
```

Doc sur les migrations :
https://codeigniter4.github.io/userguide/dbmgmt/migration.html
1 change: 1 addition & 0 deletions app/Config/Filters.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ class Filters extends BaseConfig
'honeypot' => Honeypot::class,
'authGuard' => \App\Filters\AuthGuard::class,
'superAdminGuard' => \App\Filters\SuperAdminGuard::class,
'ownedIdGuard' => \App\Filters\OwnedIdGuard::class,
];

/**
Expand Down
69 changes: 41 additions & 28 deletions app/Config/Routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,53 +32,66 @@
// We get a performance increase by specifying the default
// route since we don't have to scan directories.
$routes->get('/', 'Home::index');
$routes->get('saads', 'SaadController::index');
$routes->match(['get', 'post'], 'saads', 'SaadController::index');
$routes->match(['get', 'post'], 'filter', 'SaadController::filter');

// Gestion des connexions
$routes->get('forbidden', 'NouvelleConnexionController::forbidden');
$routes->get('connexion', 'NouvelleConnexionController::index');
$routes->get('connexionReussie', 'NouvelleConnexionController::success', ['filter' => 'authGuard']);
$routes->match(['get', 'post'],'userList', 'PersonController::userList', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'saadsList', 'SaadController::saadsList', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'disconnect', 'PersonController::disconnect', ['filter' => 'authGuard']);
$routes->match(['get', 'post'], 'disconnect', 'PersonController::disconnect', ['filter' => 'authGuard']);

$routes->match(['get', 'post'],'saadsList', 'SaadController::saadsList', ['filter' => ['authGuard','superAdminGuard']]);
// Affichage de la liste des éléments (coté admin)
$routes->match(['get', 'post'], 'userList', 'PersonController::userList', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'saadsList', 'SaadController::saadsList', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'mySaadsList/(:segment)', 'SaadController::mySaadsList/$1', ['filter' => ['authGuard', 'ownedIdGuard']]);

//Envoyer un email
$routes->match(['get', 'post'],'PersonController/sendEmailTest', 'PersonController::sendEmailTest', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'PersonController/resetPassword/(:segment)', 'PersonController::resetPassword/$1', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'], 'PersonController/sendEmailTest', 'PersonController::sendEmailTest', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'PersonController/resetPassword/(:segment)', 'PersonController::resetPassword/$1', ['filter' => ['authGuard', 'superAdminGuard']]);

//Supprimer saad
$routes->match(['get', 'post'],'SaadController/saadDelete/(:segment)', 'SaadController::saadDelete/$1', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'], 'SaadController/saadDelete/(:segment)', 'SaadController::saadDelete/$1', ['filter' => ['authGuard', 'superAdminGuard']]);

//lier des saads à des managers
$routes->match(['get', 'post'],'SaadListController/saadLink/', 'SaadListController::saadLink', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get'],'SaadController/saadLink/(:segment)', 'SaadListController::saadLink/$1', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['post'],'SaadController/editSaadLink/(:segment)', 'SaadListController::editSaadLink/$1', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'SaadController/deleteAllLinks/(:segment)', 'SaadListController::deleteAllLinks/$1', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'], 'SaadListController/saadLink/', 'SaadListController::saadLink', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get'], 'SaadListController/saadLink/(:segment)', 'SaadListController::saadLink/$1', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['post'], 'SaadListController/editSaadLink/(:segment)', 'SaadListController::editSaadLink/$1', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'SaadListController/deleteAllLinks/(:segment)', 'SaadListController::deleteAllLinks/$1', ['filter' => ['authGuard', 'superAdminGuard']]);

//lier des secteurs à des saads
$routes->match(['get', 'post'], 'SecteurLinkController/secteurLink/', 'SecteurLinkController::secteurLink', ['filter' => ['authGuard']]);
$routes->match(['get'], 'SecteurLinkController/secteurLink/(:segment)', 'SecteurLinkController::secteurLink/$1', ['filter' => ['authGuard']]);
$routes->match(['post'], 'SecteurLinkController/editSaadLink/(:segment)', 'SecteurLinkController::editSecteurLink/$1', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'], 'SecteurLinkController/deleteAllLinks/(:segment)', 'SecteurLinkController::deleteAllLinks/$1', ['filter' => ['authGuard']]);

//Créer saad
$routes->match(['get', 'post'],'SaadController/storeSaad/', 'SaadController::storeSaad', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'createSaad', 'SaadController::createSaad', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'], 'SaadController/storeSaad/', 'SaadController::storeSaad', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'createSaad', 'SaadController::createSaad', ['filter' => ['authGuard', 'superAdminGuard']]);

//Modifier saad
$routes->match(['get', 'post'],'SaadController/storeSaad/(:segment)', 'SaadController::storeSaad/$1', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'],'SaadController/createSaad/(:segment)', 'SaadController::createSaad/$1', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'],'createSaad/(:segment)', 'SaadController::createSaad', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'], 'SaadController/storeSaad/(:segment)', 'SaadController::storeSaad/$1', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'], 'SaadController/createSaad/(:segment)', 'SaadController::createSaad/$1', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'], 'createSaad/(:segment)', 'SaadController::createSaad', ['filter' => ['authGuard']]);

//Supprimer user
$routes->match(['get', 'post'],'PersonController/userDelete/(:segment)', 'PersonController::userDelete/$1', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'], 'PersonController/userDelete/(:segment)', 'PersonController::userDelete/$1', ['filter' => ['authGuard', 'superAdminGuard']]);

//Créer user
$routes->match(['get', 'post'],'PersonController/store/', 'PersonController::store', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'PersonController/createUser/', 'PersonController::createUser', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'PersonController/createUser/(:any)', 'PersonController::createUser', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'createUser', 'PersonController::createUser', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'], 'PersonController/store/', 'PersonController::store', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'PersonController/createUser/', 'PersonController::createUser', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'PersonController/createUser/(:any)', 'PersonController::createUser', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'createUser', 'PersonController::createUser', ['filter' => ['authGuard', 'superAdminGuard']]);

//Modifier user
$routes->match(['get', 'post'],'PersonController/upgradeUser/(:segment)', 'PersonController::userDowngrade/$1', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'PersonController/downgradeUser/(:segment)', 'PersonController::userUpgrade/$1', ['filter' => ['authGuard','superAdminGuard']]);
$routes->match(['get', 'post'],'PersonController/changePassword', 'PersonController::changePassword', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'],'changePassword', 'PersonController::changePassword', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'],'PersonController/changePassword/(:segment)', 'PersonController::changePassword/$1', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'],'changePassword/(:segment)', 'PersonController::changePassword/$1', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'], 'PersonController/upgradeUser/(:segment)', 'PersonController::userDowngrade/$1', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'PersonController/downgradeUser/(:segment)', 'PersonController::userUpgrade/$1', ['filter' => ['authGuard', 'superAdminGuard']]);
$routes->match(['get', 'post'], 'PersonController/changePassword', 'PersonController::changePassword', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'], 'changePassword', 'PersonController::changePassword', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'], 'PersonController/changePassword/(:segment)', 'PersonController::changePassword/$1', ['filter' => ['authGuard']]);
$routes->match(['get', 'post'], 'changePassword/(:segment)', 'PersonController::changePassword/$1', ['filter' => ['authGuard']]);

//statiques
$routes->get('(:any)', 'Pages::view/$1');

/*
Expand Down
13 changes: 11 additions & 2 deletions app/Controllers/Home.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,29 @@

namespace App\Controllers;

use App\Models\PublicModel;

/**
* Base Controller
* @package App\Controllers
*/
class Home extends BaseController
{
private $publicModel;

public function __construct()
{
$this->publicModel = new PublicModel();
}

/**
* Chargeuse de la home page
* Chargeuse de la page d'accueil
*/
public function index()
{
$data['publics'] = $this->publicModel->getPublics();
echo view('header');
echo view('welcome_message');
echo view('welcome_message' , $data);
echo view('footer');
}
}
34 changes: 34 additions & 0 deletions app/Controllers/MailController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

namespace App\Controllers;

use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;

/**
* Mail controller
*/
class MailController extends \CodeIgniter\Controller
{
/**
* Cette méthode permet d'envoyer un mail
* @param $mailto String l'adresse mail du destinataire
* @param $subject String le sujet du mail
* @param $body String le corps du mail
*/
public function sendMail($mailto, $subject, $body) {
$email = \Config\Services::email();

$email->setFrom('contact@dometlien.fr', 'Ne pas répondre');
// ou $email->setFrom('nepasrepondre@portailsaad.fr', 'Ne pas répondre'); Mais cette ligne leve une erreur à la reception du mail
$email->setTo($mailto);

$email->setSubject($subject);
$message = $body;
$email->setMessage($message);
$email->send();

}

}
21 changes: 19 additions & 2 deletions app/Controllers/NouvelleConnexionController.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ class NouvelleConnexionController extends \CodeIgniter\Controller
*/
public function index()
{
// si la personne est déjà connectée, on la redirige vers connexionReussie avec une notification
if (session()->get('isLoggedIn')) {
return redirect()->to('/connexionReussie')
->with('notificationTitle', 'Vous avez été reconnecté')
->with('notificationMessage', 'Nous avons récupéré votre connexion');
}
$data['title'] = "Connexion";
helper(['form']);
echo view('header', $data);
Expand All @@ -27,12 +33,24 @@ public function index()
*/
public function success()
{
$data['title'] = "Succès";
$data['notificationTitle'] = session()->get('notificationTitle');
$data['notificationMessage'] = session()->get('notificationMessage');
echo view('header', $data);
echo view('connexionReussie');
echo view('footer');
}

/**
* affiche la page 403
*/
public function forbidden()
{
$data['title'] = "Accès interdit";
echo view('header', $data);
echo view('forbidden');
echo view('footer');
}

/*
* Vérifie si le mail et le mot de passe sont corrects
*/
Expand All @@ -56,7 +74,6 @@ public function loginAuth()
'isLoggedIn' => TRUE,
'accountType' => $data['accountType']
];

$session->set($ses_data);
return redirect()->to('/connexionReussie');
}
Expand Down

0 comments on commit 22a4245

Please sign in to comment.