]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 25 Jan 2011 11:23:02 +0000 (11:23 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 25 Jan 2011 11:23:02 +0000 (11:23 +0000)
inc/commons/DAO/class.common.dao.utilisateur.php
inc/ws/Controlleur/class.ws.ajax.php
inc/ws/Controlleur/class.ws.url.php
inc/ws/DAO/class.ws.dao.demande.php

index c1f269a87ab1bd6d01106956013d19330d89ec4e..d2083f8bc481584009f00a284a735fbe9f485648 100644 (file)
@@ -57,6 +57,9 @@ class commonDAOUtilisateur extends commonDAO {
                if (isset($r->ws_signatures)) {\r
                        $utilisateur->ws_signatures = $r->ws_signatures;\r
                }\r
+               if(isset($r->ws_admin)){\r
+                       $utilisateur->ws_admin=$r->ws_admin;\r
+               }\r
                return $utilisateur;\r
        }\r
 \r
@@ -125,11 +128,24 @@ class commonDAOUtilisateur extends commonDAO {
                return null;\r
        }\r
 \r
-       public function selectWSRevendeursFacturables(){\r
-               $r=$this->con->select('SELECT * FROM utilisateurs_entreprise WHERE ws_grade BETWEEN 3 AND 4 AND utilisateur_id IN(SELECT facturable_id FROM ws_users_tree) ORDER BY rs');\r
+       public function selectWSRevendeursFacturables()\r
+       {\r
+               $r = $this->con->select('SELECT * FROM utilisateurs_entreprise WHERE ws_grade BETWEEN 3 AND 4 AND utilisateur_id IN(SELECT facturable_id FROM ws_users_tree) ORDER BY rs');\r
                return $this->factory($r);\r
        }\r
 \r
+       public function selectWSAdministrateursId()\r
+       {\r
+               $r = $this->con->select('SELECT * FROM utilisateurs_entreprise WHERE ws_grade=5');\r
+               $liste = $this->factory($r);\r
+\r
+               $res = array();\r
+               foreach($liste as $u) {\r
+                       $res[] = $u->utilisateur_id;\r
+               }\r
+               return $res;\r
+       }\r
+\r
        protected function getNextId()\r
        {\r
                $r = $this->con->select('SELECT MAX(utilisateur_id) AS utilisateur_id FROM utilisateurs');\r
index 6510fa8493fdfc82fadbe842c7e41ce216f14da5..6d5d86d0535c66258bf2a2a9e234446c459614e4 100644 (file)
@@ -480,7 +480,7 @@ class wsAjax extends cubeAjax {
                $mail->body = $body;\r
                // $mail->to = $r->email;\r
                // $mail->bcc='tech@fluidbook.com';\r
-               $mail->send();\r
+               fb($mail->send());\r
        }\r
 \r
        public static function reponseDemande($args, &$x)\r
@@ -501,7 +501,7 @@ class wsAjax extends cubeAjax {
                if ($reponse == '0') {\r
                        $dao->reinitDemande($demande_id);\r
                } else {\r
-                       $dao->accepteDemande($demande_id);\r
+                       $dao->accepteDemande($demande_id, $revendeur_id);\r
                }\r
 \r
                $x->addAlert(__('Votre choix a bien été prise en compte.'));\r
index 15b76731d7a0608d2993bc20395c64a259e667cc..ef9578d65ce28544174bcc3feca2902975866bd4 100644 (file)
@@ -752,7 +752,7 @@ html{height:100%}' . "\n";
                                $res .= '<td></td>';\r
                        }\r
                        // On n'affiche le bouton "Supprimer" que si la demande est non-traitée\r
-                       if ($demande->status == 0) {\r
+                       if (($demande->administrateur == 0 || $demande->administrateur == $core->user->utilisateur_id) && $demande->status == 0) {\r
                                $res .= '<td class="action"><a href="#" class="ajax" rel="supprimeDemande/' . $demande->demande_id . '" title="' . __('Êtes-vous certain de vouloir supprimer cette demande ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a></td>';\r
                        } else {\r
                                $res .= '<td></td>';\r
@@ -782,23 +782,33 @@ html{height:100%}' . "\n";
                        $res = '<tr><td colspan="2"><p class="center">' . __("Cette demande est actuellement en cours d'édition par un autre administrateur") . '</p></td></tr>';\r
                        return $res;\r
                }\r
-               if ($demande->status == 2) {\r
-                       $res = '<tr><td colspan="2"><p class="center">' . __("Cette demande a été confiée à un revendeur qui s'est chargé de la traiter") . '</p></td></tr>';\r
+               if ($demande->status > 1) {\r
+                       $res = '<tr><td colspan="2"><p class="center">' . __("Cette demande est actuellement en cours de traitement") . '</p></td></tr>';\r
                        return $res;\r
                }\r
+               // On place la demande comme en cours d'édition\r
                $dao->setAdministrateur($demande_id, $core->user->utilisateur_id);\r
+               // On vérifie que l'utilisateur n'est pas déjà géré par un revendeur\r
+               $demandeur = $daoUtilisateur->selectById($demande->utilisateur, 'utilisateurs_entreprise');\r
+               $administrateurs = $daoUtilisateur->selectWSAdministrateursId();\r
+               fb($administrateurs);\r
+               fb($demandeur);\r
+               if (!is_null($demandeur->ws_admin) && !in_array($demandeur->ws_admin, $administrateurs)) {\r
+                       // Si déjà géré par un revendeur\r
+                       $revendeur = $daoUtilisateur->selectById($demandeur->ws_admin, 'utilisateurs_entreprise');\r
+                       $actions[__('Je confie la demande à ' . $revendeur->rs . ' (' . $revendeur->prenom . ' ' . $revendeur->nom . ')')] = $demandeur->ws_admin;\r
+               } else {\r
+                       $liste = $daoUtilisateur->selectWSRevendeursFacturables();\r
+                       $revendeurs = array();\r
+                       foreach($liste as $revendeur) {\r
+                               $revendeurs[$revendeur->rs . '(' . $revendeur->prenom . ' ' . $revendeur->nom . ')'] = $revendeur->utilisateur_id;\r
+                       }\r
 \r
-               $liste = $daoUtilisateur->selectWSRevendeursFacturables();\r
-               $revendeurs = array();\r
-\r
-               foreach($liste as $revendeur) {\r
-                       $revendeurs[' &gt; ' . $revendeur->rs . '(' . $revendeur->prenom . ' ' . $revendeur->nom . ')'] = $revendeur->utilisateur_id;\r
+                       $actions = array(__('Je vais me charger de cette demande') => $core->user->utilisateur_id);\r
+                       $actions[' '] = array();\r
+                       $actions[__('Je confie la demande à') . ' : '] = $revendeurs;\r
                }\r
 \r
-               $actions = array('Je me charge de cette demande' => $core->user->utilisateur_id);\r
-               $actions[' '] = array();\r
-               $actions['Je confie la demande à :'] = $revendeurs;\r
-\r
                $res = '<tr><td>' . __('Numéro de demande') . '</td><td>' . form::hidden('demande_id', $demande->demande_id) . '' . $demande->demande_id . '</td></tr>';\r
                $res .= '<tr><td>' . __('Date de la demande') . '</td><td>' . date(__('d/m/Y H:i'), $demande->date) . '</td></tr>';\r
                $res .= '<tr><td>' . __('Emetteur de la demande') . '</td><td><a href="#" class="popup" rel="formClient/' . $demande->entreprise . '">' . $demande->utilisateur_nom . '</a></td></tr>';\r
@@ -828,7 +838,7 @@ html{height:100%}' . "\n";
 \r
                $dao = new wsDAODemande($core->con);\r
                $demande = $dao->selectById($demande_id);\r
-               if ($demande->revendeur != $revendeur_id) {\r
+               if ($demande->revendeur != $revendeur_id || $demande->revendeur != $core->user->utilisateur_id) {\r
                        commonDroits::error();\r
                        exit;\r
                }\r
index b9cded3bfea95039f89d3be69884f571b8c54b60..44867a15a491f9bc45b96c86b07bcd3d0c85c8a4 100644 (file)
@@ -53,7 +53,6 @@ class wsDAODemande extends commonDAO {
                $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
 \r
                $sql = 'SELECT * FROM demandes_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
-               fb($sql);\r
                $r = $this->con->select($sql);\r
                return $this->factory($r);\r
        }\r
@@ -110,7 +109,7 @@ class wsDAODemande extends commonDAO {
                $demande = $this->selectById($demande_id);\r
                // Mets également à jour l'entreprise afin d'associer client et revendeur\r
                $daoEntreprise = new commonDAOEntreprise($this->con);\r
-               $daoEntreprise->setWSAdmin($demande->entreprise, revendeur);\r
+               $daoEntreprise->setWSAdmin($demande->entreprise, $revendeur);\r
                return $demande;\r
        }\r
 \r