\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
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
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
public $user;\r
public $agences;\r
public $categories;\r
+ public $ws_grades;\r
public function __construct()\r
{\r
parent::__construct();\r
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
*\r
* @return\r
*/\r
+ /**\r
+ * extranetCore::dbSync()\r
+ *\r
+ * @return\r
+ */\r
public function dbSync()\r
{\r
$cache = ROOT . '/cache/DB_SYNC';\r
$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
$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
$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
. ' 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
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
$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
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
$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
$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
$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
$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
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
});\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
}\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
onItemSelect : findProprietaire\r
});\r
}\r
-\r
-\r
}\r
\r
function findProprietaire(li){\r