Ignore:
Timestamp:
Nov 10, 2011, 3:07:19 PM (8 years ago)
Author:
pierre.fiches@…
Message:

Configuration et gestion supplémentaire :

  • portable de type "portable" et de titre "Portable"
  • fax de type "fax" et de titre "Fax"
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/clients/formulaires/editer_client.php

    r54260 r54292  
    6464        }
    6565       
     66        $numero=array();
     67        if (in_array("numero", $conf) and !in_array("obli_numero", $conf)) {
     68                $numero=array(
     69                        'saisie' => 'input',
     70                        'options' => array(
     71                                'nom' => 'numero',
     72                                'label' => _T('coordonnees:label_numero'),
     73                        )
     74                );
     75        }elseif (in_array("numero", $conf) and in_array("obli_numero", $conf)) {
     76                $numero=array(
     77                        'saisie' => 'input',
     78                        'options' => array(
     79                                'nom' => 'numero',
     80                                'label' => _T('coordonnees:label_numero'),
     81                                'obligatoire' => 'oui'
     82                        )
     83                );
     84        }
     85       
     86        $portable=array();
     87        if (in_array("portable", $conf) and !in_array("obli_portable", $conf)) {
     88                $portable=array(
     89                        'saisie' => 'input',
     90                        'options' => array(
     91                                'nom' => 'portable',
     92                                'label' => _T('clients:label_portable')
     93                        )
     94                );
     95        }elseif (in_array("portable", $conf) and in_array("obli_portable", $conf)) {
     96                $portable=array(
     97                        'saisie' => 'input',
     98                        'options' => array(
     99                                'nom' => 'portable',
     100                                'label' => _T('clients:label_portable'),
     101                                'obligatoire' => 'oui'
     102                        )
     103                );
     104        }
     105       
     106        $fax=array();
     107        if (in_array("fax", $conf) and !in_array("obli_fax", $conf)) {
     108                $fax=array(
     109                        'saisie' => 'input',
     110                        'options' => array(
     111                                'nom' => 'fax',
     112                                'label' => _T('clients:label_fax')
     113                        )
     114                );
     115        }elseif (in_array("fax", $conf) and in_array("obli_fax", $conf)) {
     116                $fax=array(
     117                        'saisie' => 'input',
     118                        'options' => array(
     119                                'nom' => 'fax',
     120                                'label' => _T('clients:label_fax'),
     121                                'obligatoire' => 'oui'
     122                        )
     123                );
     124        }
     125               
    66126        $complement=array();
    67127        if (in_array("complement", $conf) and !in_array("obli_complement", $conf)) {
     
    79139                                'nom' => 'complement',
    80140                                'label' => _T('coordonnees:label_complement'),
    81                                 'obligatoire' => 'oui'
    82                         )
    83                 );
    84         }
    85        
    86         $numero=array();
    87         if (in_array("numero", $conf) and !in_array("obli_numero", $conf)) {
    88                 $numero=array(
    89                         'saisie' => 'input',
    90                         'options' => array(
    91                                 'nom' => 'numero',
    92                                 'label' => _T('coordonnees:label_numero'),
    93                         )
    94                 );
    95         }elseif (in_array("numero", $conf) and in_array("obli_numero", $conf)) {
    96                 $numero=array(
    97                         'saisie' => 'input',
    98                         'options' => array(
    99                                 'nom' => 'numero',
    100                                 'label' => _T('coordonnees:label_numero'),
    101141                                'obligatoire' => 'oui'
    102142                        )
     
    156196                ),
    157197                $numero,
     198                $portable,
     199                $fax,
    158200                array(
    159201                        'saisie' => 'input',
     
    219261                        $contexte = array_merge($contexte, $adresse);
    220262                       
    221                 // S'il y a un numero principale, on charge les infos
     263                // S'il y a un numero principal, on charge les infos
    222264                if ($numero = sql_fetsel(
    223265                        '*',
     
    230272                ))
    231273                        $contexte = array_merge($contexte, $numero);
     274                       
     275                $conf=lire_config('clients/elm',array());
     276                if (in_array('portable', $conf)){       
     277                        // S'il y a un numero portable, on charge les infos
     278                        if ($portable = sql_fetsel(
     279                                '*',
     280                                'spip_numeros_liens LEFT JOIN spip_numeros USING(id_numero)',
     281                                array(
     282                                        'objet = '.sql_quote('auteur'),
     283                                        'id_objet = '.intval($id_auteur),
     284                                        'type = '.sql_quote('portable')
     285                                )
     286                        )){
     287                                foreach($portable as $c => $v){
     288                                        if ($c == 'numero'){
     289                                                        $c = 'portable';
     290                                                        $_portable[$c] = $v;
     291                                                        }
     292                                        }                               
     293                                $contexte = array_merge($contexte, $_portable);
     294                        }
     295                }
     296                if (in_array('fax', $conf)){   
     297                        // S'il y a un numero fax, on charge les infos
     298                        if ($fax = sql_fetsel(
     299                                '*',
     300                                'spip_numeros_liens LEFT JOIN spip_numeros USING(id_numero)',
     301                                array(
     302                                        'objet = '.sql_quote('auteur'),
     303                                        'id_objet = '.intval($id_auteur),
     304                                        'type = '.sql_quote('fax')
     305                                )
     306                        )){
     307                                foreach($fax as $c => $v){
     308                                        if ($c == 'numero'){
     309                                                        $c = 'fax';
     310                                                        $_fax[$c] = $v;
     311                                                        }
     312                                        }                               
     313                                $contexte = array_merge($contexte, $_fax);
     314                        }
     315                }
    232316        }
    233317        // Sinon rien
     
    299383        );
    300384       
    301         // S'il n'y a pas de numero de telephone principale, on le crée
     385        // S'il n'y a pas de numero de telephone principal, on le crée
    302386        if (!$id_numero){
    303387                $id_numero = 'oui';
     
    310394        $editer_numero($id_numero);
    311395       
     396        // On modifie le portable s'il existe dans l'environnement
     397        if(_request('portable')){
     398                // on stocke cette donnee
     399                $numero = _request('numero');
     400                set_request('numero', _request('portable'));
     401                $id_portable = sql_getfetsel(
     402                        'id_numero',
     403                        'spip_numeros_liens',
     404                        array(
     405                                'objet = '.sql_quote('auteur'),
     406                                'id_objet = '.$id_auteur,
     407                                'type = '.sql_quote('portable')
     408                        )
     409                );
     410       
     411                // S'il n'y a pas de numero de portable, on le crée
     412                if (!$id_portable){
     413                        $id_portable = 'oui';
     414                        set_request('objet', 'auteur');
     415                        set_request('id_objet', $id_auteur);
     416                        set_request('type', 'portable');
     417                }
     418               
     419                $editer_portable = charger_fonction('editer_numero', 'action/');
     420                $editer_portable($id_portable);
     421               
     422        }
     423       
     424        // On modifie le fax s'il existe dans l'environnement
     425        if(_request('fax')){
     426                // on stocke cette donnee si elle ne l'est pas deja
     427                $numero ? '' : $numero = _request('numero');
     428                set_request('numero', _request('fax'));
     429                $id_fax = sql_getfetsel(
     430                        'id_numero',
     431                        'spip_numeros_liens',
     432                        array(
     433                                'objet = '.sql_quote('auteur'),
     434                                'id_objet = '.$id_auteur,
     435                                'type = '.sql_quote('fax')
     436                        )
     437                );
     438       
     439                // S'il n'y a pas de numero de fax, on le crée
     440                if (!$id_fax){
     441                        $id_fax = 'oui';
     442                        set_request('objet', 'auteur');
     443                        set_request('id_objet', $id_auteur);
     444                        set_request('type', 'fax');
     445                }
     446               
     447                $editer_fax = charger_fonction('editer_numero', 'action/');
     448                $editer_fax($id_fax);
     449               
     450        }
     451       
    312452        // Quand on reste sur la même page, on peut toujours éditer après
    313453        $retours['editable'] = true;
     454        // si necessaire on replace la bonne donnee dans l'environnement
     455        $numero ? set_request('numero', $numero) : '';
    314456       
    315457        // Si on demande une redirection
Note: See TracChangeset for help on using the changeset viewer.