]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 10 Jan 2011 16:59:35 +0000 (16:59 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 10 Jan 2011 16:59:35 +0000 (16:59 +0000)
inc/config.inc.php
inc/extranet/Controlleur/class.extranet.core.php
inc/extranet/Controlleur/class.extranet.url.php
inc/extranet/DAO/class.extranet.dao.entreprise.php
inc/extranet/DAO/class.extranet.dao.utilisateur.php
inc/extranet/Metier/class.extranet.entreprise.php
js/extranet.js
js/ws.js

index 97bee395d2329970da39fa28c0b83f9c9091e66b..cafecc06810b646e983d30d6c4dce5694b58d39e 100644 (file)
@@ -2,11 +2,12 @@
 \r
 define('DB_DRIVER', 'mysql');\r
 define('ROOT', dirname(__FILE__) . '/..');\r
-$localrel = array('localhost', 'paris.fluidbook.com');\r
-$localabs = array('dev.ws.fluidbook.com', 'dev.extranet.fluidbook.com', 'worker.dev.ws.fluidbook.com');\r
-$ws = array('ws.fluidbook.com', 'dev.ws.fluidbook.com', 'worker.dev.ws.fluidbook.com');\r
-$extranet = array('extranet.cubedesigners.com', 'dev.extranet.fluidbook.com', 'paris.fluidbook.com', 'localhost', 'xtn.fluidbook.com');\r
-if (in_array($_SERVER['HTTP_HOST'], array_merge($localrel, $localabs))) {\r
+\r
+$local = stristr($_SERVER['HTTP_HOST'], 'dev.');\r
+$extranet = stristr($_SERVER['HTTP_HOST'], 'extranet.cubedesigners.com');\r
+$ws = stristr($_SERVER['HTTP_HOST'], 'ws.fluidbook.com');\r
+\r
+if ($local) {\r
        // Définition de la configuration sur l'environnement de développement\r
        define('DB_HOST', 'localhost');\r
        define('DB_NAME', 'extranet');\r
@@ -17,13 +18,9 @@ if (in_array($_SERVER['HTTP_HOST'], array_merge($localrel, $localabs))) {
        define('FONT_PATH', ROOT . '/fluidbook/fonts/');\r
        define('AS3_SOURCES', 'C:\Users\Vincent\Documents\Works\as3;C:\Users\Vincent\Documents\Works\cubeExtranet\swf\_src;C:\Users\Vincent\Documents\Works\as3-10');\r
 \r
-       if (in_array($_SERVER['HTTP_HOST'], $localrel)) {\r
-               define('WEBROOT', '/cubeExtranet');\r
-               define('SITE_PATH', WEBROOT . '/index.php/');\r
-       } else {\r
-               define('WEBROOT', '');\r
-               define('SITE_PATH', WEBROOT . '/');\r
-       }\r
+       define('WEBROOT', '');\r
+       define('SITE_PATH', WEBROOT . '/');\r
+\r
        define('CONVERTER_PATH', ROOT . '/fluidbook/tools/');\r
        define('MXMLC_PATH', 'C:\Program Files\Adobe\Flex SDK\bin\mxmlc.exe');\r
        define('FTPROOT', '/');\r
@@ -45,18 +42,21 @@ if (in_array($_SERVER['HTTP_HOST'], array_merge($localrel, $localabs))) {
        define('AS3_SOURCES', '/home/ws/sources');\r
 }\r
 \r
-if (in_array($_SERVER['HTTP_HOST'], $ws)) {\r
+if ($ws) {\r
        define('MODE', 'ws');\r
        define('GA', 'UA-4339912-5');\r
        define('TITLE', 'Fuidbook Workshop');\r
-       if (DEV) {\r
-               define('STATIC_SERVER', 'http://devstatic.ws.fluidbook.com' . WEBROOT);\r
-       }\r
-} else {\r
+} elseif ($extranet) {\r
        define('MODE', 'extranet');\r
        define('GA', 'UA-4339912-4');\r
        define('TITLE', 'Extranet Cubedesigners');\r
 }\r
+\r
+if (DEV) {\r
+       define('STATIC_SERVER', 'http://devstatic.ws.fluidbook.com' . WEBROOT);\r
+} else {\r
+       define('STATIC_SERVER', 'http://static.ws.fluidbook.com' . WEBROOT);\r
+}\r
 // Workshop\r
 define('THEMES', WEBROOT . '/fluidbook/themes/');\r
 define('ICONS', WEBROOT . '/fluidbook/icones/');\r
index 9a2481566f41481c9390959df902bfb9a88babcc..e2f3ff22baaf052dd31429ecaa17baadcbdcd2a3 100644 (file)
@@ -4,6 +4,7 @@ class extranetCore extends cubeCore {
        public $user;\r
        public $agences;\r
        public $categories;\r
+       public $ws_grades;\r
        public function __construct()\r
        {\r
                parent::__construct();\r
@@ -34,6 +35,7 @@ class extranetCore extends cubeCore {
                        2 => __('Payée'), 3 => __('Annulée'), 4 => __('Avoir'));\r
                $this->books_status = array(-1 => __('Brouillon'), 0 => __('Prêt'), 1 => __('Téléchargé'), 2 => __('Facturé'));\r
                $this->agences = array('Paris', 'Montpellier');\r
+               $this->ws_grades = array(0 => __("Pas d'accès"), 1 => __('Client'), 2 => __('Client (droits de création)'), 3 => __('Revendeur'), 4 => __('Revendeur (droits de création)'), 5 => __('Administrateur'));\r
        }\r
 \r
        /**\r
@@ -93,6 +95,11 @@ class extranetCore extends cubeCore {
         *\r
         * @return\r
         */\r
+       /**\r
+        * extranetCore::dbSync()\r
+        *\r
+        * @return\r
+        */\r
        public function dbSync()\r
        {\r
                $cache = ROOT . '/cache/DB_SYNC';\r
@@ -131,10 +138,8 @@ class extranetCore extends cubeCore {
                $db->utilisateurs->date_creation('integer', 0, false);\r
                $db->utilisateurs->settings('text', 0, false);\r
                $db->utilisateurs->notes('text', 0, false);\r
-               $db->utilisateurs->ws_grade('float', 0, false, -1);\r
-               $db->utilisateurs->ws_password('varchar', 40, false);\r
-               $db->utilisateurs->ws_admin('integer', 0, false, 1);\r
                $db->utilisateurs->ws_id('integer', 0, true);\r
+               $db->utilisateurs->ws_password('varchar', 40, false);\r
                $db->utilisateurs->ws_settings('text', 0, false);\r
                // Clés\r
                $db->utilisateurs->primary('pk_utilisateurs', 'utilisateur_id');\r
@@ -151,6 +156,8 @@ class extranetCore extends cubeCore {
                $db->entreprises->pays('varchar', 2, false);\r
                $db->entreprises->adresse_facturation('varchar', 512, false);\r
                $db->entreprises->tva_intra('varchar', 14, false);\r
+               $db->entreprises->ws_grade('integer', 0, false);\r
+               $db->entreprises->ws_admin('integer', 0, false);\r
                $db->entreprises->date_creation('integer', 0, false);\r
                $db->entreprises->notes('text', 0, false);\r
                $db->entreprises->site('varchar', 256, false);\r
@@ -387,8 +394,8 @@ class extranetCore extends cubeCore {
                $this->views->createView('equipiers', 'SELECT * FROM utilisateurs WHERE grade>=1');\r
                $this->views->createView('gerants', 'SELECT * FROM utilisateurs WHERE grade=2');\r
                // $this->views->createView('ws_top_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
-               $this->views->createView('ws_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3');\r
-               $this->views->createView('ws_facturables', 'SELECT * FROM utilisateurs WHERE ws_grade BETWEEN 0 AND 3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
+               // $this->views->createView('ws_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3');\r
+               // $this->views->createView('ws_facturables', 'SELECT * FROM utilisateurs WHERE ws_grade BETWEEN 0 AND 3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
                $this->views->createView('impayes_entreprises', 'SELECT SUM(total_ht) AS impaye, u.entreprise AS entreprise '\r
                         . 'FROM utilisateurs u LEFT JOIN projets p ON u.utilisateur_id=p.client LEFT JOIN factures f ON f.projet=p.projet_id '\r
                         . 'WHERE f.status=1 GROUP BY u.entreprise');\r
@@ -402,7 +409,8 @@ class extranetCore extends cubeCore {
                         . ' FROM entreprises_inter e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise');\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
+               $this->views->createView('utilisateurs_entreprise', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation, '\r
+                        . 'e.ws_grade, e.ws_admin '\r
                         . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id');\r
                $this->views->createView('clients', 'SELECT u.*,e.nom AS rs, e.adresse_facturation AS adresse_facturation, i.impaye, '\r
                         . 'SUM(f.total_ht) AS ca '\r
index c527ab4db1267ab9e02f2fbd3b33f7551c90813e..3132a2d0babf83437f91370849a4e0e8c8b85e8c 100644 (file)
@@ -275,6 +275,9 @@ class extranetUrl {
                global $core;\r
                extranetDroits::min(1);\r
 \r
+               cubePage::autocomplete();\r
+               cubePage::emptyfield();\r
+\r
                $dao = new extranetDAOEntreprise($core->con);\r
                if ($entreprise_id == 'new') {\r
                        $client = $dao->cree();\r
@@ -290,6 +293,19 @@ class extranetUrl {
                $res .= '<tr><td>' . __('Pays') . '</td><td>' . form::combo('pays', cubeCountry::getList(), $client->pays) . '</td></tr>';\r
                $res .= '<tr><td>' . __('Adresse de facturation') . '</td><td>' . form::textarea('adresse_facturation', 40, 3, $client->adresse_facturation) . '</td></tr>';\r
                $res .= '<tr><td>' . __('Numéro de TVA intracommunautaire') . '</td><td>' . form::field('tva_intra', 15, 13, $client->tva_intra) . '</td></tr>';\r
+               $res .= '<tr class="light"><th colspan="2" class="light"><strong>' . __('Fluidbook Workshop') . '</strong></th></tr>';\r
+               $res .= '<tr class="odd"><td>' . __('Grade') . '</td><td>' . form::combo('ws_grade', array_flip($core->ws_grades), $client->ws_grade) . '</td></tr>';\r
+               if ($entreprise_id == 'new' || !$client->ws_admin) {\r
+                       $class = 'empty-field';\r
+                       $default_id = '';\r
+                       $default = __('Entrez le nom du projet ou du client');\r
+               } else {\r
+                       $class = '';\r
+                       $default_id = $client->ws_admin;\r
+                       $wsa = $dao->selectById($client->ws_admin);\r
+                       $default = $wsa->entreprise_id . ' - ' . $wsa->nom;\r
+               }\r
+               $res .= '<tr class="odd"><td>' . __('Revendeur / Administrateur') . '</td><td>' . form::field('ws_admin_nom', 60, 128, $default, $class) . form::hidden('ws_admin', $default_id) . '</td></tr>';\r
                if ($entreprise_id == 'new') {\r
                        $daoContact = new extranetDAOClient($core->con);\r
                        $contact = $daoContact->cree();\r
@@ -1782,7 +1798,7 @@ class extranetUrl {
                        foreach($books as $book) {\r
                                $suggestions[] = $book->book_id . ' - ' . $book->nom;\r
                        }\r
-               }elseif($args[1]=='wsuser'){\r
+               } elseif ($args[1] == 'wsuser') {\r
                        $dao = new extranetDAOClient($core->con);\r
                        $dao->setSearch($q, true);\r
                        $clients = $dao->getListe();\r
index 4d2b944a24b1d3768865a9641633c728a9a0d4c4..db5a1f9da7480871be6e5a7af7aec7efb441c19a 100644 (file)
@@ -13,7 +13,9 @@ class extranetDAOEntreprise extends extranetDAO {
                $entreprise->notes = $r->notes;\r
                $entreprise->impaye = $r->impaye;\r
                $entreprise->ca = $r->ca;\r
-               $entreprise->adresse_facturation=$r->adresse_facturation;\r
+               $entreprise->adresse_facturation = $r->adresse_facturation;\r
+               $entreprise->ws_admin = $r->ws_admin;\r
+               $entreprise->ws_grade = $r->ws_grade;\r
 \r
                return $entreprise;\r
        }\r
@@ -102,7 +104,9 @@ class extranetDAOEntreprise extends extranetDAO {
                $c->ville = $data['ville'];\r
                $c->pays = $data['pays'];\r
                $c->tva_intra = $data['tva_intra'];\r
-               $c->adresse_facturation=$data['adresse_facturation'];\r
+               $c->adresse_facturation = $data['adresse_facturation'];\r
+               $c->ws_admin = $data['ws_admin'];\r
+               $c->ws_grade = $data['ws_grade'];\r
 \r
                if ($data['entreprise_id'] == 'new' || $data['entreprise_id'] == '') {\r
                        $entreprise_id = $c->entreprise_id = $this->getNextId();\r
index 4927f5b0233e306583bba08013c9b9aef867ff00..768930f1be30cc5508f1511ea0fc23af2902ac80 100644 (file)
@@ -40,7 +40,6 @@ class extranetDAOUtilisateur extends extranetDAO {
                $utilisateur->notes = $r->notes;\r
                $utilisateur->entreprise = $r->entreprise;\r
                $utilisateur->collegues = array();\r
-               $utilisateur->ws_grade = $r->ws_grade;\r
                if ($r->ws_settings != '') {\r
                        $utilisateur->ws_settings = unserialize($r->ws_settings);\r
                } else {\r
@@ -72,7 +71,6 @@ class extranetDAOUtilisateur extends extranetDAO {
                $utilisateur->settings = array();\r
                $utilisateur->notes = '';\r
                $utilisateur->entreprise = 0;\r
-               $utilisateur->ws_grade = 0;\r
                $utilisateur->ws_settings = array('resolution' => 150, 'method' => 0, 'quality' => 85, 'objects' => 1800);\r
                return $utilisateur;\r
        }\r
index 765ef380cf0332b7a007ad19e31ad4b139af625b..f815e7890f33fd0b9eca809d524194aeecf51a9b 100644 (file)
@@ -11,6 +11,8 @@ class extranetEntreprise extends cubeMetier {
        protected $tva_intra;\r
        protected $notes;\r
        protected $adresse_facturation;\r
+       protected $ws_admin;\r
+       protected $ws_grade;\r
        // Composés\r
        protected $ca;\r
        protected $impaye;\r
index 1793b62a1899bf61b7f4a523f03d0178eecc5222..f4f5986ae2082faa235532d1f7dddff3af211d80 100644 (file)
@@ -22,6 +22,10 @@ function load_extranet(){
                });\r
        }\r
 \r
+       if($("#ws_admin_nom").length){\r
+               $("#ws_admin_nom").autocomplete(SITE_PATH+'autocomplete/wsadmin');\r
+       }\r
+\r
 \r
 \r
        if($("#devisLignes").length>=1){\r
@@ -34,6 +38,15 @@ function load_extranet(){
        }\r
 }\r
 \r
+function findWSAdmin(li){\r
+       var p=li.selectValue.split(' - ');\r
+       if(p.length<=1){\r
+               return;\r
+       }\r
+       var user_id=parseInt(p[0]);\r
+       $("#ws_admin").val(user_id);\r
+}\r
+\r
 function findClient(li){\r
        var client=li.selectValue.split(' - ');\r
        if(client.length<=1){\r
index a4fb45ea51a7652236667220d06e233265180da4..422b46f8a9f54852b47d08ec421917acc9d56ea5 100644 (file)
--- a/js/ws.js
+++ b/js/ws.js
@@ -19,8 +19,6 @@ function load_ws(){
                        onItemSelect    :       findProprietaire\r
                });\r
        }\r
-\r
-\r
 }\r
 \r
 function findProprietaire(li){\r