agenda
- désactivation des liens de visualisation et d'édition en mode non connecté - en mode non connnecté une popup affichera le détail d'un événement - utilisation des groupes du core
This commit is contained in:
parent
8b17c73757
commit
fcb5deb2fa
@ -59,13 +59,6 @@ class agenda extends common
|
|||||||
'white' => 'blanc'
|
'white' => 'blanc'
|
||||||
];
|
];
|
||||||
|
|
||||||
public static $groupe = [
|
|
||||||
'0' => 'Visiteur',
|
|
||||||
'1' => 'Membre',
|
|
||||||
'2' => 'Editeur',
|
|
||||||
'3' => 'Administrateur'
|
|
||||||
];
|
|
||||||
|
|
||||||
//Evenement
|
//Evenement
|
||||||
public static $evenement = [
|
public static $evenement = [
|
||||||
'id' => 0,
|
'id' => 0,
|
||||||
|
@ -89,7 +89,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
<?php echo template::select('creation_groupe_lire', $module::$groupe,[
|
<?php echo template::select('creation_groupe_lire', self::$groupPublics,[
|
||||||
'help' => 'Choix du groupe minimal qui pourra voir et lire cet évènement',
|
'help' => 'Choix du groupe minimal qui pourra voir et lire cet évènement',
|
||||||
'label' => 'Accès en lecture',
|
'label' => 'Accès en lecture',
|
||||||
'selected' => '0'
|
'selected' => '0'
|
||||||
@ -100,7 +100,7 @@
|
|||||||
$groupe_mini = $this->getUser('group');
|
$groupe_mini = $this->getUser('group');
|
||||||
if ($groupe_mini == 3){ $groupe_mini = 2;}
|
if ($groupe_mini == 3){ $groupe_mini = 2;}
|
||||||
?>
|
?>
|
||||||
<?php echo template::select('creation_groupe_mod', $module::$groupe,[
|
<?php echo template::select('creation_groupe_mod', self::$groupNews,[
|
||||||
'help' => 'Choix du groupe minimal qui pourra modifier ou supprimer cet évènement',
|
'help' => 'Choix du groupe minimal qui pourra modifier ou supprimer cet évènement',
|
||||||
'label' => 'Accès en modification',
|
'label' => 'Accès en modification',
|
||||||
'selected' => $groupe_mini
|
'selected' => $groupe_mini
|
||||||
|
@ -80,14 +80,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
<?php echo template::select('edition_groupe_lire', $module::$groupe, [
|
<?php echo template::select('edition_groupe_lire', self::$groupPublics, [
|
||||||
'help' => 'Choix du groupe minimal qui pourra voir et lire cet évènement',
|
'help' => 'Choix du groupe minimal qui pourra voir et lire cet évènement',
|
||||||
'label' => 'Accès en lecture',
|
'label' => 'Accès en lecture',
|
||||||
'selected' => $module::$evenement['groupe_lire']
|
'selected' => $module::$evenement['groupe_lire']
|
||||||
]); ?>
|
]); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col4">
|
<div class="col4">
|
||||||
<?php echo template::select('edition_groupe_mod', $module::$groupe, [
|
<?php echo template::select('edition_groupe_mod', self::$groupNews, [
|
||||||
'help' => 'Choix du groupe minimal qui pourra modifier ou supprimer cet évènement',
|
'help' => 'Choix du groupe minimal qui pourra modifier ou supprimer cet évènement',
|
||||||
'label' => 'Accès en modification',
|
'label' => 'Accès en modification',
|
||||||
'selected' => $module::$evenement['groupe_mod']
|
'selected' => $module::$evenement['groupe_mod']
|
||||||
|
@ -15,60 +15,65 @@
|
|||||||
* Docs & License: https://fullcalendar.io/
|
* Docs & License: https://fullcalendar.io/
|
||||||
* (c) 2019 Adam Shaw
|
* (c) 2019 Adam Shaw
|
||||||
**/
|
**/
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function () {
|
||||||
|
|
||||||
/* Pour liaison entre constiables php et javascript dans index.js.php */
|
/* Pour liaison entre constiables php et javascript dans index.js.php */
|
||||||
|
|
||||||
|
const connected = '<?php echo $this->getUser("password") === $this->getInput("ZWII_USER_PASSWORD"); ?>';
|
||||||
|
|
||||||
// Integer: largeur MAXI du diaporama, en pixels. Par exemple : 800, 920, 500
|
// Integer: largeur MAXI du diaporama, en pixels. Par exemple : 800, 920, 500
|
||||||
var maxwidth='<?php echo $this->getData(["module", $this->getUrl(0),"config","maxiWidth"]); ?>';
|
var maxwidth = '<?php echo $this->getData(["module", $this->getUrl(0),"config","maxiWidth"]); ?>';
|
||||||
|
|
||||||
//Fullcalendar : instanciation, initialisations
|
//Fullcalendar : instanciation, initialisations
|
||||||
var calendarEl = document.getElementById('calendar');
|
var calendarEl = document.getElementById('calendar');
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||||
header: {
|
header: {
|
||||||
left: 'dayGridMonth,dayGridWeek',
|
left: 'dayGridMonth,dayGridWeek',
|
||||||
center: 'title',
|
center: 'title',
|
||||||
right: 'today,prev,next'
|
right: 'today,prev,next'
|
||||||
},
|
},
|
||||||
titleFormat: {
|
titleFormat: {
|
||||||
month: 'long',
|
month: 'long',
|
||||||
year: 'numeric'
|
year: 'numeric'
|
||||||
},
|
},
|
||||||
columnHeaderFormat: {
|
columnHeaderFormat: {
|
||||||
weekday: 'long'
|
weekday: 'long'
|
||||||
},
|
},
|
||||||
plugins: [ 'dayGrid', 'interaction' ],
|
plugins: ['dayGrid', 'interaction'],
|
||||||
locale : 'fr',
|
locale: 'fr',
|
||||||
defaultView: '<?php echo $this->getData(["module", $this->getUrl(0), "vue", "vueagenda"]) ;?>',
|
defaultView: '<?php echo $this->getData(["module", $this->getUrl(0), "vue", "vueagenda"]) ;?>',
|
||||||
defaultDate: '<?php echo $this->getData(["module", $this->getUrl(0), "vue", "debagenda"]) ;?>',
|
defaultDate: '<?php echo $this->getData(["module", $this->getUrl(0), "vue", "debagenda"]) ;?>',
|
||||||
selectable: true,
|
selectable: true,
|
||||||
editable: true,
|
editable: true,
|
||||||
//afficher les évènements à partir d'un fichier JSON
|
//afficher les évènements à partir d'un fichier JSON
|
||||||
events : '<?php echo $module::DATAMODULE."data/".$this->getUrl(0); ?>'+'_visible/events.json',
|
events: '<?php echo $module::DATAMODULE."data/".$this->getUrl(0); ?>' + '_visible/events.json',
|
||||||
//créer un évènement
|
//créer un évènement
|
||||||
dateClick: function(info) {
|
dateClick: function (info) {
|
||||||
window.open('<?php echo helper::baseUrl() . $this->getUrl(0); ?>'+ '/da:'+ info.dateStr + 'vue:' + info.view.type + 'deb:' + calendar.formatIso(info.view.currentStart),'_self');
|
if (connected) {
|
||||||
|
window.open('<?php echo helper::baseUrl() . $this->getUrl(0); ?>' + '/da:' + info.dateStr + 'vue:' + info.view.type + 'deb:' + calendar.formatIso(info.view.currentStart), '_self');
|
||||||
|
}
|
||||||
},
|
},
|
||||||
//Lire, modifier, supprimer un évènement
|
//Lire, modifier, supprimer un évènement
|
||||||
eventClick: function(info) {
|
eventClick: function (info) {
|
||||||
window.open('<?php echo helper::baseUrl() . $this->getUrl(0); ?>'+'/id:'+ info.event.id + 'vue:' + info.view.type + 'deb:' + calendar.formatIso(info.view.currentStart),'_self');
|
if (connected) {
|
||||||
|
window.open('<?php echo helper::baseUrl() . $this->getUrl(0); ?>' + '/id:' + info.event.id + 'vue:' + info.view.type + 'deb:' + calendar.formatIso(info.view.currentStart), '_self');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//Déclaration de la fonction wrapper pour déterminer la largeur du div qui contient l'agenda et le bouton gérer : index_wrapper
|
//Déclaration de la fonction wrapper pour déterminer la largeur du div qui contient l'agenda et le bouton gérer : index_wrapper
|
||||||
$.wrapper = function(){
|
$.wrapper = function () {
|
||||||
// Adaptation de la largeur du wrapper en fonction de la largeur de la page client et de la largeur du site
|
// Adaptation de la largeur du wrapper en fonction de la largeur de la page client et de la largeur du site
|
||||||
// 10000 pour la sélection 100%
|
// 10000 pour la sélection 100%
|
||||||
if(maxwidth != 10000){
|
if (maxwidth != 10000) {
|
||||||
var wclient = document.body.clientWidth,
|
var wclient = document.body.clientWidth,
|
||||||
largeur_pour_cent,
|
largeur_pour_cent,
|
||||||
largeur,
|
largeur,
|
||||||
largeur_section,
|
largeur_section,
|
||||||
wsection = getComputedStyle(site).width,
|
wsection = getComputedStyle(site).width,
|
||||||
wcalcul;
|
wcalcul;
|
||||||
switch (wsection)
|
switch (wsection) {
|
||||||
{
|
|
||||||
case '750px':
|
case '750px':
|
||||||
largeur_section = 750;
|
largeur_section = 750;
|
||||||
break;
|
break;
|
||||||
@ -81,30 +86,34 @@
|
|||||||
default:
|
default:
|
||||||
largeur_section = wclient;
|
largeur_section = wclient;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 20 pour les margin du body / html, 40 pour le padding intérieur dans section
|
// 20 pour les margin du body / html, 40 pour le padding intérieur dans section
|
||||||
if(wclient > largeur_section + 20) {wcalcul = largeur_section-40} else {wcalcul = wclient-40};
|
if (wclient > largeur_section + 20) {
|
||||||
largeur_pour_cent = Math.floor(100*(maxwidth/wcalcul));
|
wcalcul = largeur_section - 40
|
||||||
if(largeur_pour_cent > 100) { largeur_pour_cent=100;}
|
} else {
|
||||||
largeur=largeur_pour_cent.toString() + "%";
|
wcalcul = wclient - 40
|
||||||
|
};
|
||||||
|
largeur_pour_cent = Math.floor(100 * (maxwidth / wcalcul));
|
||||||
|
if (largeur_pour_cent > 100) {
|
||||||
|
largeur_pour_cent = 100;
|
||||||
|
}
|
||||||
|
largeur = largeur_pour_cent.toString() + "%";
|
||||||
|
|
||||||
console.log(largeur);
|
console.log(largeur);
|
||||||
|
|
||||||
$("#index_wrapper").css('width',largeur);
|
$("#index_wrapper").css('width', largeur);
|
||||||
}
|
} else {
|
||||||
else
|
$("#index_wrapper").css('width', "100%");
|
||||||
{
|
|
||||||
$("#index_wrapper").css('width',"100%");
|
|
||||||
}
|
}
|
||||||
//La taille du wrapper étant défini on peut l'afficher
|
//La taille du wrapper étant défini on peut l'afficher
|
||||||
$("#index_wrapper").css('visibility', "visible");
|
$("#index_wrapper").css('visibility', "visible");
|
||||||
};
|
};
|
||||||
|
|
||||||
$.wrapper();
|
$.wrapper();
|
||||||
calendar.render();
|
calendar.render();
|
||||||
|
|
||||||
$(window).resize(function(){
|
$(window).resize(function () {
|
||||||
$.wrapper();
|
$.wrapper();
|
||||||
calendar.render();
|
calendar.render();
|
||||||
});
|
});
|
||||||
});
|
});
|
@ -1,12 +1,8 @@
|
|||||||
|
|
||||||
<!-- Agenda dans une div pour contrôler la taille-->
|
<!-- Agenda dans un wrapper pour contrôler la taille-->
|
||||||
<div id="index_wrapper">
|
<div id="index_wrapper">
|
||||||
<!--Affiche l'agenda-->
|
<!--Affiche l'agenda-->
|
||||||
<br>
|
|
||||||
<div id='calendar'> </div>
|
<div id='calendar'> </div>
|
||||||
<br>
|
|
||||||
|
|
||||||
<?php echo template::formOpen('index_events'); ?>
|
<?php echo template::formOpen('index_events'); ?>
|
||||||
|
|
||||||
<?php echo template::formClose();?>
|
<?php echo template::formClose();?>
|
||||||
</div>
|
</div>
|
Loading…
x
Reference in New Issue
Block a user