116 lines
3.8 KiB
PHP
116 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace YesWiki\Meeo\Service;
|
|
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
|
use YesWiki\Bazar\Service\EntryManager;
|
|
use YesWiki\Bazar\Service\ListManager;
|
|
use YesWiki\Core\Controller\AuthController;
|
|
use YesWiki\Core\Service\UserManager;
|
|
use YesWiki\Wiki;
|
|
use YesWiki\Meeo\Bulletin\Bulletin;
|
|
use YesWiki\Meeo\Service\EleveManager;
|
|
|
|
class NoteManager {
|
|
protected $wiki;
|
|
protected $params;
|
|
protected $entryManager;
|
|
protected $listManager;
|
|
protected $formId;
|
|
protected $eleveFormId;
|
|
protected $eeGroup;
|
|
protected $authController;
|
|
protected $userManager;
|
|
|
|
public function __construct( Wiki $wiki, ParameterBagInterface $params, EntryManager $entryManager, ListManager $listManager, AuthController $authController, UserManager $userManager)
|
|
{
|
|
$this->wiki = $wiki;
|
|
$this->params = $params;
|
|
$this->entryManager = $entryManager;
|
|
$this->listManager = $listManager;
|
|
$this->authController = $authController;
|
|
$this->userManager = $userManager;
|
|
|
|
$meeo_config = $this->params->get('meeo');
|
|
$this->formId = $meeo_config['notesFormId'];
|
|
$this->eleveFormId = $meeo_config['elevesFormId'];
|
|
$this->eeGroup = $meeo_config['groupeEE'];
|
|
}
|
|
|
|
public function viewBulletins() {
|
|
$eleveManager = $this->wiki->services->get(EleveManager::class);
|
|
|
|
include 'tools/meeo/libs/bulletin/Bulletin.lib.php';
|
|
|
|
$loggedUser = $this->authController->getLoggedUser();
|
|
// echo "<p>".var_dump($loggedUser)."</p>";
|
|
if ($this->userManager->isInGroup($this->eeGroup, $loggedUser['name'], false)) {
|
|
$eleves = $eleveManager->getAll();
|
|
|
|
$bulletins = [];
|
|
foreach ( $eleves as $eleve) {
|
|
$bulletins[] = new Bulletin($this->wiki, $eleve);
|
|
}
|
|
// echo "<p>".var_dump($eleves)."</p>";
|
|
// echo "<p>".var_dump($bulletins)."</p>";
|
|
|
|
return $this->wiki->render('@meeo/edu_notes.twig', [
|
|
"bulletins" => $bulletins,
|
|
]);
|
|
} else {
|
|
// echo "Eleve";
|
|
$currentEleve = $eleveManager->getCurrentEleve($loggedUser['name']);
|
|
if ($currentEleve != null) {
|
|
$bulletin = new Bulletin($this->wiki, $currentEleve);
|
|
return $this->wiki->render('@meeo/eleve_notes.twig', [
|
|
"bulletin" => $bulletin,
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
|
|
public function viewControle() {
|
|
$eleves = $this->wiki->services->get(EleveManager::class)->getAll();
|
|
// echo var_dump($eleves);
|
|
$matieres = $this->listManager->getOne('ListeMatiere');
|
|
// echo var_dump($matieres);
|
|
$classes = $this->listManager->getOne('ListeClasses');
|
|
$notesMax = $this->listManager->getOne('ListeNoteMax');
|
|
// echo var_dump($classes);
|
|
return $this->wiki->render('@meeo/edu_controle.twig', [
|
|
'matieres' => $matieres['label'],
|
|
'classes' => $classes['label'],
|
|
'notesMax' => $notesMax['label'],
|
|
'eleves' => $eleves,
|
|
]);
|
|
}
|
|
|
|
public function createNote($intitule, $eleve, $matiere, $note, $max, $coef) {
|
|
if ($note == 0)
|
|
return;
|
|
|
|
$data = [
|
|
'bf_titre' => "Note : ".$intitule." - ".$eleve." - ".$matiere,
|
|
'bf_intitule' => $intitule,
|
|
'listeListeMatierebf_matiere' => $matiere,
|
|
'listListeNotemaxbf_notemax' => $max,
|
|
'listefiche'.$this->eleveFormId.'bf_eleve' => $eleve,
|
|
'bf_note' => $note,
|
|
'bf_coef' => $coef,
|
|
'antispam' => true
|
|
];
|
|
$this->entryManager->create($this->formId, $data);
|
|
}
|
|
|
|
public function getNotes($eleveId, $matiereId) {
|
|
// echo "<p>".$eleveId."</p>";
|
|
// echo "<p>".$matiereId."</p>";
|
|
$entries = $this->entryManager->search(['formsIds' => $this->formId,
|
|
'queries' =>[
|
|
'listefiche'.$this->eleveFormId.'bf_eleve' => \strtolower($eleveId),
|
|
'listeListeMatierebf_matiere' => $matiereId
|
|
]
|
|
]);
|
|
// echo "<p>".var_dump($entries)."</p>";
|
|
return $entries;
|
|
}
|
|
}
|