ynh_extension_meeo/services/NoteManager.php

80 lines
No EOL
2.6 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\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 $userManager;
protected $formId;
public function __construct( Wiki $wiki, ParameterBagInterface $params, EntryManager $entryManager, ListManager $listManager, UserManager $userManager)
{
$this->wiki = $wiki;
$this->params = $params;
$this->entryManager = $entryManager;
$this->listManager = $listManager;
$this->userManager = $userManager;
$meeo_config = $this->params->get('meeo');
$this->formId = $meeo_config['notesFormId'];
}
public function viewBulletins() {
$eleveIdentifier = 'listefiche'.$meeo_config['elevesFormId'].'bf_eleve';
$groupeEE = $meeo_config['groupeEE'];
if ( $this->userManager->isInGroup($groupeEE, admincheck: false) ) {
$eleves = $this->entryManager->search(['formsIds' => $meeo_config['elevesFormId']]);
$entries = $this->entryManager->search(['formsIds' => $this->formId]);
include 'tools/meeo/libs/bulletin/Bulletin.lib.php';
$bulletins = [];
foreach ( $eleves as $eleve) {
//TODO enlever "Passerelle"
$bulletins[] = new Bulletin($this->wiki, $eleve, "Passerelle");
}
// echo var_dump($eleves);
// echo var_dump($entries);
// echo var_dump($matieres);
return $this->wiki->render('@meeo/edu_notes.twig', [
"bulletins" => $bulletins,
]);
} else {
$entries = $entryManager->search(['formsIds' => $this->formId]);
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');
// echo var_dump($classes);
return $this->wiki->render('@meeo/edu_controle.twig', ['matieres' => $matieres['label'], 'classes' => $classes['label'], 'eleves' => $eleves]);
}
public function addNotes($notes) {
foreach ($notes as $note) {
$note['antispam'] = true;
$this->entryManager->create($this->formId, $note);
}
}
}