From: vincent@cubedesigners.com Date: Wed, 19 Jan 2011 14:48:46 +0000 (+0000) Subject: (no commit message) X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=a6a83e829c7d1d2f8d1743774c994dc84daa50da;p=cubeextranet.git --- diff --git a/inc/commons/DAO/class.common.dao.client.php b/inc/commons/DAO/class.common.dao.client.php index a0f948ba3..98e147d16 100644 --- a/inc/commons/DAO/class.common.dao.client.php +++ b/inc/commons/DAO/class.common.dao.client.php @@ -38,6 +38,7 @@ class commonDAOClient extends commonDAOUtilisateur { public function getListe($orderby = null, $sens = null, $limit = null, $where = null, $limitedToUserRights = false) { $sql = $this->getQueryList('clients', $orderby, $sens, $limit, $where,$limitedToUserRights); + fb($sql); $r = $this->con->select($sql); return $this->factory($r); } diff --git a/inc/commons/DAO/class.common.dao.entreprise.php b/inc/commons/DAO/class.common.dao.entreprise.php index 481b455ea..9066a3d23 100644 --- a/inc/commons/DAO/class.common.dao.entreprise.php +++ b/inc/commons/DAO/class.common.dao.entreprise.php @@ -16,6 +16,7 @@ class commonDAOEntreprise extends commonDAO { $entreprise->adresse_facturation = $r->adresse_facturation; $entreprise->ws_admin = $r->ws_admin; $entreprise->ws_grade = $r->ws_grade; + $entreprise->ws_signatures = $r->ws_signatures; return $entreprise; } @@ -61,16 +62,18 @@ class commonDAOEntreprise extends commonDAO { public function getListe($orderby = null, $sens = null, $limit = null, $limitedToUserRights = false) { + $where = '('; if (!is_null($this->q)) { $daoClients = new commonDAOClient($this->con); - $where = ''; + $where .= 'entreprise_id=\'' . $this->con->escape($this->q) . '\' OR '; $where .= 'nom LIKE \'%' . $this->con->escape($this->q) . '%\' OR '; $where .= 'entreprise_id IN (SELECT entreprise FROM utilisateurs WHERE(' . $daoClients->whereSearchByName($this->q, false) . ') AND grade=0) '; $limit = null; } else { - $where = $this->makeWhereFromFiltres(); + $where .= $this->makeWhereFromFiltres(); } + $where .= ') '; $where .= $this->limitToUserRights($limitedToUserRights); @@ -79,6 +82,9 @@ class commonDAOEntreprise extends commonDAO { $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]); $sql = 'SELECT * FROM entreprises_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit; + + fb($sql); + $r = $this->con->select($sql); $ids = array(); while ($r->fetch()) { @@ -136,6 +142,13 @@ class commonDAOEntreprise extends commonDAO { if (isset($data['ws_grade'])) { $c->ws_grade = $data['ws_grade']; } + if (isset($data['ws_signatures'])) { + $signatures = $data['ws_signatures']; + if (!in_array(1, $signatures)) { + $signatures[] = 1; + } + $c->ws_signatures = implode(',', $signatures); + } if ($data['entreprise_id'] == 'new' || $data['entreprise_id'] == '') { $c->date_creation = TIME; diff --git a/inc/commons/DAO/class.common.dao.utilisateur.php b/inc/commons/DAO/class.common.dao.utilisateur.php index 2f6688d19..38c943f59 100644 --- a/inc/commons/DAO/class.common.dao.utilisateur.php +++ b/inc/commons/DAO/class.common.dao.utilisateur.php @@ -54,7 +54,9 @@ class commonDAOUtilisateur extends commonDAO { if (isset($r->ws_rights)) { $utilisateur->ws_rights = $r->ws_rights; } - + if (isset($r->ws_signatures)) { + $utilisateur->ws_signatures = $r->ws_signatures; + } return $utilisateur; } @@ -131,8 +133,6 @@ class commonDAOUtilisateur extends commonDAO { $wherec = $where; $where = '('; if (!is_null($this->q)) { - - if ($this->search_id) { $where .= 'utilisateur_id=\'' . $this->con->escape($this->q) . '\' OR '; } @@ -163,6 +163,7 @@ class commonDAOUtilisateur extends commonDAO { public function getListe($orderby = null, $sens = null, $limit = null, $where = null, $limitedToUserRights = false) { $sql = $this->getQueryList('utilisateurs_entreprise', $orderby, $sens, $limit, $where, $limitedToUserRights); + fb($sql); $r = $this->con->select($sql); return $this->factory($r); } diff --git a/inc/commons/Metier/class.common.entreprise.php b/inc/commons/Metier/class.common.entreprise.php index 1f4f220ee..d102aaf38 100644 --- a/inc/commons/Metier/class.common.entreprise.php +++ b/inc/commons/Metier/class.common.entreprise.php @@ -13,6 +13,7 @@ class commonEntreprise extends cubeMetier { protected $adresse_facturation; protected $ws_admin; protected $ws_grade; + protected $ws_signatures; // Composés protected $ca; protected $impaye; diff --git a/inc/commons/Metier/class.common.utilisateur.php b/inc/commons/Metier/class.common.utilisateur.php index ec731e90b..518fcbf2d 100644 --- a/inc/commons/Metier/class.common.utilisateur.php +++ b/inc/commons/Metier/class.common.utilisateur.php @@ -27,6 +27,7 @@ class commonUtilisateur extends cubeMetier { protected $ws_grade; protected $ws_settings; protected $ws_rights; + protected $ws_signatures; public function getEmail() { @@ -40,7 +41,7 @@ class commonUtilisateur extends cubeMetier { public function getSettings($liste) { - $cles = array('clients' => 'entreprise_id', 'equipiers' => 'utilisateur_id', 'devis' => 'devis_id', 'projets' => 'projet_id', 'factures' => 'facture_id', 'timereport' => 'projet_id', 'fichiers' => 'nom', 'books' => 'book_id'); + $cles = array('clients' => 'entreprise_id', 'equipiers' => 'utilisateur_id', 'devis' => 'devis_id', 'projets' => 'projet_id', 'factures' => 'facture_id', 'timereport' => 'projet_id', 'fichiers' => 'nom', 'publications' => 'book_id'); if (!isset($this->settings['search'][$liste]) || !is_array($this->settings['search'][$liste])) { $this->settings['search'][$liste] = array(); } diff --git a/inc/commons/class.common.core.php b/inc/commons/class.common.core.php index aed223723..87655d801 100644 --- a/inc/commons/class.common.core.php +++ b/inc/commons/class.common.core.php @@ -162,6 +162,7 @@ class commonCore extends cubeCore { $db->entreprises->date_creation('integer', 0, false); $db->entreprises->notes('text', 0, false); $db->entreprises->site('varchar', 256, false); + $db->entreprises->ws_signatures('text', 0, false); // Clés $db->entreprises->primary('pk_entreprises', 'entreprise_id'); $db->entreprises->index('index_entreprises_nom', 'BTREE', 'nom'); @@ -417,7 +418,7 @@ class commonCore extends cubeCore { $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, ' - . 'e.ws_grade, e.ws_admin ' + . 'e.ws_grade, e.ws_admin, e.ws_signatures AS ws_signatures ' . '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/commons/class.common.droits.php b/inc/commons/class.common.droits.php index 62a1269b6..4a81a4eac 100644 --- a/inc/commons/class.common.droits.php +++ b/inc/commons/class.common.droits.php @@ -35,8 +35,16 @@ class commonDroits { public static function recherche($page) { global $core; - $droits = array('projets' => 1, 'factures' => 1, 'devis' => 1, 'clients' => 1, 'timereport' => 1, 'fichiers' => 0, 'books' => 0); - return (isset($droits[$page]) && $droits[$page] <= $core->user->grade); + if (MODE == 'extranet') { + $droits = array('projets' => 1, 'factures' => 1, 'devis' => 1, 'clients' => 1, 'timereport' => 1, 'fichiers' => 0); + } elseif (MODE == 'ws') { + $droits = array('clients' => 3, 'fichiers' => 0, 'publications' => 3); + } + if (MODE == 'extranet') { + return (isset($droits[$page]) && $droits[$page] <= $core->user->grade); + } else { + return (isset($droits[$page]) && $droits[$page] <= $core->user->ws_grade); + } } public static function telecharger($utilisateur_id) diff --git a/inc/commons/class.common.page.php b/inc/commons/class.common.page.php index 1ea161cbf..41000c8db 100644 --- a/inc/commons/class.common.page.php +++ b/inc/commons/class.common.page.php @@ -75,7 +75,7 @@ class commonPage { } } - $supp = array('stats' => 'publication'); + $supp = array('stats' => 'publications'); $res = '