From: vincent@cubedesigners.com Date: Tue, 25 Jan 2011 11:23:02 +0000 (+0000) Subject: (no commit message) X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=b45b276f19c939798768160dd90372ed97a3ee8d;p=cubeextranet.git --- diff --git a/inc/commons/DAO/class.common.dao.utilisateur.php b/inc/commons/DAO/class.common.dao.utilisateur.php index c1f269a87..d2083f8bc 100644 --- a/inc/commons/DAO/class.common.dao.utilisateur.php +++ b/inc/commons/DAO/class.common.dao.utilisateur.php @@ -57,6 +57,9 @@ class commonDAOUtilisateur extends commonDAO { if (isset($r->ws_signatures)) { $utilisateur->ws_signatures = $r->ws_signatures; } + if(isset($r->ws_admin)){ + $utilisateur->ws_admin=$r->ws_admin; + } return $utilisateur; } @@ -125,11 +128,24 @@ class commonDAOUtilisateur extends commonDAO { return null; } - public function selectWSRevendeursFacturables(){ - $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'); + public function selectWSRevendeursFacturables() + { + $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'); return $this->factory($r); } + public function selectWSAdministrateursId() + { + $r = $this->con->select('SELECT * FROM utilisateurs_entreprise WHERE ws_grade=5'); + $liste = $this->factory($r); + + $res = array(); + foreach($liste as $u) { + $res[] = $u->utilisateur_id; + } + return $res; + } + protected function getNextId() { $r = $this->con->select('SELECT MAX(utilisateur_id) AS utilisateur_id FROM utilisateurs'); diff --git a/inc/ws/Controlleur/class.ws.ajax.php b/inc/ws/Controlleur/class.ws.ajax.php index 6510fa849..6d5d86d05 100644 --- a/inc/ws/Controlleur/class.ws.ajax.php +++ b/inc/ws/Controlleur/class.ws.ajax.php @@ -480,7 +480,7 @@ class wsAjax extends cubeAjax { $mail->body = $body; // $mail->to = $r->email; // $mail->bcc='tech@fluidbook.com'; - $mail->send(); + fb($mail->send()); } public static function reponseDemande($args, &$x) @@ -501,7 +501,7 @@ class wsAjax extends cubeAjax { if ($reponse == '0') { $dao->reinitDemande($demande_id); } else { - $dao->accepteDemande($demande_id); + $dao->accepteDemande($demande_id, $revendeur_id); } $x->addAlert(__('Votre choix a bien été prise en compte.')); diff --git a/inc/ws/Controlleur/class.ws.url.php b/inc/ws/Controlleur/class.ws.url.php index 15b76731d..ef9578d65 100644 --- a/inc/ws/Controlleur/class.ws.url.php +++ b/inc/ws/Controlleur/class.ws.url.php @@ -752,7 +752,7 @@ html{height:100%}' . "\n"; $res .= ''; } // On n'affiche le bouton "Supprimer" que si la demande est non-traitée - if ($demande->status == 0) { + if (($demande->administrateur == 0 || $demande->administrateur == $core->user->utilisateur_id) && $demande->status == 0) { $res .= '' . cubeMedia::image(IMG . '/delete.png') . ''; } else { $res .= ''; @@ -782,23 +782,33 @@ html{height:100%}' . "\n"; $res = '

' . __("Cette demande est actuellement en cours d'édition par un autre administrateur") . '

'; return $res; } - if ($demande->status == 2) { - $res = '

' . __("Cette demande a été confiée à un revendeur qui s'est chargé de la traiter") . '

'; + if ($demande->status > 1) { + $res = '

' . __("Cette demande est actuellement en cours de traitement") . '

'; return $res; } + // On place la demande comme en cours d'édition $dao->setAdministrateur($demande_id, $core->user->utilisateur_id); + // On vérifie que l'utilisateur n'est pas déjà géré par un revendeur + $demandeur = $daoUtilisateur->selectById($demande->utilisateur, 'utilisateurs_entreprise'); + $administrateurs = $daoUtilisateur->selectWSAdministrateursId(); + fb($administrateurs); + fb($demandeur); + if (!is_null($demandeur->ws_admin) && !in_array($demandeur->ws_admin, $administrateurs)) { + // Si déjà géré par un revendeur + $revendeur = $daoUtilisateur->selectById($demandeur->ws_admin, 'utilisateurs_entreprise'); + $actions[__('Je confie la demande à ' . $revendeur->rs . ' (' . $revendeur->prenom . ' ' . $revendeur->nom . ')')] = $demandeur->ws_admin; + } else { + $liste = $daoUtilisateur->selectWSRevendeursFacturables(); + $revendeurs = array(); + foreach($liste as $revendeur) { + $revendeurs[$revendeur->rs . '(' . $revendeur->prenom . ' ' . $revendeur->nom . ')'] = $revendeur->utilisateur_id; + } - $liste = $daoUtilisateur->selectWSRevendeursFacturables(); - $revendeurs = array(); - - foreach($liste as $revendeur) { - $revendeurs[' > ' . $revendeur->rs . '(' . $revendeur->prenom . ' ' . $revendeur->nom . ')'] = $revendeur->utilisateur_id; + $actions = array(__('Je vais me charger de cette demande') => $core->user->utilisateur_id); + $actions[' '] = array(); + $actions[__('Je confie la demande à') . ' : '] = $revendeurs; } - $actions = array('Je me charge de cette demande' => $core->user->utilisateur_id); - $actions[' '] = array(); - $actions['Je confie la demande à :'] = $revendeurs; - $res = '' . __('Numéro de demande') . '' . form::hidden('demande_id', $demande->demande_id) . '' . $demande->demande_id . ''; $res .= '' . __('Date de la demande') . '' . date(__('d/m/Y H:i'), $demande->date) . ''; $res .= '' . __('Emetteur de la demande') . '' . $demande->utilisateur_nom . ''; @@ -828,7 +838,7 @@ html{height:100%}' . "\n"; $dao = new wsDAODemande($core->con); $demande = $dao->selectById($demande_id); - if ($demande->revendeur != $revendeur_id) { + if ($demande->revendeur != $revendeur_id || $demande->revendeur != $core->user->utilisateur_id) { commonDroits::error(); exit; } diff --git a/inc/ws/DAO/class.ws.dao.demande.php b/inc/ws/DAO/class.ws.dao.demande.php index b9cded3bf..44867a15a 100644 --- a/inc/ws/DAO/class.ws.dao.demande.php +++ b/inc/ws/DAO/class.ws.dao.demande.php @@ -53,7 +53,6 @@ class wsDAODemande extends commonDAO { $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]); $sql = 'SELECT * FROM demandes_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit; - fb($sql); $r = $this->con->select($sql); return $this->factory($r); } @@ -110,7 +109,7 @@ class wsDAODemande extends commonDAO { $demande = $this->selectById($demande_id); // Mets également à jour l'entreprise afin d'associer client et revendeur $daoEntreprise = new commonDAOEntreprise($this->con); - $daoEntreprise->setWSAdmin($demande->entreprise, revendeur); + $daoEntreprise->setWSAdmin($demande->entreprise, $revendeur); return $demande; }