Ignore:
Timestamp:
Aug 19, 2011, 4:16:25 PM (9 years ago)
Author:
cam.lafit@…
Message:

Erreur conceptuelle : il faut tester l'existance avant d'agir

  • Pour le moment on considere qu'une commande ne peut être affectée qu'une seule fois à un contact ou une organisation
  • Ce prerequis implique le controle d'une affectation préalable
    • si existance alors on met à jour
    • sinon on lie les objets
Location:
_plugins_/commandes_contacts_et_organisation/inc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/commandes_contacts_et_organisation/inc/lier_commande_contact.php

    r50562 r50568  
    77
    88        if (intval($id_commande) && intval($id_contact)) {
    9 
    10             $res = sql_updateq(
     9            //La commande est elle deja effectée ?
     10            $res = sql_getfetsel(
     11                'id_contact',
    1112                'spip_contacts_liens',
    12                 array(
    13                     'id_contact' => $id_contact,
    14                     'objet' => 'commande',
    15                     'id_objet' => $id_commande
    16                 ),
    1713                'id_objet = '.$id_commande.' AND objet = "commande"'
    1814            );
    19 
    20             if (!$res) {
     15            //Si oui on met à jour l'affection
     16            if ($res) {
     17                $res = sql_updateq(
     18                    'spip_contacts_liens',
     19                    array(
     20                        'id_contact' => $id_contact,
     21                        'objet' => 'commande',
     22                        'id_objet' => $id_commande
     23                    ),
     24                    'id_objet = '.$id_commande.' AND objet = "commande"'
     25                );
     26            //Si non on insert
     27            } else {
    2128                $res = sql_insertq(
    2229                    'spip_contacts_liens',
  • _plugins_/commandes_contacts_et_organisation/inc/lier_commande_organisation.php

    r50562 r50568  
    77
    88        if (intval($id_commande) && intval($id_organisation)) {
    9 
    10             $res = sql_updateq(
     9            //La commande est elle deja effectée ?
     10            $res = sql_getfetsel(
     11                'id_organisation',
    1112                'spip_organisations_liens',
    12                 array(
    13                     'id_organisation' => $id_organisation,
    14                     'objet' => 'commande',
    15                     'id_objet' => $id_commande
    16                 ),
    1713                'id_objet = '.$id_commande.' AND objet = "commande"'
    1814            );
    1915
    20             if (!$res) {
     16            if ($res) {
     17                $res = sql_updateq(
     18                    'spip_organisations_liens',
     19                    array(
     20                        'id_organisation' => $id_organisation,
     21                        'objet' => 'commande',
     22                        'id_objet' => $id_commande
     23                    ),
     24                    'id_objet = '.$id_commande.' AND objet = "commande"'
     25                );
     26            } else {
    2127                $res = sql_insertq(
    2228                    'spip_organisations_liens',
Note: See TracChangeset for help on using the changeset viewer.