]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 10 Feb 2011 17:06:08 +0000 (17:06 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 10 Feb 2011 17:06:08 +0000 (17:06 +0000)
inc/commons/DAO/class.common.dao.entreprise.php
inc/commons/Metier/class.common.entreprise.php
inc/commons/class.common.core.php
inc/config.inc.php
inc/ws/Controlleur/class.ws.url.php
inc/ws/Controlleur/class.ws.users.tree.php

index ccbb8107b73226a4b0de4598e328420fa4f5aaa4..5d6aab916ee02203a1a48c1d3d8a0724ae4bc4c6 100644 (file)
@@ -21,7 +21,12 @@ class commonDAOEntreprise extends commonDAO {
                $entreprise->ws_admin = $r->ws_admin;\r
                $entreprise->ws_grade = $r->ws_grade;\r
                $entreprise->ws_signatures = $r->ws_signatures;\r
-\r
+               if (isset($r->revendeur)) {\r
+                       $entreprise->ws_revendeur = $r->revendeur;\r
+               }\r
+               if (isset($r->administrateur)) {\r
+                       $entreprise->ws_administrateur = $r->administrateur;\r
+               }\r
                return $entreprise;\r
        }\r
 \r
index d102aaf38ebb8d2f568a8cc82e461de0164f1d17..dc94e1858bf9b624156e9fda9714fc60f3aa2851 100644 (file)
@@ -18,6 +18,8 @@ class commonEntreprise extends cubeMetier {
        protected $ca;\r
        protected $impaye;\r
        protected $contacts;\r
+       protected $ws_revendeur;\r
+       protected $ws_administrateur;\r
 }\r
 \r
 ?>
\ No newline at end of file
index 31af511be89afd826ea56ebb44f1dd0a37be6996..f329580e50de56273f972bb83f6d2efc894524df 100644 (file)
@@ -433,10 +433,10 @@ class commonCore extends cubeCore {
                         . 'FROM entreprises_inter e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise');\r
                $this->views->createView('entreprises_ws', 'SELECT e.*, a.prenom AS administrateur, r.nom AS revendeur '\r
                         . 'FROM entreprises e '\r
-                        . 'LEFT JOIN ws_users_tree ri ON ri.entreprise_id=e.entreprise_id '\r
-                        . 'LEFT JOIN entreprises r ON ri.facturable_entreprise_id=r.entreprise_id '\r
-                        . 'LEFT JOIN utilisateurs a ON ri.administrateur_id=a.utilisateur_id '\r
-                        . 'GROUP BY e.entreprise_id');\r
+                        . 'LEFT JOIN ws_entreprises_tree ri ON ri.entreprise_id=e.entreprise_id '\r
+                        . 'LEFT JOIN utilisateurs ur ON e.ws_admin=ur.utilisateur_id '\r
+                        . 'LEFT JOIN entreprises r ON ur.entreprise=r.entreprise_id '\r
+                        . 'LEFT JOIN utilisateurs a ON ri.administrateur_id=a.utilisateur_id ');\r
                $this->views->createView('clients_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation '\r
                         . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND u.grade=0');\r
                $this->views->createView('utilisateurs_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation, '\r
index 62cd222ce620d7a5a1968959595e29fc92a5c8ae..31674fbe42b441e92eff7cd8d1be94fa071de559 100644 (file)
@@ -19,7 +19,7 @@ define('AS3_SOURCES', '/home/ws/sources/as3');
 \r
 if ($dev) {\r
        // Définition de la configuration sur l'environnement de développement\r
-       define('DB_HOST', 'localhost');\r
+       define('DB_HOST',':/var/run/mysqld/mysqld.sock');\r
        define('DB_NAME', 'extranet_dev');\r
        define('DB_USER', 'ws');\r
        define('DB_PASSWORD', '*arica*2');\r
@@ -28,7 +28,7 @@ if ($dev) {
        define('WS_URL', 'http://dev.ws.fluidbook.com');\r
 } else {\r
        // Définition des variables dans l'environnement de production\r
-       define('DB_HOST', 'localhost');\r
+       define('DB_HOST',':/var/run/mysqld/mysqld.sock');\r
        define('DB_NAME', 'extranet');\r
        define('DB_USER', 'ws');\r
        define('DB_PASSWORD', '*arica*2');\r
index 2ada646c82b748aad220e7fd08e9bc37b1bba18f..3d7a086c8fbef4e2cfbc3ca686c3db9af908bcb2 100644 (file)
@@ -695,17 +695,29 @@ html{height:100%}' . "\n";
                        $dao->setSearch($settings['search']);\r
                }\r
                $dao->setFiltres($settings['filtres']);\r
-               $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit'], $core->user,'entreprises_ws');\r
+\r
+               $admin = wsDroits::admin();\r
+\r
+               if ($admin) {\r
+                       $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit'], null, 'entreprises_ws');\r
+               } else {\r
+                       $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit'], $core->user, 'entreprises_ws');\r
+               }\r
 \r
                $res = '<table class="liste">';\r
                $res .= '<tr><th>' . commonUrl::orderby('#', 'entreprise_id', $settings, 'sort' . $change) . '</th>';\r
                $res .= '<th>' . commonUrl::orderby(__('Raison sociale'), 'nom', $settings, 'sort' . $change) . '</th>';\r
                $res .= '<th>' . __('Contacts') . '</th>';\r
+               if ($admin) {\r
+                       $res .= '<th>' . commonUrl::orderby(__('Grade'),'ws_grade',$settings,'sort',$change) . '</th>';\r
+                       $res .= '<th>' . commonUrl::orderby(__('Revendeur'),'revendeur',$settings,'sort',$change) . '</th>';\r
+                       $res .= '<th>' . commonUrl::orderby(__('Administrateur'),'administrateur',$settings,'sort',$change) . '</th>';\r
+               }\r
                $res .= '<th class="min"></th><th class="min"></th></tr>';\r
                $i = 0;\r
                foreach($liste as $id => $client) {\r
                        if (!is_array($client->contacts)) {\r
-                               $client->contacts=array();\r
+                               $client->contacts = array();\r
                        }\r
                        $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
                        $res .= '<tr' . $odd . '>';\r
@@ -718,6 +730,16 @@ html{height:100%}' . "\n";
                        }\r
 \r
                        $res .= '<td id="contacts_' . $client->entreprise_id . '">' . implode(', ', $contacts) . '</td>';\r
+\r
+                       if ($admin) {\r
+                               $rev=$client->ws_revendeur==''?'-':$client->ws_revendeur;\r
+                               $adm=$client->ws_administrateur==''?'-':$client->ws_administrateur;\r
+\r
+                               $res .= '<td>' . $core->ws_grades[$client->ws_grade] . '</td>';\r
+                               $res .= '<td>' . $rev . '</td>';\r
+                               $res .= '<td>' . $adm . '</td>';\r
+                       }\r
+\r
                        $res .= '<td class="nowrap">';\r
                        $res .= '</td>';\r
                        $res .= '<td class="action"><a href="#" class="popup" rel="formClient/' . $client->entreprise_id . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
@@ -727,7 +749,11 @@ html{height:100%}' . "\n";
                if (!isset($settings['search']) || is_null($settings['search'])) {\r
                        $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
                        $res .= '<tr' . $odd . '><td colspan="10">';\r
-                       $res .= commonPage::pager($settings['page'], $dao->count($core->user) , $settings['par_page'], 'page' . $change . '/%d');\r
+                       if ($admin) {\r
+                               $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d');\r
+                       } else {\r
+                               $res .= commonPage::pager($settings['page'], $dao->count($core->user) , $settings['par_page'], 'page' . $change . '/%d');\r
+                       }\r
                        $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('clients'));\r
                        $res .= '</td></tr>';\r
                }\r
index 925cc7995373a092d9930e3212bc39f06fdf007e..43f145e013e2b5d01ed473bbafdb7341f8f92e05 100644 (file)
@@ -45,20 +45,24 @@ class wsUsersTree {
                $this->facturables = $this->getFacturables();\r
                // Fabrication de l'arbre\r
                $c = $this->con->openCursor('ws_users_tree');\r
-               $ce=$this->con->openCursor('ws_entreprises_tree');\r
+               $ce = $this->con->openCursor('ws_entreprises_tree');\r
+\r
+               $evu = array();\r
 \r
                foreach($this->users as $utilisateur_id => $admin) {\r
                        $facturable_id = $administrateur_id = 0;\r
                        $this->getFacturableOf($utilisateur_id, $facturable_id, $administrateur_id, 1);\r
                        $c->utilisateur_id = $utilisateur_id;\r
-                       $ce->entreprise_id=$c->entreprise_id = $this->entreprises[$utilisateur_id];\r
+                       $ce->entreprise_id = $c->entreprise_id = $this->entreprises[$utilisateur_id];\r
                        $c->facturable_id = $facturable_id;\r
-                       $ce->facturable_entreprise_id=$c->facturable_entreprise_id = $this->entreprises[$facturable_id] ;\r
-                       $ce->administrateur_id=$c->administrateur_id = $administrateur_id;\r
+                       $ce->facturable_entreprise_id = $c->facturable_entreprise_id = $this->entreprises[$facturable_id] ;\r
+                       $ce->administrateur_id = $c->administrateur_id = $administrateur_id;\r
                        $c->insert();\r
+                       if (isset($evu[$c->entreprise_id])) {\r
+                               continue;\r
+                       }\r
                        $ce->insert();\r
-\r
-\r
+                       $evu[$c->entreprise_id] = true;\r
                }\r
                // Fabrication de la liste des droits à partir de l'arbre\r
                for($i = 1;$i <= 4;$i++) {\r