Compare commits
2 commits
348af6b56d
...
2b2be5166e
Author | SHA1 | Date | |
---|---|---|---|
|
2b2be5166e | ||
|
fe9affb53c |
4 changed files with 129 additions and 63 deletions
40
libs/classes/Classe.lib.php
Normal file
40
libs/classes/Classe.lib.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
namespace YesWiki\Meeo\Classes;
|
||||
|
||||
use YesWiki\Bazar\Service\EntryManager;
|
||||
use YesWiki\Meeo\Service\NoteManager;
|
||||
|
||||
class Classe {
|
||||
private $id;
|
||||
private $name;
|
||||
private $bulletins = [];
|
||||
|
||||
public function __construct($wiki, $id, $name) {
|
||||
$this->id = $id;
|
||||
$this->name = $name;
|
||||
|
||||
$noteManager = $wiki->services->get(NoteManager::class);
|
||||
foreach ($noteManager->allBulletins() as $bulletin) {
|
||||
if ($bulletin->getClasse() == $this->id) {
|
||||
array_push($this->bulletins, $bulletin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getId() {
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getName() {
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function getBulletins() {
|
||||
return $this->bulletins;
|
||||
}
|
||||
|
||||
public function haveBulletins(){
|
||||
return sizeof($this->bulletins) > 0;
|
||||
}
|
||||
}
|
|
@ -9,6 +9,7 @@ use YesWiki\Core\Service\UserManager;
|
|||
use YesWiki\Wiki;
|
||||
use YesWiki\Meeo\Bulletin\Bulletin;
|
||||
use YesWiki\Meeo\Service\EleveManager;
|
||||
use YesWiki\Meeo\Classes\Classe;
|
||||
|
||||
class NoteManager {
|
||||
protected $wiki;
|
||||
|
@ -36,25 +37,38 @@ class NoteManager {
|
|||
$this->eeGroup = $meeo_config['groupeEE'];
|
||||
}
|
||||
|
||||
public function allBulletins() {
|
||||
$eleveManager = $this->wiki->services->get(EleveManager::class);
|
||||
$eleves = $eleveManager->getAll();
|
||||
|
||||
$bulletins = [];
|
||||
foreach ( $eleves as $eleve) {
|
||||
$bulletins[] = new Bulletin($this->wiki, $eleve);
|
||||
}
|
||||
return $bulletins;
|
||||
}
|
||||
|
||||
public function viewBulletins() {
|
||||
$eleveManager = $this->wiki->services->get(EleveManager::class);
|
||||
|
||||
include 'tools/meeo/libs/bulletin/Bulletin.lib.php';
|
||||
include 'tools/meeo/libs/classes/Classe.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);
|
||||
}
|
||||
if (true) {//($this->userManager->isInGroup($this->eeGroup, $loggedUser['name'], false)) {
|
||||
// echo "<p>".var_dump($eleves)."</p>";
|
||||
// echo "<p>".var_dump($bulletins)."</p>";
|
||||
|
||||
$classes = [];
|
||||
$listClasse = $this->listManager->getOne('ListeClasses');
|
||||
foreach ($listClasse['label'] as $id => $classe) {
|
||||
array_push($classes, new Classe($this->wiki, $id, $classe));
|
||||
}
|
||||
// echo "<p>".var_dump($classes)."</p>";
|
||||
return $this->wiki->render('@meeo/edu_notes.twig', [
|
||||
"bulletins" => $bulletins,
|
||||
"classes" => $classes,
|
||||
"opened" => ""
|
||||
]);
|
||||
} else {
|
||||
// echo "Eleve";
|
||||
|
@ -63,6 +77,7 @@ class NoteManager {
|
|||
$bulletin = new Bulletin($this->wiki, $currentEleve);
|
||||
return $this->wiki->render('@meeo/eleve_notes.twig', [
|
||||
"bulletin" => $bulletin,
|
||||
"opened" => "in"
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<div id="accordion_bulletins" class="panel-group">
|
||||
{% for bulletin in bulletins|sort %}
|
||||
{% if bulletin.isVisible() %}
|
||||
<div class="panel panel-default">
|
||||
<div id="head_{{ bulletin.getId() }}" class="panel-heading collapsed" data-parent="#accordion_bulletins" data-target="#{{ bulletin.getId() }}" data-toggle="collapse">
|
||||
<h4 class="panel-title">{{ bulletin.getNom() }}</h4>
|
||||
<div class="row">
|
||||
<div class="col-sm-9">{{ bulletin.getClasse() }}</div>
|
||||
<div class="col-sm-3">Moyenne Générale : {{ bulletin.getMoyenne() }}</div>
|
||||
<div class="panel-group">
|
||||
{% for classe in classes %}
|
||||
{% if classe.haveBulletins() %}
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">{{ classe.getName() }}</div>
|
||||
<div class="panel-body">
|
||||
<div id="accordion_bulletins" class="panel-group">
|
||||
{% for bulletin in classe.getBulletins() %}
|
||||
{% if bulletin.isVisible() %}
|
||||
{% include '@meeo/eleve_notes.twig' with { 'bulletin' : bulletin } %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ bulletin.getId() }}" class="panel-collapse collapse" style="padding:5px">
|
||||
{% include '@meeo/eleve_notes.twig' with { 'bulletin' : bulletin } %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
|
|
@ -1,40 +1,51 @@
|
|||
<div id="accordion_{{ bulletin.getId() }}_matiere" class="panel-group">
|
||||
{% for matiere in bulletin.getMatieres() %}
|
||||
{% if matiere.isVisible() %}
|
||||
<div class="panel panel-primary">
|
||||
<div id="head_{{ bulletin.getId() }}_{{ matiere.getId() }}" class="panel-heading collapsed" data-parent="#accordion_{{ bulletin.getId() }}_matiere" data-target="#{{ bulletin.getId() }}_{{ matiere.getId() }}" data-toggle="collapse">
|
||||
<h4 class="panel-title">{{ matiere.getNom() }}</h4>
|
||||
<div class="row">
|
||||
<div class="col-sm-10"></div>
|
||||
<div class="col-sm-2">
|
||||
Moyenne : {{ matiere.getMoyenne() }} / 20
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ bulletin.getId() }}_{{ matiere.getId() }}" class="panel-collapse collapse in" style="padding:5px">
|
||||
{% for note in matiere.getNotes() %}
|
||||
<div class="row">
|
||||
<div class="col-sm-1">
|
||||
{% if note.getNoteOn20() >= 20 %}
|
||||
<i class="fa fa-star" style="color:gold"></i>
|
||||
{% elseif note.getNoteOn20() >= 15 %}
|
||||
<i class="fa fa-heart" style="color:red"></i>
|
||||
{% elseif note.getNoteOn20() >= 12 %}
|
||||
<i class="fa fa-smile" style="color:green"></i>
|
||||
{% elseif note.getNoteOn20() >= 9 %}
|
||||
<i class="fa fa-thumbs-up" style="color:green"></i>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-sm-10">
|
||||
{{ note.getIntitule() }}
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
{{ note.getNote() }} / {{ note.getMax() }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="panel panel-default">
|
||||
<div id="head_{{ bulletin.getId() }}" class="panel-heading collapsed" data-parent="#accordion_bulletins" data-target="#{{ bulletin.getId() }}" data-toggle="collapse">
|
||||
<h4 class="panel-title">{{ bulletin.getNom() }}</h4>
|
||||
<div class="row">
|
||||
<div class="col-sm-9">{{ bulletin.getClasse() }}</div>
|
||||
<div class="col-sm-3">Moyenne Générale : {{ bulletin.getMoyenne() }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div id="{{ bulletin.getId() }}" class="panel-collapse collapse {{ opened }}" style="padding:5px">
|
||||
<div id="accordion_{{ bulletin.getId() }}_matiere" class="panel-group">
|
||||
{% for matiere in bulletin.getMatieres() %}
|
||||
{% if matiere.isVisible() %}
|
||||
<div class="panel panel-primary">
|
||||
<div id="head_{{ bulletin.getId() }}_{{ matiere.getId() }}" class="panel-heading collapsed" data-parent="#accordion_{{ bulletin.getId() }}_matiere" data-target="#{{ bulletin.getId() }}_{{ matiere.getId() }}" data-toggle="collapse">
|
||||
<h4 class="panel-title">{{ matiere.getNom() }}</h4>
|
||||
<div class="row">
|
||||
<div class="col-sm-10"></div>
|
||||
<div class="col-sm-2">
|
||||
Moyenne : {{ matiere.getMoyenne() }} / 20
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{ bulletin.getId() }}_{{ matiere.getId() }}" class="panel-collapse collapse in" style="padding:5px">
|
||||
{% for note in matiere.getNotes() %}
|
||||
<div class="row">
|
||||
<div class="col-sm-1">
|
||||
{% if note.getNoteOn20() >= 20 %}
|
||||
<i class="fa fa-star" style="color:gold"></i>
|
||||
{% elseif note.getNoteOn20() >= 15 %}
|
||||
<i class="fa fa-heart" style="color:red"></i>
|
||||
{% elseif note.getNoteOn20() >= 12 %}
|
||||
<i class="fa fa-smile" style="color:green"></i>
|
||||
{% elseif note.getNoteOn20() >= 9 %}
|
||||
<i class="fa fa-thumbs-up" style="color:green"></i>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-sm-10">
|
||||
{{ note.getIntitule() }}
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
{{ note.getNote() }} / {{ note.getMax() }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in a new issue