Changeset 58740 in spip-zone


Ignore:
Timestamp:
Feb 21, 2012, 1:18:12 PM (8 years ago)
Author:
cam.lafit@…
Message:

Pouvoir raisonner TTC avec les produits

  • Dans certains cas il est préférable de gerer ses prix TTC que HT

Une nouvelle option de configuration fait son entrée pour editer en mode TTC, par défaut on conserver le comportement HT

Location:
_plugins_/produits/formulaires
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/produits/formulaires/configurer_produits.php

    r58151 r58740  
    1818                        'verifier' => array(
    1919                                'type' => 'decimal'
     20                        )
     21                ),
     22                array(
     23                        'saisie' => 'oui_non',
     24                        'options' => array(
     25                                'nom' => 'editer_ttc',
     26                                'label' => _T('produits:editer_ttc_label'),
     27                                'explication' => _T('produits:editer_ttc_explication'),
     28                                'defaut' => $config['editer_ttc'],
    2029                        )
    2130                ),
  • _plugins_/produits/formulaires/editer_produit.php

    r58151 r58740  
    77
    88function formulaires_editer_produit_saisies($id_produit='new', $id_rubrique=0, $retour=''){
    9         return array(
     9        $saisies = array(
    1010                array(
    1111                        'saisie' => 'input',
     
    8080                ),
    8181        );
     82
     83    if (lire_config('produits/editer_ttc')) {
     84        $saisie_prix_ttc = array(
     85                    'saisie' => 'input',
     86                    'options' => array(
     87                            'nom' => 'prix_ttc',
     88                            'obligatoire' => 'oui',
     89                            'label' => _T('produits:produit_champ_prix_ttc_label'),
     90                            'defaut' => 0,
     91                    ),
     92                    'verifier' => array(
     93                            'type' => 'decimal'
     94                    )
     95            );
     96        $saisies = saisies_inserer($saisies,$saisie_prix_ttc,'prix_ht');
     97        $saisies = saisies_supprimer($saisies,'prix_ht');
     98    }
     99
     100    return $saisies;
    82101}
    83102
     
    90109        $contexte = formulaires_editer_objet_charger('produit', $id_produit, $id_rubrique, 0, $retour, '');
    91110        $contexte['id_parent'] = 'rubrique|'.($contexte['id_rubrique']?$contexte['id_rubrique']:$id_rubrique);
     111    //Calculer le prix TTC selon le contexte
     112    $taxe = $contexte['taxe'] ? $contexte['taxe'] : lire_config('produits/taxe', 0);
     113    $contexte['prix_ttc'] = $contexte['prix_ht'] * (1+$taxe);
    92114        unset($contexte['id_produit']);
    93115        unset($contexte['id_rubrique']);
     
    117139function formulaires_editer_produit_traiter($id_produit='new', $id_rubrique=0, $retour=''){
    118140        set_request('id_parent', produits_id_parent());
     141    if (lire_config('produits/editer_ttc')) {
     142        $prix_ht = _request('prix_ttc') / (1+_request('taxe',lire_config('taxe',0)));
     143        set_request('prix_ht',$prix_ht);
     144    }
    119145        $retours = formulaires_editer_objet_traiter('produit',$id_produit,$id_rubrique,0,$retour);
    120146        return $retours;
Note: See TracChangeset for help on using the changeset viewer.