Compare commits

...

4 Commits

Author SHA1 Message Date
Arnaud Fornerot 5f933a67b9 Merge branch 'master' into dist/envole/6/master 2019-12-06 10:59:04 +01:00
afornerot 4fa5cb30ea correction 2019-12-06 11:00:10 +01:00
afornerot 92ce9cbaaa correction 2019-12-06 10:55:14 +01:00
afornerot a095f6504b correction style 2019-12-06 10:16:02 +01:00
9 changed files with 856 additions and 105 deletions

View File

@ -599,9 +599,11 @@ class GroupController extends Controller
// Notification message // Notification message
$usergroup = $em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(array("user"=>$this->getUser(),"group"=>$id)); $usergroup = $em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(array("user"=>$this->getUser(),"group"=>$id));
if($usergroup) {
$user=$em->getRepository("CadolesCoreBundle:User")->find($this->getUser()); $user=$em->getRepository("CadolesCoreBundle:User")->find($this->getUser());
$message="Désinscription de l'utilisateur<br>".$user->getLastname()." ".$user->getFirstname()."<br>Par ".$this->getUser()->getLastname()." ".$this->getUser()->getFirstname();; $message="Désinscription de l'utilisateur<br>".$user->getLastname()." ".$user->getFirstname()."<br>Par ".$this->getUser()->getLastname()." ".$this->getUser()->getFirstname();;
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($usergroup->getKeyvalue(),$this->getUser()->getId(),$id,$message); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($usergroup->getKeyvalue(),$this->getUser()->getId(),$id,$message);
}
// Desinscription // Desinscription
$em->remove($usergroup); $em->remove($usergroup);

View File

@ -138,12 +138,15 @@ class uploadListener
if($fgexit) $message="Modification fichier<br>".$filename; if($fgexit) $message="Modification fichier<br>".$filename;
else $message="Création fichier<br>".$filename; else $message="Création fichier<br>".$filename;
$key=$this->em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->token->getToken()->getUser()])->getKeyvalue(); $usergroup=$this->em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->token->getToken()->getUser()]);
if($usergroup) {
$key=$usergroup->getKeyvalue();
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->token->getToken()->getUser()->getId(),$group->getId(),$message); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->token->getToken()->getUser()->getId(),$group->getId(),$message);
} }
} }
} }
} }
}
$response = $event->getResponse(); $response = $event->getResponse();
$response['file'] = $filename; $response['file'] = $filename;

View File

@ -372,11 +372,11 @@ a.item-heart {
.grid .grid-small { .grid .grid-small {
width:100px; width:100px;
height:120px; height:130px;
} }
.grid .grid-small .item-link { .grid .grid-small .item-link {
height:120px; height:130px;
} }
.grid .grid-small .grid-item-logo { .grid .grid-small .grid-item-logo {

View File

@ -8,23 +8,12 @@ templatetour+="<div class='popover-content'></div>";
templatetour+="<div class='popover-navigation'>"; templatetour+="<div class='popover-navigation'>";
templatetour+="<button class='btn btn-sm btn-default' data-role='prev'>« Prec</button>"; templatetour+="<button class='btn btn-sm btn-default' data-role='prev'>« Prec</button>";
templatetour+="<button class='btn btn-sm btn-default' data-role='next'>Suiv »</button>"; templatetour+="<button class='btn btn-sm btn-default' data-role='next'>Suiv »</button>";
templatetour+="<button class='btn btn-sm btn-default' data-role='end'>Tuto Accueil</button>"; templatetour+="<button class='btn btn-sm btn-default' data-role='end'>Aide Accueil</button>";
templatetour+="<a style='float:right' target='_blank' href='https://transnum.ac-dijon.fr/moodle/pluginfile.php/1376/mod_resource/content/1/Tutoriel%20page%20groupe.pdf'><button class='btn btn-sm btn-default'>Tutoriel Groupe</button></a>";
templatetour+="<button class='btn btn-sm btn-default' data-role='end'>Fin</button>";
templatetour+="</div>"; templatetour+="</div>";
templatetour+="</div>"; templatetour+="</div>";
var templatetour2;
templatetour2 ="<div class='popover tour' style='max-width:500px !important;'>";
templatetour2+="<div class='arrow'></div>";
templatetour2+="<h3 class='popover-title'></h3>";
templatetour2+="<div class='popover-content'></div>";
templatetour2+="<div class='popover-navigation'>";
templatetour2+="<button class='btn btn-sm btn-default' data-role='prev'>« Prec</button>";
templatetour2+="<button class='btn btn-sm btn-default' data-role='next'>Suiv »</button>";
templatetour2+="<button class='btn btn-sm btn-default' data-role='end'>Tuto Ajout Bureau</button>";
templatetour2+="</div>";
templatetour2+="</div>";
var templatetourSolo; var templatetourSolo;
templatetourSolo="<div class='popover tour' style='max-width:500px !important;'>"; templatetourSolo="<div class='popover tour' style='max-width:500px !important;'>";
templatetourSolo+="<div class='arrow'></div>"; templatetourSolo+="<div class='arrow'></div>";
@ -45,10 +34,23 @@ templatetourLink+="<div class='popover-content'></div>";
templatetourLink+="<div class='popover-navigation'>"; templatetourLink+="<div class='popover-navigation'>";
templatetourLink+="<button class='btn btn-sm btn-default' data-role='prev'>« Prec</button>"; templatetourLink+="<button class='btn btn-sm btn-default' data-role='prev'>« Prec</button>";
templatetourLink+="<button class='btn btn-sm btn-default' data-role='next'>Suiv »</button>"; templatetourLink+="<button class='btn btn-sm btn-default' data-role='next'>Suiv »</button>";
templatetourLink+="<a target='_blank' href='https://transnum.oo.ac-dijon.fr/products/files/doceditor.aspx?fileid=10627&doc=bW54dUwybk5NN1Z3Wk0zUU9RengzQStKZU5naWdZWFJUZlk1L0VOU3ErWT0_IjEwNjI3Ig2'><button class='btn btn-sm btn-default'>page groupe</button></a>"; templatetourLink+="<a target='_blank' href='https://transnum.ac-dijon.fr/moodle/pluginfile.php/1376/mod_resource/content/1/Tutoriel%20page%20groupe.pdf'><button class='btn btn-sm btn-default'>Tutoriel Groupe</button></a>";
templatetourLink+="<button class='btn btn-sm btn-default' data-role='end'>Fin</button>";
templatetourLink+="</div>"; templatetourLink+="</div>";
templatetourLink+="</div>"; templatetourLink+="</div>";
var templatetourLinkAdmin;
templatetourLinkAdmin="<div class='popover tour' style='max-width:500px !important;'>";
templatetourLinkAdmin+="<div class='arrow'></div>";
templatetourLinkAdmin+="<h3 class='popover-title'></h3>";
templatetourLinkAdmin+="<div class='popover-content'></div>";
templatetourLinkAdmin+="<div class='popover-navigation'>";
templatetourLinkAdmin+="<button class='btn btn-sm btn-default' data-role='prev'>« Prec</button>";
templatetourLinkAdmin+="<button class='btn btn-sm btn-default' data-role='next'>Suiv »</button>";
templatetourLinkAdmin+="<a target='_blank' href='https://transnum-portail.ac-dijon.fr/moodle/pluginfile.php/6759/mod_resource/content/1/Tutoriel%20Administration%20portail.pdf'><button class='btn btn-sm btn-default'>Tutoriel Admin portail</button></a>";
templatetourLinkAdmin+="<button class='btn btn-sm btn-default' data-role='end'>Fin</button>";
templatetourLinkAdmin+="</div>";
templatetourLinkAdmin+="</div>";
function callTour(mytour) { function callTour(mytour) {
// Tour entête // Tour entête
@ -92,10 +94,10 @@ function MyTour() {
content: "Accédez ici aux outils de configuration de Transnum" content: "Accédez ici aux outils de configuration de Transnum"
}, },
{ {
element: $("[title=Tuto]"), element: $("[title=Aide]"),
title: "Tutoriel", title: "Aide",
placement : "left", placement : "left",
content: "A tout moment et dans toutes les pages de Transnum, cliquez ici pour trouver une aide contextuelle !" content: "A tout moment et <strong>dans toutes les pages de Transnum</strong>, cliquez ici pour trouver une aide contextuelle !"
}, },
{ {
element: "#menu-annuaire", element: "#menu-annuaire",
@ -128,10 +130,10 @@ function MyTour() {
content: "Vous pouvez, en cliquant ici, créer une page personnelle, que vous pourrez partager ensuite, ou bien créer directement une page rattachée à un groupe." content: "Vous pouvez, en cliquant ici, créer une page personnelle, que vous pourrez partager ensuite, ou bien créer directement une page rattachée à un groupe."
}, },
{ {
element: "#appmenu", element: ".active:first",
title: "Barre de navigation rapide", title: "Barre de navigation rapide",
placement : "bottom", placement : "bottom",
content: "Cette barre vous permet d'accéder rapidement à la page d'accueil et à vos groupes de travail. Vous pouvez maintenant passer à la 2nde partie du tutoriel, consacrée à la page d'accueil.", content: "Cette barre vous permet d'accéder rapidement à la <strong> page d'accueil</strong> et à vos <strong>groupes de travail</strong>. Vous pouvez maintenant passer à la 2nde partie du tutoriel, consacrée à la page d'accueil.",
onNext: function (tour) { onNext: function (tour) {
// On force l'affichage de la premiere frame // On force l'affichage de la premiere frame
top.$(".navbar-left").find("a").eq(0).click(); top.$(".navbar-left").find("a").eq(0).click();
@ -154,48 +156,31 @@ function MyTour() {
function MyTourAccueil() { function MyTourAccueil() {
var tour = new Tour({ var tour = new Tour({
name: "touraccueil", name: "touraccueil",
template: templatetour2, template: templatetourSolo,
onEnd: function(tour) {
jQuery.ajax({
type: "GET",
url: "/ninegate/page/application",
dataType:"text",
success:function(response){
var newDoc = document.open("text/html", "replace");
newDoc.write(response);
newDoc.close();
MyTourApplication();
},
error: function(xhr, textStatus, errorThrown) {
console.log('Error! Status = ' + xhr.status);
setTimeout(MyTourApplication(), 2500);
}
});
},
steps: [ steps: [
{ {
element: $(".widget-itemessential").find(".widgetheader"), element: $(".widget-itemessential").find(".widgetheader"),
title: "le Bureau", title: "le Bureau",
placement : "right", placement : "right",
content: "Dans ce premier panneau d'outils, vous trouvez les applications qui vous sont proposées. Passez votre souris sur les différentes applications pour faire apparaître le 'i' et avoir une information sur chaque application. En cliquant sur le bouton '+', vous avez accès à d'autres applications.", content: "Dans ce premier panneau d'outils, vous trouvez les applications qui vous sont proposées. En cliquant sur le bouton '?' à l'intérieur de ce panneau, vous ouvrez une nouvelle page de votre navigateur avec un tutoriel sur la gestion du bureau et l'ajout de nouvelles applications.",
}, },
{ {
element: $(".widget-group").find(".widgetheader"), element: $(".widget-group").find(".widgetheader"),
title: "Mes Groupes de travail", title: "Mes Groupes de travail",
placement : "right", placement : "right",
content: "Dans le 2nd panneau d'outils, vous trouvez les 'groupes de travail' auxquels vous avez été invités et ceux que vous avez créés. En cliquant sur le bouton '+', vous pouvez créer un groupe de travail.", content: "Dans le 2nd panneau d'outils, vous trouvez les 'groupes de travail' auxquels vous avez été invités et ceux que vous avez créés. En cliquant sur le bouton '+', vous accédez à une nouvelle page qui vous permet de créer un groupe de travail. N'oubliez pas que dans chaque nouvelle page que vous ouvrez, vous avez accès à une aide en cliquant sur le bouton ' ? ' en haut de page.",
}, },
{ {
element: $(".widget-blog").find(".widgetheader"), element: $(".widget-blog").find(".widgetheader"),
title: "Journaux des groupes", title: "Journaux des groupes",
placement : "right", placement : "right",
content: "Ici, vous trouvez les 'Journaux des Groupes' auxquels vous avez été invités et ceux que vous avez créés. Ils vous donnent les principales nouvelles concernant vos groupes de travail.", content: "Ici, vous trouvez les 'Journaux des Groupes' auxquels vous avez été invités et ceux que vous avez créés. Ils vous donnent les principales nouvelles concernant vos groupes de travail. En survolant cette zone avec votre souris, vous ferez apparaître l'icône vous permettant d'ajouter un article, selon les droits que vous avez dans les groupes.",
}, },
{ {
element: $(".widget-alert").find(".widgetheader"), element: $(".widget-alert").find(".widgetheader"),
title: "Radio Transnum", title: "Radio Transnum",
placement : "left", placement : "left",
content: "Dans ce panneau, vous trouvez les annonces et nouvelles d'intérêt général, qui concernent tous les membres du portail. ", content: "Dans ce panneau, vous trouvez les annonces et nouvelles d'intérêt général, qui concernent tous les membres du portail. Vous pouvez replier ce widget en cliquant sur son titre ' RADIO TRANSNUM', tous les widgets peuvent être repliés de la même façon.",
}, },
{ {
element: $(".widget-groupmessage").find(".widgetheader"), element: $(".widget-groupmessage").find(".widgetheader"),
@ -207,7 +192,7 @@ setTimeout(MyTourApplication(), 2500);
element: $(".widget-calendar").find(".widgetheader"), element: $(".widget-calendar").find(".widgetheader"),
title: "Agenda des groupes", title: "Agenda des groupes",
placement : "left", placement : "left",
content: "Dans ce panneau, vous trouvez les prochains évènements de vos agendas de groupes. ", content: "Dans ce panneau, vous trouvez les prochains évènements de vos agendas de groupes. En survolant avec votre souris cette zone, vous ferez apparaître l'icône vous permettant d'accéder à votre agenda.",
}, },
{ {
element: $(".widget-appexternal").find(".widgetheader"), element: $(".widget-appexternal").find(".widgetheader"),
@ -433,7 +418,7 @@ function Groups() {
element: $("#dataTables_filter"), element: $("#dataTables_filter"),
title: "Liste des groupes", title: "Liste des groupes",
placement : "top", placement : "top",
content: "Voici la liste de tous les groupes où vous êtes inscrits. Pour ceux que vous avez créés vous en êtes 'propriétaire'. Pour les autres groupes, soit vous en êtes 'manager', dans ce cas vous pouvez les gérer (en particulier ajouter des utilisateurs), soit vous êtes seulement 'utilisateur', dans ce cas vous avez accès aux contenus auxquels vous pouvez contribuer et avez aussi la possibilité de quitter le groupe. A gauche de ce message, vous disposez aussi d'un bouton vous permettant de créer un nouveau groupe. Maintenant continuez ce tutoriel en cliquant sur 'page groupe' ", content: "Voici la liste de tous les groupes où vous êtes inscrits. Pour ceux que vous avez créés vous en êtes 'propriétaire'. Pour les autres groupes, soit vous en êtes 'manager', dans ce cas vous pouvez les gérer (en particulier ajouter des utilisateurs), soit vous êtes seulement 'utilisateur', dans ce cas vous avez accès aux contenus auxquels vous pouvez contribuer et avez aussi la possibilité de quitter le groupe. A gauche de ce message, vous disposez aussi d'un bouton vous permettant de créer un nouveau groupe. Maintenant continuez ce tutoriel en cliquant sur 'Tutoriel Groupe' ci-dessous. ",
}, },
] ]
}); });
@ -465,7 +450,7 @@ function MyTourPage() {
{ {
element: $("#page_submit_pagecategory"), element: $("#page_submit_pagecategory"),
title: "Catégorie de page WIDGET", title: "Catégorie de page WIDGET",
placement : "top", placement : "bottom",
content: "Si vous choisissez 'Widget' vous pourrez composer votre page avec des widgets existants dans votre groupe (comme l'agenda, le chat...) : dans ce cas attention à ne pas faire double emploi avec la page principale du groupe (cela peut être intéressant pour un sous-projet par exemple)", content: "Si vous choisissez 'Widget' vous pourrez composer votre page avec des widgets existants dans votre groupe (comme l'agenda, le chat...) : dans ce cas attention à ne pas faire double emploi avec la page principale du groupe (cela peut être intéressant pour un sous-projet par exemple)",
}, },
{ {
@ -489,12 +474,17 @@ function MyTourPage() {
element: $("#page_submit_roworder"), element: $("#page_submit_roworder"),
title: "ordre", title: "ordre",
placement : "top", placement : "top",
content: "Laissez 0 par défaut, un autre chiffre n'a aucun impact sur l'ordre de présentation des pages.", content: "Par défaut, la page principale du groupe doit apparaître en 1er, l'ordre de cette page étant donc 0. Quand vous ajoutez une page, indiquez ordre 1 si vous souhaitez que celle-ci apparaisse en dessous de la page principale du groupe, si vous avez plusieurs pages, vous pouvez utiliser 2, 3... pour les hiérarchiser. Vous pourrez modifier l'ordre des différentes pages à tout moment si besoin.",
},{ },{
element: $("#page_submit_maxwidth"), element: $("#page_submit_maxwidth"),
title: "Usage de la page", title: "Usage de la page",
placement : "top", placement : "top",
content: "Laissez sur 0, votre page s'adaptera à la largeur de l'affichage de l'utilisateur.", content: "Laissez sur 0, votre page s'adaptera à la largeur de l'affichage de l'utilisateur.",
},{
element: $("#page_submit_submit"),
title: "Enregistrer la page",
placement : "bottom",
content: "Pour finir, enregistrez votre page, en cliquant sur 'valider'.",
}, },
] ]
}); });
@ -506,28 +496,699 @@ function MyTourPage() {
tour.goTo(0); tour.goTo(0);
tour.restart(); tour.restart();
} }
function MyTourApplication() { function AdminHome() {
var tour = new Tour({ var tour = new Tour({
name: "tourApplication", name: "adminhome",
template: templatetourSolo, template: templatetourSolo,
steps: [ steps: [
{ {
element: $("#searchitems"), element: $("#side-menu"),
title: "Favoris", title: "Configuration du portail",
placement : "top", placement : "Right",
content: "Ajouter une application existante à vos favoris en cliquant sur le bouton ' ♥ ' qui se trouve en haut à gauche du bouton de l'application que vous avez choisie d'ajouter comme favori.", content: "Cliquez sur 'Configuration' pour développer les sous-menus de configuration du portail.",
}, },
{ {
element: $("#searchitems"), element: $("#side-menu"),
title: "Favoris", title: "Organisation du portail",
placement : "top", placement : "right",
content: "Cliquez sur le bouton ' + ' pour créer un favori : vous devrez alors indiquer l'URL de la page (Application ou espace collaboratif) que vous souhaitez ouvrir avec ce favori.", content: "Cliquez sur 'Organisation' pour définir la liste blanche, les services, les groupes... et gérer les utilisateurs.",
}, },
{ {
element: $("#searchitems"), element: $(".fa-cubes"),
title: "Applications", title: "Portail",
placement : "bottom",
content: "Cliquez ici pour définir les modèles de page, gérer les pages, items, annonces... bref tous les éléments du portail.",
},
{
element: $(".fa-exchange"),
title: "Synchronisation",
placement : "bottom",
content: "Permet de synchroniser manuellement les applications avec le LDAP du portail et de modifier les paramètres de synchronisation.",
},
{
element: $(".fa-bolt"),
title: "Cron",
placement : "bottom",
content: "Permet de lancer manuellement des tâches de synchronisation et de notification et de définir l'instant auquel la prochaine tâche sera effectuée.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminCommun() {
var tour = new Tour({
name: "admincommun",
template: templatetourSolo,
steps: [
{
element: $(".panel-heading"),
title: "paramètres de configuration générale",
placement : "top", placement : "top",
content: "Cliquez sur le bouton ' i ' en haut à droite du bouton de l'application, pour savoir ce que cette application vous permet de réaliser.", content: "Attention, ces paramètres déterminent la présentation générale de Transnum, vous ne devriez pas avoir à les modifier, à part peut-être le dernier paramètre 'permgroup', si vous souhaitez restreindre la création de groupe aux animateurs ou aux modérateurs.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminTheme() {
var tour = new Tour({
name: "admintheme",
template: templatetourSolo,
steps: [
{
element: $(".col-sm-3:first"),
title: "Thème",
placement : "right",
content: "Attention, ne pas modifier le thème en cours ! cela impacterait l'affichage du site pour tous les utilisateurs.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminPermmodo() {
var tour = new Tour({
name: "adminpermmodo",
template: templatetourSolo,
steps: [
{
element: $(".panel-heading"),
title: "Permissions des modérateurs",
placement : "top",
content: "C'est ici que vous définissez les permissions que vous donnez aux modérateurs (en général les SIDSIC et responsables SI des services). Ces paramètres doivent être changés après réflexion et test sur un compte modérateur que vous vous serez préalablement créé. Les 6 premiers et les 3 derniers doivent toujours rester sur 'off'.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminDatauser() {
var tour = new Tour({
name: "admindatauser",
template: templatetourSolo,
steps: [
{
element: $("#datauser_firstname"),
title: "Affichage fiche utilisateur",
placement : "top",
content: "Pour chacun des champs ci-dessous, vous déterminez si le champ doit apparaître dans la fiche utilisateur (sa fiche profil) si le champ doit être obligatoirement rempli (important pour l'import de nouveaux utilisateurs) ou si le remplissage est facultatif. Attention, un champ bloqué ne pourra pas être modifié par l'utilisateur. Les champs login, nom, service et email devant rester des champs obligatoires (pour le login : champ bloqué), ils n'apparaissent pas dans la liste ci-dessous.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminDatausers() {
var tour = new Tour({
name: "admindatausers",
template: templatetourSolo,
steps: [
{
element: $("#datauser_avatar"),
title: "Affichage annuaire",
placement : "top",
content: "Vous déterminez ici les champs qui s'afficheront dans l'annuaire des utilisateurs. Notez bien que la recherche pourra s'effectuer sur tous les champs sauf le téléphone, la localisation et les groupes. Concernant les groupes, nous recommandons de ne pas rendre visible cette information (qui peut cependant être affichée si on clique sur l'avatar de la personne).",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminWhitelist() {
var tour = new Tour({
name: "adminwhitelist",
template: templatetourSolo,
steps: [
{
element: $(".btn"),
title: "Ajouter un service en liste blanche",
placement : "right",
content: "Ajouter un service en liste blanche permet d'autoriser par principe toute personne ayant une adresse mail valide dans ce domaine à créer un compte dans Transnum, sans intervention d'un administrateur ou d'un modérateur.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminServices() {
var tour = new Tour({
name: "adminservices",
template: templatetourSolo,
steps: [
{
element: $(".btn"),
title: "Ajouter un service",
placement : "right",
content: "Ajouter un service permet de gérer des groupes organisationnels de taille significative dans Transnum. Attention à ne pas trop multiplier le nombre de groupes et à bien vérifier que le groupe n'existe pas déjà sous un nom proche avant de l'ajouter. Tout membre de Transnum doit appartenir à un service (dont le service 'autres' pour les externes).",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminEtablissements() {
var tour = new Tour({
name: "adminetablissements",
template: templatetourSolo,
steps: [
{
element: $(".btn"),
title: "Ajouter un établissement à un service",
placement : "right",
content: "Ajouter un établissement à un service permet de localiser toute personne appartenant à un service dans l'établissement où elle est rattachée, cette information apparaissant notamment dans l'annuaire.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminGroup() {
var tour = new Tour({
name: "admingroup",
template: templatetourSolo,
steps: [
{
element: $(".btn"),
title: "Ajouter un groupe",
placement : "right",
content: "Ajouter un groupe en tant qu'admin, vous permet de désigner le propriétaire du groupe, de constituer le groupe et de le configurer à la place du propriétaire final. En cliquant sur 'Ajouter', vous ouvrirez une nouvelle page et trouverez une aide contextuelle dans celle-ci.",
},
{
element: $(".panel-heading"),
title: "Liste des groupes",
placement : "top",
content: "Pour chaque groupe, vous pouvez modifier sa configuration, le supprimer (attention cela est aussi susceptible de supprimer des contenus) et modifier la composition et les rôles des membres du groupe, de la même façon qu'un propriétaire peut le faire. Seul le groupe 'Tout le monde' ne peut être supprimé et modifié dans sa composition - par contre, vous pouvez modifier ses paramètres mais faîtes bien attention à ce que vous faîtes car cela modifie la page d'accueil, les permissions et les éléments du portail pour l'ensemble des utilisateurs de Transnum.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminGroupSubmit() {
var tour = new Tour({
name: "admingroupsubmit",
template: templatetourSolo,
steps: [
{
element: $("#group_label"),
title: "Donner un nom",
placement : "top",
content: "Donner un nom au groupe : ce nom doit être court et caractériser la thématique ou la vocation du groupe. Le nom du groupe est le principal élément d'identification du groupe de travail ou du groupe organisationnel.",
},
{
element: $("#group_description"),
title: "Description",
placement : "top",
content: "S'il s'agit d'un groupe de travail, vous pouvez préciser ici les objectifs de votre groupe ou tout autre élément permettant de le décrire. Ces éléments seront affichés sur la page du groupe de travail.",
},
{
element: $("#group_color"),
title: "Couleur du groupe",
placement : "top",
content: "La couleur que vous choisissez ici permet de différencier visuellement les actualités qui remontent sur votre page d'accueil (une couleur spécifique pour chaque groupe).",
},
{
element: $("#select2-group_owner-container"),
title: "Désigner un propriétaire",
placement : "top",
content: "Il est indispensable pour un groupe de travail de désigner le propriétaire du groupe. Pour un groupe organisationnel, ce n'est pas obligatoire. Le propriétaire dispose de tous les droits sur le groupe.",
},
{
element: $("#group_fgopen"),
title: "Ouvert ou fermé ?",
placement : "top",
content: "Un groupe ouvert permet à tout utilisateur inscrit sur Transnum de d'inscrire dans le groupe, sans qu'aucune intervention du propriétaire ou d'un manager ne soit nécessaire. Pour décider des inscriptions choisir 'non' (groupe fermé) : dans ce cas le propriétaire ou un manager doit procéder aux inscriptions nominatives des membres du groupe.",
},
{
element: $("#group_fgcanshare"),
title: "Type de groupe",
placement : "top",
content: "S'il s'agit d'un groupe de travail, le groupe disposera par défaut d'une page de groupe sur la page d'accueil, avec différentes fonctionnalités associées (calendrier, blog, espace de co-rédaction de documents, Gantt...). Si vous indiquez non, le groupe sera considéré comme un groupe organisationnel, sans fonctionnalités spécifiques associées.",
},
{
element: $("#group_pagetemplate"),
title: "Modèle de page de groupe de travail",
placement : "top",
content: "Choisissez un modèle de page pour le groupe.",
},
{
element: $("#diviconsel"),
title: "Icône du groupe",
placement : "top",
content: "Choisissez l'icône pour le groupe en cliquant sur 'Sélectionner un icône'. ",
},
{
element: $("#group_fgcancreatepage"),
title: "Permissions du portail",
placement : "top",
content: "A préciser.",
},
{
element: $(".panel-heading:last"),
title: "Elements du portail",
placement : "top",
content: "Vos choix ici n'ont d'incidence que s'il s'agit d'un groupe de travail. Vous pouvez définir ici d'autres modalités pour votre groupe de travail que celles définies par défaut lors de la création d'un groupe par un utilisateur : par exemple ne pas afficher la page de groupe du modèle, mais une page de votre choix ou même la page d'un autre groupe... ",
},
{
element: $("#group_submit"),
title: "Valider",
placement : "right",
content: "Pour finir, n'oubliez pas de valider !",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminRegistration() {
var tour = new Tour({
name: "adminregistration",
template: templatetourLinkAdmin,
steps: [
{
element: $(".panel-heading"),
title: "Gestion des inscriptions",
placement : "top",
content: "Comme adminstrateur, vous devez surtout vous intéresser aux inscriptions en attente d'une validation par un administrateur (voir colonne statut - se reporter au PDF consacré à ce sujet en cliquant sur le bouton 'tutoriel Admin Portail').",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminUser() {
var tour = new Tour({
name: "adminuser",
template: templatetourSolo,
steps: [
{
element: $(".btn"),
title: "Ajouter un utilisateur",
placement : "right",
content: "Ajouter un utilisateur dans Transnum, sans intervention de l'utilisateur, vous devrez simplement lui indiquer le mot de passe que vous avez créé pour lui ou de façon plus sûre, lui demander de réinitialiser son mot de passe à la 1ère connexion (dans ce cas ne lui communiquez pas le mot de passe d'origine) - dans tous les cas n'oubliez pas de communiquer le login à l'utilisateur.",
},
{
element: $(".panel-heading"),
title: "Ajouter un utilisateur",
placement : "top",
content: "Modifier ou supprimer un utilisateur en utilisant d'abord l'outil de recherche pour le trouver puis en sélectionnant l'icône requise. En choisissant l'action 'modifier', vous pourrez notamment changer son adresse email ou lui ajouter des groupes.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminImportuser() {
var tour = new Tour({
name: "adminimportuser",
template: templatetourSolo,
steps: [
{
element: $(".btn:first"),
title: "Choisissez votre fichier",
placement : "top",
content: "Attention, suivez bien les indications incluses dans cette page : votre fichier doit être de type ' CSV ; ' et comporter au minimum les 4 entêtes de colonnes et le contenu pour chaque ligne sur les champs suivants : ' login; nom; email; niveau01 ' - niveau01 correspond au service. les autres libellés sont optionnels mais s'ils sont présents dans votre fichier, ils doivent respecter le libellé exact (exemple 'prenom' sans accent) et les options de réponses doivent avoir été préalablement créées pour certains champs notamment niveau02 (établissement).",
},
{
element: $("#exec"),
title: "Lancer l'import",
placement : "top",
content: "Si votre fichier est correctement reconnu, vous pouvez lancer l'importation de votre liste.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminTemplate() {
var tour = new Tour({
name: "admintemplate",
template: templatetourSolo,
steps: [
{
element: $(".btn"),
title: "Ajouter un modèle",
placement : "right",
content: "Cliquez ici pour ajouter un nouveau modèle. Votre nouveau modèle sera accessible aux utilisateurs comme modèle de page de groupe (group), de page personnelle (user), ou de page d'applications (app), la création d'un nouveau modèle doit donc être préalablement réfléchie pour répondre aux besoins des utilisateurs. ",
},
{
element: $(".fa-trash:first"),
title: "Supprimer un modèle",
placement : "right",
content: "Attention à laisser au moins un modèle par catégorie (page de groupe, page personnelle, ou page d'applications).",
},
{
element: $(".fa-eye:first"),
title: "voir un modèle",
placement : "right",
content: "Voir un modèle vous permet d'en avoir un aperçu mais aussi vous donne accès à la modification des widgets et leur organisation dans la page.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminTemplateSubmit() {
var tour = new Tour({
name: "admintemplatesubmit",
template: templatetourSolo,
steps: [
{
element: $("#pagetemplate_submit_name"),
title: "Donner un nom",
placement : "top",
content: "Commencez par donner un nom à votre modèle. Les modèles étant a priori accessibles à tous les utilisateurs, il faut faire en sorte que le nom ait un sens qui évoque la principale caractéristique du modèle.",
},
{
element: $("#pagetemplate_submit_parentfor"),
title: "Choisir le type de page",
placement : "top",
content: "Indiquez ici sur quel type de page s'applique le modèle : page personnelle, page de groupe ou page d'applications.",
},
{
element: $("#pagetemplate_submit_roworder"),
title: "Ordre de présentation du modèle",
placement : "top",
content: "Il s'agit de l'ordre dans lequel vos différents modèles vont être proposés aux utilisateurs dans le menu déroulant de sélection : 0 s'affichera en 1er, puis 1,2...",
}, {
element: $("#pagetemplate_submit_maxwidth"),
title: "Taille d'affichage de la page",
placement : "top",
content: "Laissez 0 par défaut pour que la page soit 'responsive' et s'adapte à l'écran de l'utilisateur.",
}, {
element: $("#pagetemplate_submit_submit"),
title: "Validez",
placement : "top",
content: "N'oubliez pas de valider la création de votre modèle. A l'étape suivante, vous pourrez structurer votre page et définir les utilisateurs potentiels du modèle...",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminTemplateView() {
var tour = new Tour({
name: "admintemplateview",
template: templatetourSolo,
steps: [
{
element: $(".pagemenu"),
title: "Modifier le modèle",
placement : "bottom",
content: "En cliquant sur la 1ère icône, l'icône 'fichier' à droite du nom du modèle, vous avez accès à la modification du nom du modèle, du nombre de lignes et de colonnes dans la page, et vous définissez qui a accès au modèle...",
},
{
element: $(".fa-trash:first"),
title: "supprimer le modèle",
placement : "bottom",
content: "En cliquant ici vous allez supprimer le modèle : nous vous conseillons plutôt de le conserver ou de l'améliorer voir de le rendre inaccessible aux utilisateurs, si vous jugez qu'en l'état il n'est pas pertinent...",
},
{
element: $(".fa-cubes:last"),
title: "Sélectionner de nouveaux widgets",
placement : "bottom",
content: "En cliquant ici vous pouvez sélectionner et ajouter des widgets au sein de votre modèle de page. ",
},
{
element: $("#R1C1"),
title: "Modifier le modèle",
placement : "right",
content: "Pour chaque widget, en survolant avec votre souris le widget, vous allez faire apparaître l'icône de modification et l'icône de suppression du widget. Vous pouvez également cliquer sur l'en-tête d'un widget et le translater dans la page : cela ne modifie pas l'organisation en lignes et colonnes mais cela permet de translater un widget d'une ligne à l'autre et/ou d'une colonne à l'autre.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminTemplateUpdate() {
var tour = new Tour({
name: "admintemplateupdate",
template: templatetourSolo,
steps: [
{
element: $("#page_update_widget_name"),
title: "modifications basiques",
placement : "top",
content: "Vous pouvez modifier le nom , l'ordre d'apparition et l'affichage de votre page.",
},
{
element: $("#select2-page_update_widget_user-container"),
title: "destinataires du modèle",
placement : "top",
content: "Vous pouvez indiquer un autre propriétaire que vous pour ce modèle. Si vous ne renseignez pas les champs 'Visible pour ...' ci-dessous, votre modèle de page personnelle ou d'applications sera accessible à tous les utilisateurs.",
},
{
element: $("#gridtemplate"),
title: "agencement de la page",
placement : "top",
content: "Vous déterminez ici le nombre de blocs en lignes et colonnes de votre page. Cliquez sur ' + ' pour en ajouter, sur la poubelle pour en retirer et réglez la largeur de vos colonnes en cliquant sur les chevrons ' < ' ou ' > '",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminPage() {
var tour = new Tour({
name: "adminpage",
template: templatetourSolo,
steps: [
{
element: $(".panel-heading"),
title: "Liste des pages à gérer",
placement : "top",
content: "Vous trouvez ici la liste des pages que vous pourrez gérer, modifier... avec en particulier la page d'accueil : c'est donc ici que vous accédez à la gestion de la page d'accueil pour l'ensemble des utilisateurs (ou que vous pouvez décider d'afficher des pages d'accueil différentes suivant les services par exemple) - Faîtes donc très attention à ce que vous modifiez ici, l'impact est important pour l'ensemble des utilisateurs.",
},
{
element: $(".control-label"),
title: "Afficher les utilisateurs",
placement : "left",
content: "Si vous placez le sélecteur sur 'on', vous avez accès à l'ensemble des pages utilisateurs du portail - cela peut être utile pour aider ceux-ci dans la gestion de leurs pages par exemple.",
},
{
element: $(".btn"),
title: "Ajouter une page",
placement : "right",
content: "Vous pouvez ajouter ici une page et en affecter la propriété à un utilisateur et/ou la placer dans un groupe...",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminPageSubmit() {
var tour = new Tour({
name: "adminpagesubmit",
template: templatetourSolo,
steps: [
{
element: $("#page_submit_name"),
title: "Donner un nom",
placement : "top",
content: "Commencez par donner un nom à votre page. Il faut faire en sorte que le nom ait un sens qui évoque le contenu de la page.",
},
{
element: $("#page_submit_pagecategory"),
title: "Choisir la catégorie de page",
placement : "top",
content: "Indiquez ici le type de page : calendrier, blog, URL, widgets, éditeur.",
},
{
element: $("#page_submit_usage"),
title: "Usage",
placement : "top",
content: "Indiquez ici si la page est une page personnelle ou une page de groupe.",
},
{
element: $("#select2-page_submit_user-container"),
title: "Propriétaire",
placement : "top",
content: "Indiquez ici le propriétaire de la page.",
},
{
element: $("#page_submit_roworder"),
title: "Ordre de présentation de la page",
placement : "top",
content: "Il s'agit de l'ordre dans lequel votre page va être proposée aux utilisateurs dans la barre de navigation et/ou dans le menu déroulant de sélection : 0 s'affichera en 1er, puis 1,2...",
}, {
element: $("#page_submit_maxwidth"),
title: "Taille d'affichage de la page",
placement : "top",
content: "Laissez 0 par défaut pour que la page soit 'responsive' et s'adapte à l'écran de l'utilisateur.",
}, {
element: $("#page_submit_submit"),
title: "Validez",
placement : "top",
content: "N'oubliez pas de valider la création de votre page. A l'étape suivante, vous pourrez structurer votre page et définir les utilisateurs potentiels...",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminPageView() {
var tour = new Tour({
name: "adminpageview",
template: templatetourSolo,
steps: [
{
element: $(".pagemenu"),
title: "Modifier la page",
placement : "bottom",
content: "En cliquant sur la 1ère icône, l'icône 'fichier' à droite du nom de la page, vous avez accès à la modification du nom, du nombre de lignes et de colonnes dans la page, et vous définissez qui a accès cette page...",
},
{
element: $(".fa-trash:first"),
title: "supprimer la page",
placement : "bottom",
content: "En cliquant ici vous allez supprimer la page : si vous avez un doute sur l'impact de sa suppression, nous vous conseillons plutôt de la conserver ou de l'améliorer voire de la rendre inaccessible aux utilisateurs, si vous jugez qu'en l'état elle n'est pas pertinente...",
},
{
element: $(".fa-cubes:last"),
title: "Sélectionner de nouveaux widgets",
placement : "bottom",
content: "En cliquant ici vous pouvez sélectionner et ajouter des widgets au sein de votre page. ",
},
{
element: $("#R1C1"),
title: "Modifier la page",
placement : "right",
content: "Pour chaque widget, en survolant avec votre souris le widget, vous allez faire apparaître l'icône de modification et l'icône de suppression du widget. Vous pouvez également cliquer sur l'en-tête d'un widget et le translater dans la page : cela ne modifie pas l'organisation en lignes et colonnes mais cela permet de translater un widget d'une ligne à l'autre et/ou d'une colonne à l'autre.",
},
]
});
// Initialize the tour
tour.init();
// Start the tour
tour.goTo(0);
tour.restart();
}
function AdminPageUpdate() {
var tour = new Tour({
name: "adminpageupdate",
template: templatetourSolo,
steps: [
{
element: $("#page_update_widget_name"),
title: "modifications basiques",
placement : "top",
content: "Vous pouvez modifier le nom , l'ordre d'apparition et l'affichage de votre page.",
},
{
element: $("#select2-page_update_widget_user-container"),
title: "destinataires du modèle",
placement : "top",
content: "Vous pouvez indiquer un autre propriétaire que vous pour cette page. Si vous ne renseignez pas les champs 'Visible pour ...' ci-dessous, votre page sera visible pour tous les utilisateurs.",
},
{
element: $("#gridtemplate"),
title: "agencement de la page",
placement : "top",
content: "Vous déterminez ici le nombre de blocs en lignes et colonnes de votre page. Cliquez sur ' + ' pour en ajouter, sur la poubelle pour en retirer et réglez la largeur de vos colonnes en cliquant sur les chevrons ' < ' ou ' > '",
}, },
] ]
}); });
@ -543,25 +1204,91 @@ function MyTourApplication() {
$(document).on('ready', function(){ $(document).on('ready', function(){
var url = document.location.href; var url = document.location.href;
if (new RegExp("ninegate/user/group/submit$").test(url)) { if (new RegExp("ninegate/user/group/submit$").test(url)) {
$("<li><a title='Tuto' style='cursor:pointer'><i onClick='MyTourGroupe()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourGroupe()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
else if (new RegExp("ninegate/user/users$").test(url)) { else if (new RegExp("ninegate/user/users$").test(url)) {
$("<li><a title='Tuto' style='cursor:pointer'><i onClick='MyTourUsers()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourUsers()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
else if (new RegExp("ninegate/user$").test(url)) { else if (new RegExp("ninegate/user$").test(url)) {
$("<li><a title='Tuto' style='cursor:pointer'><i onClick='MyTourUser()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourUser()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
else if (new RegExp("ninegate/user/group$").test(url)) { else if (new RegExp("ninegate/user/group$").test(url)) {
$("<li><a title='Tuto' style='cursor:pointer'><i onClick='Groups()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='Groups()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
else if (new RegExp(/ninegate\/user\/group\/users\/\d+$/).test(url)) { else if (new RegExp(/ninegate\/user\/group\/users\/\d+$/).test(url)) {
$("<li><a title='Tuto' style='cursor:pointer'><i onClick='MyTourGroupUsers()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourGroupUsers()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
else if (new RegExp("ninegate/user/page/submit").test(url)) { else if (new RegExp("ninegate/user/page/submit").test(url)) {
$("<li><a title='Tuto' style='cursor:pointer'><i onClick='MyTourPage()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTourPage()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/commun$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminCommun()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/home$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminHome()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/theme$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminTheme()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/commun/permmodo$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminPermmodo()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/commun/datauser$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminDatauser()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/commun/datausers$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminDatausers()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/whitelist$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminWhitelist()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/niveau01$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminServices()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/niveau02$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminEtablissements()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/group$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminGroup()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/group/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminGroupSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/registration$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminRegistration()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/user$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminUser()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/importuser$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminImportuser()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/template$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminTemplate()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/template/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminTemplateSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp (/ninegate\/config\/template\/view\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminTemplateView()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp (/ninegate\/config\/template\/update\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminTemplateUpdate()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/page$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminPage()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp("ninegate/config/page/submit$").test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminPageSubmit()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp (/ninegate\/config\/page\/view\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminPageView()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
}
else if (new RegExp (/ninegate\/config\/page\/update\/\d+$/).test(url)) {
$("<li><a title='Aide' style='cursor:pointer'><i onClick='AdminPageUpdate()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
// Instance the Tour // Instance the Tour
else if($("#menu-annuaire".length)) { else if($("#menu-annuaire".length)) {
$("<li><a title='Tuto' style='cursor:pointer'><i onClick='MyTour()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire")); $("<li><a title='Aide' style='cursor:pointer'><i onClick='MyTour()' class='fa fa-question fa-fw'></i></a></li>").insertBefore($("#menu-annuaire"));
} }
}); });

View File

@ -5,7 +5,7 @@
<h2>Thème en cours</h2> <h2>Thème en cours</h2>
<div class="col-sm-3"> <div class="col-sm-3">
<div class="thumbnail"> <div class="thumbnail">
<img src="{{currentheme.url}}/look.png"> <img src="{{currentheme.url}}/look.png" style="height:170px">
<div class="caption"> <div class="caption">
<h3>{{currentheme.name}}</h3> <h3>{{currentheme.name}}</h3>
@ -19,7 +19,7 @@
{% for theme in themes %} {% for theme in themes %}
<div class="col-sm-3"> <div class="col-sm-3">
<div class="thumbnail"> <div class="thumbnail">
<img src="{{theme.url}}/look.png"> <img src="{{theme.url}}/look.png" style="height:170px">
<div class="caption"> <div class="caption">
<h3>{{theme.name}}</h3> <h3>{{theme.name}}</h3>

View File

@ -59,10 +59,13 @@ class BlogarticleController extends Controller
if($group->getFgcanshare()) { if($group->getFgcanshare()) {
$url=$this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]); $url=$this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]);
$message="Création article<br><a href='$url'>".$entity->getName()."</a>"; $message="Création article<br><a href='$url'>".$entity->getName()."</a>";
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()])->getKeyvalue(); $usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()]);
if($usergroup) {
$key=$usergroup->getKeyvalue();
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
} }
} }
}
return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()])); return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]));
} }
@ -104,10 +107,13 @@ class BlogarticleController extends Controller
if($group->getFgcanshare()) { if($group->getFgcanshare()) {
$url=$this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]); $url=$this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]);
$message="Modification article<br><a href='$url'>".$entity->getName()."</a>"; $message="Modification article<br><a href='$url'>".$entity->getName()."</a>";
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()])->getKeyvalue(); $usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()]);
if($usergroup) {
$key=$usergroup->getKeyvalue();
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
} }
} }
}
return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()])); return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_blogarticle_view',["id"=>$entity->getId()]));
} }

View File

@ -67,11 +67,14 @@ class BookmarkController extends Controller
foreach($pagewidget->getPage()->getGroups() as $groupchat) { foreach($pagewidget->getPage()->getGroups() as $groupchat) {
if($groupchat->getFgcanshare()) { if($groupchat->getFgcanshare()) {
$message="Création favoris<br><a href='".$data->getUrl()."' target='_blank'>".$data->getTitle()."</a>"; $message="Création favoris<br><a href='".$data->getUrl()."' target='_blank'>".$data->getTitle()."</a>";
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$groupchat,"user"=>$this->getUser()])->getKeyvalue(); $usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$groupchat,"user"=>$this->getUser()]);
if($usergroup) {
$key=$usergroup->getKeyvalue();
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$groupchat->getId(),$message); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$groupchat->getId(),$message);
} }
} }
} }
}
// Retour à la page // Retour à la page
return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage,"usage"=>$usage,"group"=>$group])); return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage,"usage"=>$usage,"group"=>$group]));
@ -155,11 +158,14 @@ class BookmarkController extends Controller
foreach($pagewidget->getPage()->getGroups() as $groupchat) { foreach($pagewidget->getPage()->getGroups() as $groupchat) {
if($groupchat->getFgcanshare()) { if($groupchat->getFgcanshare()) {
$message="Modification favoris<br><a href='".$data->getUrl()."' target='_blank'>".$data->getTitle()."</a>"; $message="Modification favoris<br><a href='".$data->getUrl()."' target='_blank'>".$data->getTitle()."</a>";
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$groupchat,"user"=>$this->getUser()])->getKeyvalue(); $usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$groupchat,"user"=>$this->getUser()]);
if($usergroup) {
$key=$usergroup->getKeyvalue();
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$groupchat->getId(),$message); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$groupchat->getId(),$message);
} }
} }
} }
}
// Retour à la page // Retour à la page
return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage,"usage"=>$usage,"group"=>$group])); return $this->redirect($this->generateUrl('cadoles_portal_'.$access.'_page_view',["id"=>$idpage,"usage"=>$usage,"group"=>$group]));

View File

@ -128,10 +128,13 @@ class CalendareventController extends Controller
foreach($calendarevent->getCalendar()->getGroups() as $group) { foreach($calendarevent->getCalendar()->getGroups() as $group) {
if($group->getFgcanshare()) { if($group->getFgcanshare()) {
$message="Création évènement<br>".$calendarevent->getName()."<br>du ".$start->format("d/m/Y H:i")." au ".$end->sub(new \DateInterval('PT1M'))->format("d/m/Y H:i"); $message="Création évènement<br>".$calendarevent->getName()."<br>du ".$start->format("d/m/Y H:i")." au ".$end->sub(new \DateInterval('PT1M'))->format("d/m/Y H:i");
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()])->getKeyvalue(); $usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()]);
if($usergroup) {
$key=$usergroup->getKeyvalue();
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
} }
} }
}
$output["id"]=$calendarevent->getId(); $output["id"]=$calendarevent->getId();
$output["color"]="#".(is_null($calendar->getColor())?$this->get('session')->get('color')["main"]:$calendar->getColor()); $output["color"]="#".(is_null($calendar->getColor())?$this->get('session')->get('color')["main"]:$calendar->getColor());
@ -181,10 +184,13 @@ class CalendareventController extends Controller
foreach($calendarevent->getCalendar()->getGroups() as $group) { foreach($calendarevent->getCalendar()->getGroups() as $group) {
if($group->getFgcanshare()) { if($group->getFgcanshare()) {
$message="Modification évènement<br>".$calendarevent->getName()."<br>du ".$start->format("d/m/Y H:i")." au ".$end->sub(new \DateInterval('PT1M'))->format("d/m/Y H:i"); $message="Modification évènement<br>".$calendarevent->getName()."<br>du ".$start->format("d/m/Y H:i")." au ".$end->sub(new \DateInterval('PT1M'))->format("d/m/Y H:i");
$key=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()])->getKeyvalue(); $usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["group"=>$group,"user"=>$this->getUser()]);
if($usergroup) {
$key=$usergroup->getKeyvalue();
$websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message); $websocket = $this->container->get('cadoles.websocket.pushmessage')->send($key,$this->getUser()->getId(),$group->getId(),$message);
} }
} }
}
$output["id"]=$calendarevent->getId(); $output["id"]=$calendarevent->getId();
$output["color"]="#".(is_null($calendar->getColor())?$this->get('session')->get('color')["main"]:$calendar->getColor()); $output["color"]="#".(is_null($calendar->getColor())?$this->get('session')->get('color')["main"]:$calendar->getColor());

View File

@ -51,10 +51,10 @@
<div class="grid-sizer grid-small"></div> <div class="grid-sizer grid-small"></div>
<div class="grid-gutter-sizer"></div> <div class="grid-gutter-sizer"></div>
{% for group in groups %} {% for group in groups %}
<div class="grid-item grid-small" style="{{ stylewidgetbodyreverse }};"> <div class="grid-item grid-small" >
<div class="grid-item-content" style="background-color:{{ group.color ? "#"~group.color : '#'~colormain }}">
<a href="{{path('cadoles_core_home',{id:group.id})}}" target="_top" style="{{ stylewidgetbodyreverse }};"> <a href="{{path('cadoles_core_home',{id:group.id})}}" target="_top" style="{{ stylewidgetbodyreverse }};">
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-content" style="background-color:{{ group.color ? "#"~group.color : '#'~colormain }}">
<div class="grid-item-logo"> <div class="grid-item-logo">
{% if group.icon %} {% if group.icon %}
<img class="grid-item-img" height="110" src="/{{ alias }}{{ group.icon }}" /> <img class="grid-item-img" height="110" src="/{{ alias }}{{ group.icon }}" />
@ -68,16 +68,17 @@
<h2>{{ group.title }}</h2> <h2>{{ group.title }}</h2>
</div> </div>
</div> </div>
</div>
</a> </a>
</div> </div>
</div>
{% endfor %} {% endfor %}
{% if canadd %} {% if canadd %}
<div class="grid-item grid-small" style="{{ stylewidgetbodyreverse }};"> <div class="grid-item grid-small">
<div class="grid-item-content" style="{{ stylewidgetbodyreverse }};">
<a href="{{path('cadoles_core_user_group_submit')}}" target="_top" style="{{ stylewidgetbodyreverse }};"> <a href="{{path('cadoles_core_user_group_submit')}}" target="_top" style="{{ stylewidgetbodyreverse }};">
<div class="item-link clearfix"> <div class="item-link clearfix">
<div class="grid-item-content">
<div class="grid-item-logo"> <div class="grid-item-logo">
<img class="grid-item-img" height="110" src="/{{ alias }}/uploads/icon/icon_add.png" /> <img class="grid-item-img" height="110" src="/{{ alias }}/uploads/icon/icon_add.png" />
</div> </div>
@ -87,9 +88,9 @@
<h2>Ajouter un groupe</h2> <h2>Ajouter un groupe</h2>
</div> </div>
</div> </div>
</div>
</a> </a>
</div> </div>
</div>
{% endif %} {% endif %}
</div> </div>
</div> </div>