Compare commits
4 Commits
d0d8183f7a
...
594122ed07
Author | SHA1 | Date |
---|---|---|
afornerot | 594122ed07 | |
afornerot | c5333887cc | |
Arnaud Fornerot | 629d77175a | |
Arnaud Fornerot | 1a54b9a3f9 |
|
@ -86,6 +86,19 @@ class SecurityController extends Controller
|
||||||
if($masteridentity=="SSO") {
|
if($masteridentity=="SSO") {
|
||||||
if(empty($email)) $email = $username."@nomail.com";
|
if(empty($email)) $email = $username."@nomail.com";
|
||||||
|
|
||||||
|
// On s'assure qu'il n'y a pas déjà un utilisateur avec le même mail
|
||||||
|
$usermail = $em->getRepository('CadolesCoreBundle:User')->findOneBy(array("email"=>$email));
|
||||||
|
if($usermail) {
|
||||||
|
return $this->render('CadolesCoreBundle:Registration:info.html.twig', [
|
||||||
|
'useheader' => true,
|
||||||
|
'usemenu' => false,
|
||||||
|
'usesidebar' => false,
|
||||||
|
'info' => "Votre compte ne peut être activé car votre adresse mel est déjà utilisée par un autre compte utilisateur.<br>Nous sommes désolés du désagrément et vous invitons à contacter un administrateur.",
|
||||||
|
'mode' => "error",
|
||||||
|
'redirectto' => "",
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
// Là c'est normal que potentiellement il n'existe pas il faut donc l'autogénérer
|
// Là c'est normal que potentiellement il n'existe pas il faut donc l'autogénérer
|
||||||
$user = new User();
|
$user = new User();
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,18 @@
|
||||||
{% autoescape %}
|
{% autoescape %}
|
||||||
<p>{{ info|raw }}</p>
|
<p>{{ info|raw }}</p>
|
||||||
{% endautoescape %}
|
{% endautoescape %}
|
||||||
|
|
||||||
|
{% if mode=="error" %}
|
||||||
|
{% if mode_auth == "SAML" %}
|
||||||
|
<a class="btn btn-primary" href="{{ path("lightsaml_sp.logout") }}">Déconnexion</a>
|
||||||
|
{% elseif mode_auth == "CAS" %}
|
||||||
|
<a class="btn btn-primary" href="{{ path("cas_sp.logout") }}">Déconnexion</a>
|
||||||
|
{% elseif mode_auth == "SQL" %}
|
||||||
|
<a class="btn btn-primary" href="{{ path("cadoles_core_logout") }}">Déconnexion</a>
|
||||||
|
{% elseif mode_auth == "LDAP" %}
|
||||||
|
<a class="btn btn-primary" href="{{ path("cadoles_core_ldap_logout") }}">Déconnexion</a>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -65,6 +65,10 @@ class ItemController extends Controller
|
||||||
{
|
{
|
||||||
// Initialisation de l'enregistrement
|
// Initialisation de l'enregistrement
|
||||||
$data = new Item();
|
$data = new Item();
|
||||||
|
if($this->GetParameter("activate_widsonde")) {
|
||||||
|
$data->setClicksonde(true);
|
||||||
|
$data->setClicksondeservice("PAGE_ENT");
|
||||||
|
}
|
||||||
|
|
||||||
// Création du formulaire
|
// Création du formulaire
|
||||||
$form = $this->createForm(ItemType::class,$data,array(
|
$form = $this->createForm(ItemType::class,$data,array(
|
||||||
|
@ -206,6 +210,26 @@ class ItemController extends Controller
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function forceorderAction(Request $request)
|
||||||
|
{
|
||||||
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
$categorys=$em->getRepository("CadolesPortalBundle:Itemcategory")->findAll();
|
||||||
|
|
||||||
|
foreach($categorys as $category) {
|
||||||
|
$i=0;
|
||||||
|
$items=$em->getRepository("CadolesPortalBundle:Item")->findBy(["itemcategory"=>$category],["title"=>"ASC"]);
|
||||||
|
foreach($items as $item) {
|
||||||
|
$i++;
|
||||||
|
$item->setRowOrder($i);
|
||||||
|
$em->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Retour à la liste
|
||||||
|
return $this->redirectToRoute($this->labelroute);
|
||||||
|
}
|
||||||
|
|
||||||
protected function getDatas()
|
protected function getDatas()
|
||||||
{
|
{
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
|
|
@ -150,13 +150,16 @@ class ItemType extends AbstractType
|
||||||
|
|
||||||
if($options["activate_widsonde"]) {
|
if($options["activate_widsonde"]) {
|
||||||
$builder
|
$builder
|
||||||
|
/*
|
||||||
->add('clicksonde', CheckboxType::class, [
|
->add('clicksonde', CheckboxType::class, [
|
||||||
"label" => "Exécuter une sonde statistique sur le clic",
|
"label" => "Exécuter une sonde statistique sur le clic",
|
||||||
"required" => false
|
"required" => false
|
||||||
])
|
])
|
||||||
|
*/
|
||||||
|
|
||||||
->add('clicksondeservice', ChoiceType::class, [
|
->add('clicksondeservice', ChoiceType::class, [
|
||||||
"label" => 'Type de Service associé à la sonde',
|
"label" => 'Type de Service associé à la sonde',
|
||||||
|
"label_attr" => array("style" => "display:inline"),
|
||||||
"placeholder" => 'Sélectionner un service',
|
"placeholder" => 'Sélectionner un service',
|
||||||
"required" => false,
|
"required" => false,
|
||||||
"choices" => [
|
"choices" => [
|
||||||
|
|
|
@ -7,7 +7,7 @@ use Doctrine\Common\Collections\ArrayCollection;
|
||||||
|
|
||||||
class ItemRepository extends EntityRepository
|
class ItemRepository extends EntityRepository
|
||||||
{
|
{
|
||||||
public function getUserItems($user,&$bookmarks,&$itemsordered,&$itemcategorys,$iditemcategory=null,$ssoitems,$withbookmark=1,$fgessential=false) {
|
public function getUserItems($user,&$bookmarks,&$itemsordered,&$itemcategorys,$iditemcategory=null,$ssoitems=[],$withbookmark=1,$fgessential=false) {
|
||||||
// Profilage
|
// Profilage
|
||||||
$roles=($user?$user->getRoles():["ROLE_ANONYME"]);
|
$roles=($user?$user->getRoles():["ROLE_ANONYME"]);
|
||||||
$groups=($user?$user->getGroups():[]);
|
$groups=($user?$user->getGroups():[]);
|
||||||
|
@ -114,26 +114,28 @@ class ItemRepository extends EntityRepository
|
||||||
|
|
||||||
// Récupération des items par ssoitem
|
// Récupération des items par ssoitem
|
||||||
$itemsssoitems=[];
|
$itemsssoitems=[];
|
||||||
foreach($ssoitems as $ssoitem) {
|
if(is_array($ssoitems)) {
|
||||||
$qb = $this->getEntityManager()->createQueryBuilder();
|
foreach($ssoitems as $ssoitem) {
|
||||||
$qb->select('item')
|
$qb = $this->getEntityManager()->createQueryBuilder();
|
||||||
->from("CadolesPortalBundle:Item", 'item')
|
$qb->select('item')
|
||||||
->where("item.ssoitem=:ssoitem ")
|
->from("CadolesPortalBundle:Item", 'item')
|
||||||
->setParameter("ssoitem",$ssoitem);
|
->where("item.ssoitem=:ssoitem ")
|
||||||
|
->setParameter("ssoitem",$ssoitem);
|
||||||
|
|
||||||
if($iditemcategory && $itemcategoryfilter) {
|
if($iditemcategory && $itemcategoryfilter) {
|
||||||
$qb->andWhere("item.itemcategory=:itemcategory")
|
$qb->andWhere("item.itemcategory=:itemcategory")
|
||||||
->setParameter("itemcategory",$itemcategoryfilter);
|
->setParameter("itemcategory",$itemcategoryfilter);
|
||||||
}
|
|
||||||
|
|
||||||
$itemsssoitems=$qb->getQuery()->getResult();
|
|
||||||
foreach($itemsssoitems as $itemssoitem) {
|
|
||||||
if(!$bookmarksitems->contains($itemssoitem) && !$items->contains($itemssoitem)) {
|
|
||||||
if(!$fgessential || ($fgessential && $itemssoitem->getEssential()))
|
|
||||||
$items->add($itemssoitem);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$itemalls->contains($itemssoitem)) $itemalls->add($itemssoitem);
|
$itemsssoitems=$qb->getQuery()->getResult();
|
||||||
|
foreach($itemsssoitems as $itemssoitem) {
|
||||||
|
if(!$bookmarksitems->contains($itemssoitem) && !$items->contains($itemssoitem)) {
|
||||||
|
if(!$fgessential || ($fgessential && $itemssoitem->getEssential()))
|
||||||
|
$items->add($itemssoitem);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$itemalls->contains($itemssoitem)) $itemalls->add($itemssoitem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,6 +117,10 @@ cadoles_portal_config_item_order:
|
||||||
path: /config/item/order
|
path: /config/item/order
|
||||||
defaults: { _controller: CadolesPortalBundle:Item:order }
|
defaults: { _controller: CadolesPortalBundle:Item:order }
|
||||||
|
|
||||||
|
cadoles_portal_config_item_forceorder:
|
||||||
|
path: /config/item/forceorder
|
||||||
|
defaults: { _controller: CadolesPortalBundle:Item:forceorder }
|
||||||
|
|
||||||
cadoles_portal_config_ajax_item_seleclist:
|
cadoles_portal_config_ajax_item_seleclist:
|
||||||
path: /config/item/ajax/selectlist
|
path: /config/item/ajax/selectlist
|
||||||
defaults: { _controller: CadolesPortalBundle:Item:ajaxseleclist }
|
defaults: { _controller: CadolesPortalBundle:Item:ajaxseleclist }
|
||||||
|
|
|
@ -0,0 +1,138 @@
|
||||||
|
<table class="table table-striped table-bordered table-hover dataTable no-footer">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>Libellé du service</td>
|
||||||
|
<td>Description</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>ACCUEIL</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>ACTUALITES</td>
|
||||||
|
<td>Création ou publication d’actualités, publiques ou privées. Le marquage de ce service ne comprend pas l’accès en consultation à ces actualités, qu’elles soient publiques ou privées</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>CAHIER_TEXTES</td>
|
||||||
|
<td>Description du travail fait en classe par séquence, des points du programme abordés, des modalités pédagogiques utilisées…<br><br>Programmation du travail à faire en dehors de la classe (Devoirs).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>CAHIER_LIAISON</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>COURRIER_ELECTRONIQUE</td>
|
||||||
|
<td>Courrier électronique, Carnet d'adresses, Annuaire, Liste de diffusion.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>MESSAGERIE_INSTANTANEE</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>VISIOCONFERENCE</td>
|
||||||
|
<td>Services associés à l’organisation et l’animation de visioconférences. </td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>STOCKAGE_PARTAGE</td>
|
||||||
|
<td>Chargement, stockage de fichiers pouvant ou non être partagés avec d’autres utilisateurs</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>PRODUCTION_COLLABORATIVE</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>DOCUMENTATION_CDI</td>
|
||||||
|
<td>Accès au catalogue de ressources proposées par le CDI, consultation et gestion des ressources, prêts, …</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>PARCOURS_PEDAGOGIQUE</td>
|
||||||
|
<td>Utilisation des outils permettant la production de nouvelles ressources pédagogiques (LMS).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>RESERVATION_SALLES_MATERIELS</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>SERVICE_COLLECTIVITE</td>
|
||||||
|
<td>Utilisation des services proposés par les collectivités aux établissements ou aux familles (Exemples : cantine, transports, bourses, …).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>SERVICES_VIE_SCOLAIRE</td>
|
||||||
|
<td>Accès à des logiciels de vie scolaire ne permettant pas de marquer finement le type de services utilisés.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>GESTION_TEMPS</td>
|
||||||
|
<td>Gestion de l’agenda et des tâches personnelles ou de groupe. Visualisation de l’emploi du temps.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>ABSENCES</td>
|
||||||
|
<td>Saisie ou visualisation des absences.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>GESTION_COMPETENCES</td>
|
||||||
|
<td>Mise à jour, validation ou visualisation de compétences.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>NOTES</td>
|
||||||
|
<td>Saisie ou visualisation des notes (relevés de notes, bulletins).</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>MANUEL_NUMERIQUE</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>RESSOURCE_MULTIMEDIA</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>RESSOURCE_ORIENTATION</td>
|
||||||
|
<td>Accès aux contenus et services proposés dans le cadre des actions d’orientation.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>RESSOURCE_PRODUCTION</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>RESSOURCE_ACCOMPAGNEMENT_ENTRAINEMENT</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>RESSOURCE_REFERENCE_DICTIONNAIRE</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>RESSOURCE_DOCUMENTAIRE</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>PAGE_ENT</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
|
@ -67,11 +67,10 @@
|
||||||
{{ form_row(form.ssoitem) }}
|
{{ form_row(form.ssoitem) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if form.clicksonde is defined %}
|
{% if form.clicksondeservice is defined %}
|
||||||
{{ form_row(form.clicksonde) }}
|
{{ form_label(form.clicksondeservice) }}
|
||||||
<div id="divclicksondeservice">
|
<a id="dnmainfo" type="button" class="btn btn-link" data-toggle="modal" data-target="#dnma" style="float:right"><i class="fa fa-info"></i></a>
|
||||||
{{ form_row(form.clicksondeservice) }}
|
{{ form_widget(form.clicksondeservice) }}<br>
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{{ form_row(form.color) }}
|
{{ form_row(form.color) }}
|
||||||
|
@ -90,6 +89,23 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ form_end(form) }}
|
{{ form_end(form) }}
|
||||||
|
|
||||||
|
<div id="dnma" class="modal fade bs-item-modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-lg">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||||
|
<h4 class="modal-title">Services</h4>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-body">
|
||||||
|
{{ include('@CadolesPortal/Item/dnma.html.twig') }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block localjavascript %}
|
{% block localjavascript %}
|
||||||
|
@ -133,13 +149,5 @@
|
||||||
if($("#item_target").val()=="frame") {
|
if($("#item_target").val()=="frame") {
|
||||||
$("#divhelp").show();
|
$("#divhelp").show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if($("#item_clicksonde").is(':checked')) {
|
|
||||||
$("#divclicksondeservice").show();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$("#divclicksondeservice").hide();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -11,6 +11,8 @@
|
||||||
<p>
|
<p>
|
||||||
<a href="{{ path('cadoles_portal_config_item_submit') }}" class="btn btn-success">Ajouter un Item</a>
|
<a href="{{ path('cadoles_portal_config_item_submit') }}" class="btn btn-success">Ajouter un Item</a>
|
||||||
<a href="{{ path('cadoles_portal_config_itemcategory_submit') }}" class="btn btn-success">Ajouter une Categorie</a>
|
<a href="{{ path('cadoles_portal_config_itemcategory_submit') }}" class="btn btn-success">Ajouter une Categorie</a>
|
||||||
|
|
||||||
|
<a href="{{ path('cadoles_portal_config_item_forceorder') }}" class="btn btn-success pull-right">Ordonner les items en alpha</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="category-list">
|
<div class="category-list">
|
||||||
|
|
Loading…
Reference in New Issue