diff --git a/doc/dev/Makefile b/doc/dev/Makefile
index 4247768c948..bf229babbe0 100644
--- a/doc/dev/Makefile
+++ b/doc/dev/Makefile
@@ -43,7 +43,8 @@ all: $(DOC).pdf $(DOC).html
$(DEBIANDOC2PS) $(OPTIONS) $<
$(DOC).pdf: $(FRPAGES)
- $(DEBIANDOC2PDF) $(OPTIONS) $(DOC).sgml
+#$(DEBIANDOC2PDF) $(OPTIONS) $(DOC).sgml
+ linuxdoc --backend=latex -o pdf dolidev.sgml
%.html: %.sgml $(FRPAGES)
$(DEBIANDOC2HTML) $(HOPTIONS) $<
@@ -52,4 +53,5 @@ put:
$(RSYNC) $(ROPT) $(RSSH) dolibarr-dev.html rodolphe.quiedeville.org:/home/www/www.dolibarr.com/htdocs/documentation
clean:
- rm -f *pdf *ps
\ No newline at end of file
+ rm -f *pdf *pslinuxdoc --backend=latex -o pdf dolidev.sgml
+
diff --git a/doc/user/dolibarr-user.pdf b/doc/user/dolibarr-user.pdf
index ada42ecef46..37eada884b1 100644
Binary files a/doc/user/dolibarr-user.pdf and b/doc/user/dolibarr-user.pdf differ
diff --git a/doc/user/dolibarr-user.txt b/doc/user/dolibarr-user.txt
index b828ae8521c..a973d4b8622 100644
--- a/doc/user/dolibarr-user.txt
+++ b/doc/user/dolibarr-user.txt
@@ -16,27 +16,17 @@
Table des matières
------------------
- 1. Installation
- 1.1. Récupérer les sources
- 1.2. Pré-requis
- 1.3. Base de données
- 1.4. Apache
- 1.5. Dolibarr
+ 1. Propositions commerciales
+ 1.1. Créer une proposition commerciale
+ 1.2. Modèles de proposition
- 2. Mise à jour
- 2.1. Mise à jour de la base de données
+ 2. Facturation
+ 2.1. Facture
+ 2.2. Paiements
- 3. Propositions commerciales
- 3.1. Créer une proposition commerciale
- 3.2. Modèles de proposition
-
- 4. Facturation
- 4.1. Facture
- 4.2. Paiements
-
- 5. Produits
- 5.1. Aspect général
- 5.2. Spécificités des services
+ 3. Produits
+ 3.1. Aspect général
+ 3.2. Spécificités des services
A. Fichier de conf Apache
A.1. Fichier de config pour `Apache 1.3' + `mod_auth_mysql'
@@ -47,114 +37,13 @@ Table des mati
-------------------------------------------------------------------------------
-1. Installation
----------------
-
- Installation de Dolibarr. Cette documentation est valable à partir de
- la version 0.1.3 de Dolibarr.
-
-
-1.1. Récupérer les sources
---------------------------
-
- Récupérer les sources sur http://rodolphe.quiedeville.org/
- (http://rodolphe.quiedeville.org/projets/dolibarr/dl/?M=D)
-
- Les sources se présentent sous la forme d'un fichier tar compressé
- avec gzip.
-
-
-1.2. Pré-requis
----------------
-
- Liste des logiciels à installer pour faire fonctionner Dolibarr :
-
- * php4
-
- * php4-mysql
-
- * php4-curl (pour la partie gestion des adhérents)
-
- * Apache
-
- * libapache-mod-auth-mysql
-
-
-1.3. Base de données
---------------------
-
- 1- créer une base de données mysql appelée 'dolibarr' (vous pouvez
- changer le nom, dans ce cas remplacer dans la suite des commandes
- 'dolibarr' par le nom de votre base de données)
-
- `# mysqladmin create dolibarr'
-
- 2- charger la base en exécutant :
-
- `# mysql dolibarr < mysql/mysql.sql'
-
-
-1.4. Apache
------------
-
- Pour configurer Apache : un fichier httpd.conf.dist est fournit avec
- les sources, vous pouvez vous en servir pour configurer votre serveur,
- il est prévu pour que vous ayez juste à ajouter une régle Include dans
- votre fichier principal `httpd.conf'.
-
-
-1.5. Dolibarr
--------------
-
- Créer un répertoire appelé `document' dans le répertoire `htdocs' des
- sources et affectez les droits d'écriture dans ce répertoire à
- l'utilisateur exécutant le serveur web.
-
- Créer un fichier `conf/conf.php' et donnez les droits d'écriture dans
- ce fichier à l'utilisateur exécutant le serveur web.
-
- Pour configurer Dolibarr accéder à la page /install.php, pour vous
- logger utlisez le login admin avec le mot de passe admin.
-
- Une fois les valeurs enregistrés, si les controles sont correctes vous
- n'avez qu'a cliquer sur le lien, 'phase finale de configuration'.
-
-
--------------------------------------------------------------------------------
-
-
-2. Mise à jour
---------------
-
- Certaines action sont nécessaires lors de la mise à jour de Dolibarr
- vers une version plus récente des sources.
-
-
-2.1. Mise à jour de la base de données
---------------------------------------
-
- Il peut être nécessaire de faire des modifications sur la structure
- et/ou les données contenues dans la base Mysql lors de la mise à jour
- de Dolibarr. Pour cela des scripts sont fournis dans le répertoire
- `mysql/migration/'. Il se présente sous la forme a.b.c-e.d.f.sql, les
- trois premiers numéros indique la version de départ et les 3 suivants
- la version que vous souhaitez atteindre. Si vous passez par exemple
- de la version 0.1.3 à la version 0.1.6 il vous faudra appliquer les
- patchs 0.1.3-0.1.4.sql, 0.1.4-0.1.5.sql et 0.1.5-0.1.6.sql si un patch
- n'éxiste pas d'une version à une autre c'est qu'il n'y a pas eu de
- modification de base.
-
-
--------------------------------------------------------------------------------
-
-
-3. Propositions commerciales
+1. Propositions commerciales
----------------------------
Propositions commerciales
-3.1. Créer une proposition commerciale
+1.1. Créer une proposition commerciale
--------------------------------------
La création d'une proposition commerciale se fait à partir de la fiche
@@ -162,7 +51,7 @@ Table des mati
en haut à gauche sur la fiche, sous la barre de menu général.
-3.2. Modèles de proposition
+1.2. Modèles de proposition
---------------------------
Dolibarr sait gérer plusieurs modèles de propositions. Vous pouvez
@@ -174,23 +63,23 @@ Table des mati
-------------------------------------------------------------------------------
-4. Facturation
+2. Facturation
--------------
Module de facturation.
-4.1. Facture
+2.1. Facture
------------
-4.1.1. Créer une facture
+2.1.1. Créer une facture
------------------------
La création d'une facture se fait à partir de la fiche client dans la
partie comptable. Le lien permettant cela se trouve en haut à gauche
sur la fiche, sous la barre de menu générale.
-4.1.2. Supprimer une facture
+2.1.2. Supprimer une facture
----------------------------
Pour supprimer une facture il vous faut ouvrir la fiche de celle-ci.
@@ -199,24 +88,24 @@ Table des mati
toutes les données s'y afférant. Une facture supprimée ne peut pas
être récupérée.
-4.1.3. Modifier une facture
+2.1.3. Modifier une facture
---------------------------
Pour modifier une facture il vous faut ouvrir la fiche de celle-ci.
Une facture ne peut être modifiée que si celle-ci est à l'état de
brouillon.
-4.1.4. Cycle de vie d'une facture
+2.1.4. Cycle de vie d'une facture
---------------------------------
-4.1.4.1. Brouillon
+2.1.4.1. Brouillon
------------------
Lors de sa création une facture est considéré dans l'état de
brouillon, dans cet état il n'st possible que de "Valider" ou de
supprimer" une facture.
-4.1.4.2. Validée
+2.1.4.2. Validée
----------------
Une facture validée est une facture qui a été vérifiée par les
@@ -227,31 +116,31 @@ Table des mati
un paiement', 'Effectuer une relance', 'Classer comme payée' une fois
l'intégralité des paiements étant égale au total TTC de la facture.
-4.1.4.3. Payée
+2.1.4.3. Payée
--------------
L'état ultime de la facture qui nous remplit tous de joie. La seule
action possible sur une facture payée est la consultation de celle-ci.
-4.2. Paiements
+2.2. Paiements
--------------
-4.2.1. Création (émission)
+2.2.1. Création (émission)
--------------------------
La création d'un paiement s'effectue depuis la fiche de la facture
correspondante. La création n'est possible que si et seulement si la
facture n'est pas dans l'état 'Payée'.
-4.2.2. Suppression
+2.2.2. Suppression
------------------
La suppression d'un paiement s'effectue depuis la fiche de la facture
correspondante. La suppression n'est possible que si et seulement si
la facture n'est pas dans l'état 'Payée'.
-4.2.3. Modification
+2.2.3. Modification
-------------------
La modification d'un paiement n'est pas possible vous devez pour cela
@@ -261,7 +150,7 @@ Table des mati
-------------------------------------------------------------------------------
-5. Produits
+3. Produits
-----------
Tout élément vendu dans Dolibarr est considéré comme un produit. Les
@@ -272,14 +161,14 @@ Table des mati
support inclue forcément une durée.
-5.1. Aspect général
+3.1. Aspect général
-------------------
La création d'un produit s'effectue depuis le menu gauche de
l'application, pour cela il vous faut être dans la section produit.
-5.2. Spécificités des services
+3.2. Spécificités des services
------------------------------
diff --git a/htdocs/comm/people.php3 b/htdocs/comm/people.php3
index 85b23b71abe..07784d6899c 100644
--- a/htdocs/comm/people.php3
+++ b/htdocs/comm/people.php3
@@ -31,7 +31,6 @@ if ($sortorder == "")
if ($action == 'add')
{
-
$email = trim($email);
if (strlen(trim($name)) + strlen(trim($firstname)) > 0)
@@ -66,6 +65,16 @@ if ($action == 'update')
}
}
+if ($action == 'create_user')
+{
+ $nuser = new User($db);
+ $contact = new Contact($db);
+ $nuser->nom = $contact->nom;
+ $nuser->prenom = $contact->prenom;
+ $result = $contact->fetch($contactid);
+ $nuser->create_from_contact($contact);
+}
+
/*
*
*
@@ -78,15 +87,8 @@ if ($socid > 0)
$sql = "SELECT s.idp, s.nom, ".$db->pdate("s.datec")." as dc, s.tel, s.fax, st.libelle as stcomm, s.fk_stcomm, s.url,s.cp,s.ville, s.note FROM llx_societe as s, c_stcomm as st ";
$sql .= " WHERE s.fk_stcomm=st.id";
+ $sql .= " AND s.idp = $socid";
- if ($to == 'next')
- {
- $sql .= " AND s.idp > $socid ORDER BY idp ASC LIMIT 1";
- }
- else
- {
- $sql .= " AND s.idp = $socid";
- }
$result = $db->query($sql);
@@ -105,7 +107,7 @@ if ($socid > 0)
if ($objsoc->note)
{
- print "
";
+ print '';
print "| ".nl2br($objsoc->note)." |
";
print "
";
}
@@ -122,7 +124,7 @@ if ($socid > 0)
print "Poste | Tel | ";
print "Fax | Email | ";
- $sql = "SELECT p.name, p.firstname, p.poste, p.phone, p.fax, p.email ";
+ $sql = "SELECT p.name, p.firstname, p.poste, p.phone, p.fax, p.email, p.fk_user ";
$sql .= " FROM llx_socpeople as p WHERE p.fk_soc = $objsoc->idp";
if ($contactid)
@@ -133,17 +135,11 @@ if ($socid > 0)
$sql .= " ORDER by p.datec";
$result = $db->query($sql);
$i = 0 ; $num = $db->num_rows(); $tag = True;
+
while ($i < $num)
{
$obj = $db->fetch_object( $i);
- if ($tag)
- {
- print "";
- }
- else
- {
- print "
";
- }
+ print "
";
print "| $obj->firstname $obj->name | ";
print "$obj->poste | ";
print "$obj->phone | ";
@@ -153,6 +149,19 @@ if ($socid > 0)
$i++;
$tag = !$tag;
}
+ if ($contactid)
+ {
+ if ($obj->fk_user)
+ {
+ print '
| Login | Fiche |
';
+ }
+ else
+ {
+ print '| Login | Pas de compte | ';
+ print 'Créer un compte |
';
+ }
+ }
+
print "
";
@@ -267,15 +276,12 @@ if ($socid > 0)
}
print "";
-
-
-
}
else
{
print "Error";
}
-$db->free();
+
$db->close();
llxFooter("Dernière modification $Date$ révision $Revision$");
diff --git a/htdocs/compta/fiche.php3 b/htdocs/compta/fiche.php3
index 09e36ad6954..52eb26f72b2 100644
--- a/htdocs/compta/fiche.php3
+++ b/htdocs/compta/fiche.php3
@@ -34,9 +34,11 @@ if ($user->societe_id > 0)
$socid = $user->societe_id;
}
+$user->getrights('facture');
+
llxHeader();
-$db = new Db();
+
if ($action=='add_action') {
@@ -54,7 +56,6 @@ if ($action=='add_action') {
$actioncomm->add($user);
-
$societe = new Societe($db);
$societe->fetch($socid);
}
diff --git a/htdocs/compta/index.php3 b/htdocs/compta/index.php3
index f79786d8126..76b425f82b1 100644
--- a/htdocs/compta/index.php3
+++ b/htdocs/compta/index.php3
@@ -79,14 +79,48 @@ print '';
print '';
+/*
+ * Propales à facturer
+ */
+if ($user->comm > 0 && $conf->commercial )
+{
+ $sql = "SELECT p.rowid, p.ref, s.nom FROM llx_propal as p, llx_societe as s";
+ $sql .= " WHERE p.fk_soc = s.idp AND p.fk_statut = 2";
+ if ($socidp)
+ {
+ $sql .= " AND p.fk_soc = $socidp";
+ }
+
+ if ( $db->query($sql) )
+ {
+ $num = $db->num_rows();
+ if ($num)
+ {
+ $i = 0;
+ print '';
+ print "";
+ print '| '.translate("Propositions comm. à facturer").' | ';
+ print " \n";
+
+ while ($i < $num)
+ {
+ $var=!$var;
+ $obj = $db->fetch_object($i);
+ print "| rowid\">$obj->ref | ".$obj->nom." | ";
+ $i++;
+ }
+ print " ";
+ }
+ }
+}
+
+/*
+ * Charges a payer
+ *
+ */
if ($user->societe_id == 0)
{
-
-
- /*
- * Charges a payer
- *
- */
+
$sql = "SELECT c.amount, cc.libelle";
$sql .= " FROM llx_chargesociales as c, c_chargesociales as cc";
$sql .= " WHERE c.fk_type = cc.id AND c.paye=0";
@@ -120,29 +154,6 @@ if ($user->societe_id == 0)
print $db->error();
}
}
-/*
- * Propales à facturer
- */
-if ($user->comm > 0 && $conf->commercial )
-{
- print '';
- print "";
- print '| '.translate("Propositions commerciales").' | ';
- print " \n";
-
- $sql = "SELECT count(*) FROM llx_propal WHERE fk_statut = 2";
- if ($socidp)
- {
- $sql .= " AND fk_soc = $socidp";
- }
- if (valeur($sql))
- {
- $var=!$var;
- print "| A facturer | ".valeur($sql)." | ";
- }
-
- print " ";
-}
/*
* Factures impayées
*/
diff --git a/htdocs/compta/propal.php3 b/htdocs/compta/propal.php3
index 512b690ed48..76f599597a1 100644
--- a/htdocs/compta/propal.php3
+++ b/htdocs/compta/propal.php3
@@ -255,32 +255,34 @@ if ($propalid)
/*
* Actions
*/
- print "";
-
-
- if ($obj->statut == 2)
- {
- print '| ';
- print "Emettre une facture | ";
- }
- else
- {
- print '- | ';
- }
-
- print "- | ";
- print "- | ";
-
-
- if ($obj->statut == 2)
- {
- print "[Facturée] | ";
- }
- else
- {
+ if ($obj->statut <> 4)
+ {
+ print "";
+
+ if ($obj->statut == 2)
+ {
+ print '| ';
+ print "Emettre une facture | ";
+ }
+ else
+ {
+ print '- | ';
+ }
+
print "- | ";
+ print "- | ";
+
+
+ if ($obj->statut == 2)
+ {
+ print "[Facturée] | ";
+ }
+ else
+ {
+ print "- | ";
+ }
+ print " ";
}
- print " ";
/*
*
*/
diff --git a/htdocs/contact.class.php3 b/htdocs/contact.class.php3
index e2ab336fa08..ad74c3c37dc 100644
--- a/htdocs/contact.class.php3
+++ b/htdocs/contact.class.php3
@@ -50,7 +50,7 @@ class Contact
Function fetch($id)
{
- $sql = "SELECT c.idp, c.idp, c.name, c.firstname";
+ $sql = "SELECT c.idp, c.fk_soc, c.name, c.firstname, c.email";
$sql .= " FROM llx_socpeople as c";
$sql .= " WHERE c.idp = $id";
@@ -65,11 +65,12 @@ class Contact
$this->id = $obj->idp;
$this->nom = $obj->name;
$this->prenom = $obj->firstname;
-
+ $this->societeid = $obj->fk_soc;
$this->fullname = $this->prenom . ' ' . $this->nom;
$this->code = $obj->code;
$this->email = $obj->email;
+ $this->mail = $obj->email;
}
$this->db->free();
diff --git a/htdocs/includes/fpdf/fpdf.php b/htdocs/includes/fpdf/fpdf.php
index b89837263ec..ad321cd95c7 100755
--- a/htdocs/includes/fpdf/fpdf.php
+++ b/htdocs/includes/fpdf/fpdf.php
@@ -1038,7 +1038,7 @@ function _begindoc()
{
//Start document
$this->state=1;
- $this->_out('%PDF-1.3');
+ $this->_out('%PDF-1.4');
}
function _putpages()
diff --git a/htdocs/tva.class.php3 b/htdocs/tva.class.php3
index e2005932761..d3377e62567 100644
--- a/htdocs/tva.class.php3
+++ b/htdocs/tva.class.php3
@@ -175,7 +175,26 @@ class Tva
/*
*
*/
+ Function add_payement($datep, $datev, $amount)
+ {
+ $sql = "INSERT INTO llx_tva (datep, datev, amount) ";
+ $sql .= " VALUES ('".$this->db->idate($datep)."',";
+ $sql .= "'".$this->db->idate($datev)."'," . ereg_replace(",",".",$amount) .")";
+ $result = $this->db->query($sql);
+
+ if ($result)
+ {
+ return 1;
+ }
+ else
+ {
+ print $this->db->error()." ".$sql;
+ return -1;
+ }
+
+
+ }
}
?>
|