diff --git a/htdocs/telephonie/service/fiche.php b/htdocs/telephonie/service/fiche.php new file mode 100644 index 0000000000000000000000000000000000000000..afbfa60fe14c2f598c5ce809b90084cb91ffa68a --- /dev/null +++ b/htdocs/telephonie/service/fiche.php @@ -0,0 +1,255 @@ +<?PHP +/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +require "./pre.inc.php"; + +$mesg = ''; + + +if ($_POST["action"] == 'add') +{ + $service = new TelephonieService($db); + + $service->ref = $_POST["ref"]; + $service->libelle = $_POST["libelle"]; + $service->libelle_facture = $_POST["libelle_facture"]; + $service->montant = $_POST["montant"]; + + if ( $service->create($user) == 0) + { + Header("Location: fiche.php?id=".$service->id); + } + else + { + $_GET["action"] = 'create'; + } + +} + + +if ($_GET["action"] == 'active') +{ + $service = new LigneTel($db); + $service->fetch_by_id($_GET["id"]); + + $datea = $db->idate(mktime($h, $m , $s, + $_POST["remonth"], + $_POST["reday"], + $_POST["reyear"])); + + if ( $service->set_statut($user, 3, $datea) == 0) + { + Header("Location: fiche.php?id=".$service->id); + } + +} + +if ($_POST["action"] == 'update') +{ + $service = new TelephonieService($db); + $service->id = $_GET["id"]; + + $service->ref = $_POST["ref"]; + $service->libelle = $_POST["libelle"]; + $service->libelle_facture = $_POST["libelle_facture"]; + $service->montant = $_POST["montant"]; + + if ( $service->update($user) == 0) + + { + $action = ''; + $mesg = 'Fiche mise � jour'; + } + else + { + $action = 're-edit'; + $mesg = 'Fiche non mise � jour !' . "<br>" . $entrepot->mesg_error; + } +} + + +llxHeader("","","Fiche Service"); + +if ($cancel == $langs->trans("Cancel")) +{ + $action = ''; +} + +/* + * Cr�ation + * + */ +if ($_GET["action"] == 'create') +{ + $form = new Form($db); + print_titre("Nouveau service"); + + print '<form action="fiche.php" method="POST">'; + print '<input type="hidden" name="action" value="add">'; + + print '<table class="border" width="100%" cellspacing="0" cellpadding="4">'; + + print '<tr><td>Libell�</td><td>'; + print '<input type="text" name="libelle">'; + print '</td></tr>'; + + print '<tr><td>Libell� Facture</td><td>'; + print '<input type="text" name="libelle_facture">'; + print '</td></tr>'; + + print '<tr><td>Montant HT</td><td>'; + print '<input type="text" name="montant">'; + print ' euros HT</td></tr>'; + + print '<tr><td> </td><td><input type="submit" value="Cr�er"></td></tr>'."\n"; + print '</table>'."\n"; + print '</form>'; + + + +} +else +{ + if ($_GET["id"]) + { + + $service = new TelephonieService($db); + + if ( $service->fetch($_GET["id"]) == 0 ) + { + if ($_GET["action"] <> 'edit' && $_GET["action"] <> 're-edit') + { + + $h=0; + $head[$h][0] = DOL_URL_ROOT."/telephonie/service/fiche.php?id=".$service->id; + $head[$h][1] = $langs->trans("Service"); + $hselected = $h; + $h++; + + $head[$h][0] = DOL_URL_ROOT."/telephonie/service/factures.php?id=".$service->id; + $head[$h][1] = $langs->trans('Factures'); + $h++; + + dolibarr_fiche_head($head, $hselected, 'Service : '.$service->numero); + + print_fiche_titre('Fiche Service', $mesg); + + print '<table class="border" width="100%" cellspacing="0" cellpadding="4">'; + + print '<tr><td width="20%">Libell�</td><td>'.$service->libelle.'</td></tr>'; + print '<tr><td width="20%">Libell� Facture</td><td>'.$service->libelle_facture.'</td></tr>'; + + print '<tr><td width="20%">Montant HT</td><td>'.dolibarr_print_phone($service->montant).'</td></tr>'; + print '<tr><td width="20%">Statut</td><td>'.$service->statuts[$service->statut].'</td></tr>'; + print "</table><br />"; + print '</div>'; + } + + + /* + * Edition + * + * + * + */ + + if ($_GET["action"] == 'edit' || $action == 're-edit') + { + + $h=0; + $head[$h][0] = DOL_URL_ROOT."/telephonie/service/fiche.php?id=".$service->id; + $head[$h][1] = $langs->trans("Service"); + $hselected = $h; + $h++; + + dolibarr_fiche_head($head, $hselected, 'Service : '.$service->numero); + + print_fiche_titre('Edition du service', $mesg); + + print "<form action=\"fiche.php?id=$service->id\" method=\"post\">\n"; + print '<input type="hidden" name="action" value="update">'; + + print '<table class="border" width="100%" cellspacing="0" cellpadding="4">'; + + + print '<tr><td width="20%">Libell�</td><td>'; + print '<input name="libelle" size="20" value="'.$service->libelle.'">'; + print '</td></tr>'; + + print '<tr><td width="20%">Libell� Facture</td><td>'; + print '<input name="libelle_facture" size="20" value="'.$service->libelle_facture.'">'; + print '</td></tr>'; + + print '<tr><td width="20%">Montant HT</td><td>'; + print '<input name="montant" size="20" value="'.$service->montant.'"> euros HT'; + print '</td></tr>'; + + + + print '<tr><td align="center" colspan="2"><input type="submit">'; + + print '</td></tr>'; + + print '</table>'; + + /* + * + * + * + */ + + print '</div>'; + + } + } + else + { + print "Error"; + } + } +} + + + +/* ************************************************************************** */ +/* */ +/* Barre d'action */ +/* */ +/* ************************************************************************** */ + +print "\n<div class=\"tabsAction\">\n"; + +if ($_GET["action"] == '') +{ + + print "<a class=\"tabAction\" href=\"fiche.php?action=edit&id=$service->id\">".$langs->trans("Edit")."</a>"; + +} + +print "</div>"; + + + +$db->close(); + +llxFooter("<em>Dernière modification $Date$ révision $Revision$</em>"); +?> diff --git a/htdocs/telephonie/service/index.php b/htdocs/telephonie/service/index.php new file mode 100644 index 0000000000000000000000000000000000000000..7aa889438c2facbfe5035ef1814599882f166bf0 --- /dev/null +++ b/htdocs/telephonie/service/index.php @@ -0,0 +1,110 @@ +<?PHP +/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ +require("./pre.inc.php"); + +$page = $_GET["page"]; +$sortorder = $_GET["sortorder"]; + +if (!$user->rights->telephonie->lire) + accessforbidden(); + +llxHeader('','Telephonie - Contrats'); + +/* + * S�curit� acc�s client + */ +if ($user->societe_id > 0) +{ + $action = ''; + $socidp = $user->societe_id; +} + +/* + * Mode Liste + * + * + * + */ + +print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">'; + +print '<tr><td width="30%" valign="top">'; + +$sql = "SELECT libelle, montant "; +$sql .= " FROM ".MAIN_DB_PREFIX."telephonie_service as s"; + +if ($db->query($sql)) +{ + $num = $db->num_rows(); + $i = 0; + + + print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">'; + print '<tr class="liste_titre"><td>Lignes Statuts</td><td valign="center">Nb</td><td> </td>'; + print "</tr>\n"; + $var=True; + + while ($i < min($num,$conf->liste_limit)) + { + $obj = $db->fetch_object($i); + $values[$obj->statut] = $obj->cc; + $i++; + } + + foreach ($ligne->statuts as $key => $statut) + { + $var=!$var; + print "<tr $bc[$var]>"; + print "<td>".$statut."</td>\n"; + print "<td>".$values[$key]."</td>\n"; + print '<td><a href="'.DOL_URL_ROOT.'/telephonie/ligne/liste.php?statut='.$key.'"><img border="0" src="./graph'.$key.'.png"></a></td>'; + print "</tr>\n"; + } + + print "</table>"; + $db->free(); +} +else +{ + print $db->error() . ' ' . $sql; +} + +print '<br />'; + + +print '</td>'; + + +print '</td><td valign="top" width="70%" rowspan="3">'; + + +print '</td></tr>'; + + +print '</table>'; + + + +$db->close(); + +llxFooter("<em>Dernière modification $Date$ révision $Revision$</em>"); +?> diff --git a/htdocs/telephonie/service/liste.php b/htdocs/telephonie/service/liste.php new file mode 100644 index 0000000000000000000000000000000000000000..61f128b1f9f53ad6f4023aa5d8f5d350e0171134 --- /dev/null +++ b/htdocs/telephonie/service/liste.php @@ -0,0 +1,118 @@ +<?PHP +/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ +require("./pre.inc.php"); + +$page = $_GET["page"]; +$sortorder = $_GET["sortorder"]; +$sortfield = $_GET["sortfield"]; + +llxHeader('','Telephonie - Services - Liste'); +/* + * S�curit� acc�s client + */ +if ($user->societe_id > 0) +{ + $action = ''; + $socidp = $user->societe_id; +} + +if ($sortorder == "") { + $sortorder="ASC"; +} +if ($sortfield == "") { + $sortfield="s.statut"; +} + +/* + * Recherche + * + * + */ + +if ($page == -1) { $page = 0 ; } + +$offset = $conf->liste_limit * $page ; +$pageprev = $page - 1; +$pagenext = $page + 1; + +/* + * Mode Liste + * + * + * + */ + +$service = new TelephonieService($db); + +$sql = "SELECT s.rowid, s.libelle, s.montant,s.statut"; +$sql .= " FROM ".MAIN_DB_PREFIX."telephonie_service as s"; + +$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset); + +$result = $db->query($sql); +if ($result) +{ + $num = $db->num_rows(); + $i = 0; + + $urladd= "&statut=".$_GET["statut"]; + + print_barre_liste("Services", $page, "liste.php", $urladd, $sortfield, $sortorder, '', $num); + print"\n<!-- debut table -->\n"; + print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">'; + print '<tr class="liste_titre">'; + + print '<td>Libell�</td>'; + print '<td align="right">Montant HT</td>'; + print '<td align="center">Statut</td>'; + + print "</tr>\n"; + + $var=True; + + while ($i < min($num,$conf->liste_limit)) + { + $obj = $db->fetch_object($i); + $var=!$var; + + print "<tr $bc[$var]><td>"; + + print '<a href="fiche.php?id='.$obj->rowid.'">'.stripslashes($obj->libelle)."</a></td>\n"; + + print '<td align="right">'.price($obj->montant)."</td>\n"; + + print '<td align="center">'.$service->statuts[$obj->statut].'</td>'; + print "</tr>\n"; + $i++; + } + print "</table>"; + $db->free(); +} +else +{ + print $db->error() . ' ' . $sql; +} + +$db->close(); + +llxFooter("<em>Dernière modification $Date$ révision $Revision$</em>"); +?> diff --git a/htdocs/telephonie/service/pre.inc.php b/htdocs/telephonie/service/pre.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..97fe1f11e9e1f9b84906ecafeb8bdc1898fbc7bc --- /dev/null +++ b/htdocs/telephonie/service/pre.inc.php @@ -0,0 +1,63 @@ +<?PHP +/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ +require("../../main.inc.php"); +require(DOL_DOCUMENT_ROOT."/telephonie/telephonie.service.class.php"); + +$user->getrights('telephonie'); + +function llxHeader($head = "", $title="") { + global $user, $conf; + + /* + * + * + */ + top_menu($head, $title); + + $menu = new Menu(); + + $menu->add(DOL_URL_ROOT."/telephonie/index.php", "Telephonie"); + + $menu->add(DOL_URL_ROOT."/telephonie/client/index.php", "Clients"); + + $menu->add(DOL_URL_ROOT."/telephonie/contrat/", "Contrats"); + + $menu->add(DOL_URL_ROOT."/telephonie/ligne/index.php", "Lignes"); + + $menu->add(DOL_URL_ROOT."/telephonie/ligne/commande/", "Commandes"); + + $menu->add(DOL_URL_ROOT."/telephonie/facture/", "Factures"); + + $menu->add(DOL_URL_ROOT."/telephonie/service/", "Services"); + + $menu->add_submenu(DOL_URL_ROOT."/telephonie/service/liste.php", "Liste"); + + $menu->add_submenu(DOL_URL_ROOT."/telephonie/service/fiche.php?action=create", "Nouveau service"); + + $menu->add(DOL_URL_ROOT."/telephonie/stats/", "Statistiques"); + + $menu->add(DOL_URL_ROOT."/telephonie/statca/", "Chiffre d'affaire"); + + left_menu($menu->liste); +} + +?> diff --git a/htdocs/telephonie/service/vendus.php b/htdocs/telephonie/service/vendus.php new file mode 100644 index 0000000000000000000000000000000000000000..60f6be1f06db59368a42e6c38e942e8a959ebbef --- /dev/null +++ b/htdocs/telephonie/service/vendus.php @@ -0,0 +1,179 @@ +<?PHP +/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ +require("./pre.inc.php"); + +$page = $_GET["page"]; +$sortorder = $_GET["sortorder"]; +$sortfield = $_GET["sortfield"]; + +llxHeader('','Telephonie - Services - Liste'); +/* + * S�curit� acc�s client + */ +if ($user->societe_id > 0) +{ + $action = ''; + $socidp = $user->societe_id; +} + +if ($sortorder == "") { + $sortorder="ASC"; +} +if ($sortfield == "") { + $sortfield="l.statut"; +} + +/* + * Recherche + * + * + */ + +if ($page == -1) { $page = 0 ; } + +$offset = $conf->liste_limit * $page ; +$pageprev = $page - 1; +$pagenext = $page + 1; + +/* + * Mode Liste + * + * + * + */ + +$sql = "SELECT s.rowid, idp as socidp, sf.idp as sfidp, sf.nom as nom_facture,s.nom, l.ligne, f.nom as fournisseur, l.statut, l.rowid, l.remise"; +$sql .= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."telephonie_societe_ligne as l"; +$sql .= " , ".MAIN_DB_PREFIX."societe as sf"; +$sql .= " , ".MAIN_DB_PREFIX."telephonie_fournisseur as f"; +$sql .= " WHERE l.fk_soc = s.idp AND l.fk_fournisseur = f.rowid"; +$sql .= " AND l.fk_soc_facture = sf.idp"; + +if ($_GET["search_ligne"]) +{ + $sel =urldecode($_GET["search_ligne"]); + $sel = ereg_replace("\.","",$sel); + $sel = ereg_replace(" ","",$sel); + $sql .= " AND l.ligne LIKE '%".$sel."%'"; +} + +if ($_GET["search_client"]) +{ + $sel =urldecode($_GET["search_client"]); + $sql .= " AND s.nom LIKE '%".$sel."%'"; +} + +if ($_GET["search_client_facture"]) +{ + $sel =urldecode($_GET["search_client_facture"]); + $sql .= " AND sf.nom LIKE '%".$sel."%'"; +} + +if (strlen($_GET["statut"])) +{ + $sql .= " AND l.statut = ".$_GET["statut"]; +} + +$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit+1, $offset); + +$result = $db->query($sql); +if ($result) +{ + $num = $db->num_rows(); + $i = 0; + + $urladd= "&statut=".$_GET["statut"]; + + print_barre_liste("Contrats", $page, "liste.php", $urladd, $sortfield, $sortorder, '', $num); + print"\n<!-- debut table -->\n"; + print '<table class="noborder" width="100%" cellspacing="0" cellpadding="4">'; + print '<tr class="liste_titre">'; + + print_liste_field_titre("Ligne","liste.php","l.ligne"); + print_liste_field_titre("Client (Agence/Filiale)","liste.php","s.nom"); + + print '<td>Client factur�</td>'; + print '<td align="center">Statut</td>'; + + print_liste_field_titre("Remise LMN","liste.php","l.remise","","",' align="center"'); + + print '<td>Fournisseur</td>'; + + print "</tr>\n"; + + print '<tr class="liste_titre">'; + print '<form action="liste.php" method="GET">'; + print '<td><input type="text" name="search_ligne" value="'. $_GET["search_ligne"].'" size="10"></td>'; + print '<td><input type="text" name="search_client" value="'. $_GET["search_client"].'" size="10"></td>'; + print '<td><input type="text" name="search_client_facture" value="'. $_GET["search_client_facture"].'" size="10"></td>'; + + print '<td><input type="submit" value="Chercher"></td>'; + + + print '<td> </td>'; + print '<td> </td>'; + + print '</form>'; + print '</tr>'; + + + $var=True; + + $ligne = new LigneTel($db); + + while ($i < min($num,$conf->liste_limit)) + { + $obj = $db->fetch_object($i); + $var=!$var; + + print "<tr $bc[$var]><td>"; + + print '<img src="./graph'.$obj->statut.'.png"> '; + + print '<a href="'.DOL_URL_ROOT.'/telephonie/ligne/fiche.php?id='.$obj->rowid.'">'; + print img_file(); + print '</a> '; + + print '<a href="fiche.php?id='.$obj->rowid.'">'.dolibarr_print_phone($obj->ligne)."</a></td>\n"; + + print '<td><a href="'.DOL_URL_ROOT.'/telephonie/client/fiche.php?id='.$obj->socidp.'">'.stripslashes($obj->nom).'</a></td>'; + print '<td><a href="'.DOL_URL_ROOT.'/soc.php?socid='.$obj->sfidp.'">'.stripslashes($obj->nom_facture).'</a></td>'; + + print '<td align="center">'.$ligne->statuts[$obj->statut]."</td>\n"; + + print '<td align="center">'.$obj->remise." %</td>\n"; + print "<td>".$obj->fournisseur."</td>\n"; + print "</tr>\n"; + $i++; + } + print "</table>"; + $db->free(); +} +else +{ + print $db->error() . ' ' . $sql; +} + +$db->close(); + +llxFooter("<em>Dernière modification $Date$ révision $Revision$</em>"); +?>