From 2d35b0ae1b4c3ae2f57c95a44f1164b63b3de544 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Tue, 30 Aug 2005 20:39:08 +0000
Subject: [PATCH] New: Affiche lien vers fiche utilisateur sur fiche contact
 (pour les contacts qui ont un compte Dolibarr)

---
 htdocs/contact.class.php          |  8 ++++++--
 htdocs/contact/fiche.php          | 24 +++++++++++++++++-------
 htdocs/langs/en_US/companies.lang |  4 +++-
 htdocs/langs/fr_FR/companies.lang |  4 +++-
 4 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/htdocs/contact.class.php b/htdocs/contact.class.php
index c9c12731818..fc94ae19bdd 100644
--- a/htdocs/contact.class.php
+++ b/htdocs/contact.class.php
@@ -440,9 +440,11 @@ class Contact
         $sql.= " c.address, c.cp, c.ville,";
         $sql.= " c.fk_pays, p.libelle as pays, p.code as pays_code,";
         $sql.= " c.birthday as birthday, c.poste,";
-        $sql.= " c.phone, c.phone_perso, c.phone_mobile, c.fax, c.email, c.jabberid, c.note";
+        $sql.= " c.phone, c.phone_perso, c.phone_mobile, c.fax, c.email, c.jabberid, c.note,";
+        $sql.= " u.rowid as user_id, u.login as user_login";
         $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c";
         $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON c.fk_pays = p.rowid";
+        $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON c.idp = u.fk_socpeople";
         $sql.= " WHERE c.idp = ". $id;
     
         $resql=$this->db->query($sql);
@@ -485,7 +487,9 @@ class Contact
                 $this->birthday       = $obj->birthday;
                 $this->birthday_alert = $obj->birthday_alert;
                 $this->note           = $obj->note;
-    
+
+                $this->user_id        = $obj->user_id;
+                $this->user_login     = $obj->user_login;
             }
             $this->db->free($resql);
     
diff --git a/htdocs/contact/fiche.php b/htdocs/contact/fiche.php
index 6d8c8606cca..ad2a922cc7d 100644
--- a/htdocs/contact/fiche.php
+++ b/htdocs/contact/fiche.php
@@ -290,9 +290,9 @@ if ($_GET["action"] == 'create')
 elseif ($_GET["action"] == 'edit')
 {
     /*
-    * Fiche en mode edition
-    *
-    */
+     * Fiche en mode edition
+     *
+     */
 
     print '<form method="post" action="fiche.php?id='.$_GET["id"].'">';
     print '<input type="hidden" name="id" value="'.$_GET["id"].'">';
@@ -352,15 +352,20 @@ elseif ($_GET["action"] == 'edit')
     print $form->selectyesno("facturation",$contact->facturation);
     print '</td></tr>';
 
+    print '<tr><td>'.$langs->trans("DolibarrLogin").'</td><td colspan="3">';
+    if ($contact->user_id) print '<a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$contact->user_id.'">'.$contact->user_login.'</a>';
+    else print $langs->trans("NoDolibarrAccess");
+    print '</td></tr>';
+    
     print '<tr><td colspan="4" align="center"><input type="submit" class="button" value="'.$langs->trans("Save").'"></td></tr>';
-    print "</table><br>";
+    print '</table>';
 
     print "</form>";
 }
 else
 {
     /*
-     * Visualisation de la fiche
+     * Fiche en mode visualisation
      *
      */
     
@@ -370,7 +375,7 @@ else
     {
         $objsoc = new Societe($db);
         $objsoc->fetch($contact->socid);
-    
+
         print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">'.$objsoc->nom_url.'</td></tr>';
     }
     else
@@ -399,7 +404,7 @@ else
     print '<tr><td>'.$langs->trans("Country").'</td><td colspan="3">';
     print $contact->pays;
     print '</td></tr>';
-    
+
     print '<tr><td>Tel Pro</td><td>'.$contact->phone_pro.'</td>';
     print '<td>Tel Perso</td><td>'.$contact->phone_perso.'</td></tr>';
     
@@ -427,6 +432,11 @@ else
     print yn($contact->facturation);
     print '</td></tr>';
     
+    print '<tr><td>'.$langs->trans("DolibarrLogin").'</td><td colspan="3">';
+    if ($contact->user_id) print '<a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$contact->user_id.'">'.$contact->user_login.'</a>';
+    else print $langs->trans("NoDolibarrAccess");
+    print '</td></tr>';
+    
     print "</table>";
     
     print "</div>";
diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang
index 6d027f0f3d1..a6e011d1f2f 100644
--- a/htdocs/langs/en_US/companies.lang
+++ b/htdocs/langs/en_US/companies.lang
@@ -111,4 +111,6 @@ NoRIB=No RIB defined
 NoParentCompany=None
 ExportImport=Import-Export
 ExportCardToFormat=Export card to format
-ContactNotLinkedToCompany=Contact not linked to any company
\ No newline at end of file
+ContactNotLinkedToCompany=Contact not linked to any company
+DolibarrLogin=Dolibarr login
+NoDolibarrAccess=No Dolibarr access
\ No newline at end of file
diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang
index c1f11f28a08..0b0259f624c 100644
--- a/htdocs/langs/fr_FR/companies.lang
+++ b/htdocs/langs/fr_FR/companies.lang
@@ -111,4 +111,6 @@ NoRIB=Aucun RIB d
 NoParentCompany=Aucune
 ExportImport=Import-Export
 ExportCardToFormat=Exporter fiche au format
-ContactNotLinkedToCompany=Contact non li� � une soci�t�
\ No newline at end of file
+ContactNotLinkedToCompany=Contact non li� � une soci�t�
+DolibarrLogin=Login Dolibarr
+NoDolibarrAccess=Pas d'acc�s Dolibarr
\ No newline at end of file
-- 
GitLab