<?php\r
\r
-class extranetAjax {\r
-\r
- public static function formClient($args, &$x) {\r
- global $core;\r
- if ($args[1] == 'new') {\r
- $extra = '';\r
- } else {\r
- $extra = '<p><br /><br /><br /></p><div id="listeContacts">' . extranetUrl::listeContacts($args[1]) . '</div>';\r
- }\r
- $extra .= '<p class="right" style="margin-top:10px;margin-right:10px;"><br /><br /><a href="#" class="submit">' . $core->typo->BoutonOK(__('Enregistrer')) . '</a><br /><br /></p>';\r
-\r
- commonAjax::form('saveClient', __("Edition d'un client"), extranetUrl::formClient($args[1]), false, 2, '', $extra);\r
- }\r
-\r
- public static function formContact($args, &$x) {\r
- if (!isset($args[2])) {\r
- $args[2] = null;\r
- }\r
- commonAjax::form('saveContact', __("Edition d'un contact"), extranetUrl::formContact($args[1], $args[2]));\r
- }\r
-\r
- public static function formNotes($args, &$x) {\r
- global $core;\r
- commonAjax::form('saveNotes', __('Edition des notes'), extranetUrl::formNotes($args[1]));\r
- }\r
-\r
- public static function saveClient($args, &$x) {\r
- global $core;\r
- $dao = new commonDAOEntreprise($core->con);\r
- $entreprise = $dao->sauve($_POST);\r
- if ($_POST['entreprise_id'] === 'new') {\r
- $data = $_POST['contact'];\r
- $data['entreprise'] = $entreprise->entreprise_id;\r
- $data['utilisateur_id'] = 'new';\r
- $data['adresse'] = $entreprise->adresse;\r
- $data['code_postal'] = $entreprise->code_postal;\r
- $data['ville'] = $entreprise->ville;\r
- $data['pays'] = $entreprise->pays;\r
- $data['grade'] = 0;\r
- $data['adresse_facturation'] = $entreprise->adresse_facturation;\r
- $daoClient = new commonDAOClient($core->con);\r
- try {\r
- $daoClient->sauve($data);\r
- } catch (exception $e) {\r
- }\r
- }\r
-\r
- $x->addContent('listeClients', extranetUrl::listeClients());\r
- $x->addClosePopup();\r
- }\r
-\r
- public static function saveNotes($args, &$x) {\r
- global $core;\r
- $dao = new commonDAOClient($core->con);\r
- $dao->sauveNotes($_POST['utilisateur_id'], $_POST['notes']);\r
- $x->addClosePopup();\r
- }\r
-\r
- public static function saveContact($args, &$x) {\r
- global $core;\r
- $dao = new commonDAOClient($core->con);\r
- $client = $dao->sauve($_POST);\r
- $x->addClosePopup();\r
- $x->addContent('devisAdresseDisplay', commonUrl::adresse($client->utilisateur_id, null, 'devis'));\r
- $x->addContent('factureAdresseDisplay', commonUrl::adresse($client->utilisateur_id, null, 'facture'));\r
- $x->addContent('listeContacts', extranetUrl::listeContacts($client->entreprise));\r
- $contacts = array();\r
- $client_contacts = $dao->getContactsOfEntreprise($client->entreprise);\r
- foreach ($client_contacts as $c) {\r
- $contacts[] = '<a href="#" class="popup" rel="formContact/' . $c->utilisateur_id . '">' . $c->prenom . ' ' . $c->nom . '</a>';\r
- }\r
- $x->addContent('contacts_' . $client->entreprise, implode(', ', $contacts));\r
-\r
- $x->addPopupDimensions();\r
- }\r
-\r
- public static function supprimeClient($args, &$x) {\r
- global $core;\r
- $dao = new commonDAOEntreprise($core->con);\r
- $dao->supprime($args[1]);\r
-\r
- $x->addContent('listeClients', extranetUrl::listeClients());\r
- }\r
-\r
- public static function searchClients($args, &$x) {\r
- $x->addContent('listeClients', extranetUrl::listeClients());\r
- }\r
-\r
- public static function sortClient($args, &$x) {\r
- commonAjax::sort('clients', $args[1]);\r
- $x->addContent('listeClients', extranetUrl::listeClients());\r
- }\r
-\r
- public static function sortEquipier($args, &$x) {\r
- commonAjax::sort('equipiers', $args[1]);\r
- $x->addContent('listeEquipiers', extranetUrl::listeRh());\r
- }\r
-\r
- public static function pageClient($args, &$x) {\r
- commonAjax::page('clients', $args[1]);\r
- $x->addContent('listeClients', extranetUrl::listeClients());\r
- }\r
-\r
- public static function parPageClient($args, &$x) {\r
- commonAjax::parPage('clients', $_POST['par_page']);\r
- $x->addContent('listeClients', extranetUrl::listeClients());\r
- }\r
-\r
- public static function filtreClients($args, &$x) {\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', extranetUrl::listeClients());\r
- }\r
- }\r
-\r
- public static function clientDetailCa($args, &$x) {\r
- global $core;\r
- $dao = new commonDAOEntreprise($core->con);\r
- $client = $dao->selectById($args[1]);\r
- return commonAjax::form('', __("Détail du chiffre d'affaire de") . ' ' . $client->nom, extranetUrl::clientDetailCa($args[1]), false);\r
- }\r
-\r
- public static function clientDetailImpaye($args, &$x) {\r
- global $core;\r
- $dao = new commonDAOEntreprise($core->con);\r
- $client = $dao->selectById($args[1]);\r
- return commonAjax::form('', __("Détail des impayés de") . ' ' . $client->nom, extranetUrl::clientDetailImpaye($args[1]), false, 4);\r
- }\r
-\r
- public static function formProjet($args, &$x) {\r
- commonAjax::form('saveProjet', __("Edition d'un projet"), extranetUrl::formProjet($args[1]));\r
- }\r
-\r
- public static function saveProjet($args, &$x) {\r
- global $core;\r
-\r
- $error = false;\r
- if ($_POST['client'] == '') {\r
- $x->addError('client');\r
- $error = true;\r
- } else {\r
- $x->addOk('client');\r
- }\r
-\r
- if ($error) {\r
- return;\r
- }\r
-\r
- $dao = new extranetDAOProjet($core->con);\r
- $id = $dao->sauve($_POST);\r
-\r
- $x->addContent('listeProjets', extranetUrl::listeProjets());\r
- $x->addRedirection(SITE_PATH . 'projet/' . $id);\r
- }\r
-\r
- public static function changeProjetStatus($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOProjet($core->con);\r
- $dao->changeStatus($args[1]);\r
-\r
- $x->addContent('listeProjet', extranetUrl::listeProjet($args[1]));\r
- }\r
-\r
- public static function changeProjetsStatus($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOProjet($core->con);\r
- $dao->changeStatus($args[1]);\r
-\r
- $x->addContent('listeProjets', extranetUrl::listeProjets($args[1]));\r
- }\r
-\r
- public static function supprimeProjet($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOProjet($core->con);\r
- $dao->supprime($args[1]);\r
-\r
- $x->addRedirection(SITE_PATH . 'projets');\r
- }\r
-\r
- public static function searchProjets($args, &$x) {\r
- $x->addContent('listeProjets', extranetUrl::listeProjets());\r
- }\r
-\r
- public static function pageProjet($args, &$x) {\r
- commonAjax::page('projets', $args[1]);\r
- $x->addContent('listeProjets', extranetUrl::listeProjets());\r
- }\r
-\r
- public static function parPageProjet($args, &$x) {\r
- commonAjax::parPage('projets', $_POST['par_page']);\r
- $x->addContent('listeProjets', extranetUrl::listeProjets());\r
- }\r
-\r
- public static function sortProjet($args, &$x) {\r
- commonAjax::sort('projets', $args[1]);\r
- $x->addContent('listeProjets', extranetUrl::listeProjets());\r
- }\r
-\r
- public static function filtreProjet($args, &$x) {\r
- if (isset($args[1]) && $args[1] == 'efface') {\r
- commonAjax::filtre('projets');\r
- $x->addReload();\r
- return;\r
- } else {\r
- commonAjax::filtre('projets', $_POST);\r
- $x->addContent('listeProjets', extranetUrl::listeProjets());\r
- }\r
- }\r
-\r
- public static function formTacheNormale($args, &$x) {\r
- $projet = isset($args[2]) ? $args[2] : null;\r
- commonAjax::form('saveTache', __("Edition d'un tâche"), extranetUrl::formTacheNormale($args[1], $projet));\r
- }\r
-\r
- public static function formTacheSousTraitee($args, &$x) {\r
- $projet = isset($args[2]) ? $args[2] : null;\r
- commonAjax::form('saveTache', __("Edition d'un tâche sous-traitée"), extranetUrl::formTacheSousTraitee($args[1], $projet));\r
- }\r
-\r
- public static function saveTache($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOTache($core->con);\r
- $dao->sauve($_POST);\r
-\r
- $x->addContent('listeProjet', extranetUrl::listeProjet($_POST['projet']));\r
- $x->addClosePopup();\r
- }\r
-\r
- public static function supprimeTache($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOTache($core->con);\r
- $tache = $dao->selectById($args[1]);\r
-\r
- $dao->supprime($args[1]);\r
- $x->addContent('listeProjet', extranetUrl::listeProjet($tache->projet));\r
- }\r
-\r
- public static function saveTimereport($args, &$x) {\r
- global $core;\r
- $date = $args[1];\r
- $heures = $args[3];\r
- $tache_id = $args[2];\r
- $dao = new extranetDAOTimereport($core->con);\r
-\r
- $x->addValue('t_' . $date . '_' . $tache_id, $dao->sauve($core->user->utilisateur_id, $tache_id, $date, $heures));\r
- // Mise a jour des valeurs pour le projet et la tâche\r
- $daoProjet = new extranetDAOProjet($core->con);\r
- $projet = $daoProjet->getProjetByTache($tache_id);\r
- foreach ($projet as $p) {\r
- $p->progression = !$p->progression ? '-' : $p->progression . '%';\r
- $p->jours_consommes = !$p->jours_consommes ? '-' : $p->jours_consommes;\r
- foreach ($p->taches as $t) {\r
- if ($t->tache_id != $tache_id) {\r
- continue;\r
- }\r
- $t->progression = !$t->progression ? '-' : $t->progression . '%';\r
- $t->jours_consommes = !$t->jours_consommes ? '-' : $t->jours_consommes;\r
- break;\r
- }\r
- $x->addContent('progress_projet_' . $p->projet_id, $p->progression);\r
- $x->addContent('consommees_projet_' . $p->projet_id, $p->jours_consommes);\r
- $x->addContent('progress_' . $tache_id, $t->progression);\r
- $x->addContent('consommees_' . $tache_id, $t->jours_consommes);\r
- }\r
- }\r
-\r
- public static function sortTimereport($args, &$x) {\r
- commonAjax::sort('timereport', $args[1]);\r
- $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
- }\r
-\r
- public static function pageTimereport($args, &$x) {\r
- commonAjax::page('timereport', $args[1]);\r
- $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
- }\r
-\r
- public static function searchTimereport($args, &$x) {\r
- $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
- }\r
-\r
- public static function parPageTimereport($args, &$x) {\r
- commonAjax::parPage('timereport', $_POST['par_page']);\r
- $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
- }\r
-\r
- public static function filtreTimereport($args, &$x) {\r
- if (isset($args[1]) && $args[1] == 'efface') {\r
- commonAjax::filtre('timereport');\r
- $x->addReload();\r
- return;\r
- } else {\r
- commonAjax::filtre('timereport', $_POST);\r
- $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
- }\r
- }\r
-\r
- public static function changeDevisStatus($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAODevis($core->con);\r
- $dao->changeStatus($args[1], $args[2]);\r
-\r
- if (isset($args[3]) && $args[3] == 'createProjet') {\r
- $daoProjet = new extranetDAOProjet($core->con);\r
- $projet_id = $daoProjet->createFromDevis($args[1], $core->user->utilisateur_id);\r
- $x->addRedirection(SITE_PATH . 'projet/' . $projet_id);\r
- } else {\r
- $x->addContent('listeDevis', extranetUrl::listeDevis());\r
- }\r
- }\r
-\r
- public static function supprimeDevis($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAODevis($core->con);\r
- $dao->supprime($args[1]);\r
- @unlink(ROOT . '/docs/devis/' . $args[1] . '.pdf');\r
-\r
- $x->addContent('listeDevis', extranetUrl::listeDevis());\r
- $x->addContent('listeDevis', extranetUrl::listeDevis());\r
- }\r
-\r
- public static function searchDevis($args, &$x) {\r
- $x->addContent('listeDevis', extranetUrl::listeDevis());\r
- }\r
-\r
- public static function pageDevis($args, &$x) {\r
- commonAjax::page('devis', $args[1]);\r
- $x->addContent('listeDevis', extranetUrl::listeDevis());\r
- }\r
-\r
- public static function parPageDevis($args, &$x) {\r
- commonAjax::parPage('devis', $_POST['par_page']);\r
- $x->addContent('listeDevis', extranetUrl::listeDevis());\r
- }\r
-\r
- public static function sortDevis($args, &$x) {\r
- commonAjax::sort('devis', $args[1]);\r
- $x->addContent('listeDevis', extranetUrl::listeDevis());\r
- }\r
-\r
- public static function filtreDevis($args, &$x) {\r
- if (isset($args[1]) && $args[1] == 'efface') {\r
- commonAjax::filtre('devis');\r
- $x->addReload();\r
- return;\r
- } else {\r
- commonAjax::filtre('devis', $_POST);\r
- $x->addContent('listeDevis', extranetUrl::listeDevis());\r
- }\r
- }\r
-\r
- public static function sortDevisClient($args, &$x) {\r
- commonAjax::sort('devis', $args[1]);\r
- $x->addContent('listeDevis', extranetUrl::listeDevisClient());\r
- }\r
-\r
- public static function expedieDevis($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAODevis($core->con);\r
- $devis = $dao->selectByID($args[2]);\r
-\r
- $daoUtilisateur = new commonDAOUtilisateur($core->con);\r
- $devis->client = $daoUtilisateur->selectById($devis->client_id);\r
- $devis->createur = $daoUtilisateur->selectById($devis->createur_id);\r
-\r
- if ($args[1] == 1) {\r
- // Envoie de l'email\r
- $mail = new cubeMail();\r
- $mail->from = $devis->createur->getEmail();\r
- $mail->bcc = MAIL_BCC;\r
- $mail->bcc = $devis->createur->getEmail();\r
- $mail->to = $devis->client->getEmail();\r
- $mail->subject = $devis->email['sujet'];\r
- $mail->body = $devis->email['corps'] . "\r\n\r\n" . $devis->createur->getSignature();\r
- $mail->addFile('Devis.pdf', ROOT . '/docs/devis/' . $devis->devis_id . '.pdf');\r
- $mail->send();\r
- }\r
- // On marque le devis comme envoyé\r
- $dao->changeStatus($devis->devis_id, 1);\r
- $x->addDownloadFile('/voirdevis/' . $devis->devis_id . '/1');\r
- $x->addRedirection(SITE_PATH . 'devis');\r
- }\r
-\r
- public static function duplicateDevis($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAODevis($core->con);\r
- $devis = $dao->duplique($args[1], $core->user->utilisateur_id);\r
- $x->addRedirection(SITE_PATH . 'editedevis/' . $devis->devis_id);\r
- }\r
-\r
- public static function changeFactureStatus($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOFacture($core->con);\r
- $dao->changeStatus($args[1], $args[2]);\r
-\r
- $x->addContent('listeFactures', extranetUrl::listeFactures());\r
- }\r
-\r
- public static function changeFacturePaiement($args, &$x) {\r
- return commonAjax::form('saveFacturePaiement', __('Informations relatives au paiement de la facture'), extranetUrl::formFacturePaiement($args[1]));\r
- }\r
-\r
- public static function saveFacturePaiement($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOFacture($core->con);\r
- $dao->savePaiement($_POST);\r
- $x->addClosePopup();\r
- $x->addContent('listeFactures', extranetUrl::listeFactures());\r
- }\r
-\r
- public static function supprimeFacture($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOFacture($core->con);\r
- $dao->supprime($args[1]);\r
- @unlink(ROOT . '/docs/facture/' . $args[1] . '.pdf');\r
-\r
- $x->addContent('listeFactures', extranetUrl::listeFactures());\r
- }\r
-\r
- public static function valideFacture($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOFacture($core->con);\r
- $id = $dao->valide($args[1]);\r
-\r
- $x->addTruePopup('/voirfacture/' . $id);\r
- $x->addRedirection(SITE_PATH . 'factures');\r
- }\r
-\r
- public static function searchFactures($args, &$x) {\r
- $x->addContent('listeFactures', extranetUrl::listeFactures());\r
- }\r
-\r
- public static function pageFacture($args, &$x) {\r
- commonAjax::page('factures', $args[1]);\r
- $x->addContent('listeFactures', extranetUrl::listeFactures());\r
- }\r
-\r
- public static function parPageFacture($args, &$x) {\r
- commonAjax::parPage('factures', $_POST['par_page']);\r
- $x->addContent('listeFactures', extranetUrl::listeFactures());\r
- }\r
-\r
- public static function sortFacture($args, &$x) {\r
- commonAjax::sort('factures', $args[1]);\r
- $x->addContent('listeFactures', extranetUrl::listeFactures());\r
- }\r
-\r
- public static function filtreFactures($args, &$x) {\r
- if (isset($args[1]) && $args[1] == 'efface') {\r
- commonAjax::filtre('factures');\r
- $x->addReload();\r
- return;\r
- } else {\r
- commonAjax::filtre('factures', $_POST);\r
- $x->addContent('listeFactures', extranetUrl::listeFactures());\r
- }\r
- }\r
-\r
- public static function sauveFactures($args, &$x) {\r
- global $core;\r
- $dao = new extranetDAOFacture($core->con);\r
- $dao->sauve($_POST);\r
-\r
- $x->addRedirection(SITE_PATH . 'factures');\r
- }\r
-\r
- public static function duplicateFacture($args, &$x) {\r
- global $core;\r
-\r
- $dao = new extranetDAOFacture($core->con);\r
- $facture = $dao->duplique($args[1], $core->user->utilisateur_id);\r
-\r
- $x->addRedirection(SITE_PATH . 'editefacture/' . $facture->facture_id);\r
- }\r
-\r
- public static function formPrintFactures($args, &$x) {\r
- commonAjax::form('printFactures', __('Imprimer des factures'), extranetUrl::formPrintFactures(), __("Lancer l'impression"));\r
- }\r
-\r
- public static function printFactures($args, &$x) {\r
- global $core;\r
- $factures = cubeArray::parseRange($_POST['factures']);\r
-\r
- $liste = array();\r
- foreach ($factures as $f) {\r
- if (file_exists(ROOT . '/docs/factures/' . $f . '.pdf')) {\r
- $liste[] = ROOT . '/docs/factures/' . $f . '.pdf';\r
- }\r
- }\r
- $liste[] = 'output';\r
- $liste[] = ROOT . '/docs/factures/print_' . $core->user->utilisateur_id . '_' . TIME . '.pdf';\r
-\r
- $pdftk = new cubeCommandLine('pdftk');\r
- $pdftk->setManualArg(implode(' ', $liste));\r
- $pdftk->execute();\r
-\r
- $core->user->saveLastPrint($_POST['factures']);\r
-\r
- $x->addClosePopup();\r
- $x->addTruePopup(SITE_PATH . 'voirfacture/print_' . $core->user->utilisateur_id . '_' . TIME);\r
- $core->sauvePreferencesUtilisateur();\r
- }\r
-\r
- public static function getAdresseForDevis($args, &$x) {\r
- $adresse = commonUrl::adresse($args[1], null, 'devis');\r
- if (!$adresse) {\r
- $x->addError('client_nom', '');\r
- } else {\r
- $x->addContent('devisAdresseDisplay', $adresse);\r
- }\r
- }\r
-\r
- public static function getAdresseForFacture($args, &$x) {\r
- $adresse = commonUrl::adresse(null, $args[1], 'facture');\r
- if (!$adresse) {\r
- $x->addError('projet_nom', '');\r
- } else {\r
- $x->addContent('factureAdresseDisplay', $adresse);\r
- }\r
- }\r
-\r
- public static function saveTrad($args, &$x) {\r
- $data = cubeLang::dataToFile($_POST);\r
- file_put_contents(L10N . '/en/main.lang.php', $data);\r
- $x->addAlert(__('Traductions sauvegardées'));\r
- }\r
-\r
- public static function previewDevis($args, &$x) {\r
- global $core;\r
-\r
- $daoUtilisateur = new commonDAOUtilisateur($core->con);\r
- if (is_null($daoUtilisateur->selectById($_POST['client']))) {\r
- $x->addError('client_nom');\r
- $x->addRedirection('#');\r
- return;\r
- }\r
-\r
- commonDroits::min(1);\r
- $dao = new extranetDAODevis($core->con);\r
- $devis = $dao->sauve($core->user->utilisateur_id, $_POST);\r
- $dao->saveAsPdf($devis->devis_id);\r
- $x->addRedirection(SITE_PATH . 'previewDevis/' . $devis->devis_id);\r
- }\r
-\r
- public static function previewFacture($args, &$x) {\r
- global $core;\r
- commonDroits::min(1);\r
-\r
- $daoProjet = new extranetDAOProjet($core->con);\r
- $daoClient = new commonDAOClient($core->con);\r
- if (is_null($daoProjet->selectById($_POST['projet'])) && (!isset($_POST['client']) || is_null($daoClient->selectById($_POST['client'])))) {\r
- $x->addError('projet_nom');\r
- $x->addRedirection('#');\r
- return;\r
- }\r
-\r
- $dao = new extranetDAOFacture($core->con);\r
- $facture = $dao->sauve($_POST, $core->user->utilisateur_id);\r
- $dao->saveAsPdf($facture->facture_id);\r
- $x->addRedirection(SITE_PATH . 'previewFacture/' . $facture->facture_id);\r
- }\r
-\r
- public static function chargesDetails($args, &$x) {\r
- commonAjax::form('', sprintf(__("Détails des charges de l'année %s"), date('Y')), extranetPageChiffres::chargesDetails($args), '', 3, 'liste');\r
- }\r
-\r
- public static function makeFavicon($args, &$x) {\r
- $x->addRedirection(extranetTools::makeFavicon());\r
- }\r
+class extranetAjax\r
+{\r
+\r
+ public static function formClient($args, &$x)\r
+ {\r
+ global $core;\r
+ if ($args[1] == 'new') {\r
+ $extra = '';\r
+ } else {\r
+ $extra = '<p><br /><br /><br /></p><div id="listeContacts">' . extranetUrl::listeContacts($args[1]) . '</div>';\r
+ }\r
+ $extra .= '<p class="right" style="margin-top:10px;margin-right:10px;"><br /><br /><a href="#" class="submit">' . $core->typo->BoutonOK(__('Enregistrer')) . '</a><br /><br /></p>';\r
+\r
+ commonAjax::form('saveClient', __("Edition d'un client"), extranetUrl::formClient($args[1]), false, 2, '', $extra);\r
+ }\r
+\r
+ public static function formContact($args, &$x)\r
+ {\r
+ if (!isset($args[2])) {\r
+ $args[2] = null;\r
+ }\r
+ commonAjax::form('saveContact', __("Edition d'un contact"), extranetUrl::formContact($args[1], $args[2]));\r
+ }\r
+\r
+ public static function formNotes($args, &$x)\r
+ {\r
+ global $core;\r
+ commonAjax::form('saveNotes', __('Edition des notes'), extranetUrl::formNotes($args[1]));\r
+ }\r
+\r
+ public static function saveClient($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new commonDAOEntreprise($core->con);\r
+ $entreprise = $dao->sauve($_POST);\r
+ if ($_POST['entreprise_id'] === 'new') {\r
+ $data = $_POST['contact'];\r
+ $data['entreprise'] = $entreprise->entreprise_id;\r
+ $data['utilisateur_id'] = 'new';\r
+ $data['adresse'] = $entreprise->adresse;\r
+ $data['code_postal'] = $entreprise->code_postal;\r
+ $data['ville'] = $entreprise->ville;\r
+ $data['pays'] = $entreprise->pays;\r
+ $data['grade'] = 0;\r
+ $data['adresse_facturation'] = $entreprise->adresse_facturation;\r
+ $daoClient = new commonDAOClient($core->con);\r
+ try {\r
+ $daoClient->sauve($data);\r
+ } catch (exception $e) {\r
+ }\r
+ }\r
+\r
+ $x->addContent('listeClients', extranetUrl::listeClients());\r
+ $x->addClosePopup();\r
+ }\r
+\r
+ public static function saveNotes($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new commonDAOClient($core->con);\r
+ $dao->sauveNotes($_POST['utilisateur_id'], $_POST['notes']);\r
+ $x->addClosePopup();\r
+ }\r
+\r
+ public static function saveContact($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new commonDAOClient($core->con);\r
+ $client = $dao->sauve($_POST);\r
+ $x->addDebug(print_r($client));\r
+ $x->addClosePopup();\r
+ $x->addContent('devisAdresseDisplay', commonUrl::adresse($client->utilisateur_id, null, 'devis'));\r
+ $x->addContent('factureAdresseDisplay', commonUrl::adresse($client->utilisateur_id, null, 'facture'));\r
+ $x->addContent('listeContacts', extranetUrl::listeContacts($client->entreprise));\r
+ $contacts = array();\r
+ $client_contacts = $dao->getContactsOfEntreprise($client->entreprise);\r
+ foreach ($client_contacts as $c) {\r
+ $contacts[] = '<a href="#" class="popup" rel="formContact/' . $c->utilisateur_id . '">' . $c->prenom . ' ' . $c->nom . '</a>';\r
+ }\r
+ $x->addContent('contacts_' . $client->entreprise, implode(', ', $contacts));\r
+\r
+ $x->addPopupDimensions();\r
+ }\r
+\r
+ public static function supprimeClient($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new commonDAOEntreprise($core->con);\r
+ $dao->supprime($args[1]);\r
+\r
+ $x->addContent('listeClients', extranetUrl::listeClients());\r
+ }\r
+\r
+ public static function searchClients($args, &$x)\r
+ {\r
+ $x->addContent('listeClients', extranetUrl::listeClients());\r
+ }\r
+\r
+ public static function sortClient($args, &$x)\r
+ {\r
+ commonAjax::sort('clients', $args[1]);\r
+ $x->addContent('listeClients', extranetUrl::listeClients());\r
+ }\r
+\r
+ public static function sortEquipier($args, &$x)\r
+ {\r
+ commonAjax::sort('equipiers', $args[1]);\r
+ $x->addContent('listeEquipiers', extranetUrl::listeRh());\r
+ }\r
+\r
+ public static function pageClient($args, &$x)\r
+ {\r
+ commonAjax::page('clients', $args[1]);\r
+ $x->addContent('listeClients', extranetUrl::listeClients());\r
+ }\r
+\r
+ public static function parPageClient($args, &$x)\r
+ {\r
+ commonAjax::parPage('clients', $_POST['par_page']);\r
+ $x->addContent('listeClients', extranetUrl::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', extranetUrl::listeClients());\r
+ }\r
+ }\r
+\r
+ public static function clientDetailCa($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new commonDAOEntreprise($core->con);\r
+ $client = $dao->selectById($args[1]);\r
+ return commonAjax::form('', __("Détail du chiffre d'affaire de") . ' ' . $client->nom, extranetUrl::clientDetailCa($args[1]), false);\r
+ }\r
+\r
+ public static function clientDetailImpaye($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new commonDAOEntreprise($core->con);\r
+ $client = $dao->selectById($args[1]);\r
+ return commonAjax::form('', __("Détail des impayés de") . ' ' . $client->nom, extranetUrl::clientDetailImpaye($args[1]), false, 4);\r
+ }\r
+\r
+ public static function formProjet($args, &$x)\r
+ {\r
+ commonAjax::form('saveProjet', __("Edition d'un projet"), extranetUrl::formProjet($args[1]));\r
+ }\r
+\r
+ public static function saveProjet($args, &$x)\r
+ {\r
+ global $core;\r
+\r
+ $error = false;\r
+ if ($_POST['client'] == '') {\r
+ $x->addError('client');\r
+ $error = true;\r
+ } else {\r
+ $x->addOk('client');\r
+ }\r
+\r
+ if ($error) {\r
+ return;\r
+ }\r
+\r
+ $dao = new extranetDAOProjet($core->con);\r
+ $id = $dao->sauve($_POST);\r
+\r
+ $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+ $x->addRedirection(SITE_PATH . 'projet/' . $id);\r
+ }\r
+\r
+ public static function changeProjetStatus($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOProjet($core->con);\r
+ $dao->changeStatus($args[1]);\r
+\r
+ $x->addContent('listeProjet', extranetUrl::listeProjet($args[1]));\r
+ }\r
+\r
+ public static function changeProjetsStatus($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOProjet($core->con);\r
+ $dao->changeStatus($args[1]);\r
+\r
+ $x->addContent('listeProjets', extranetUrl::listeProjets($args[1]));\r
+ }\r
+\r
+ public static function supprimeProjet($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOProjet($core->con);\r
+ $dao->supprime($args[1]);\r
+\r
+ $x->addRedirection(SITE_PATH . 'projets');\r
+ }\r
+\r
+ public static function searchProjets($args, &$x)\r
+ {\r
+ $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+ }\r
+\r
+ public static function pageProjet($args, &$x)\r
+ {\r
+ commonAjax::page('projets', $args[1]);\r
+ $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+ }\r
+\r
+ public static function parPageProjet($args, &$x)\r
+ {\r
+ commonAjax::parPage('projets', $_POST['par_page']);\r
+ $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+ }\r
+\r
+ public static function sortProjet($args, &$x)\r
+ {\r
+ commonAjax::sort('projets', $args[1]);\r
+ $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+ }\r
+\r
+ public static function filtreProjet($args, &$x)\r
+ {\r
+ if (isset($args[1]) && $args[1] == 'efface') {\r
+ commonAjax::filtre('projets');\r
+ $x->addReload();\r
+ return;\r
+ } else {\r
+ commonAjax::filtre('projets', $_POST);\r
+ $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+ }\r
+ }\r
+\r
+ public static function formTacheNormale($args, &$x)\r
+ {\r
+ $projet = isset($args[2]) ? $args[2] : null;\r
+ commonAjax::form('saveTache', __("Edition d'un tâche"), extranetUrl::formTacheNormale($args[1], $projet));\r
+ }\r
+\r
+ public static function formTacheSousTraitee($args, &$x)\r
+ {\r
+ $projet = isset($args[2]) ? $args[2] : null;\r
+ commonAjax::form('saveTache', __("Edition d'un tâche sous-traitée"), extranetUrl::formTacheSousTraitee($args[1], $projet));\r
+ }\r
+\r
+ public static function saveTache($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOTache($core->con);\r
+ $dao->sauve($_POST);\r
+\r
+ $x->addContent('listeProjet', extranetUrl::listeProjet($_POST['projet']));\r
+ $x->addClosePopup();\r
+ }\r
+\r
+ public static function supprimeTache($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOTache($core->con);\r
+ $tache = $dao->selectById($args[1]);\r
+\r
+ $dao->supprime($args[1]);\r
+ $x->addContent('listeProjet', extranetUrl::listeProjet($tache->projet));\r
+ }\r
+\r
+ public static function saveTimereport($args, &$x)\r
+ {\r
+ global $core;\r
+ $date = $args[1];\r
+ $heures = $args[3];\r
+ $tache_id = $args[2];\r
+ $dao = new extranetDAOTimereport($core->con);\r
+\r
+ $x->addValue('t_' . $date . '_' . $tache_id, $dao->sauve($core->user->utilisateur_id, $tache_id, $date, $heures));\r
+ // Mise a jour des valeurs pour le projet et la tâche\r
+ $daoProjet = new extranetDAOProjet($core->con);\r
+ $projet = $daoProjet->getProjetByTache($tache_id);\r
+ foreach ($projet as $p) {\r
+ $p->progression = !$p->progression ? '-' : $p->progression . '%';\r
+ $p->jours_consommes = !$p->jours_consommes ? '-' : $p->jours_consommes;\r
+ foreach ($p->taches as $t) {\r
+ if ($t->tache_id != $tache_id) {\r
+ continue;\r
+ }\r
+ $t->progression = !$t->progression ? '-' : $t->progression . '%';\r
+ $t->jours_consommes = !$t->jours_consommes ? '-' : $t->jours_consommes;\r
+ break;\r
+ }\r
+ $x->addContent('progress_projet_' . $p->projet_id, $p->progression);\r
+ $x->addContent('consommees_projet_' . $p->projet_id, $p->jours_consommes);\r
+ $x->addContent('progress_' . $tache_id, $t->progression);\r
+ $x->addContent('consommees_' . $tache_id, $t->jours_consommes);\r
+ }\r
+ }\r
+\r
+ public static function sortTimereport($args, &$x)\r
+ {\r
+ commonAjax::sort('timereport', $args[1]);\r
+ $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+ }\r
+\r
+ public static function pageTimereport($args, &$x)\r
+ {\r
+ commonAjax::page('timereport', $args[1]);\r
+ $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+ }\r
+\r
+ public static function searchTimereport($args, &$x)\r
+ {\r
+ $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+ }\r
+\r
+ public static function parPageTimereport($args, &$x)\r
+ {\r
+ commonAjax::parPage('timereport', $_POST['par_page']);\r
+ $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+ }\r
+\r
+ public static function filtreTimereport($args, &$x)\r
+ {\r
+ if (isset($args[1]) && $args[1] == 'efface') {\r
+ commonAjax::filtre('timereport');\r
+ $x->addReload();\r
+ return;\r
+ } else {\r
+ commonAjax::filtre('timereport', $_POST);\r
+ $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+ }\r
+ }\r
+\r
+ public static function changeDevisStatus($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAODevis($core->con);\r
+ $dao->changeStatus($args[1], $args[2]);\r
+\r
+ if (isset($args[3]) && $args[3] == 'createProjet') {\r
+ $daoProjet = new extranetDAOProjet($core->con);\r
+ $projet_id = $daoProjet->createFromDevis($args[1], $core->user->utilisateur_id);\r
+ $x->addRedirection(SITE_PATH . 'projet/' . $projet_id);\r
+ } else {\r
+ $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+ }\r
+ }\r
+\r
+ public static function supprimeDevis($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAODevis($core->con);\r
+ $dao->supprime($args[1]);\r
+ @unlink(ROOT . '/docs/devis/' . $args[1] . '.pdf');\r
+\r
+ $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+ $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+ }\r
+\r
+ public static function searchDevis($args, &$x)\r
+ {\r
+ $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+ }\r
+\r
+ public static function pageDevis($args, &$x)\r
+ {\r
+ commonAjax::page('devis', $args[1]);\r
+ $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+ }\r
+\r
+ public static function parPageDevis($args, &$x)\r
+ {\r
+ commonAjax::parPage('devis', $_POST['par_page']);\r
+ $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+ }\r
+\r
+ public static function sortDevis($args, &$x)\r
+ {\r
+ commonAjax::sort('devis', $args[1]);\r
+ $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+ }\r
+\r
+ public static function filtreDevis($args, &$x)\r
+ {\r
+ if (isset($args[1]) && $args[1] == 'efface') {\r
+ commonAjax::filtre('devis');\r
+ $x->addReload();\r
+ return;\r
+ } else {\r
+ commonAjax::filtre('devis', $_POST);\r
+ $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+ }\r
+ }\r
+\r
+ public static function sortDevisClient($args, &$x)\r
+ {\r
+ commonAjax::sort('devis', $args[1]);\r
+ $x->addContent('listeDevis', extranetUrl::listeDevisClient());\r
+ }\r
+\r
+ public static function expedieDevis($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAODevis($core->con);\r
+ $devis = $dao->selectByID($args[2]);\r
+\r
+ $daoUtilisateur = new commonDAOUtilisateur($core->con);\r
+ $devis->client = $daoUtilisateur->selectById($devis->client_id);\r
+ $devis->createur = $daoUtilisateur->selectById($devis->createur_id);\r
+\r
+ if ($args[1] == 1) {\r
+ // Envoie de l'email\r
+ $mail = new cubeMail();\r
+ $mail->from = $devis->createur->getEmail();\r
+ $mail->bcc = MAIL_BCC;\r
+ $mail->bcc = $devis->createur->getEmail();\r
+ $mail->to = $devis->client->getEmail();\r
+ $mail->subject = $devis->email['sujet'];\r
+ $mail->body = $devis->email['corps'] . "\r\n\r\n" . $devis->createur->getSignature();\r
+ $mail->addFile('Devis.pdf', ROOT . '/docs/devis/' . $devis->devis_id . '.pdf');\r
+ $mail->send();\r
+ }\r
+ // On marque le devis comme envoyé\r
+ $dao->changeStatus($devis->devis_id, 1);\r
+ $x->addDownloadFile('/voirdevis/' . $devis->devis_id . '/1');\r
+ $x->addRedirection(SITE_PATH . 'devis');\r
+ }\r
+\r
+ public static function duplicateDevis($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAODevis($core->con);\r
+ $devis = $dao->duplique($args[1], $core->user->utilisateur_id);\r
+ $x->addRedirection(SITE_PATH . 'editedevis/' . $devis->devis_id);\r
+ }\r
+\r
+ public static function changeFactureStatus($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOFacture($core->con);\r
+ $dao->changeStatus($args[1], $args[2]);\r
+\r
+ $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+ }\r
+\r
+ public static function changeFacturePaiement($args, &$x)\r
+ {\r
+ return commonAjax::form('saveFacturePaiement', __('Informations relatives au paiement de la facture'), extranetUrl::formFacturePaiement($args[1]));\r
+ }\r
+\r
+ public static function saveFacturePaiement($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOFacture($core->con);\r
+ $dao->savePaiement($_POST);\r
+ $x->addClosePopup();\r
+ $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+ }\r
+\r
+ public static function supprimeFacture($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOFacture($core->con);\r
+ $dao->supprime($args[1]);\r
+ @unlink(ROOT . '/docs/facture/' . $args[1] . '.pdf');\r
+\r
+ $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+ }\r
+\r
+ public static function valideFacture($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOFacture($core->con);\r
+ $id = $dao->valide($args[1]);\r
+\r
+ $x->addTruePopup('/voirfacture/' . $id);\r
+ $x->addRedirection(SITE_PATH . 'factures');\r
+ }\r
+\r
+ public static function searchFactures($args, &$x)\r
+ {\r
+ $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+ }\r
+\r
+ public static function pageFacture($args, &$x)\r
+ {\r
+ commonAjax::page('factures', $args[1]);\r
+ $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+ }\r
+\r
+ public static function parPageFacture($args, &$x)\r
+ {\r
+ commonAjax::parPage('factures', $_POST['par_page']);\r
+ $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+ }\r
+\r
+ public static function sortFacture($args, &$x)\r
+ {\r
+ commonAjax::sort('factures', $args[1]);\r
+ $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+ }\r
+\r
+ public static function filtreFactures($args, &$x)\r
+ {\r
+ if (isset($args[1]) && $args[1] == 'efface') {\r
+ commonAjax::filtre('factures');\r
+ $x->addReload();\r
+ return;\r
+ } else {\r
+ commonAjax::filtre('factures', $_POST);\r
+ $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+ }\r
+ }\r
+\r
+ public static function sauveFactures($args, &$x)\r
+ {\r
+ global $core;\r
+ $dao = new extranetDAOFacture($core->con);\r
+ $dao->sauve($_POST);\r
+\r
+ $x->addRedirection(SITE_PATH . 'factures');\r
+ }\r
+\r
+ public static function duplicateFacture($args, &$x)\r
+ {\r
+ global $core;\r
+\r
+ $dao = new extranetDAOFacture($core->con);\r
+ $facture = $dao->duplique($args[1], $core->user->utilisateur_id);\r
+\r
+ $x->addRedirection(SITE_PATH . 'editefacture/' . $facture->facture_id);\r
+ }\r
+\r
+ public static function formPrintFactures($args, &$x)\r
+ {\r
+ commonAjax::form('printFactures', __('Imprimer des factures'), extranetUrl::formPrintFactures(), __("Lancer l'impression"));\r
+ }\r
+\r
+ public static function printFactures($args, &$x)\r
+ {\r
+ global $core;\r
+ $factures = cubeArray::parseRange($_POST['factures']);\r
+\r
+ $liste = array();\r
+ foreach ($factures as $f) {\r
+ if (file_exists(ROOT . '/docs/factures/' . $f . '.pdf')) {\r
+ $liste[] = ROOT . '/docs/factures/' . $f . '.pdf';\r
+ }\r
+ }\r
+ $liste[] = 'output';\r
+ $liste[] = ROOT . '/docs/factures/print_' . $core->user->utilisateur_id . '_' . TIME . '.pdf';\r
+\r
+ $pdftk = new cubeCommandLine('pdftk');\r
+ $pdftk->setManualArg(implode(' ', $liste));\r
+ $pdftk->execute();\r
+\r
+ $core->user->saveLastPrint($_POST['factures']);\r
+\r
+ $x->addClosePopup();\r
+ $x->addTruePopup(SITE_PATH . 'voirfacture/print_' . $core->user->utilisateur_id . '_' . TIME);\r
+ $core->sauvePreferencesUtilisateur();\r
+ }\r
+\r
+ public static function getAdresseForDevis($args, &$x)\r
+ {\r
+ $adresse = commonUrl::adresse($args[1], null, 'devis');\r
+ if (!$adresse) {\r
+ $x->addError('client_nom', '');\r
+ } else {\r
+ $x->addContent('devisAdresseDisplay', $adresse);\r
+ }\r
+ }\r
+\r
+ public static function getAdresseForFacture($args, &$x)\r
+ {\r
+ $adresse = commonUrl::adresse(null, $args[1], 'facture');\r
+ if (!$adresse) {\r
+ $x->addError('projet_nom', '');\r
+ } else {\r
+ $x->addContent('factureAdresseDisplay', $adresse);\r
+ }\r
+ }\r
+\r
+ public static function saveTrad($args, &$x)\r
+ {\r
+ $data = cubeLang::dataToFile($_POST);\r
+ file_put_contents(L10N . '/en/main.lang.php', $data);\r
+ $x->addAlert(__('Traductions sauvegardées'));\r
+ }\r
+\r
+ public static function previewDevis($args, &$x)\r
+ {\r
+ global $core;\r
+\r
+ $daoUtilisateur = new commonDAOUtilisateur($core->con);\r
+ if (is_null($daoUtilisateur->selectById($_POST['client']))) {\r
+ $x->addError('client_nom');\r
+ $x->addRedirection('#');\r
+ return;\r
+ }\r
+\r
+ commonDroits::min(1);\r
+ $dao = new extranetDAODevis($core->con);\r
+ $devis = $dao->sauve($core->user->utilisateur_id, $_POST);\r
+ $dao->saveAsPdf($devis->devis_id);\r
+ $x->addRedirection(SITE_PATH . 'previewDevis/' . $devis->devis_id);\r
+ }\r
+\r
+ public static function previewFacture($args, &$x)\r
+ {\r
+ global $core;\r
+ commonDroits::min(1);\r
+\r
+ $daoProjet = new extranetDAOProjet($core->con);\r
+ $daoClient = new commonDAOClient($core->con);\r
+ if (is_null($daoProjet->selectById($_POST['projet'])) && (!isset($_POST['client']) || is_null($daoClient->selectById($_POST['client'])))) {\r
+ $x->addError('projet_nom');\r
+ $x->addRedirection('#');\r
+ return;\r
+ }\r
+\r
+ $dao = new extranetDAOFacture($core->con);\r
+ $facture = $dao->sauve($_POST, $core->user->utilisateur_id);\r
+ $dao->saveAsPdf($facture->facture_id);\r
+ $x->addRedirection(SITE_PATH . 'previewFacture/' . $facture->facture_id);\r
+ }\r
+\r
+ public static function chargesDetails($args, &$x)\r
+ {\r
+ commonAjax::form('', sprintf(__("Détails des charges de l'année %s"), date('Y')), extranetPageChiffres::chargesDetails($args), '', 3, 'liste');\r
+ }\r
+\r
+ public static function makeFavicon($args, &$x)\r
+ {\r
+ $x->addRedirection(extranetTools::makeFavicon());\r
+ }\r
\r
}\r
\r