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