diff --git a/lib.php b/lib.php index 3d9cc1eaacd25482c969b8e48944dba0c3182e61..f85f33a964beef2e5e39cbe4a2afd7505585d144 100644 --- a/lib.php +++ b/lib.php @@ -175,7 +175,7 @@ $mform->hideIf('groupdate2', 'presence', 'eq', 2); - + //On cache cet élément si on n'est pas à distance $daysarray=array(); $days=array(0=>0, 1=>1, 2=>2, 3=>3, 4=>4, 5=>5); $daysarray[]=$mform->createElement('html', '<div class="form-group fitem">'); @@ -210,20 +210,27 @@ if($section_config['daterendu']){ if(isset($section_config['presence']) && $section_config['presence']==2){ - error_log("on passe là"); $mform->setDefault('daterendu', $section_config['daterendu']); $mform->setDefault('daterenducheck', "1"); } else if(isset($section_config['presence'])){ - error_log("non on passe là"); $mform->setDefault('daterendu2', $section_config['daterendu']); $mform->setDefault('daterenducheck2', "1"); } } if(isset($section_config['daysnotif']) && $section_config['daysnotif'] > -1){ - $mform->setDefault('selectdays', $section_config['daysnotif']); - $mform->setDefault('selectdayscheck', "1"); + //Si on est à distance : il faut activer daysnotif et selectdayscheck + if(isset($section_config['presence']) && $section_config['presence']==2){ + $mform->setDefault('daysnotif', $section_config['daysnotif']); + $mform->setDefault('selectdayscheck', "1"); + } + //si on est en présence, il faut activer daysnotif2 et selectdayscheck2 + else if(isset($section_config['presence']) && $section_config['presence']==1){ + $mform->setDefault('daysnotif2', $section_config['daysnotif']); + $mform->setDefault('selectdayscheck2', "1"); + } + } } @@ -263,20 +270,25 @@ } else if(isset($data['daterenducheck2'])){ $data['daterendu']=$data['daterendu2']; - } - if(!isset($data['selectdayscheck'])){ - if(isset($data['daysnotif2'])){ - $data['daysnotif']=$data["daysnotif2"]; - } - if(array_key_exists('daysnotif', $section_config) && $section_config['daysnotif']>-1){ - $data['daysnotif']=-1; - } - else{ - unset($data['daysnotif']); - } - } + /* De base daysnotifs est vide et daysnotifs2 n'existe pas */ + // Le système de notification n'a jamais été activé et on veut l'activer + // Si c'est en présence + + if(isset($data['daysnotif2'])){ + $data['daysnotif']=$data["daysnotif2"]; + } + //Le système de notif a déjà été activé et on veut le désactiver OU il a jamais été activé et on ne veut pas l'activer. + if(empty($data['daysnotif']) || (!isset($data['selectdayscheck']) && !isset($data['selectdayscheck2']))){ + if(array_key_exists('daysnotif', $section_config) && $section_config['daysnotif']>-1){ + $data['daysnotif']=-1; + } + else{ + unset($data['daysnotif']); + } + } + return $this->update_format_options($data, $data['id']); }