return true;\r
}\r
\r
- public function count($limitedToUserRights = false)\r
+ public function count($limitedToUserRights = false,$table='entreprise_vue')\r
{\r
- $r = $this->con->select('SELECT COUNT(*) AS nb FROM entreprises_vue WHERE ' . $this->makeWhereFromFiltres() . ' ' . $this->limitToUserRights($limitedToUserRights));\r
+ $r = $this->con->select('SELECT COUNT(*) AS nb FROM '.$table.' WHERE ' . $this->makeWhereFromFiltres() . ' ' . $this->limitToUserRights($limitedToUserRights));\r
return $r->nb;\r
}\r
\r
{\r
if (!is_null($this->filtres)) {\r
$w = array('1=1');\r
+\r
+ if (commonFiltre::test('ws_grade', $this->filtres)) {\r
+ $w[] = 'ws_grade IN(' . implode(',', array_keys($this->filtres['ws_grade'])) . ')';\r
+ }\r
+\r
+ if (commonFiltre::test('admin_client', $this->filtres)) {\r
+ $w[] = 'ws_super_admin IN(' . implode(',', array_keys($this->filtres['admin_client'])) . ')';\r
+ }\r
+\r
return implode(' AND ', $w);\r
} else {\r
return '1=1';\r
. 'GROUP BY e.entreprise_id');\r
$this->views->createView('entreprises_vue', 'SELECT e.*,i.impaye AS impaye '\r
. '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
+ $this->views->createView('entreprises_ws', 'SELECT e.*, a.prenom AS administrateur, r.nom AS revendeur,a.utilisateur_id AS ws_super_admin '\r
. 'FROM entreprises e '\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
. 'FROM projets_vue p, taches_vue t '\r
. 'WHERE t.projet=p.projet_id '\r
. 'GROUP BY t.categorie,p.annee_fin');\r
- $this->views->createView('books_vue', 'SELECT b.*,b.proprietaire AS proprietaire_id,CONCAT(c.rs,\' (\',c.prenom,\' \',c.nom,\')\') AS proprietaire_nom, CONCAT(c.prenom,\' \',c.nom) AS proprietaire_utilisateur,c.ws_admin, f.rs AS facturable, t.facturable_id AS facturable_id, ta.projet AS projet '\r
+ $this->views->createView('books_vue', 'SELECT b.*,b.proprietaire AS proprietaire_id,'\r
+ . 'CONCAT(c.rs,\' (\',c.prenom,\' \',c.nom,\')\') AS proprietaire_nom,'\r
+ . 'CONCAT(c.prenom,\' \',c.nom) AS proprietaire_utilisateur,c.ws_admin,'\r
+ . 'f.rs AS facturable, t.facturable_id AS facturable_id, ta.projet AS projet,'\r
+ . 'IF(c.ws_grade>=5,c.utilisateur_id,a.utilisateur_id) AS super_admin '\r
. 'FROM books b '\r
. 'LEFT JOIN utilisateurs_entreprise c ON b.proprietaire=c.utilisateur_id '\r
. 'LEFT JOIN ws_users_tree t ON t.utilisateur_id=c.utilisateur_id '\r
+ . 'LEFT JOIN utilisateurs a ON t.administrateur_id=a.utilisateur_id '\r
. 'LEFT JOIN utilisateurs_entreprise f ON t.facturable_id=f.utilisateur_id '\r
. 'LEFT JOIN taches ta ON ta.tache_id=b.tache' ,\r
'TEMPTABLE');\r
protected function getValues()\r
{\r
global $core;\r
- if ($this->varname == 'equipier' || $this->varname == 'equipier_participe') {\r
+ if ($this->varname == 'equipier' || $this->varname == 'equipier_participe' || $this->varname == 'admin_book' || $this->varname=='admin_client') {\r
$r = $core->con->select('SELECT prenom,utilisateur_id FROM equipiers');\r
while ($r->fetch()) {\r
$this->values[$r->prenom] = $r->utilisateur_id;\r
} elseif ($this->varname == 'demande_moi') {\r
$this->values = array(__('Moi') => 'moi', __('Autres') => 'autres');\r
$this->all = __('Toutes');\r
+ }elseif($this->varname=='ws_grade'){\r
+ $this->values=array_flip($core->ws_grades);\r
}\r
}\r
\r
$x->addContent('listeClients', wsUrl::listeClients());\r
}\r
\r
+ public static function filtreClients($args, &$x)\r
+ {\r
+ if (isset($args[1]) && $args[1] == 'efface') {\r
+ commonAjax::filtre('clients');\r
+ $x->addReload();\r
+ return;\r
+ } else {\r
+ commonAjax::filtre('clients', $_POST);\r
+ $x->addContent('listeClients', wsUrl::listeClients());\r
+ }\r
+ }\r
+\r
public static function supprimeBook($args, &$x)\r
{\r
global $core;\r
if (wsDroits::revendeur(false)) {\r
$filtres[] = new commonFiltre(__('Status'), 'status_book', $settings['filtres']);\r
}\r
- $filtres[] = new commonFiltre(__('Année'), 'annee_book', $settings['filtres']);\r
+ if (wsDroits::admin()) {\r
+ $filtres[] = new commonFiltre(__('Administrateur'), 'admin_book', $settings['filtres']);\r
+ }\r
$res = commonPage::barre($filtres , 'filtreBooks', 'books', $shortcuts);\r
$res .= commonPage::tMain(null, true);\r
$res .= commonPage::bh();\r
$shortcuts[] = '<a href="#" class="popup" rel="formClient/new">' . $core->typo->Ajouter('Créer un nouveau client') . '</a>';\r
\r
$filtres = array();\r
+ if (wsDroits::admin()) {\r
+ $filtres[] = new commonFiltre(__('Grade'), 'ws_grade', $settings['filtres']);\r
+ $filtres[] = new commonFiltre(__('Administrateur'), 'admin_client', $settings['filtres']);\r
+ }\r
\r
$res = commonPage::barre($filtres, 'filtreClients', 'clients', $shortcuts);\r
$res .= commonPage::tMain();\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
+ $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
$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
+ $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
$odd = cubeMath::isOdd($i)?' class="odd"':'';\r
$res .= '<tr' . $odd . '><td colspan="10">';\r
if ($admin) {\r
- $res .= commonPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d');\r
+ $res .= commonPage::pager($settings['page'], $dao->count(null,'entreprises_ws') , $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
+ $res .= commonPage::pager($settings['page'], $dao->count($core->user,'entreprises_ws') , $settings['par_page'], 'page' . $change . '/%d');\r
}\r
$res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('clients'));\r
$res .= '</td></tr>';\r
{\r
$where = '(' . $this->makeWhereFromFiltres() . ')';\r
$where .= $this->limitToUserRights($limitedToUserRights);\r
- $r = $this->con->select('SELECT COUNT(*) AS nb FROM books WHERE ' . $where);\r
+ $r = $this->con->select('SELECT COUNT(*) AS nb FROM books_vue WHERE ' . $where);\r
return $r->nb;\r
}\r
\r
{\r
if (!is_null($this->filtres)) {\r
$w = array('1=1');\r
- if (commonFiltre::test('annee_book', $this->filtres)) {\r
- $w[] = 'YEAR(FROM_UNIXTIME(date)) IN (' . implode(',', array_keys($this->filtres['annee_book'])) . ')';\r
+ if (commonFiltre::test('admin_book', $this->filtres)) {\r
+ $w[] = 'super_admin IN (' . implode(',', array_keys($this->filtres['admin_book'])) . ')';\r
}\r
if (commonFiltre::test('status_book', $this->filtres)) {\r
$w[] = 'status IN(' . implode(',', array_keys($this->filtres['status_book'])) . ')';\r