Ignore:
Timestamp:
Nov 4, 2011, 2:23:55 PM (8 years ago)
Author:
cedric@…
Message:

gestion du statut :

  • refactoring de evenement_instituer pour prendre en compte le changement d'article, et le post du statut
  • initialisation du statut en base lors de l'upgrade, en fonction de celui des articles
  • menu instituer

On peut publier un evenement si l'article l'est, mais sinon on ne peut que le proposer ou poubelle.
Si on deplace l'evenement publie sur un article non publie, il est repasse en prop
Il reste a synchroniser le statut de l'evenement lorsqu'on change celui de l'article

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/agenda/trunk/base/agenda_evenements.php

    r54000 r54034  
    77 */
    88
     9/**
     10 * Interfaces du compilateur
     11 *
     12 * @param array $interface
     13 * @return array
     14 */
    915function agenda_declarer_tables_interfaces($interface){
    1016        // 'spip_' dans l'index de $tables_principales
    1117        $interface['table_des_tables']['evenements']='evenements';
    1218       
    13         //-- Jointures ----------------------------------------------------
    14 
    15         $interface['tables_jointures']['spip_articles'][]= 'evenements';
    16         $interface['tables_jointures']['spip_evenements'][] = 'articles';
    17         $interface['tables_jointures']['spip_evenements'][] = 'evenements_participants';
    18         $interface['tables_jointures']['spip_auteurs'][] = 'evenements_participants';
    19         $interface['table_des_traitements']['LIEU'][]= 'typo(%s)';
     19        $interface['table_des_traitements']['LIEU'][]= _TRAITEMENT_TYPO;
    2020       
    2121        // permet d'utiliser les criteres racine, meme_parent, id_parent
     
    2323        $interface['exceptions_des_tables']['evenements']['id_rubrique']=array('spip_articles', 'id_rubrique');
    2424               
    25         $interface['table_date']['evenements'] = 'date_debut';
    26 
    27         // des titres pour certains jeux d'URL (propre, arborescent...)
    28         $interface['table_titre']['evenements']  = 'titre, "" AS lang';
    29        
    3025        return $interface;
    3126}
    3227
    33 function agenda_declarer_tables_principales($tables_principales){
    34        
    35 
    36         $tables_principales['spip_rubriques']['field']['agenda'] = 'tinyint(1) DEFAULT 0 NOT NULL';
    37 
    38         return $tables_principales;
    39 }
    40 
     28/**
     29 * Tables auxiliaires de liens
     30 * @param array $tables_auxiliaires
     31 * @return array
     32 */
    4133function agenda_declarer_tables_auxiliaires($tables_auxiliaires){
    4234
     
    5951        return $tables_auxiliaires;
    6052}
     53
     54/**
     55 * Declarer la table objet evenement
     56 *
     57 * @param array $tables
     58 * @return array
     59 */
    6160function agenda_declarer_tables_objets_sql($tables){
    6261        $tables['spip_evenements'] = array(
     
    7069                'info_1_objet' => 'agenda:info_un_evenement',
    7170                'info_nb_objets' => 'agenda:info_nombre_evenements',
    72                 'titre' => 'titre',
    73                 'date' => 'date_heure',
     71                'titre' => 'titre, "" AS lang',
     72                'date' => 'date_debut',
    7473                'principale' => 'oui',
    7574                'champs_editables' => array('date_debut', 'date_fin', 'titre', 'descriptif','lieu', 'adresse', 'inscription', 'places', 'horaire'),
     
    10099                        "id_article"=>"id_article"
    101100                ),
     101                'tables_jointures' => array(
     102                        'articles',
     103                        'evenements_participants',
     104                ),
    102105                'rechercher_champs' => array(
    103106                  'titre' => 8, 'descriptif' => 5, 'lieu' => 5, 'adresse' => 3
     
    114117                        ),
    115118                ),
     119                'statut_titres' => array(
     120                        'prop'=>'agenda:info_evenement_propose',
     121                        'publie'=>'agenda:info_evenement_publie',
     122                        'poubelle'=>'agenda:info_evenement_supprime'
     123                ),
     124                'statut_textes_instituer' =>    array(
     125                        'prop' => 'texte_statut_propose_evaluation',
     126                        'publie' => 'texte_statut_publie',
     127                        'poubelle' => 'texte_statut_poubelle',
     128                ),
     129                'texte_changer_statut' => 'agenda:texte_evenement_statut',
    116130                'champs_versionnes' => array('id_article', 'titre', 'descriptif', 'lieu', 'adresse'),
     131
    117132        );
     133
     134        //-- Jointures ----------------------------------------------------
     135        $tables['spip_articles']['tables_jointures'][] = 'evenements';
     136        $tables['spip_auteurs']['tables_jointures'][] = 'evenements_participants';
     137        $tables['spip_rubriques']['field']['agenda'] = 'tinyint(1) DEFAULT 0 NOT NULL';
    118138
    119139        return $tables;
Note: See TracChangeset for help on using the changeset viewer.