From 7baecfa34717d536ea1f57c36a6111a691c17041 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Tue, 8 Feb 2011 17:41:51 +0000 Subject: [PATCH] --- inc/commons/class.common.core.php | 26 ++------------- inc/ws/Controlleur/class.ws.ajax.php | 38 ++++++++++++++++++++++ inc/ws/Controlleur/class.ws.url.php | 47 ++++++++++++++++++++++++++-- inc/ws/DAO/class.ws.dao.book.php | 2 ++ js/ws.js | 1 + 5 files changed, 87 insertions(+), 27 deletions(-) diff --git a/inc/commons/class.common.core.php b/inc/commons/class.common.core.php index 15194ea23..f7171d7ea 100644 --- a/inc/commons/class.common.core.php +++ b/inc/commons/class.common.core.php @@ -95,29 +95,7 @@ class commonCore extends cubeCore { } } - /** - * extranetCore::dbSync() - * - * Fonction permettant de modéliser le contenu de la base de données - * et de la synchroniser le cas échéant. - * - * @return void - */ - /** - * extranetCore::dbSync() - * - * @return - */ - /** - * extranetCore::dbSync() - * - * @return - */ - /** - * commonCore::dbSync() - * - * @return - */ + public function dbSync() { $cache = ROOT . '/cache/DB_SYNC'; @@ -366,7 +344,7 @@ class commonCore extends cubeCore { $db->books->lang('varchar', 20, false); $db->books->theme('integer', 0, false); $db->books->proprietaire('integer', 0, false); - // $db->books->projet('integer', 0, false); + $db->books->tache('integer', 0, false); $db->books->hash('varchar', 32, false); $db->books->compteur_visites('integer', 0, false, 20); $db->books->status('integer', 0, false); diff --git a/inc/ws/Controlleur/class.ws.ajax.php b/inc/ws/Controlleur/class.ws.ajax.php index e49fbf561..76b7a2e1b 100644 --- a/inc/ws/Controlleur/class.ws.ajax.php +++ b/inc/ws/Controlleur/class.ws.ajax.php @@ -230,6 +230,44 @@ class wsAjax extends cubeAjax { $x->addRedirection($url); } + public static function statusBook($args, &$x) + { + global $core; + + $book_id = $args[1]; + $status = $args[2]; + if ($status == 2 && isset($args[3])) { + $x->addOpenPopup(self::formBookChooseProject($book_id)); + } + + $daoBook = new wsDAOBook($core->con); + $daoBook->setStatus($book_id, $status); + + $x->addContent('listeBooks', wsUrl::listeBooks()); + } + + public static function formBookChooseProject($book_id) + { + return commonAjax::form('bookChooseProject', __("Selection d'un projet"), wsUrl::chooseBookProject($book_id), __('Suivant'), 3, '', '', true); + } + + public static function bookChooseProject($args, &$x) + { + $book_id = $_POST['book_id']; + if ($_POST['book_project'] == 0) { + $project = 0; + } else { + $project = $_POST['book_project']; + } + + $x->addChangePopup(self::formBookChooseTache($book_id, $project)); + } + + public static function formBookChooseTache($book_id, $project) + { + return commonAjax::form('bookChooseTache', __("Selection d'une tâche"), wsUrl::chooseBookTache($book_id, $project), __('Enregistrer'), 3, '', '', true); + } + public static function changeLang($args, &$x) { $x->addContent('formLang', wsUrl::formLang($_POST['lang'])); diff --git a/inc/ws/Controlleur/class.ws.url.php b/inc/ws/Controlleur/class.ws.url.php index 580bf965d..160bea8b6 100644 --- a/inc/ws/Controlleur/class.ws.url.php +++ b/inc/ws/Controlleur/class.ws.url.php @@ -149,7 +149,7 @@ class wsUrl { { global $core; - if (wsDroits::isAdmin()) { + if (wsDroits::admin()) { $status = $core->books_status; } else { $status = array(); @@ -161,7 +161,10 @@ class wsUrl { $res .= ''; return $res; @@ -200,7 +203,6 @@ class wsUrl { $res .= '
'; $res .= ''; $res .= ''; - // $res .= ''; $res .= '
' . __('Sélectionnez la langue à configurer') . ' : ' . form::combo('lang', $langs, $args[1]) . '
' . $core->typo->Ajouter('OK') . '
'; $res .= '
'; $res .= commonPage::bf(); @@ -485,6 +487,45 @@ html{height:100%}' . "\n"; return $res; } + public static function chooseBookProject($book_id) + { + global $core; + + wsDroits::admin(true); + + $dao = new wsDAOBook($core->con); + $book = $dao->selectById($book_id); + + $projects = array("--" => '0'); + $r = $core->con->select('SELECT * FROM projets WHERE client IN( SELECT facturable_id FROM ws_users_tree WHERE utilisateur_id IN (SELECT utilisateur_id FROM utilisateurs WHERE entreprise=\'' . $core->con->escape($book->proprietaire_id) . '\')) ORDER BY projet_id DESC'); + while ($r->fetch()) { + $projects[$r->projet_id . ' - ' . $r->nom] = $r->projet_id; + } + + $res = '' . __('Choisir un projet') . ' : ' . form::hidden('book_id', $book_id) . form::combo('book_project', $projects) . ''; + $res .= '' . __('ou créer un nouveau projet') . ' : ' . form::field('new_book_project_nom', 64, 1024) . ''; + return $res; + } + + public static function chooseBookTache($book_id, $projet_id) + { + global $core; + wsDroits::admin(true); + + $dao = new wsDAOBook($core->con); + $book = $dao->selectById($book_id); + + $taches = array("--" => '0'); + $r = $core->con->select('SELECT * FROM taches WHERE projet=\'' . $core->con->escape($projet_id) . '\''); + while ($r->fetch()) { + $taches[$r->nom] = $r->tache_id; + } + + $res = '' . __('Choisir une tâche') . ' : ' . form::hidden('book_id', $book_id) . form::hidden('projet_id', $projet_id) . form::combo('tache', $taches) . ''; + $res .= '' . __('ou créer une nouvelle tâche') . ' : ' . form::field('nom', 32, 1024, $book->nom) . ' ' . __('ayant le budget suivant') . ' ' . form::field('budget', 6, 6) . ''; + return $res; + } + public static function valideDownload() { global $core; diff --git a/inc/ws/DAO/class.ws.dao.book.php b/inc/ws/DAO/class.ws.dao.book.php index 06bc47690..f690bbdf6 100644 --- a/inc/ws/DAO/class.ws.dao.book.php +++ b/inc/ws/DAO/class.ws.dao.book.php @@ -430,6 +430,8 @@ class wsDAOBook extends commonDAO { $c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\''); } + + public function touch($book_id) { $c = $this->con->openCursor('books'); diff --git a/js/ws.js b/js/ws.js index 422b46f8a..3c21c7466 100644 --- a/js/ws.js +++ b/js/ws.js @@ -19,6 +19,7 @@ function load_ws(){ onItemSelect : findProprietaire }); } + } function findProprietaire(li){ -- 2.39.5