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
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
$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
$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[' > ' . $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
\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
$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
$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