From: vincent@cubedesigners.com Date: Thu, 10 Feb 2011 17:06:08 +0000 (+0000) Subject: (no commit message) X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=e58ef81d4b7f2ad362832348ce619cc1a73b00cc;p=cubeextranet.git --- diff --git a/inc/commons/DAO/class.common.dao.entreprise.php b/inc/commons/DAO/class.common.dao.entreprise.php index ccbb8107b..5d6aab916 100644 --- a/inc/commons/DAO/class.common.dao.entreprise.php +++ b/inc/commons/DAO/class.common.dao.entreprise.php @@ -21,7 +21,12 @@ class commonDAOEntreprise extends commonDAO { $entreprise->ws_admin = $r->ws_admin; $entreprise->ws_grade = $r->ws_grade; $entreprise->ws_signatures = $r->ws_signatures; - + if (isset($r->revendeur)) { + $entreprise->ws_revendeur = $r->revendeur; + } + if (isset($r->administrateur)) { + $entreprise->ws_administrateur = $r->administrateur; + } return $entreprise; } diff --git a/inc/commons/Metier/class.common.entreprise.php b/inc/commons/Metier/class.common.entreprise.php index d102aaf38..dc94e1858 100644 --- a/inc/commons/Metier/class.common.entreprise.php +++ b/inc/commons/Metier/class.common.entreprise.php @@ -18,6 +18,8 @@ class commonEntreprise extends cubeMetier { protected $ca; protected $impaye; protected $contacts; + protected $ws_revendeur; + protected $ws_administrateur; } ?> \ No newline at end of file diff --git a/inc/commons/class.common.core.php b/inc/commons/class.common.core.php index 31af511be..f329580e5 100644 --- a/inc/commons/class.common.core.php +++ b/inc/commons/class.common.core.php @@ -433,10 +433,10 @@ class commonCore extends cubeCore { . 'FROM entreprises_inter e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise'); $this->views->createView('entreprises_ws', 'SELECT e.*, a.prenom AS administrateur, r.nom AS revendeur ' . 'FROM entreprises e ' - . 'LEFT JOIN ws_users_tree ri ON ri.entreprise_id=e.entreprise_id ' - . 'LEFT JOIN entreprises r ON ri.facturable_entreprise_id=r.entreprise_id ' - . 'LEFT JOIN utilisateurs a ON ri.administrateur_id=a.utilisateur_id ' - . 'GROUP BY e.entreprise_id'); + . 'LEFT JOIN ws_entreprises_tree ri ON ri.entreprise_id=e.entreprise_id ' + . 'LEFT JOIN utilisateurs ur ON e.ws_admin=ur.utilisateur_id ' + . 'LEFT JOIN entreprises r ON ur.entreprise=r.entreprise_id ' + . 'LEFT JOIN utilisateurs a ON ri.administrateur_id=a.utilisateur_id '); $this->views->createView('clients_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation ' . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND u.grade=0'); $this->views->createView('utilisateurs_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation, ' diff --git a/inc/config.inc.php b/inc/config.inc.php index 62cd222ce..31674fbe4 100644 --- a/inc/config.inc.php +++ b/inc/config.inc.php @@ -19,7 +19,7 @@ define('AS3_SOURCES', '/home/ws/sources/as3'); if ($dev) { // Définition de la configuration sur l'environnement de développement - define('DB_HOST', 'localhost'); + define('DB_HOST',':/var/run/mysqld/mysqld.sock'); define('DB_NAME', 'extranet_dev'); define('DB_USER', 'ws'); define('DB_PASSWORD', '*arica*2'); @@ -28,7 +28,7 @@ if ($dev) { define('WS_URL', 'http://dev.ws.fluidbook.com'); } else { // Définition des variables dans l'environnement de production - define('DB_HOST', 'localhost'); + define('DB_HOST',':/var/run/mysqld/mysqld.sock'); define('DB_NAME', 'extranet'); define('DB_USER', 'ws'); define('DB_PASSWORD', '*arica*2'); diff --git a/inc/ws/Controlleur/class.ws.url.php b/inc/ws/Controlleur/class.ws.url.php index 2ada646c8..3d7a086c8 100644 --- a/inc/ws/Controlleur/class.ws.url.php +++ b/inc/ws/Controlleur/class.ws.url.php @@ -695,17 +695,29 @@ html{height:100%}' . "\n"; $dao->setSearch($settings['search']); } $dao->setFiltres($settings['filtres']); - $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit'], $core->user,'entreprises_ws'); + + $admin = wsDroits::admin(); + + if ($admin) { + $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit'], null, 'entreprises_ws'); + } else { + $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit'], $core->user, 'entreprises_ws'); + } $res = ''; $res .= ''; $res .= ''; $res .= ''; + if ($admin) { + $res .= ''; + $res .= ''; + $res .= ''; + } $res .= ''; $i = 0; foreach($liste as $id => $client) { if (!is_array($client->contacts)) { - $client->contacts=array(); + $client->contacts = array(); } $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= ''; @@ -718,6 +730,16 @@ html{height:100%}' . "\n"; } $res .= ''; + + if ($admin) { + $rev=$client->ws_revendeur==''?'-':$client->ws_revendeur; + $adm=$client->ws_administrateur==''?'-':$client->ws_administrateur; + + $res .= ''; + $res .= ''; + $res .= ''; + } + $res .= ''; $res .= ''; @@ -727,7 +749,11 @@ html{height:100%}' . "\n"; if (!isset($settings['search']) || is_null($settings['search'])) { $odd = cubeMath::isOdd($i)?' class="odd"':''; $res .= ''; } diff --git a/inc/ws/Controlleur/class.ws.users.tree.php b/inc/ws/Controlleur/class.ws.users.tree.php index 925cc7995..43f145e01 100644 --- a/inc/ws/Controlleur/class.ws.users.tree.php +++ b/inc/ws/Controlleur/class.ws.users.tree.php @@ -45,20 +45,24 @@ class wsUsersTree { $this->facturables = $this->getFacturables(); // Fabrication de l'arbre $c = $this->con->openCursor('ws_users_tree'); - $ce=$this->con->openCursor('ws_entreprises_tree'); + $ce = $this->con->openCursor('ws_entreprises_tree'); + + $evu = array(); foreach($this->users as $utilisateur_id => $admin) { $facturable_id = $administrateur_id = 0; $this->getFacturableOf($utilisateur_id, $facturable_id, $administrateur_id, 1); $c->utilisateur_id = $utilisateur_id; - $ce->entreprise_id=$c->entreprise_id = $this->entreprises[$utilisateur_id]; + $ce->entreprise_id = $c->entreprise_id = $this->entreprises[$utilisateur_id]; $c->facturable_id = $facturable_id; - $ce->facturable_entreprise_id=$c->facturable_entreprise_id = $this->entreprises[$facturable_id] ; - $ce->administrateur_id=$c->administrateur_id = $administrateur_id; + $ce->facturable_entreprise_id = $c->facturable_entreprise_id = $this->entreprises[$facturable_id] ; + $ce->administrateur_id = $c->administrateur_id = $administrateur_id; $c->insert(); + if (isset($evu[$c->entreprise_id])) { + continue; + } $ce->insert(); - - + $evu[$c->entreprise_id] = true; } // Fabrication de la liste des droits à partir de l'arbre for($i = 1;$i <= 4;$i++) {
' . commonUrl::orderby('#', 'entreprise_id', $settings, 'sort' . $change) . '' . commonUrl::orderby(__('Raison sociale'), 'nom', $settings, 'sort' . $change) . '' . __('Contacts') . '' . commonUrl::orderby(__('Grade'),'ws_grade',$settings,'sort',$change) . '' . commonUrl::orderby(__('Revendeur'),'revendeur',$settings,'sort',$change) . '' . commonUrl::orderby(__('Administrateur'),'administrateur',$settings,'sort',$change) . '
' . implode(', ', $contacts) . '' . $core->ws_grades[$client->ws_grade] . '' . $rev . '' . $adm . ''; $res .= '' . cubeMedia::image(IMG . '/edit.png') . ''; - $res .= commonPage::pager($settings['page'], $dao->count($core->user) , $settings['par_page'], 'page' . $change . '/%d'); + if ($admin) { + $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d'); + } else { + $res .= commonPage::pager($settings['page'], $dao->count($core->user) , $settings['par_page'], 'page' . $change . '/%d'); + } $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('clients')); $res .= '