Changeset 82564 in spip-zone


Ignore:
Timestamp:
May 18, 2014, 5:36:07 PM (5 years ago)
Author:
kent1@…
Message:

Permettre de rendre l'évènement obligatoire ou pas et donc de le supprimer

Version 1.3.0

Location:
_plugins_/diogene/diogene_complements/diogene_agenda/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/diogene/diogene_complements/diogene_agenda/trunk/diogene_agenda_pipelines.php

    r82237 r82564  
    1616
    1717                $flux['args']['contexte']['agenda_caches'] = array();
    18 
     18               
    1919                if(is_array(unserialize($flux['args']['options_complements']['agenda_caches'])))
    2020                        $flux['args']['contexte']['agenda_caches'] = unserialize($flux['args']['options_complements']['agenda_caches']);
     
    2323                $evenement['repetitions'] = array();
    2424                if(intval($id_objet)){
    25                         $evenement = sql_fetsel('*','spip_evenements','id_article='.intval($id_objet));
     25                        $evenement = sql_fetsel('*','spip_evenements','id_article='.intval($id_objet).' AND statut != "poubelle"');
    2626                        if($evenement['titre'] != sql_getfetsel('titre','spip_evenements','id_article='.intval($id_objet)))
    2727                                $evenement['titre_evenement'] = $evenement['titre'];
     
    7676                        $evenement['horaire'] = 'oui';
    7777               
     78                if(isset($flux['args']['options_complements']['agenda_obligatoire']) && $flux['args']['options_complements']['agenda_obligatoire'] == 'on')
     79                        $evenement['agenda_obligatoire'] = "on";
     80                $evenement['supprimer_evenement'] = _request('supprimer_evenement');
    7881                $flux['args']['contexte'] = array_merge($flux['args']['contexte'],$evenement);
    7982                $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_agenda',$flux['args']['contexte']);
     
    9194function diogene_agenda_diogene_verifier($flux){
    9295        $id_diogene = _request('id_diogene');
    93         if(intval($id_diogene)){
     96        if(intval($id_diogene) && !_request('supprimer_evenement')){
    9497                $champs_ajoutes = unserialize(sql_getfetsel("champs_ajoutes","spip_diogenes","id_diogene=".intval($id_diogene)));
    9598                $erreurs = $flux['args']['erreurs'];
     
    98101                        $erreurs = formulaires_editer_evenement_verifier_dist(_request('id_evenement'), $id_article,false, false, 'evenements_edit_config');
    99102                        unset($erreurs['id_parent']);
     103                       
     104                        if(!isset($flux['args']['options_complements']['agenda_obligatoire']) OR $flux['args']['options_complements']['agenda_obligatoire'] != 'on'){
     105                                $champs_post = false;
     106                                $champs = objet_info('evenement','champs_editables');
     107                                $champs[] = 'titre_evenement';
     108                                foreach($champs as $champ){
     109                                        //spip_log($champ,'test.'._LOG_ERREUR);
     110                                        if(!in_array($champ,array('titre','horaire')) && _request($champ)){
     111                                                spip_log('On a '.$champ,'test.'._LOG_ERREUR);
     112                                                $champs_post = true;
     113                                                break;
     114                                        }
     115                                }
     116                                if(count($erreurs) > 0 && !$champs_post)
     117                                        $erreurs = array();
     118                        }
    100119                }
    101120                $flux['data'] = array_merge($flux['data'], $erreurs);
     
    119138                 * On a un id_evenement => on met à jour
    120139                 */
    121                 if(intval($id_article) > 0){
     140                if(intval($id_article) > 0 && !_request('supprimer_evenement')){
     141                        if(!isset($flux['args']['options_complements']['agenda_obligatoire']) OR $flux['args']['options_complements']['agenda_obligatoire'] != 'on'){
     142                                $champs_post = false;
     143                                foreach(objet_info('evenement','champs_editables') as $champ){
     144                                        if(!in_array($champ,array('titre','horaire')) && _request($champ)){
     145                                                $champs_post = true;
     146                                                break;
     147                                        }
     148                                }
     149                                if(!$champs_post)
     150                                        return $flux;
     151                        }
    122152                        include_spip('formulaires/editer_evenement');
    123153                        set_request('id_parent',$id_article);
     
    155185                                set_request('titre',$titre_article);
    156186                }
     187                // Supprimer l'évènement
     188                else{
     189                        include_spip('action/editer_evenement');
     190                        evenement_instituer(_request('id_evenement'), array('statut'=>'poubelle','id_article'=>$id_article));
     191                }
    157192        }
    158193        return $flux;
     
    182217        $array[] = 'agenda_caches';
    183218        $array[] = 'agenda_legende';
     219        $array[] = 'agenda_obligatoire';
    184220        return $array;
    185221}
  • _plugins_/diogene/diogene_complements/diogene_agenda/trunk/formulaires/diogene_ajouter_agenda.html

    r82237 r82564  
    66                        <li class='editer editer_date fieldset'>
    77                                <ul>
     8                                        [(#ENV{agenda_obligatoire}|=={on}|non|et{#ENV{id_article}|intval|>{0}|et{#ENV{id_evenement}|intval|>{0}}|oui}|oui)<li class="editer editer_supprimer_evenement">
     9                                                <label for="supprimer_evenement"><:diogene_agenda:evenement_supprimer:></label>
     10                                                <div class="choix">
     11                                                        <input type="checkbox" name="supprimer_evenement" id="supprimer_evenement"[(#ENV{supprimer_evenement}|=={on}|oui)checked="checked"] />
     12                                                </div>
     13                                        </li>]
    814                                        <li class="editer editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre_evenement}|oui)erreur]">
    915                                                <label for="titre_evenement"><:agenda:evenement_titre:></label>[
  • _plugins_/diogene/diogene_complements/diogene_agenda/trunk/lang/diogene_agenda_fr.php

    r81804 r82564  
    55
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
     7        // E
     8        'evenement_supprimer' => 'Supprimer l\'évènement',
    79
    810        // F
     
    1214        'label_agenda_caches' => 'Champs de l\'agenda à ne pas afficher',
    1315        'label_agenda_legende' => 'Légende de la partie "évènement" du formulaire',
     16        'label_agenda_obligatoire' => 'L\'évènement est obligatoire',
    1417        'label_cfg_ajout_agenda' => 'Évènement',
    1518);
  • _plugins_/diogene/diogene_complements/diogene_agenda/trunk/paquet.xml

    r82237 r82564  
    22        prefix="diogene_agenda"
    33        categorie="edition"
    4         version="1.2.0"
     4        version="1.3.0"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/diogene/diogene_complements/diogene_agenda/trunk/prive/diogene_agenda_champs_texte.html

    r81804 r82564  
    1313                                datas=#ARRAY{descriptif,<:agenda:evenement_descriptif:>,repetitions,<:agenda:evenement_repetitions:>,inscription,<:agenda:label_inscription:>,places,<:agenda:label_places:>,lieu,<:agenda:evenement_lieu:>,adresse,<:agenda:evenement_adresse:>}
    1414                        })]
     15                        [(#SAISIE{case,agenda_obligatoire,label=<:diogene_agenda:label_agenda_obligatoire:>})]
    1516                </ul>
    1617        </fieldset>
Note: See TracChangeset for help on using the changeset viewer.