\r
public function getSettings($liste)\r
{\r
- $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');\r
+ $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', 'demandes' => 'demande_id');\r
if (!isset($this->settings['search'][$liste]) || !is_array($this->settings['search'][$liste])) {\r
$this->settings['search'][$liste] = array();\r
}\r
$db->demandes->revendeur('integer', 0, false);\r
$db->demandes->utilisateur('integer', 0, false);\r
// Clés\r
- $db->demandes->primary('demande_id');\r
+ $db->demandes->primary('pk_demandes', 'demande_id');\r
\r
try {\r
$dbi = new CubeDbStruct($this->con);\r
. 'FROM themes t '\r
. 'LEFT JOIN books b ON t.theme_id=b.theme '\r
. 'GROUP BY t.theme_id');\r
+\r
+ $this->views->createView('demandes_vue', 'SELECT d.*, CONCAT(c.rs,\' (\',c.prenom,\' \',c.nom,\')\') AS utilisateur_nom, CONCAT(r.rs,\' (\',r.prenom,\' \',r.nom,\')\') AS revendeur_nom '\r
+ . 'FROM demandes d '\r
+ . 'LEFT JOIN utilisateurs_entreprise r ON d.revendeur=r.utilisateur_id '\r
+ . 'LEFT JOIN utilisateurs_entreprise c ON d.utilisateur=c.utilisateur_id');\r
// cubeDb::mysqlConvert($this->con);\r
touch($cache);\r
}\r
foreach($d as $k => $v) {\r
$_POST[$k] = trim($v);\r
}\r
+ file_put_contents(ROOT . '/cache/demandeDevis.txt', print_r($_POST,true));\r
// Validation des champs de formulaires\r
$ok = true;\r
$non_vides = array('nombre_pages', 'nom', 'adresse', 'code_postal', 'ville', 'pays');\r
$nav[__('Clients')] = 'clients';\r
}\r
if ($core->user->ws_grade >= 5) {\r
+ $nav[__('Devis')]='demandes';\r
$nav[__('Traductions')] = 'traductions';\r
}\r
if ($core->user->ws_grade < 5) {\r
}\r
return $res;\r
}\r
+\r
+ public static function demandes()\r
+ {\r
+ global $core;\r
+ cubePage::truePopup();\r
+ cubePage::autoComplete();\r
+ cubePage::emptyfield();\r
+ commonDroits::min(5);\r
+ $settings = $core->user->getSettings('demandes');\r
+\r
+ $shortcuts = array();\r
+\r
+ $filtres = array();\r
+ $filtres[] = new commonFiltre(__('Status'), 'status_demande', $settings['filtres']);\r
+\r
+ $res = commonPage::barre($filtres, 'filtreDemandes', 'demandes', $shortcuts);\r
+ $res .= commonPage::tMain();\r
+ $res .= commonPage::bh();\r
+ $res .= '<div id="listeDemandes">';\r
+ $res .= self::listeDemandes();\r
+ $res .= '</div>';\r
+ $res .= commonPage::bf();\r
+ $res .= commonPage::bMain();\r
+ return $res;\r
+ }\r
+\r
+ public static function listeDemandes()\r
+ {\r
+ global $core;\r
+ commonDroits::min(5);\r
+ $settings = is_null($settings)?$core->user->getSettings('demandes'):$settings;\r
+ $change = is_null($dashboard)?'Demandes':'Dashboard/' . $dashboard;\r
+ $dao = new wsDAODemande($core->con);\r
+ if (isset($settings['search']) && !is_null($settings['search'])) {\r
+ $dao->setSearch($settings['search']);\r
+ }\r
+ $dao->setFiltres($settings['filtres']);\r
+ $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit'], $core->user);\r
+\r
+ $res = '<table class="liste">';\r
+ $res .= '<tr><th>' . commonUrl::orderby('#', 'demande_id', $settings, 'sort' . $change) . '</th>';\r
+ $res .= '<th>' . commonUrl::orderby(__('Demandeur'), 'utilisateur', $settings, 'sort' . $change) . '</th>';\r
+ $res .= '<th class="min"></th><th class="min"></th></tr>';\r
+ $i = 0;\r
+ foreach($liste as $id => $client) {\r
+ if (!is_array($client->contacts)) {\r
+ fb($client);\r
+ continue;\r
+ }\r
+ $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+ $res .= '<tr' . $odd . '>';\r
+ $res .= '<td>' . $client->entreprise_id . '</td>';\r
+ $res .= '<td>' . $client->nom . '</td>';\r
+ $contacts = array();\r
+\r
+ foreach($client->contacts as $c) {\r
+ $contacts[] = '<a href="#" class="popup" rel="formContact/' . $c->utilisateur_id . '">' . $c->prenom . ' ' . $c->nom . '</a>';\r
+ }\r
+\r
+ $res .= '<td id="contacts_' . $client->entreprise_id . '">' . implode(', ', $contacts) . '</td>';\r
+ $res .= '<td class="nowrap">';\r
+ $res .= '</td>';\r
+ $res .= '<td class="action"><a href="#" class="popup" rel="formClient/' . $client->entreprise_id . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+ $res .= '</tr>';\r
+ $i++;\r
+ }\r
+ if (!isset($settings['search']) || is_null($settings['search'])) {\r
+ $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+ $res .= '<tr' . $odd . '><td colspan="10">';\r
+ $res .= commonPage::pager($settings['page'], $dao->count($core->user) , $settings['par_page'], 'page' . $change . '/%d');\r
+ $res .= commonUrl::formParPage('parPage' . $change, $settings['par_page'], __('demandes'));\r
+ $res .= '</td></tr>';\r
+ }\r
+ $res .= '</table>';\r
+ return $res;\r
+ }\r
}\r
\r
?>
\ No newline at end of file
$demande->status = $r->status;\r
$demande->revendeur = $r->revendeur;\r
\r
+ $demande->utilisateur_nom = $r->utilisateur_nom;\r
+ $demande->revendeur_nom = $r->revendeur_nom;\r
+\r
return $demande;\r
}\r
\r
return $this->singleton($r);\r
}\r
\r
+ public function getListe($orderby = null, $sens = null, $limit = null)\r
+ {\r
+ global $core;\r
+ if (!is_null($this->q)) {\r
+ $where = '';\r
+ $where .= 'demande_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+ $where .= 'nom LIKE \'%' . $this->con->escape($this->q) . '%\'';\r
+ $daoClient = new commonDAOClient($this->con);\r
+ $where .= ' OR client_id IN(' . $daoClient->querySearchByName($this->q) . ')';\r
+ $limit = null;\r
+ } else {\r
+ $where = $this->makeWhereFromFiltres();\r
+ }\r
+\r
+ $orderby = is_null($orderby)?'devis_id':$orderby;\r
+ $sens = is_null($sens)?'DESC':$sens;\r
+ $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
+\r
+ $sql = 'SELECT * FROM demandes_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
+ $r = $this->con->select($sql);\r
+ return $this->factory($r);\r
+ }\r
+\r
public function sauve($data)\r
{\r
global $core;\r
\r
protected $revendeur;\r
protected $utilisateur;\r
+\r
+ protected $utilisateur_nom;\r
+ protected $revendeur_nom;\r
}\r
\r
?>
\ No newline at end of file