New: Add experimental module Point of sale

This commit is contained in:
Laurent Destailleur 2009-09-11 14:29:36 +00:00
parent b7e739ef92
commit 0598ee3668
19 changed files with 349 additions and 375 deletions

View File

@ -44,6 +44,7 @@ For users:
access to any users except the one defined in constant. access to any users except the one defined in constant.
- New: Add an admin page of PHP sessions with a way to lock new connections - New: Add an admin page of PHP sessions with a way to lock new connections
for other users than yourself. Can also purge existing sessions. for other users than yourself. Can also purge existing sessions.
- New: Add experimental point of sale module.
- Fix: "Now" link works when date popup is not used. - Fix: "Now" link works when date popup is not used.
- Fix: Debug seriously the email notification module. - Fix: Debug seriously the email notification module.
- Fix: Error Call to a member function trans when refusing a supplier order. - Fix: Error Call to a member function trans when refusing a supplier order.

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2007-2008 Jeremie Ollivier <jeremie.o@laposte.net> /* Copyright (C) 2007-2008 Jeremie Ollivier <jeremie.o@laposte.net>
* Copyright (C) 2008 Laurent Destailleur <eldy@uers.sourceforge.net> * Copyright (C) 2008 Laurent Destailleur <eldy@uers.sourceforge.net>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
@ -27,48 +27,47 @@ if ( $_SESSION['uid'] <= 0 ) {
print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'; print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
print '<html>'; print '<html>'."\n";
print '<head>'; print '<head>'."\n";
print '<title>Caisse</title>'; print '<title>'.$langs->trans("CashDesk").'</title>'."\n";
print '<meta name="robots" content="none" />'; print '<meta name="robots" content="none" />'."\n";
print '<meta name="author" content="Jeremie Ollivier - jeremie.o@laposte.net" />'; print '<meta name="author" content="Jeremie Ollivier - jeremie.o@laposte.net" />'."\n";
print '<meta name="Generator" content="Kwrite, Gimp, Inkscape" />'; print '<meta name="Generator" content="Kwrite, Gimp, Inkscape" />'."\n";
print '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />'; print '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'."\n";
print '<meta http-equiv="Content-Language" content="fr" />';
print '<meta http-equiv="Content-Style-Type" content="text/css" />'; print '<meta http-equiv="Content-Style-Type" content="text/css" />'."\n";
print '<link href="style.css" rel="stylesheet" type="text/css" media="screen" />'; print '<link href="style.css" rel="stylesheet" type="text/css" media="screen" />'."\n";
print '<!-- Import des fichiers necessaires a JsCalendar -->'; print '<!-- Import des fichiers necessaires a JsCalendar -->'."\n";
print '<style type="text/css">'; print '<style type="text/css">'."\n";
print '@import url(include/jscalendar/calendar-blue.css);'; print '@import url(include/jscalendar/calendar-blue.css);'."\n";
print '</style>'; print '</style>'."\n";
print '<script type="text/javascript" src="include/jscalendar/calendar.js"></script>'; print '<script type="text/javascript" src="include/jscalendar/calendar.js"></script>'."\n";
print '<script type="text/javascript" src="include/jscalendar/lang/calendar-fr.js"></script>'; print '<script type="text/javascript" src="include/jscalendar/lang/calendar-fr.js"></script>'."\n";
print '<script type="text/javascript" src="include/jscalendar/calendar-setup.js"></script>'; print '<script type="text/javascript" src="include/jscalendar/calendar-setup.js"></script>'."\n";
print '</head>'; print '</head>'."\n";
print '<body>'; print '<body>'."\n";
print '<div class="conteneur">'; print '<div class="conteneur">'."\n";
print '<div class="conteneur_img_gauche">'; print '<div class="conteneur_img_gauche">'."\n";
print '<div class="conteneur_img_droite">'; print '<div class="conteneur_img_droite">'."\n";
print '<h1 class="entete"><span>CAISSE</span></h1>'; print '<h1 class="entete"><span>CAISSE</span></h1>'."\n";
print '<div class="menu_principal">'; print '<div class="menu_principal">'."\n";
include('templates/menu.tpl.php'); include('templates/menu.tpl.php');
print '</div>'; print '</div>'."\n";
print '<div class="contenu">'; print '<div class="contenu">'."\n";
include('affContenu.php'); include('affContenu.php');
print '</div>'; print '</div>'."\n";
include('affPied.php'); include('affPied.php');
print '</div></div></div>'; print '</div></div></div>'."\n";
print '</body></html>'; print '</body></html>'."\n";
?> ?>

View File

@ -80,7 +80,9 @@ class Facturation {
// $sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base); // $sql = new Sql ($conf_db_host, $conf_db_user, $conf_db_pass, $conf_db_base);
global $sql; global $sql;
$resql=$sql->query ('SELECT taux FROM '.MAIN_DB_PREFIX.'c_tva WHERE rowid = '.$this->tva()); $req='SELECT taux FROM '.MAIN_DB_PREFIX.'c_tva WHERE rowid = '.$this->tva();
dol_syslog("ajoutArticle sql=".$req);
$resql=$sql->query ();
$tab_tva = $sql->fetch_array($resql); $tab_tva = $sql->fetch_array($resql);
$ret=array(); $ret=array();
@ -111,7 +113,7 @@ class Facturation {
$total_ttc = ($total_ht - $montant_remise) * (($tab_tva['taux'] / 100) + 1); $total_ttc = ($total_ht - $montant_remise) * (($tab_tva['taux'] / 100) + 1);
$sql->query('INSERT INTO '.MAIN_DB_PREFIX.'tmp_caisse ( $req='INSERT INTO '.MAIN_DB_PREFIX.'tmp_caisse (
fk_article, fk_article,
qte, qte,
fk_tva, fk_tva,
@ -126,7 +128,9 @@ class Facturation {
'.$remise_percent.', '.$remise_percent.',
'.price2num($montant_remise).', '.price2num($montant_remise).',
'.price2num($total_ht).', '.price2num($total_ht).',
'.price2num($total_ttc).')'); '.price2num($total_ttc).')';
dol_syslog("ajoutArticle sql=".$req);
$sql->query($req);
$this->raz(); $this->raz();

View File

@ -9,10 +9,10 @@ CREATE TABLE `llx_tmp_caisse` (
`id` int(11) NOT NULL auto_increment, `id` int(11) NOT NULL auto_increment,
`fk_article` tinyint(4) NOT NULL, `fk_article` tinyint(4) NOT NULL,
`qte` int(11) NOT NULL, `qte` int(11) NOT NULL,
`fk_tva` tinyint(4) NOT NULL, `fk_tva` int(4) NOT NULL,
`remise_percent` int(11) NOT NULL, `remise_percent` int(11) NOT NULL,
`remise` float NOT NULL, `remise` float NOT NULL,
`total_ht` float NOT NULL, `total_ht` float NOT NULL,
`total_ttc` float NOT NULL, `total_ttc` float NOT NULL,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=innodb AUTO_INCREMENT=3 ; ) ENGINE=innodb;

View File

@ -1,4 +1,3 @@
/* Copyright (C) 2007-2008 Jérémie Ollivier <jeremie.o@laposte.net> /* Copyright (C) 2007-2008 Jérémie Ollivier <jeremie.o@laposte.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -14,17 +13,14 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */ /* ------------------- Initialisations ------------------- */
/* ------------------- Initialisations ------------------- */
body { body {
background: #eee; background: #eee;
color: #333; color: #333;
margin: 0; margin: 0;
padding: 0; padding: 0;
text-align: center; text-align: center;
font: 0.7em Arial,Helvetica,sans-serif; font: 0.7em Arial, Helvetica, sans-serif;
} }
p { p {
@ -38,31 +34,26 @@ p {
margin: 10px auto; margin: 10px auto;
} }
.conteneur_img_gauche { .conteneur_img_gauche {
background: url("images/bg_conteneur_gauche.png") top left repeat-y; background: url("images/bg_conteneur_gauche.png") top left repeat-y;
} }
.conteneur_img_droite {
background: url("images/bg_conteneur_droite.png") top right repeat-y;
}
.conteneur_img_droite {
background: url("images/bg_conteneur_droite.png") top right repeat-y;
}
/* ------------------- En-tête ------------------- */ /* ------------------- En-tête ------------------- */
.entete { .entete {
height: 15px; height: 15px;
margin: 0; margin: 0;
background: url('images/bg_entete.png') no-repeat left top; background: url('images/bg_entete.png') no-repeat left top;
} }
.entete span { .entete span {
display: none; display: none;
} }
/* ------------------- Menu ------------------- */ /* ------------------- Menu ------------------- */
.menu_principal { .menu_principal {
margin: 0 auto; margin: 0 auto;
margin-left: 15px; margin-left: 15px;
@ -74,71 +65,64 @@ p {
background: url('images/bg_menu.png') no-repeat left top; background: url('images/bg_menu.png') no-repeat left top;
} }
.menu_bloc { .menu_bloc {
margin-left: 20px; margin-left: 20px;
} }
.menu { .menu {
margin: 0; margin: 0;
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
padding-top: 10px; padding-top: 10px;
} }
.menu li { .menu li {
float: left; float: left;
font-weight: bold; font-weight: bold;
width: 200px; width: 230px;
} }
.menu_choix1, .menu_choix2 { .menu_choix1,.menu_choix2 {
font-size: 1.4em; font-size: 1.4em;
text-align: left; text-align: left;
} }
.menu_choix1 a, .menu_choix2 a { .menu_choix1 a,.menu_choix2 a {
display: block; display: block;
color: #fff; color: #fff;
text-decoration: none; text-decoration: none;
width: 100px; width: 100px;
padding-left: 60px; padding-left: 60px;
height: 48px; height: 48px;
background: url('images/new.png') top left no-repeat; background: url('images/new.png') top left no-repeat;
} }
.menu_choix1 a { .menu_choix1 a {
background: url('images/new.png') top left no-repeat; background: url('images/new.png') top left no-repeat;
} }
.menu_choix2 a { .menu_choix2 a {
background: url('images/gescom.png') top left no-repeat; background: url('images/gescom.png') top left no-repeat;
} }
.menu_choix1 a:hover, .menu_choix2 a:hover { .menu_choix1 a:hover,.menu_choix2 a:hover {
color: #6d3f6d; color: #6d3f6d;
} }
.menu_choix0 {
font-size: 0.9em;
text-align: right;
font-style: italic;
}
.menu_choix0 a{
width: 280px;
display: block;
color: #333;
text-decoration: none;
padding-right: 25px;
}
.menu_choix0 a:hover{
color: #6d3f6d;
text-decoration: underline;
}
.menu_choix0 {
font-size: 0.9em;
text-align: right;
font-style: italic;
width: 280px;
display: block;
color: #333;
text-decoration: none;
padding-right: 5px;
}
.menu_choix0 a {
text-decoration: none;
}
/* ------------------- Récapitulatif des articles ------------------- */ /* ------------------- Récapitulatif des articles ------------------- */
@ -150,58 +134,57 @@ p {
padding-bottom: 10px; padding-bottom: 10px;
} }
p.titre { p.titre {
margin: 0; margin: 0;
margin-bottom: 20px; margin-bottom: 20px;
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
font-size: 1.4em; font-size: 1.4em;
color: #5ca64d; color: #5ca64d;
border-bottom: 1px dotted; border-bottom: 1px dotted;
} }
.cadre_article { .cadre_article {
margin: 0 auto; margin: 0 auto;
width: 180px; width: 180px;
text-align: center; text-align: center;
margin-bottom: 10px; margin-bottom: 10px;
padding-bottom: 10px; padding-bottom: 10px;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
} }
.cadre_article p { .cadre_article p {
color: #5ca64d; color: #5ca64d;
} }
.cadre_article p a { .cadre_article p a {
color: #333; color: #333;
font-size: 1.1em; font-size: 1.1em;
text-decoration: none; text-decoration: none;
padding-right: 25px; padding-right: 25px;
background: url('images/basket_delete.png') top right no-repeat; background: url('images/basket_delete.png') top right no-repeat;
} }
.cadre_article p a:hover { .cadre_article p a:hover {
color: #6d3f6d; color: #6d3f6d;
} }
.cadre_aucun_article { .cadre_aucun_article {
text-align: center; text-align: center;
font-style: italic; font-style: italic;
} }
.cadre_prix_total {
text-align: center;
font-weight: bold;
font-size: 1.4em;
color: #6d3f6d;
padding-top: 10px;
padding-bottom: 10px;
margin-left: 20px;
margin-right: 20px;
border: 1px dotted #6d3f6d;
}
.cadre_prix_total {
text-align: center;
font-weight: bold;
font-size: 1.4em;
color: #6d3f6d;
padding-top: 10px;
padding-bottom: 10px;
margin-left: 20px;
margin-right: 20px;
border: 1px dotted #6d3f6d;
}
/* ------------------- Contenu ------------------- */ /* ------------------- Contenu ------------------- */
.principal_login { .principal_login {
@ -209,32 +192,32 @@ p {
padding: 0; padding: 0;
} }
.formulaire_login { .formulaire_login {
text-align: center; text-align: center;
} }
.formulaire_login table { .formulaire_login table {
margin: 0 auto; margin: 0 auto;
padding-left: 60px; padding-left: 60px;
margin-bottom: 20px; margin-bottom: 20px;
background: url('images/login.png') bottom left no-repeat; background: url('images/login.png') bottom left no-repeat;
} }
.formulaire_login table tr { .formulaire_login table tr {
height: 30px; height: 30px;
} }
.texte_login { .texte_login {
padding-left: 2px; padding-left: 2px;
padding-right: 2px; padding-right: 2px;
background: #fff; background: #fff;
border: 1px solid #6d3f6d; border: 1px solid #6d3f6d;
} }
.bouton_login input { .bouton_login input {
background: #fff; background: #fff;
border: 1px solid #6d3f6d; border: 1px solid #6d3f6d;
} }
.principal { .principal {
float: left; float: left;
@ -243,182 +226,171 @@ p {
width: 495px; width: 495px;
} }
.titre1 { .titre1 {
font-weight: bold; font-weight: bold;
color: #ff9900; color: #ff9900;
margin: 0; margin: 0;
font-size: 1.4em; font-size: 1.4em;
} }
.label1 { .label1 {
color: #333; color: #333;
font-size: 1.1em; font-size: 1.1em;
} }
.cadre_facturation { .cadre_facturation {
border: 2px solid #ddd; border: 2px solid #ddd;
margin-bottom: 15px; margin-bottom: 15px;
padding: 10px 10px; padding: 10px 10px;
} }
.principal p { .principal p {
padding-left: 10px; padding-left: 10px;
padding-right: 10px; padding-right: 10px;
} }
.lien1 { .lien1 {
color: #333; color: #333;
font-size: 1.1em; font-size: 1.1em;
text-decoration: underline; text-decoration: underline;
} }
.lien1:hover { .lien1:hover {
color: #6d3f6d; color: #6d3f6d;
} }
/* Formulaires */
.formulaire1 {
padding: 0;
}
/* Formulaires */ .resultats_dhtml {
.formulaire1 { width: 400px;
padding: 0; position: absolute;
} }
.resultats_dhtml { /* --------------------- Listes déroulantes ------------------- */
width: 400px; .select_design {
position: absolute; width: 370px;
} overflow: auto;
}
/* --------------------- Listes déroulantes ------------------- */ .select_design select {
.select_design { border: 1px solid #6d3f6d;
width: 370px; background: #fff;
overflow: auto; }
}
.select_design select { .select_tva select {
border: 1px solid #6d3f6d; width: 60px;
background: #fff; border: 1px solid #6d3f6d;
} background: #fff;
}
.select_tva select { .top_liste {
width: 60px; font-style: italic;
border: 1px solid #6d3f6d; text-align: center;
background: #fff; color: #aaa;
} }
.top_liste { /* --------------- Champs texte ---------------- */
font-style: italic; .texte_ref,.texte1,.texte1_off,.texte2,.texte2_off,.textarea_note {
text-align :center; padding-left: 2px;
color: #aaa; padding-right: 2px;
} }
.texte_ref,.texte1,.texte2,.textarea_note {
background: #fff;
border: 1px solid #6d3f6d;
}
/* --------------- Champs texte ---------------- */ .texte1_off,.texte2_off {
.texte_ref, .texte1, .texte1_off, .texte2, .texte2_off, .textarea_note { color: #000;
padding-left: 2px; border: 1px solid #eee;
padding-right: 2px; background: #eee;
} }
.texte_ref, .texte1, .texte2, .textarea_note { .texte_ref {
background: #fff; width: 100px;
border: 1px solid #6d3f6d; }
}
.texte1_off, .texte2_off { .texte1,.texte1_off {
color: #000; width: 60px;
border: 1px solid #eee; }
background: #eee;
}
.texte_ref { .texte2,.texte2_off {
width: 100px; width: 140px;
} }
.texte1, .texte1_off { /* ------------------- */
width: 60px; .textarea_note {
} width: 300px;
height: 150px;
padding: 2px 2px;
}
.texte2, .texte2_off { /* -------------- Boutons --------------------- */
width: 140px; .bouton_ajout_article,.bouton_mode_reglement,.bouton_validation {
} border: 1px solid #999;
background: #f7f7ff;
}
.bouton_ajout_article:hover,.bouton_mode_reglement:hover,.bouton_validation:hover
{
background: #e7e7ff;
}
/* ------------------- */ .bouton_ajout_article {
.textarea_note { margin-top: 10px;
width: 300px; width: 100%;
height: 150px; height: 40px;
padding: 2px 2px; }
}
.bouton_mode_reglement {
width: 150px;
height: 40px;
}
/* -------------- Boutons --------------------- */ .bouton_validation { /* width: 80px; */
.bouton_ajout_article, .bouton_mode_reglement, .bouton_validation { margin-left: 10px;
border: 1px solid #999; margin-top: 20px;
background: #f7f7ff; margin-bottom: 10px;
} }
.bouton_ajout_article:hover, .bouton_mode_reglement:hover, .bouton_validation:hover { .formulaire2 {
background: #e7e7ff; padding: 0;
} width: 100%;
}
.bouton_ajout_article { .table_resume {
margin-top: 10px; width: 100%;
width: 100%; }
height: 40px;
}
.bouton_mode_reglement { .table_resume tr {
width: 150px; background: #eee;
height: 40px; }
}
.bouton_validation { .table_resume td {
/* width: 80px; */ padding-left: 8px;
margin-left: 10px; }
margin-top: 20px;
margin-bottom: 10px;
}
.formulaire2 {
padding: 0;
width: 100%;
}
.table_resume {
width: 100%;
}
.table_resume tr {
background: #eee;
}
.table_resume td {
padding-left: 8px;
}
.resume_label, .note_label {
width: 200px;
font-weight: bold;
font-size: 1.1em;
}
.note_label {
padding-top: 20px;
}
.resume_label,.note_label {
width: 200px;
font-weight: bold;
font-size: 1.1em;
}
.note_label {
padding-top: 20px;
}
/* ------------------- Pied de page ------------------- */ /* ------------------- Pied de page ------------------- */
.pied { .pied {
clear: both; clear: both;
height: 15px; height: 15px;
background: url('images/bg_pied.png') no-repeat bottom left; background: url('images/bg_pied.png') no-repeat bottom left;
} }
/* ------------------- Paramètres communs (messages d'erreur, informations, etc...) ------------------- */ /* ------------------- Paramètres communs (messages d'erreur, informations, etc...) ------------------- */
.msg_err1 { .msg_err1 {
color: #c00; color: #c00;
} }
@ -433,19 +405,19 @@ p {
color: #c00; color: #c00;
} }
/* Titre */ /* Titre */
.err_titre { .err_titre {
font-weight: bold; font-weight: bold;
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 10px;
padding: 0; padding: 0;
} }
/* Description */ /* Description */
.err_desc { .err_desc {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
/* Messages d'information */ /* Messages d'information */
.cadre_msg1 { .cadre_msg1 {
@ -457,27 +429,26 @@ p {
color: #070; color: #070;
} }
/* Titre */ /* Titre */
.msg_titre { .msg_titre {
font-weight: bold; font-weight: bold;
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 10px;
padding: 0; padding: 0;
} }
/* Description */
.msg_desc {
margin: 0;
padding: 0;
}
/* Description */
.msg_desc {
margin: 0;
padding: 0;
}
/* Affichage de la liste des résultats */ /* Affichage de la liste des résultats */
.dhtml_bloc { .dhtml_bloc {
margin: 0; margin: 0;
padding: 3px; padding: 3px;
font-size: 13px; font-size: 13px;
font-family: arial,sans-serif; font-family: arial, sans-serif;
border: 1px solid #000; border: 1px solid #000;
z-index: 1; z-index: 1;
width: 455px; width: 455px;
@ -487,17 +458,14 @@ p {
background-color: white; background-color: white;
} }
.dhtml_defaut { .dhtml_defaut {
list-style-type: none; list-style-type: none;
display: block; display: block;
height: 16px; height: 16px;
overflow: hidden; overflow: hidden;
} }
.dhtml_selection {
background-color: #3366cc;
color: white ! important;
}
.dhtml_selection {
background-color: #3366cc;
color: white ! important;
}

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2007-2008 Jeremie Ollivier <jeremie.o@laposte.net> /* Copyright (C) 2007-2008 Jeremie Ollivier <jeremie.o@laposte.net>
* Copyright (C) 2008 Laurent Destailleur <eldy@uers.sourceforge.net> * Copyright (C) 2008 Laurent Destailleur <eldy@uers.sourceforge.net>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or * the Free Software Foundation; either version 2 of the License, or
@ -18,6 +18,17 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
include_once(DOL_DOCUMENT_ROOT.'/societe.class.php');
include_once(DOL_DOCUMENT_ROOT.'/compta/bank/account.class.php');
include_once(DOL_DOCUMENT_ROOT.'/product/stock/entrepot.class.php');
$company=new Societe($db);
$company->fetch($conf->global->CASHDESK_ID_THIRDPARTY);
$bank=new Account($db);
$bank->fetch($conf->global->CASHDESK_ID_BANKACCOUNT);
$warehouse=new Entrepot($db);
$warehouse->fetch($conf->global->CASHDESK_ID_WAREHOUSE);
$langs->load("@cashdesk"); $langs->load("@cashdesk");
$logout='<img class="login" border="0" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/logout.png">'; $logout='<img class="login" border="0" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/logout.png">';
@ -25,11 +36,13 @@ $logout='<img class="login" border="0" src="'.DOL_URL_ROOT.'/theme/'.$conf->them
print '<div class="menu_bloc">'; print '<div class="menu_bloc">';
print '<ul class="menu">'; print '<ul class="menu">';
print '<li class="menu_choix1"><a href="affIndex.php?menu=facturation&id=NOUV"><span>Nouvelle vente</span></a></li>'; print '<li class="menu_choix1"><a href="affIndex.php?menu=facturation&id=NOUV"><span>Nouvelle vente</span></a></li>';
print '<li class="menu_choix2"><a href="'.eregi_replace('cashdesk','',$conf_url_racine).'"><span>Gestion commerciale</span></a></li>'; print '<li class="menu_choix2"><a href="'.eregi_replace('cashdesk','',$conf_url_racine).'"><span>Gestion commerciale</span></a></li>';
print '<li class="menu_choix0"><a href="deconnexion.php"><span title="Cliquez pour quitter la session">Utilisateur : '.utf8_decode($_SESSION['prenom']).' '.$_SESSION['nom'].' '.$logout.'</span></a>';
print '<a href="'.DOL_URL_ROOT.'/soc.php?socid='.$conf->global->CASHDESK_ID_THIRDPARTY.'">'.$langs->trans("CashDeskThirdParty").' : '.$conf->global->CASHDESK_ID_THIRDPARTY.'</a>'; print '<li class="menu_choix0">'.$langs->trans("User").' : '.$_SESSION['prenom'].' '.$_SESSION['nom'].' <a href="deconnexion.php">'.$logout.'</a><br>';
print '<a href="'.DOL_URL_ROOT.'/compta/bank/fiche.php?id='.$conf->global->CASHDESK_ID_BANKACCOUNT.'">'.$langs->trans("CashDeskBank").' : '.$conf->global->CASHDESK_ID_BANKACCOUNT.'</a>'; print $langs->trans("CashDeskThirdParty").' : '.$company->getNomUrl(1).'<br>';
print '<a href="'.DOL_URL_ROOT.'/product/stock/fiche.php?id='.$conf->global->CASHDESK_ID_WAREHOUSE.'">'.$langs->trans("CashDeskWarehouse").' : '.$conf->global->CASHDESK_ID_WAREHOUSE.'</a>'; print $langs->trans("CashDeskBank").' : '.$bank->getNomUrl(1).'<br>';
print $langs->trans("CashDeskWarehouse").' : '.$warehouse->getNomUrl(1);
print '</li></ul>'; print '</li></ul>';
print '</div>'; print '</div>';
?> ?>

View File

@ -1,5 +1,5 @@
<?php <?php
/* Copyright (C) 2008 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2008-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -56,7 +56,7 @@ class modCashDesk extends DolibarrModules
$this->description = "CashDesk module"; $this->description = "CashDesk module";
$this->revision = explode(' ','$Revision$'); $this->revision = explode(' ','$Revision$');
$this->version = 'development'; $this->version = 'experimental';
//$this->version = 'experimental'; // 'development' or 'experimental' or 'dolibarr' or version //$this->version = 'experimental'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);

View File

@ -368,7 +368,6 @@ ConfirmCancelBillQuestion=لماذا تريدها لتصنيف هذه الفات
ConfirmClassifyPaidPartiallyQuestion=هذه الفاتورة لم تدفع بالكامل. ما هي أسباب قريبة لك هذه الفاتورة؟ ConfirmClassifyPaidPartiallyQuestion=هذه الفاتورة لم تدفع بالكامل. ما هي أسباب قريبة لك هذه الفاتورة؟
ConfirmClassifyPaidPartiallyReasonOther=التخلي عن المبلغ لسبب آخر ConfirmClassifyPaidPartiallyReasonOther=التخلي عن المبلغ لسبب آخر
AlreadyPaid=دفعت بالفعل AlreadyPaid=دفعت بالفعل
AlreadyPaidNoCreditNotesNoDeposits=Alreday المدفوعة (بدون مذكرات الائتمان والودائع)
NoSupplierBillsUnpaid=لا الفواتير غير المدفوعة للموردين NoSupplierBillsUnpaid=لا الفواتير غير المدفوعة للموردين
CustomerBillsUnpaid=فواتير غير مدفوعة للعملاء CustomerBillsUnpaid=فواتير غير مدفوعة للعملاء
InvoicePaid=دفعت الفاتورة InvoicePaid=دفعت الفاتورة

View File

@ -350,7 +350,6 @@ BillShortStatusConverted=Forarbejdede
Prélèvements=Stående ordre Prélèvements=Stående ordre
Prélèvements=Stående ordrer Prélèvements=Stående ordrer
ShowInvoiceDeposit=Vis depositum faktura ShowInvoiceDeposit=Vis depositum faktura
AlreadyPaidNoCreditNotesNoDeposits=Alreday betales (uden kreditnotaer og indskud)
SetDate=Indstil dato SetDate=Indstil dato
Deposit=Indbetaling Deposit=Indbetaling
Deposits=Indlån Deposits=Indlån

View File

@ -351,7 +351,6 @@ BillShortStatusConverted=Verarbeitete
Prélèvements=Dauerauftrag Prélèvements=Dauerauftrag
Prélèvements=Daueraufträge Prélèvements=Daueraufträge
ShowInvoiceDeposit=Show Anzahlung Rechnung ShowInvoiceDeposit=Show Anzahlung Rechnung
AlreadyPaidNoCreditNotesNoDeposits=Alreday bezahlt (ohne Kredit-Banknoten und Einlagen)
SetDate=Datum SetDate=Datum
Deposit=Anzahlung Deposit=Anzahlung
Deposits=Einlagen Deposits=Einlagen

View File

@ -176,7 +176,7 @@ ShowInvoiceDeposit=Show deposit invoice
ShowPayment=Show payment ShowPayment=Show payment
File=File File=File
AlreadyPaid=Already paid AlreadyPaid=Already paid
AlreadyPaidNoCreditNotesNoDeposits=Alreday paid (without credit notes and deposits) AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and deposits)
Abandoned=Abandoned Abandoned=Abandoned
RemainderToPay=Remainder to pay RemainderToPay=Remainder to pay
RemainderToTake=Remainder to take RemainderToTake=Remainder to take

View File

@ -346,7 +346,6 @@ BillShortStatusConverted=Jalostettu
Prélèvements=Kestotilaus Prélèvements=Kestotilaus
Prélèvements=Pysyvän tilaukset Prélèvements=Pysyvän tilaukset
ShowInvoiceDeposit=Näytä tallettaa laskun ShowInvoiceDeposit=Näytä tallettaa laskun
AlreadyPaidNoCreditNotesNoDeposits=Alreday maksetaan (ilman hyvityslaskuja ja talletukset)
SetDate=Aseta pvm SetDate=Aseta pvm
Deposit=Talletuslokero Deposit=Talletuslokero
Deposits=Talletukset Deposits=Talletukset

View File

@ -388,7 +388,6 @@ HelpPaymentHigherThanReminderToPay=Attenzione, l&#39;importo del pagamento di un
BillStatusConverted=Convertito in sconto BillStatusConverted=Convertito in sconto
BillShortStatusConverted=Re BillShortStatusConverted=Re
ShowInvoiceDeposit=Visualizza deposito fattura ShowInvoiceDeposit=Visualizza deposito fattura
AlreadyPaidNoCreditNotesNoDeposits=Alreday pagata (senza note di credito e dei depositi)
SetDate=Imposta data SetDate=Imposta data
Deposit=Deposito Deposit=Deposito
Deposits=Depositi Deposits=Depositi

View File

@ -370,7 +370,6 @@ AmountOfBills=Bedrag van de facturen
AmountOfBillsByMonth=Bedrag van de facturen per maand AmountOfBillsByMonth=Bedrag van de facturen per maand
ShowSocialContribution=Toon sociale bijdrage ShowSocialContribution=Toon sociale bijdrage
ShowInvoiceDeposit=Toon nederlegging factuur ShowInvoiceDeposit=Toon nederlegging factuur
AlreadyPaidNoCreditNotesNoDeposits=Alreday betaald (zonder credit nota&#39;s en deposito&#39;s)
Abandoned=Abandoned Abandoned=Abandoned
AmountExpected=Bedrag AmountExpected=Bedrag
ExcessReceived=Overbagage ontvangen ExcessReceived=Overbagage ontvangen

View File

@ -354,7 +354,6 @@ BillShortStatusConverted=Verwerkte
Prélèvements=Doorlopende opdracht Prélèvements=Doorlopende opdracht
Prélèvements=Permanente opdrachten Prélèvements=Permanente opdrachten
ShowInvoiceDeposit=Toon nederlegging factuur ShowInvoiceDeposit=Toon nederlegging factuur
AlreadyPaidNoCreditNotesNoDeposits=Alreday betaald (zonder credit nota&#39;s en deposito&#39;s)
SetDate=Ingestelde datum SetDate=Ingestelde datum
Deposit=Borgsom Deposit=Borgsom
Deposits=Deposito&#39;s Deposits=Deposito&#39;s

View File

@ -351,7 +351,6 @@ BillShortStatusConverted=Przetworzone
Prélèvements=Zlecenie stałe Prélèvements=Zlecenie stałe
Prélèvements=Zlecenia stałe Prélèvements=Zlecenia stałe
ShowInvoiceDeposit=Pokaż złożeniu faktury ShowInvoiceDeposit=Pokaż złożeniu faktury
AlreadyPaidNoCreditNotesNoDeposits=Alreday wypłacana (bez not kredytowych i depozytowych)
SetDate=Ustaw datę SetDate=Ustaw datę
Deposit=Depozyt Deposit=Depozyt
Deposits=Depozyty Deposits=Depozyty

View File

@ -367,7 +367,6 @@ ConsumedBy=Consumida por
NotConsumed=Não consumiu NotConsumed=Não consumiu
HelpPaymentHigherThanReminderToPay=Atenção, o montante do pagamento de uma ou mais letras é maior do que o resto a pagar. <br> Edite sua entrada, caso contrário, confirmar e pensar sobre como criar uma nota de crédito do excesso recebido para cada overpaid facturas. HelpPaymentHigherThanReminderToPay=Atenção, o montante do pagamento de uma ou mais letras é maior do que o resto a pagar. <br> Edite sua entrada, caso contrário, confirmar e pensar sobre como criar uma nota de crédito do excesso recebido para cada overpaid facturas.
BillShortStatusConverted=Transformados BillShortStatusConverted=Transformados
AlreadyPaidNoCreditNotesNoDeposits=Alreday paga (sem notas de crédito e depósitos)
SetDate=Definir a data SetDate=Definir a data
Deposit=Depósito Deposit=Depósito
Deposits=Depósitos Deposits=Depósitos

View File

@ -348,7 +348,6 @@ BillShortStatusConverted=Prelucrate
Prélèvements=Permanent pentru Prélèvements=Permanent pentru
Prélèvements=Ordine de plată Prélèvements=Ordine de plată
ShowInvoiceDeposit=Arata depozit factură ShowInvoiceDeposit=Arata depozit factură
AlreadyPaidNoCreditNotesNoDeposits=Alreday platite (fara note de credit şi depozite)
SetDate=Setaţi data SetDate=Setaţi data
Deposit=Garantie Deposit=Garantie
Deposits=Depozite Deposits=Depozite

View File

@ -347,7 +347,6 @@ BillShortStatusConverted=Обработано
Prélèvements=Постоянная порядка Prélèvements=Постоянная порядка
Prélèvements=Постоянные заказы Prélèvements=Постоянные заказы
ShowInvoiceDeposit=Показать депозитные счета ShowInvoiceDeposit=Показать депозитные счета
AlreadyPaidNoCreditNotesNoDeposits=Alreday выплачивается (без кредитных нот и депозитам)
SetDate=Установить дату SetDate=Установить дату
Deposit=Депозиты Deposit=Депозиты
Deposits=Депозиты Deposits=Депозиты