diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php
index b83ecc329b7eb185da81fe19a12b2b4b82fcd3c5..505c2d3e79afc2086c09c132b09b34364cabbeec 100644
--- a/htdocs/contrat/list.php
+++ b/htdocs/contrat/list.php
@@ -4,6 +4,7 @@
  * Copyright (C) 2005-2012 Regis Houssin        <regis.houssin@capnetworks.com>
  * Copyright (C) 2013      Cédric Salvador      <csalvador@gpcsolutions.fr>
  * Copyright (C) 2014      Juanjo Menent        <jmenent@2byte.es>
+ * Copyright (C) 2015			 Claudio Aschieri			<c.aschieri@19.coop>
  *
  * 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
@@ -27,6 +28,7 @@
 
 require ("../main.inc.php");
 require_once (DOL_DOCUMENT_ROOT."/contrat/class/contrat.class.php");
+require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
 
 $langs->load("contracts");
 $langs->load("products");
@@ -47,6 +49,8 @@ $sall=GETPOST('sall');
 $search_status=GETPOST('search_status');
 $socid=GETPOST('socid');
 
+$search_sale = GETPOST('search_sale','int');
+
 if (! $sortfield) $sortfield="c.rowid";
 if (! $sortorder) $sortorder="DESC";
 
@@ -63,6 +67,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both
 	$search_name="";
 	$search_contract="";
 	$search_ref_supplier="";
+	$search_sale="";
 	$sall="";
 	$search_status="";
 }
@@ -75,6 +80,8 @@ if ($search_status == '') $search_status=1;
  */
 
 $now=dol_now();
+$formother = new FormOther($db);
+$socstatic = new Societe($db);
 
 llxHeader();
 
@@ -87,13 +94,13 @@ $sql.= ' SUM('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NOT NULL AND
 $sql.= ' SUM('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NOT NULL AND cd.date_fin_validite < '".$db->idate($now - $conf->contrat->services->expires->warning_delay)."')",1,0).') as nb_late,';
 $sql.= ' SUM('.$db->ifsql("cd.statut=5",1,0).') as nb_closed';
 $sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
-if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
+if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
 $sql.= ", ".MAIN_DB_PREFIX."contrat as c";
 $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."contratdet as cd ON c.rowid = cd.fk_contrat";
 $sql.= " WHERE c.fk_soc = s.rowid ";
 $sql.= " AND c.entity = ".$conf->entity;
 if ($socid) $sql.= " AND s.rowid = ".$socid;
-if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
+
 if ($search_name) {
     $sql .= natural_search('s.nom', $search_name);
 }
@@ -103,6 +110,12 @@ if ($search_contract) {
 if (!empty($search_ref_supplier)) {
 	$sql .= natural_search(array('c.ref_supplier'), $search_ref_supplier);
 }
+
+if ($search_sale > 0) 
+{
+	$sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$search_sale;
+}
+
 if ($sall) {
     $sql .= natural_search(array('s.nom', 'cd.label', 'cd.description'), $sall);
 }
@@ -121,13 +134,34 @@ if ($resql)
     print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">';
     print '<table class="liste" width="100%">';
 
+    // If the user can view prospects other than his'
+    $moreforfilter='';
+    if ($user->rights->societe->client->voir || $socid)
+    {
+    	$langs->load("commercial");
+    	$moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': ';
+    	$moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user);
+    	$moreforfilter.=' &nbsp; &nbsp; &nbsp; ';
+    }
+    
+    if ($moreforfilter)
+    {
+    	print '<tr class="liste_titre">';
+    	print '<td class="liste_titre" colspan="9">';
+    	print $moreforfilter;
+    	print '</td></tr>';
+    }
+    
     print '<tr class="liste_titre">';
     $param='&amp;search_contract='.$search_contract;
     $param.='&amp;search_name='.$search_name;
     $param.='&amp;search_ref_supplier='.$search_ref_supplier;
+    $param.='&search_sale=' .$search_sale;
+    
     print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "c.rowid","","$param",'',$sortfield,$sortorder);
     print_liste_field_titre($langs->trans("RefCustomer"), $_SERVER["PHP_SELF"], "c.ref_supplier","","$param",'',$sortfield,$sortorder);
     print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"], "s.nom","","$param",'',$sortfield,$sortorder);
+    print_liste_field_titre($langs->trans("SalesRepresentative"), $_SERVER["PHP_SELF"], "","","$param",'',$sortfield,$sortorder);
     //print_liste_field_titre($langs->trans("DateCreation"), $_SERVER["PHP_SELF"], "c.datec","","$param",'align="center"',$sortfield,$sortorder);
     print_liste_field_titre($langs->trans("DateContract"), $_SERVER["PHP_SELF"], "c.date_contrat","","$param",'align="center"',$sortfield,$sortorder);
     //print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "c.statut","","$param",'align="center"',$sortfield,$sortorder);
@@ -150,7 +184,7 @@ if ($resql)
     print '</td>';
     print '<td class="liste_titre">&nbsp;</td>';
     //print '<td class="liste_titre">&nbsp;</td>';
-    print '<td colspan="4" class="liste_titre" align="right"><input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
+    print '<td colspan="5" class="liste_titre" align="right"><input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
 	print '<input type="image" class="liste_titre" name="button_removefilter" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
     print "</td></tr>\n";
 
@@ -167,6 +201,43 @@ if ($resql)
         print '<td>'.$obj->ref_supplier.'</td>';
         print '<td><a href="../comm/card.php?socid='.$obj->socid.'">'.img_object($langs->trans("ShowCompany"),"company").' '.$obj->name.'</a></td>';
         //print '<td align="center">'.dol_print_date($obj->datec).'</td>';
+        
+        // Sales Rapresentatives
+        print '<td>';
+        if($obj->socid)
+        {
+        	$socstatic->fetch($obj->socid);
+        	$listsalesrepresentatives=$socstatic->getSalesRepresentatives($user);
+        	$nbofsalesrepresentative=count($listsalesrepresentatives);
+        	if ($nbofsalesrepresentative > 3)   // We print only number
+        	{
+        		print '<a href="'.DOL_URL_ROOT.'/societe/commerciaux.php?socid='.$socstatic->id.'">';
+        		print $nbofsalesrepresentative;
+        		print '</a>';
+        	}
+        	else if ($nbofsalesrepresentative > 0)
+        	{
+        		$userstatic=new User($db);
+        		$j=0;
+        		foreach($listsalesrepresentatives as $val)
+        		{
+        			$userstatic->id=$val['id'];
+        			$userstatic->lastname=$val['lastname'];
+        			$userstatic->firstname=$val['firstname'];
+        			print $userstatic->getNomUrl(1);
+        			$j++;
+        			if ($j < $nbofsalesrepresentative) print '<br/>';
+        		}
+        	}
+        	else print $langs->trans("NoSalesRepresentativeAffected");
+        }
+        else
+        {
+        	print '&nbsp';
+        }
+        print '</td>';
+        
+        
         print '<td align="center">'.dol_print_date($db->jdate($obj->date_contrat)).'</td>';
         //print '<td align="center">'.$staticcontrat->LibStatut($obj->statut,3).'</td>';
         print '<td align="center">'.($obj->nb_initial>0?$obj->nb_initial:'').'</td>';