Uniformize code for contacts linking

This commit is contained in:
Laurent Destailleur 2009-02-18 12:26:55 +00:00
parent 2db114f18b
commit c78bd22adc
11 changed files with 297 additions and 282 deletions

View File

@ -28,6 +28,7 @@ require ("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/propal.class.php"); require_once(DOL_DOCUMENT_ROOT."/propal.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/propal.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/propal.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php');
$langs->load("facture"); $langs->load("facture");
$langs->load("orders"); $langs->load("orders");
@ -143,9 +144,14 @@ if ($_GET["action"] == 'deleteline' && $user->rights->propale->creer)
} }
/*
* View
*/
llxHeader('', $langs->trans("Proposal"), "Propal"); llxHeader('', $langs->trans("Proposal"), "Propal");
$html = new Form($db); $html = new Form($db);
$formcompany= new FormCompany($db);
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
@ -208,7 +214,7 @@ if ($id > 0)
/* /*
* Ajouter une ligne de contact * Ajouter une ligne de contact
* Non affiché en mode modification de ligne * Non affich<EFBFBD> en mode modification de ligne
*/ */
if ($_GET["action"] != 'editline' && $user->rights->propale->creer) if ($_GET["action"] != 'editline' && $user->rights->propale->creer)
{ {
@ -239,12 +245,12 @@ if ($id > 0)
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des users déjà sélectionnés // On r<EFBFBD>cup<EFBFBD>re les id des users d<>j<EFBFBD> s<>lectionn<6E>s
//$userAlreadySelected = $propal->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$userAlreadySelected = $propal->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$html->select_users($user->id,'contactid',0,$userAlreadySelected); $html->select_users($user->id,'contactid',0,$userAlreadySelected);
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$propal->selectTypeContact($propal, '', 'type','internal'); $formcompany->selectTypeContact($propal, '', 'type','internal');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>'; print '</tr>';
@ -266,17 +272,16 @@ if ($id > 0)
print '<td colspan="1">'; print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$propal->client->id; $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$propal->client->id;
$selectedCompany = $propal->selectCompaniesForNewContact($propal, 'propalid', $selectedCompany, $htmlname = 'newcompany'); $selectedCompany = $formcompany->selectCompaniesForNewContact($propal, 'propalid', $selectedCompany, $htmlname = 'newcompany');
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des contacts déjà sélectionnés
//$contactAlreadySelected = $propal->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$contactAlreadySelected = $propal->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected); $nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined"); if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$propal->selectTypeContact($propal, '', 'type','external'); $formcompany->selectTypeContact($propal, '', 'type','external');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"'; if (! $nbofcontacts) print ' disabled="true"';
@ -288,7 +293,7 @@ if ($id > 0)
print '<tr><td colspan="6">&nbsp;</td></tr>'; print '<tr><td colspan="6">&nbsp;</td></tr>';
} }
// Liste des contacts liés // Liste des contacts li<EFBFBD>s
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Source").'</td>'; print '<td>'.$langs->trans("Source").'</td>';
print '<td>'.$langs->trans("Company").'</td>'; print '<td>'.$langs->trans("Company").'</td>';
@ -382,8 +387,7 @@ if ($id > 0)
} }
else else
{ {
// Propale non trouvée print "ErrorRecordNotFound";
print "Propale inexistante ou accès refusé";
} }
} }

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2005 Patrick Rouillon <patrick@rouillon.net> /* Copyright (C) 2005 Patrick Rouillon <patrick@rouillon.net>
* Copyright (C) 2005-2007 Destailleur Laurent <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Destailleur Laurent <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
@ -28,6 +28,7 @@ require ("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/commande/commande.class.php"); require_once(DOL_DOCUMENT_ROOT."/commande/commande.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/order.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/order.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php');
$langs->load("facture"); $langs->load("facture");
$langs->load("orders"); $langs->load("orders");
@ -146,6 +147,7 @@ if ($_GET["action"] == 'deleteline' && $user->rights->commande->creer)
llxHeader('', $langs->trans("Order"), "Commande"); llxHeader('', $langs->trans("Order"), "Commande");
$html = new Form($db); $html = new Form($db);
$formcompany = new FormCompany($db);
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
@ -210,7 +212,7 @@ if ($id > 0 || ! empty($ref))
/* /*
* Ajouter une ligne de contact * Ajouter une ligne de contact
* Non affiché en mode modification de ligne * Non affich<EFBFBD> en mode modification de ligne
*/ */
if ($_GET["action"] != 'editline' && $user->rights->facture->creer) if ($_GET["action"] != 'editline' && $user->rights->facture->creer)
{ {
@ -241,12 +243,11 @@ if ($id > 0 || ! empty($ref))
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des users déjà sélectionnés
//$userAlreadySelected = $commande->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$userAlreadySelected = $commande->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$html->select_users($user->id,'contactid',0,$userAlreadySelected); $html->select_users($user->id,'contactid',0,$userAlreadySelected);
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$commande->selectTypeContact($commande, '', 'type','internal'); $formcompany->selectTypeContact($commande, '', 'type','internal');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>'; print '</tr>';
@ -268,17 +269,16 @@ if ($id > 0 || ! empty($ref))
print '<td colspan="1">'; print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$commande->client->id; $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$commande->client->id;
$selectedCompany = $commande->selectCompaniesForNewContact($commande, 'id', $selectedCompany, $htmlname = 'newcompany'); $selectedCompany = $formcompany->selectCompaniesForNewContact($commande, 'id', $selectedCompany, 'newcompany');
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des contacts déjà sélectionnés
// $contactAlreadySelected = $commande->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type // $contactAlreadySelected = $commande->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected); $nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined"); if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$commande->selectTypeContact($commande, '', 'type','external'); $formcompany->selectTypeContact($commande, '', 'type','external');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"'; if (! $nbofcontacts) print ' disabled="true"';
@ -290,7 +290,7 @@ if ($id > 0 || ! empty($ref))
print '<tr><td colspan="6">&nbsp;</td></tr>'; print '<tr><td colspan="6">&nbsp;</td></tr>';
} }
// Liste des contacts liés // List of linked contacts
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Source").'</td>'; print '<td>'.$langs->trans("Source").'</td>';
print '<td>'.$langs->trans("Company").'</td>'; print '<td>'.$langs->trans("Company").'</td>';
@ -385,7 +385,7 @@ if ($id > 0 || ! empty($ref))
else else
{ {
// Contrat non trouv // Contrat non trouv
print "Contrat inexistant ou accés refusé"; print "ErrorRecordNotFound";
} }
} }

View File

@ -395,107 +395,6 @@ class CommonObject
return $result; return $result;
} }
/**
* \brief Retourne la liste d<EFBFBD>roulante des soci<EFBFBD>t<EFBFBD>s
* \param object Fetch du document
* \param var_id Nom de la variable de l'id du document
* \param selected Societe pr<EFBFBD>s<EFBFBD>lectionn<EFBFBD>e
* \param htmlname Nom champ formulaire
*/
function selectCompaniesForNewContact($object, $var_id, $selected = '', $htmlname = 'newcompany')
{
global $conf, $langs;
// On recherche les societes
$sql = "SELECT s.rowid, s.nom FROM";
$sql .= " ".MAIN_DB_PREFIX."societe as s";
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT)
{
$sql.= " WHERE rowid = ".$selected;
}
$sql .= " ORDER BY nom ASC";
$resql = $object->db->query($sql);
if ($resql)
{
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT)
{
$langs->load("companies");
$obj = $this->db->fetch_object($resql);
$socid = $obj->rowid?$obj->rowid:'';
$javaScript = "window.location=\'./contact.php?".$var_id."=".$object->id."&amp;".$htmlname."=\' + document.getElementById(\'newcompany_id\').value;";
// On applique un delai d'execution pour le bon fonctionnement
$htmloption = 'onChange="ac_delay(\''.$javaScript.'\',\'500\')"';
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
print '<td class="nobordernopadding">';
print '<div>';
if ($obj->rowid == 0)
{
print '<input type="text" size="30" id="newcompany" name="newcompany" value="'.$langs->trans("SelectCompany").'" '.$htmloption.' />';
}
else
{
print '<input type="text" size="30" id="newcompany" name="newcompany" value="'.$obj->nom.'" '.$htmloption.' />';
}
print ajax_autocompleter($socid,'newcompany','/societe/ajaxcompanies.php','');
print '</td>';
print '<td class="nobordernopadding" align="left" width="16">';
print ajax_indicator($htmlname,'working');
print '</td></tr>';
print '</table>';
return $socid;
}
else
{
$javaScript = "window.location='./contact.php?".$var_id."=".$object->id."&amp;".$htmlname."=' + form.".$htmlname.".options[form.".$htmlname.".selectedIndex].value;";
print '<select class="flat" name="'.$htmlname.'" onChange="'.$javaScript.'">';
$num = $object->db->num_rows($resql);
$i = 0;
if ($num)
{
while ($i < $num)
{
$obj = $object->db->fetch_object($resql);
if ($i == 0) $firstCompany = $obj->rowid;
if ($selected > 0 && $selected == $obj->rowid)
{
print '<option value="'.$obj->rowid.'" selected="true">'.dolibarr_trunc($obj->nom,24).'</option>';
$firstCompany = $obj->rowid;
}
else
{
print '<option value="'.$obj->rowid.'">'.dolibarr_trunc($obj->nom,24).'</option>';
}
$i ++;
}
}
print "</select>\n";
return $firstCompany;
}
}
else
{
dolibarr_print_error($object->db);
}
}
/**
*
*/
function selectTypeContact($object, $defValue, $htmlname = 'type', $source)
{
$lesTypes = $object->liste_type_contact($source);
print '<select class="flat" name="'.$htmlname.'">';
foreach($lesTypes as $key=>$value)
{
print '<option value="'.$key.'">'.$value.'</option>';
}
print "</select>\n";
}
/** /**
* \brief Load properties id_previous and id_next * \brief Load properties id_previous and id_next

View File

@ -28,6 +28,7 @@ require ("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/facture.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/invoice.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/lib/invoice.lib.php');
require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php');
$langs->load("facture"); $langs->load("facture");
$langs->load("companies"); $langs->load("companies");
@ -144,6 +145,7 @@ if ($_GET["action"] == 'deleteline' && $user->rights->facture->creer)
llxHeader('', $langs->trans("Bill"), "Facture"); llxHeader('', $langs->trans("Bill"), "Facture");
$html = new Form($db); $html = new Form($db);
$formcompany = new FormCompany($db);
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
@ -182,6 +184,7 @@ if ($id > 0)
print '</div>'; print '</div>';
/* /*
* Lignes de contacts * Lignes de contacts
*/ */
@ -189,7 +192,7 @@ if ($id > 0)
/* /*
* Ajouter une ligne de contact * Ajouter une ligne de contact
* Non affiché en mode modification de ligne * Non affich<EFBFBD> en mode modification de ligne
*/ */
if ($_GET["action"] != 'editline' && $user->rights->facture->creer) if ($_GET["action"] != 'editline' && $user->rights->facture->creer)
{ {
@ -220,12 +223,12 @@ if ($id > 0)
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des users déjà sélectionnés // On r<EFBFBD>cup<EFBFBD>re les id des users d<>j<EFBFBD> s<>lectionn<6E>s
//$userAlreadySelected = $facture->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$userAlreadySelected = $facture->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$html->select_users($user->id,'contactid',0,$userAlreadySelected); $html->select_users($user->id,'contactid',0,$userAlreadySelected);
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$facture->selectTypeContact($facture, '', 'type','internal'); $formcompany->selectTypeContact($facture, '', 'type','internal');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>'; print '</tr>';
@ -247,17 +250,16 @@ if ($id > 0)
print '<td colspan="1">'; print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$facture->client->id; $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$facture->client->id;
$selectedCompany = $facture->selectCompaniesForNewContact($facture, 'facid', $selectedCompany, $htmlname = 'newcompany'); $selectedCompany = $formcompany->selectCompaniesForNewContact($facture, 'facid', $selectedCompany, $htmlname = 'newcompany');
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des contacts déjà sélectionnés //$contactAlreadySelected = $facture->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionne car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
//$contactAlreadySelected = $facture->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$nbofcontacts=$html->select_contacts($selectedCompany, '', 'contactid', 0, $contactAlreadySelected); $nbofcontacts=$html->select_contacts($selectedCompany, '', 'contactid', 0, $contactAlreadySelected);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined"); if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$facture->selectTypeContact($facture, '', 'type','external'); $formcompany->selectTypeContact($facture, '', 'type','external');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"'; if (! $nbofcontacts) print ' disabled="true"';
@ -269,7 +271,7 @@ if ($id > 0)
print '<tr><td colspan="6">&nbsp;</td></tr>'; print '<tr><td colspan="6">&nbsp;</td></tr>';
} }
// Liste des contacts liés // List of linked contacts
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Source").'</td>'; print '<td>'.$langs->trans("Source").'</td>';
print '<td>'.$langs->trans("Company").'</td>'; print '<td>'.$langs->trans("Company").'</td>';
@ -300,7 +302,7 @@ if ($id > 0)
if ($tab[$i]['source']=='external') print $langs->trans("ThirdPartyContact"); if ($tab[$i]['source']=='external') print $langs->trans("ThirdPartyContact");
print '</td>'; print '</td>';
// Societe // Third party
print '<td align="left">'; print '<td align="left">';
if ($tab[$i]['socid'] > 0) if ($tab[$i]['socid'] > 0)
{ {
@ -332,18 +334,18 @@ if ($id > 0)
} }
print '</td>'; print '</td>';
// Type de contact // Type of contact
print '<td>'.$tab[$i]['libelle'].'</td>'; print '<td>'.$tab[$i]['libelle'].'</td>';
// Statut // Status
print '<td align="center">'; print '<td align="center">';
// Activation desativation du contact // Activate/Unactivate contact
if ($facture->statut >= 0) print '<a href="contact.php?facid='.$facture->id.'&amp;action=swapstatut&amp;ligne='.$tab[$i]['rowid'].'">'; if ($facture->statut >= 0) print '<a href="contact.php?facid='.$facture->id.'&amp;action=swapstatut&amp;ligne='.$tab[$i]['rowid'].'">';
print $contactstatic->LibStatut($tab[$i]['status'],3); print $contactstatic->LibStatut($tab[$i]['status'],3);
if ($facture->statut >= 0) print '</a>'; if ($facture->statut >= 0) print '</a>';
print '</td>'; print '</td>';
// Icon update et delete (statut contrat 0=brouillon,1=validé,2=fermé) // Icon update et delete
print '<td align="center" nowrap>'; print '<td align="center" nowrap>';
if ($user->rights->facture->creer) if ($user->rights->facture->creer)
{ {
@ -363,8 +365,8 @@ if ($id > 0)
} }
else else
{ {
// Contrat non trouvé // Record not found
print "Contrat inexistant ou accés refusé"; print "ErrorRecordNotFound";
} }
} }

View File

@ -28,6 +28,7 @@ require ("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/contract.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/lib/contract.lib.php');
require_once(DOL_DOCUMENT_ROOT."/contrat/contrat.class.php"); require_once(DOL_DOCUMENT_ROOT."/contrat/contrat.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php');
$langs->load("contracts"); $langs->load("contracts");
@ -143,10 +144,14 @@ if ($_GET["action"] == 'deleteline' && $user->rights->contrat->creer)
} }
/*
* View
*/
llxHeader('', $langs->trans("ContractCard"), "Contrat"); llxHeader('', $langs->trans("ContractCard"), "Contrat");
$html = new Form($db); $html = new Form($db);
$formcompany= new FormCompany($db);
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
@ -210,7 +215,7 @@ if ($id > 0)
/* /*
* Ajouter une ligne de contact * Ajouter une ligne de contact
* Non affiché en mode modification de ligne * Non affich<EFBFBD> en mode modification de ligne
*/ */
if ($_GET["action"] != 'editline' && $user->rights->contrat->creer) if ($_GET["action"] != 'editline' && $user->rights->contrat->creer)
{ {
@ -241,12 +246,11 @@ if ($id > 0)
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des users déjà sélectionnés
//$userAlreadySelected = $contrat->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$userAlreadySelected = $contrat->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$html->select_users($user->id,'contactid',0,$userAlreadySelected); $html->select_users($user->id,'contactid',0,$userAlreadySelected);
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$contrat->selectTypeContact($contrat, '', 'type','internal'); $formcompany->selectTypeContact($contrat, '', 'type','internal');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>'; print '</tr>';
@ -268,17 +272,16 @@ if ($id > 0)
print '<td colspan="1">'; print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$contrat->societe->id; $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$contrat->societe->id;
$selectedCompany = $contrat->selectCompaniesForNewContact($contrat, 'id', $selectedCompany, $htmlname = 'newcompany'); $selectedCompany = $formcompany->selectCompaniesForNewContact($contrat, 'id', $selectedCompany, 'newcompany');
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des contacts déjà sélectionnés
//$contactAlreadySelected = $contrat->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$contactAlreadySelected = $contrat->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected); $nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined"); if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$contrat->selectTypeContact($contrat, '', 'type','external'); $formcompany->selectTypeContact($contrat, '', 'type','external');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"'; if (! $nbofcontacts) print ' disabled="true"';
@ -291,7 +294,7 @@ if ($id > 0)
print '<tr><td colspan="6">&nbsp;</td></tr>'; print '<tr><td colspan="6">&nbsp;</td></tr>';
// Liste des contacts liés // Liste des contacts li<EFBFBD>s
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Source").'</td>'; print '<td>'.$langs->trans("Source").'</td>';
print '<td>'.$langs->trans("Company").'</td>'; print '<td>'.$langs->trans("Company").'</td>';
@ -365,9 +368,9 @@ if ($id > 0)
if ($contrat->statut >= 0) print '</a>'; if ($contrat->statut >= 0) print '</a>';
print '</td>'; print '</td>';
// Icon update et delete (statut contrat 0=brouillon,1=validé,2=fermé) // Icon delete
print '<td align="center" nowrap>'; print '<td align="center" nowrap>';
if ($contrat->statut == 0 && $user->rights->contrat->creer) if ($user->rights->contrat->creer)
{ {
print '&nbsp;'; print '&nbsp;';
print '<a href="contact.php?id='.$contrat->id.'&amp;action=deleteline&amp;lineid='.$tab[$i]['rowid'].'">'; print '<a href="contact.php?id='.$contrat->id.'&amp;action=deleteline&amp;lineid='.$tab[$i]['rowid'].'">';
@ -387,8 +390,7 @@ if ($id > 0)
} }
else else
{ {
// Contrat non trouvé print "ErrorRecordNotFound";
print "Contrat inexistant ou accés refusé";
} }
} }

View File

@ -18,16 +18,17 @@
*/ */
/** /**
\file htdocs/fichinter/contact.php * \file htdocs/fichinter/contact.php
\ingroup fichinter * \ingroup fichinter
\brief Onglet de gestion des contacts de fiche d'intervention * \brief Onglet de gestion des contacts de fiche d'intervention
\version $Id$ * \version $Id$
*/ */
require ("./pre.inc.php"); require ("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/fichinter/fichinter.class.php"); require_once(DOL_DOCUMENT_ROOT."/fichinter/fichinter.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once(DOL_DOCUMENT_ROOT."/lib/fichinter.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/fichinter.lib.php");
require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php');
$langs->load("interventions"); $langs->load("interventions");
$langs->load("sendings"); $langs->load("sendings");
@ -142,9 +143,14 @@ if ($_GET["action"] == 'deleteline' && $user->rights->ficheinter->creer)
} }
/*
* View
*/
llxHeader(); llxHeader();
$html = new Form($db); $html = new Form($db);
$formcompany = new FormCompany($db);
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
@ -196,7 +202,7 @@ if ($id > 0)
/* /*
* Ajouter une ligne de contact * Ajouter une ligne de contact
* Non affiché en mode modification de ligne * Non affiche en mode modification de ligne
*/ */
if ($_GET["action"] != 'editline' && $user->rights->ficheinter->creer) if ($_GET["action"] != 'editline' && $user->rights->ficheinter->creer)
{ {
@ -227,12 +233,11 @@ if ($id > 0)
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des users déjà sélectionnés
//$userAlreadySelected = $fichinter->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$userAlreadySelected = $fichinter->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$html->select_users($user->id,'contactid',0,$userAlreadySelected); $html->select_users($user->id,'contactid',0,$userAlreadySelected);
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$fichinter->selectTypeContact($fichinter, '', 'type','internal'); $formcompany->selectTypeContact($fichinter, '', 'type','internal');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>'; print '</tr>';
@ -254,17 +259,16 @@ if ($id > 0)
print '<td colspan="1">'; print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$fichinter->client->id; $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$fichinter->client->id;
$selectedCompany = $fichinter->selectCompaniesForNewContact($fichinter, 'id', $selectedCompany, $htmlname = 'newcompany'); $selectedCompany = $formcompany->selectCompaniesForNewContact($fichinter, 'id', $selectedCompany, $htmlname = 'newcompany');
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des contacts déjà sélectionnés
//$contactAlreadySelected = $fichinter->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$contactAlreadySelected = $fichinter->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected); $nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined"); if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$fichinter->selectTypeContact($fichinter, '', 'type','external'); $formcompany->selectTypeContact($fichinter, '', 'type','external');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"'; if (! $nbofcontacts) print ' disabled="true"';
@ -276,7 +280,7 @@ if ($id > 0)
print '<tr><td colspan="6">&nbsp;</td></tr>'; print '<tr><td colspan="6">&nbsp;</td></tr>';
} }
// Liste des contacts liés // Liste des contacts li<EFBFBD>s
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Source").'</td>'; print '<td>'.$langs->trans("Source").'</td>';
print '<td>'.$langs->trans("Company").'</td>'; print '<td>'.$langs->trans("Company").'</td>';
@ -370,8 +374,7 @@ if ($id > 0)
} }
else else
{ {
// Fiche intervention non trouvée print "ErrorRecordNotFound";
print "Fiche intervention inexistante ou accès refusé";
} }
} }

View File

@ -28,6 +28,7 @@ require ("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/fourn/fournisseur.commande.class.php"); require_once(DOL_DOCUMENT_ROOT."/fourn/fournisseur.commande.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once DOL_DOCUMENT_ROOT."/lib/fourn.lib.php"; require_once DOL_DOCUMENT_ROOT."/lib/fourn.lib.php";
require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php');
$langs->load("facture"); $langs->load("facture");
$langs->load("orders"); $langs->load("orders");
@ -151,6 +152,7 @@ if ($_GET["action"] == 'deleteline' && $user->rights->commande->creer)
llxHeader('', $langs->trans("Order"), "Commande"); llxHeader('', $langs->trans("Order"), "Commande");
$html = new Form($db); $html = new Form($db);
$formcompany = new FormCompany($db);
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
@ -205,7 +207,7 @@ if ($id > 0 || ! empty($ref))
/* /*
* Ajouter une ligne de contact * Ajouter une ligne de contact
* Non affiché en mode modification de ligne * Non affich<EFBFBD> en mode modification de ligne
*/ */
if ($_GET["action"] != 'editline' && $user->rights->fournisseur->facture->creer) if ($_GET["action"] != 'editline' && $user->rights->fournisseur->facture->creer)
{ {
@ -238,12 +240,11 @@ if ($id > 0 || ! empty($ref))
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des users déjà sélectionnés
//$userAlreadySelected = $commande->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$userAlreadySelected = $commande->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$html->select_users($user->id,'contactid',0,$userAlreadySelected); $html->select_users($user->id,'contactid',0,$userAlreadySelected);
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$commande->selectTypeContact($commande, '', 'type','internal'); $formcompany->selectTypeContact($commande, '', 'type','internal');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>'; print '</tr>';
@ -265,17 +266,16 @@ if ($id > 0 || ! empty($ref))
print '<td colspan="1">'; print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$commande->client->id; $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$commande->client->id;
$selectedCompany = $commande->selectCompaniesForNewContact($commande, 'id', $selectedCompany, $htmlname = 'newcompany'); $selectedCompany = $formcompany->selectCompaniesForNewContact($commande, 'id', $selectedCompany, 'newcompany');
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On récupère les id des contacts déjà sélectionnés
// $contactAlreadySelected = $commande->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type // $contactAlreadySelected = $commande->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected); $nbofcontacts=$html->select_contacts($selectedCompany, $selected = '', $htmlname = 'contactid',0,$contactAlreadySelected);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined"); if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$commande->selectTypeContact($commande, '', 'type','external'); $formcompany->selectTypeContact($commande, '', 'type','external');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"'; if (! $nbofcontacts) print ' disabled="true"';
@ -287,7 +287,7 @@ if ($id > 0 || ! empty($ref))
print '<tr><td colspan="6">&nbsp;</td></tr>'; print '<tr><td colspan="6">&nbsp;</td></tr>';
} }
// Liste des contacts liés // List of linked contacts
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Source").'</td>'; print '<td>'.$langs->trans("Source").'</td>';
print '<td>'.$langs->trans("Company").'</td>'; print '<td>'.$langs->trans("Company").'</td>';

View File

@ -51,7 +51,7 @@ $comclientid = isset($_GET["comid"])?$_GET["comid"]:'';
$id = isset($_GET["id"])?$_GET["id"]:$_POST["id"]; $id = isset($_GET["id"])?$_GET["id"]:$_POST["id"];
// Securite acces client // Securite acces client
$socid=0; $socid = isset($_GET["socid"])?$_GET["socid"]:'';
if ($user->societe_id > 0) if ($user->societe_id > 0)
{ {
$action = ''; $action = '';
@ -140,7 +140,7 @@ if ($_POST['action'] == 'addligne' && $user->rights->fournisseur->commande->cree
$_POST['idprodfournprice'], $_POST['idprodfournprice'],
$prodfournprice->fourn_ref, $prodfournprice->fourn_ref,
$_POST['remise_percent'], $_POST['remise_percent'],
'HT' 'HT'
); );
} }
@ -209,13 +209,13 @@ if ($_POST['action'] == 'updateligne' && $user->rights->fournisseur->commande->c
if ($result >= 0) if ($result >= 0)
{ {
$outputlangs = $langs; $outputlangs = $langs;
if (! empty($_REQUEST['lang_id'])) if (! empty($_REQUEST['lang_id']))
{ {
$outputlangs = new Translate("",$conf); $outputlangs = new Translate("",$conf);
$outputlangs->setDefaultLang($_REQUEST['lang_id']); $outputlangs->setDefaultLang($_REQUEST['lang_id']);
} }
supplier_order_pdf_create($db, $commande->id, $commande->modelpdf, $outputlangs); supplier_order_pdf_create($db, $commande->id, $commande->modelpdf, $outputlangs);
} }
else else
{ {
@ -431,11 +431,12 @@ if ($action=='remove_file')
if ($_GET["action"] == 'create') if ($_GET["action"] == 'create')
{ {
$fourn = new Fournisseur($db); $fourn = new Fournisseur($db);
$fourn->fetch($_GET["socid"]); $result=$fourn->fetch($_GET["socid"]);
$db->begin(); $db->begin();
$orderid=$fourn->create_commande($user); $orderid=$fourn->create_commande($user);
if ($orderid > 0) if ($orderid > 0)
{ {
$idc = $fourn->single_open_commande; $idc = $fourn->single_open_commande;
@ -447,6 +448,7 @@ if ($_GET["action"] == 'create')
} }
$id=$orderid; $id=$orderid;
$_GET['id']=$id;
$_GET['action']='edit'; $_GET['action']='edit';
$db->commit(); $db->commit();
} }

View File

@ -28,6 +28,7 @@ require ("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/fourn/fournisseur.facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/fourn/fournisseur.facture.class.php");
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
require_once(DOL_DOCUMENT_ROOT.'/lib/fourn.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/lib/fourn.lib.php');
require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php');
$langs->load("facture"); $langs->load("facture");
$langs->load("companies"); $langs->load("companies");
@ -148,6 +149,7 @@ if ($_GET["action"] == 'deleteline' && $user->rights->fournisseur->facture->cree
llxHeader('', $langs->trans("Bill"), "Facture"); llxHeader('', $langs->trans("Bill"), "Facture");
$html = new Form($db); $html = new Form($db);
$formcompany = new FormCompany($db);
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
@ -228,12 +230,11 @@ if ($id > 0)
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On r<>cup<75>re les id des users d<>j<EFBFBD> s<>lectionn<6E>s
//$userAlreadySelected = $facture->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$userAlreadySelected = $facture->getListContactId('internal'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$html->select_users($user->id,'contactid',0,$userAlreadySelected); $html->select_users($user->id,'contactid',0,$userAlreadySelected);
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$facture->selectTypeContact($facture, '', 'type','internal'); $formcompany->selectTypeContact($facture, '', 'type','internal');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>'; print '</tr>';
@ -255,17 +256,16 @@ if ($id > 0)
print '<td colspan="1">'; print '<td colspan="1">';
$selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$facture->client->id; $selectedCompany = isset($_GET["newcompany"])?$_GET["newcompany"]:$facture->client->id;
$selectedCompany = $facture->selectCompaniesForNewContact($facture, 'facid', $selectedCompany, $htmlname = 'newcompany'); $selectedCompany = $formcompany->selectCompaniesForNewContact($facture, 'facid', $selectedCompany, $htmlname = 'newcompany');
print '</td>'; print '</td>';
print '<td colspan="1">'; print '<td colspan="1">';
// On r<>cup<75>re les id des contacts d<>j<EFBFBD> s<>lectionn<6E>s
//$contactAlreadySelected = $facture->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type //$contactAlreadySelected = $facture->getListContactId('external'); // On ne doit pas desactiver un contact deja selectionner car on doit pouvoir le seclectionner une deuxieme fois pour un autre type
$nbofcontacts=$html->select_contacts($selectedCompany, '', 'contactid', 0, $contactAlreadySelected); $nbofcontacts=$html->select_contacts($selectedCompany, '', 'contactid', 0, $contactAlreadySelected);
if ($nbofcontacts == 0) print $langs->trans("NoContactDefined"); if ($nbofcontacts == 0) print $langs->trans("NoContactDefined");
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$facture->selectTypeContact($facture, '', 'type','external'); $formcompany->selectTypeContact($facture, '', 'type','external');
print '</td>'; print '</td>';
print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"'; print '<td align="right" colspan="3" ><input type="submit" class="button" value="'.$langs->trans("Add").'"';
if (! $nbofcontacts) print ' disabled="true"'; if (! $nbofcontacts) print ' disabled="true"';
@ -277,7 +277,7 @@ if ($id > 0)
print '<tr><td colspan="6">&nbsp;</td></tr>'; print '<tr><td colspan="6">&nbsp;</td></tr>';
} }
// Liste des contacts lies // List of linked contacts
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Source").'</td>'; print '<td>'.$langs->trans("Source").'</td>';
print '<td>'.$langs->trans("Company").'</td>'; print '<td>'.$langs->trans("Company").'</td>';
@ -371,7 +371,7 @@ if ($id > 0)
} }
else else
{ {
print "Object not found"; print "ErrorRecordNotFound";
} }
} }

View File

@ -20,11 +20,11 @@
*/ */
/** /**
\file htdocs/fourn/fiche.php \file htdocs/fourn/fiche.php
\ingroup fournisseur, facture \ingroup fournisseur, facture
\brief Page de fiche fournisseur \brief Page de fiche fournisseur
\version $Id$ \version $Id$
*/ */
require('./pre.inc.php'); require('./pre.inc.php');
require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
@ -46,89 +46,89 @@ $result = restrictedArea($user, 'societe',$socid,'');
/* /*
* View * View
*/ */
$societe = new Fournisseur($db); $societe = new Fournisseur($db);
$contactstatic = new Contact($db); $contactstatic = new Contact($db);
$form = new Form($db); $form = new Form($db);
if ( $societe->fetch($socid) ) if ( $societe->fetch($socid) )
{ {
$addons[0][0] = DOL_URL_ROOT.'/fourn/fiche.php?socid='.$socid; $addons[0][0] = DOL_URL_ROOT.'/fourn/fiche.php?socid='.$socid;
$addons[0][1] = $societe->nom; $addons[0][1] = $societe->nom;
llxHeader('',$langs->trans('SupplierCard').' : '.$societe->nom, $addons);
/*
* Affichage onglets
*/
$head = societe_prepare_head($societe);
dolibarr_fiche_head($head, 'supplier', $langs->trans("ThirdParty"));
print '<table width="100%" class="notopnoleftnoright">';
print '<tr><td valign="top" width="50%" class="notopnoleft">';
print '<table width="100%" class="border">';
print '<tr><td width="20%">'.$langs->trans("Name").'</td><td width="80%" colspan="3">'.$societe->nom.'</td></tr>';
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$societe->prefix_comm.'</td></tr>';
if ($societe->fournisseur)
{
print '<tr><td nowrap="nowrap">';
print $langs->trans('SupplierCode').'</td><td colspan="3">';
print $societe->code_fournisseur;
if ($societe->check_codefournisseur() <> 0) print ' '.$langs->trans("WrongSupplierCode");
print '</td></tr>';
}
print '<tr><td valign="top">'.$langs->trans("Address").'</td><td colspan="3">'.nl2br($societe->adresse).'</td></tr>';
print '<tr><td>'.$langs->trans("Zip").'</td><td>'.$societe->cp.'</td>';
print '<td>'.$langs->trans("Town").'</td><td>'.$societe->ville.'</td></tr>';
// Country
print '<tr><td>'.$langs->trans("Country").'</td><td colspan="3">';
if ($societe->isInEEC()) print $form->textwithhelp($societe->pays,$langs->trans("CountryIsInEEC"),1,0);
else print $societe->pays;
print '</td></tr>';
print '<tr><td>'.$langs->trans("Phone").'</td><td>'.dol_print_phone($societe->tel,$societe->pays_code,0,$societe->id,'AC_TEL').'</td>'; llxHeader('',$langs->trans('SupplierCard').' : '.$societe->nom, $addons);
print '<td>'.$langs->trans("Fax").'</td><td>'.dol_print_phone($societe->fax,$societe->pays_code,0,$societe->id,'AC_FAX').'</td></tr>';
print '<tr><td>'.$langs->trans("Web")."</td><td colspan=\"3\"><a href=\"http://$societe->url\">$societe->url</a>&nbsp;</td></tr>"; /*
* Affichage onglets
// Assujetti a TVA ou pas */
print '<tr>'; $head = societe_prepare_head($societe);
print '<td nowrap="nowrap">'.$langs->trans('VATIsUsed').'</td><td colspan="3">';
print yn($societe->tva_assuj); dolibarr_fiche_head($head, 'supplier', $langs->trans("ThirdParty"));
print '</td>';
print '</tr>';
print '<table width="100%" class="notopnoleftnoright">';
print '</table>'; print '<tr><td valign="top" width="50%" class="notopnoleft">';
print '<table width="100%" class="border">';
print '</td><td valign="top" width="50%" class="notopnoleftnoright">'; print '<tr><td width="20%">'.$langs->trans("Name").'</td><td width="80%" colspan="3">'.$societe->nom.'</td></tr>';
$var=true;
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$societe->prefix_comm.'</td></tr>';
$MAXLIST=5;
if ($societe->fournisseur)
// Lien recap {
print '<table class="noborder" width="100%">'; print '<tr><td nowrap="nowrap">';
print '<tr class="liste_titre">'; print $langs->trans('SupplierCode').'</td><td colspan="3">';
print '<td colspan="4"><table width="100%" class="noborder"><tr><td>'.$langs->trans("Summary").'</td>'; print $societe->code_fournisseur;
print '<td align="right"><a href="'.DOL_URL_ROOT.'/fourn/recap-fourn.php?socid='.$societe->id.'">'.$langs->trans("ShowSupplierPreview").'</a></td></tr></table></td>'; if ($societe->check_codefournisseur() <> 0) print ' '.$langs->trans("WrongSupplierCode");
print '</tr>'; print '</td></tr>';
print '</table>'; }
print '<br>';
print '<tr><td valign="top">'.$langs->trans("Address").'</td><td colspan="3">'.nl2br($societe->adresse).'</td></tr>';
/*
* Liste des commandes associees print '<tr><td>'.$langs->trans("Zip").'</td><td>'.$societe->cp.'</td>';
*/ print '<td>'.$langs->trans("Town").'</td><td>'.$societe->ville.'</td></tr>';
$orderstatic = new CommandeFournisseur($db);
// Country
$sql = "SELECT p.rowid,p.ref,".$db->pdate("p.date_commande")." as dc, p.fk_statut"; print '<tr><td>'.$langs->trans("Country").'</td><td colspan="3">';
$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as p "; if ($societe->isInEEC()) print $form->textwithhelp($societe->pays,$langs->trans("CountryIsInEEC"),1,0);
else print $societe->pays;
print '</td></tr>';
print '<tr><td>'.$langs->trans("Phone").'</td><td>'.dol_print_phone($societe->tel,$societe->pays_code,0,$societe->id,'AC_TEL').'</td>';
print '<td>'.$langs->trans("Fax").'</td><td>'.dol_print_phone($societe->fax,$societe->pays_code,0,$societe->id,'AC_FAX').'</td></tr>';
print '<tr><td>'.$langs->trans("Web")."</td><td colspan=\"3\"><a href=\"http://$societe->url\">$societe->url</a>&nbsp;</td></tr>";
// Assujetti a TVA ou pas
print '<tr>';
print '<td nowrap="nowrap">'.$langs->trans('VATIsUsed').'</td><td colspan="3">';
print yn($societe->tva_assuj);
print '</td>';
print '</tr>';
print '</table>';
print '</td><td valign="top" width="50%" class="notopnoleftnoright">';
$var=true;
$MAXLIST=5;
// Lien recap
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td colspan="4"><table width="100%" class="noborder"><tr><td>'.$langs->trans("Summary").'</td>';
print '<td align="right"><a href="'.DOL_URL_ROOT.'/fourn/recap-fourn.php?socid='.$societe->id.'">'.$langs->trans("ShowSupplierPreview").'</a></td></tr></table></td>';
print '</tr>';
print '</table>';
print '<br>';
/*
* Liste des commandes associees
*/
$orderstatic = new CommandeFournisseur($db);
$sql = "SELECT p.rowid,p.ref,".$db->pdate("p.date_commande")." as dc, p.fk_statut";
$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as p ";
$sql.= " WHERE p.fk_soc =".$societe->id; $sql.= " WHERE p.fk_soc =".$societe->id;
$sql.= " ORDER BY p.date_commande DESC"; $sql.= " ORDER BY p.date_commande DESC";
$sql.= " ".$db->plimit($MAXLIST); $sql.= " ".$db->plimit($MAXLIST);
@ -268,10 +268,10 @@ if ( $societe->fetch($socid) )
} }
if ($conf->agenda->enabled && $user->rights->agenda->myactions->create) if ($conf->agenda->enabled && $user->rights->agenda->myactions->create)
{ {
print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&socid='.$societe->id.'">'.$langs->trans("AddAction").'</a>'; print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&socid='.$societe->id.'">'.$langs->trans("AddAction").'</a>';
} }
if ($user->rights->societe->contact->creer) if ($user->rights->societe->contact->creer)
{ {
print "<a class=\"butAction\" href=\"".DOL_URL_ROOT.'/contact/fiche.php?socid='.$socid."&amp;action=create\">".$langs->trans("AddContact")."</a>"; print "<a class=\"butAction\" href=\"".DOL_URL_ROOT.'/contact/fiche.php?socid='.$socid."&amp;action=create\">".$langs->trans("AddContact")."</a>";
@ -281,18 +281,18 @@ if ( $societe->fetch($socid) )
print '<br>'; print '<br>';
/* /*
* Liste des contacts * Liste des contacts
*/ */
show_contacts($conf,$langs,$db,$societe); show_contacts($conf,$langs,$db,$societe);
/* /*
* Listes des actions a faire * Listes des actions a faire
*/ */
show_actions_todo($conf,$langs,$db,$societe); show_actions_todo($conf,$langs,$db,$societe);
/* /*
* Listes des actions effectuees * Listes des actions effectuees
*/ */
show_actions_done($conf,$langs,$db,$societe); show_actions_done($conf,$langs,$db,$societe);
} }
else else

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
@ -18,14 +18,14 @@
/** /**
* \file htdocs/html.formcompany.class.php * \file htdocs/html.formcompany.class.php
* \brief Fichier de la classe des fonctions pr<EFBFBD>d<EFBFBD>finie de composants html * \brief File of class to build HTML component for third parties management
* \version $Id$ * \version $Id$
*/ */
/** /**
* \class FormCompany * \class FormCompany
* \brief Classe permettant la g<EFBFBD>n<EFBFBD>ration de composants html * \brief Class to build HTML component for third parties management
* \remarks Only common components must be here. * \remarks Only common components must be here.
*/ */
class FormCompany class FormCompany
@ -256,7 +256,7 @@ class FormCompany
} }
} }
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des regions actives dont le pays est actif * \brief Retourne la liste d<EFBFBD>roulante des regions actives dont le pays est actif
* \remarks La cle de la liste est le code (il peut y avoir plusieurs entr<EFBFBD>e pour * \remarks La cle de la liste est le code (il peut y avoir plusieurs entr<EFBFBD>e pour
@ -309,13 +309,13 @@ class FormCompany
} }
print '</select>'; print '</select>';
} }
else else
{ {
dolibarr_print_error($this->db); dolibarr_print_error($this->db);
} }
} }
/** /**
* \brief Retourne la liste d<EFBFBD>roulante des civilite actives * \brief Retourne la liste d<EFBFBD>roulante des civilite actives
* \param selected civilite pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e * \param selected civilite pr<EFBFBD>-s<EFBFBD>lectionn<EFBFBD>e
@ -436,6 +436,109 @@ class FormCompany
} }
} }
/**
* \brief Return list of third parties
* \param object Object we try to find contacts
* \param var_id Name of id field
* \param selected Pre-selected third party
* \param htmlname Name of HTML form
*/
function selectCompaniesForNewContact($object, $var_id, $selected = '', $htmlname = 'newcompany')
{
global $conf, $langs;
// On recherche les societes
$sql = "SELECT s.rowid, s.nom FROM";
$sql .= " ".MAIN_DB_PREFIX."societe as s";
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT)
{
$sql.= " WHERE rowid = ".$selected;
}
$sql .= " ORDER BY nom ASC";
$resql = $object->db->query($sql);
if ($resql)
{
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT)
{
$langs->load("companies");
$obj = $this->db->fetch_object($resql);
$socid = $obj->rowid?$obj->rowid:'';
$javaScript = "window.location=\'./contact.php?".$var_id."=".$object->id."&amp;".$htmlname."=\' + document.getElementById(\'newcompany_id\').value;";
// On applique un delai d'execution pour le bon fonctionnement
$htmloption = 'onChange="ac_delay(\''.$javaScript.'\',\'500\')"';
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
print '<td class="nobordernopadding">';
print '<div>';
if ($obj->rowid == 0)
{
print '<input type="text" size="30" id="newcompany" name="newcompany" value="'.$langs->trans("SelectCompany").'" '.$htmloption.' />';
}
else
{
print '<input type="text" size="30" id="newcompany" name="newcompany" value="'.$obj->nom.'" '.$htmloption.' />';
}
print ajax_autocompleter($socid,'newcompany','/societe/ajaxcompanies.php','');
print '</td>';
print '<td class="nobordernopadding" align="left" width="16">';
print ajax_indicator($htmlname,'working');
print '</td></tr>';
print '</table>';
return $socid;
}
else
{
$javaScript = "window.location='./contact.php?".$var_id."=".$object->id."&amp;".$htmlname."=' + form.".$htmlname.".options[form.".$htmlname.".selectedIndex].value;";
print '<select class="flat" name="'.$htmlname.'" onChange="'.$javaScript.'">';
$num = $object->db->num_rows($resql);
$i = 0;
if ($num)
{
while ($i < $num)
{
$obj = $object->db->fetch_object($resql);
if ($i == 0) $firstCompany = $obj->rowid;
if ($selected > 0 && $selected == $obj->rowid)
{
print '<option value="'.$obj->rowid.'" selected="true">'.dolibarr_trunc($obj->nom,24).'</option>';
$firstCompany = $obj->rowid;
}
else
{
print '<option value="'.$obj->rowid.'">'.dolibarr_trunc($obj->nom,24).'</option>';
}
$i ++;
}
}
print "</select>\n";
return $firstCompany;
}
}
else
{
dolibarr_print_error($object->db);
}
}
/**
*
*/
function selectTypeContact($object, $defValue, $htmlname = 'type', $source)
{
$lesTypes = $object->liste_type_contact($source);
print '<select class="flat" name="'.$htmlname.'">';
foreach($lesTypes as $key=>$value)
{
print '<option value="'.$key.'">'.$value.'</option>';
}
print "</select>\n";
}
} }
?> ?>