* Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2010 Juanjo Menent * * 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 * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /** * \file htdocs/fourn/fiche.php * \ingroup fournisseur, facture * \brief Page for supplier third party card (view, edit) */ require("../main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.class.php"); require_once(DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); if ($conf->adherent->enabled) require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php"); $langs->load('suppliers'); $langs->load('products'); $langs->load('bills'); $langs->load('orders'); $langs->load('companies'); $langs->load('commercial'); // Security check $socid = isset($_GET["socid"])?$_GET["socid"]:''; if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'societe',$socid,''); /* * Action */ if ($_POST['action'] == 'setsupplieraccountancycode') { $societe = new Societe($db); $result=$societe->fetch($_POST['socid']); $societe->code_compta_fournisseur=$_POST["supplieraccountancycode"]; $result=$societe->update($societe->id,$user,1,0,1); if ($result < 0) { $mesg=join(',',$societe->errors); } $POST["action"]=""; $socid=$_POST["socid"]; } /* * View */ $societe = new Fournisseur($db); $contactstatic = new Contact($db); $form = new Form($db); if ( $societe->fetch($socid) ) { llxHeader('',$langs->trans('SupplierCard')); /* * Affichage onglets */ $head = societe_prepare_head($societe); dol_fiche_head($head, 'supplier', $langs->trans("ThirdParty"),0,'company'); print ''; print ''; print '
'; print ''; print ''; if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field { print ''; } if ($societe->fournisseur) { print ''; print ''; print ''; print ''; print ''; print ''; } // Address print ''; // Zip / Town print ''; print ''; // Country print ''; // Phone print ''; // Fax print ''; // EMail print ''; // Web print '"; // Assujetti a TVA ou pas print ''; print ''; print ''; // Local Taxes if($mysoc->pays_code=='ES') { if($mysoc->localtax1_assuj=="1" && $mysoc->localtax2_assuj=="1") { print ''; print ''; } elseif($mysoc->localtax1_assuj=="1") { print ''; } elseif($mysoc->localtax2_assuj=="1") { print ''; } } // TVA Intra print ''; // Module Adherent if ($conf->adherent->enabled) { $langs->load("members"); $langs->load("users"); print ''; print ''; print "\n"; } print '
'.$langs->trans("ThirdPartyName").''; $societe->next_prev_filter="te.fournisseur = 1"; print $form->showrefnav($societe,'socid','',($user->societe_id?0:1),'rowid','nom','',''); print '
'.$langs->trans('Prefix').''.$societe->prefix_comm.'
'.$langs->trans("SupplierCode"). ''; print $societe->code_fournisseur; if ($societe->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')'; print '
'; print $form->editfieldkey("SupplierAccountancyCode",'supplieraccountancycode',$societe->code_compta_fournisseur,'socid',$societe->id,$user->rights->societe->creer); print ''; print $form->editfieldval("SupplierAccountancyCode",'supplieraccountancycode',$societe->code_compta_fournisseur,'socid',$societe->id,$user->rights->societe->creer); print '
'.$langs->trans("Address").''; dol_print_address($societe->address,'gmap','thirdparty',$societe->id); print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''.$societe->cp.(($societe->cp && $societe->ville)?' / ':'').$societe->ville.'
'.$langs->trans("Country").''; $img=picto_from_langcode($societe->pays_code); if ($societe->isInEEC()) print $form->textwithpicto(($img?$img.' ':'').$societe->pays,$langs->trans("CountryIsInEEC"),1,0); else print ($img?$img.' ':'').$societe->pays; print '
'.$langs->trans("Phone").''.dol_print_phone($societe->tel,$societe->pays_code,0,$societe->id,'AC_TEL').''.$langs->trans("Fax").''.dol_print_phone($societe->fax,$societe->pays_code,0,$societe->id,'AC_FAX').'
'.$langs->trans('EMail').''.dol_print_email($societe->email,0,$societe->id,'AC_EMAIL').'
'.$langs->trans("Web")."".dol_print_url($societe->url)."
'.$langs->trans('VATIsUsed').''; print yn($societe->tva_assuj); print '
'.$langs->trans('LocalTax1IsUsedES').''; print yn($societe->localtax1_assuj); print '
'.$langs->trans('LocalTax2IsUsedES').''; print yn($societe->localtax2_assuj); print '
'.$langs->trans("LocalTax1IsUsedES").''; print yn($societe->localtax1_assuj); print '
'.$langs->trans("LocalTax2IsUsedES").''; print yn($societe->localtax2_assuj); print '
'.$langs->trans('VATIntraVeryShort').''; print $objsoc->tva_intra; print '
'.$langs->trans("LinkedToDolibarrMember").''; $adh=new Adherent($db); $result=$adh->fetch('','',$societe->id); if ($result > 0) { $adh->ref=$adh->getFullName($langs); print $adh->getNomUrl(1); } else { print $langs->trans("UserNotLinkedToMember"); } print '
'; print '
'; $var=true; $MAXLIST=5; // Lien recap print ''; print ''; print ''; print ''; print '
'; print '
'.$langs->trans("Summary").''.$langs->trans("ShowSupplierPreview").'
'; /* * List of products */ if ($conf->product->enabled || $conf->service->enabled) { $langs->load("products"); print ''; print ''; print '
'.$langs->trans("ProductsAndServices").''; print ''.$langs->trans("All").' ('.$societe->NbProduct().')'; print '
'; } print '
'; /* * Last orders */ $orderstatic = new CommandeFournisseur($db); if ($user->rights->fournisseur->commande->lire) { $sql = "SELECT p.rowid,p.ref, 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.= " ORDER BY p.date_commande DESC"; $sql.= " ".$db->plimit($MAXLIST); $resql=$db->query($sql); if ($resql) { $i = 0 ; $num = $db->num_rows($resql); print ''; if ($num > 0) { print ''; print ''; } while ($i < $num && $i <= $MAXLIST) { $obj = $db->fetch_object($resql); $var=!$var; print ""; print ''; print ''; print ''; print ''; $i++; } $db->free($resql); print "
'; print ''; print ''; print ''; print '
'.$langs->trans("LastOrders",($num<$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllOrders").' ('.$num.')'.img_picto($langs->trans("Statistics"),'stats').'
'; print '
'.img_object($langs->trans("ShowOrder"),"order")." ".$obj->ref.''; if ($obj->dc) { print dol_print_date($db->jdate($obj->dc),'day'); } else { print "-"; } print ''.$orderstatic->LibStatut($obj->fk_statut,5).'
"; } else { dol_print_error($db); } } /* * Last invoices */ $MAXLIST=5; $langs->load('bills'); $facturestatic = new FactureFournisseur($db); if ($user->rights->fournisseur->facture->lire) { $sql = 'SELECT f.rowid,f.libelle,f.facnumber,f.fk_statut,f.datef as df,f.total_ttc as amount,f.paye,'; $sql.= ' SUM(pf.amount) as am'; $sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as f'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf ON f.rowid=pf.fk_facturefourn'; $sql.= ' WHERE f.fk_soc = '.$societe->id; $sql.= ' GROUP BY f.rowid,f.libelle,f.facnumber,f.fk_statut,f.datef,f.total_ttc,f.paye'; $sql.= ' ORDER BY f.datef DESC'; $resql=$db->query($sql); if ($resql) { $i = 0 ; $num = $db->num_rows($resql); print ''; if ($num > 0) { print ''; print ''; } while ($i < min($num,$MAXLIST)) { $obj = $db->fetch_object($resql); $var=!$var; print ''; print ''; print ''; print ''; print ''; print ''; $i++; } $db->free($resql); print '
'; print ''; print ''; print '
'.$langs->trans('LastSuppliersBills',($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans('AllBills').' ('.$num.')'.img_picto($langs->trans("Statistics"),'stats').'
'; print '
'; print ''; print img_object($langs->trans('ShowBill'),'bill').' '.$obj->facnumber.' '.dol_trunc($obj->libelle,14).''.dol_print_date($db->jdate($obj->df),'day').''.price($obj->amount).''; print $facturestatic->LibStatut($obj->paye,$obj->fk_statut,5,$obj->am); print '
'; } else { dol_print_error($db); } } print '
' . "\n"; print ''; /* * Barre d'actions */ print '
'; if ($user->rights->fournisseur->commande->creer) { $langs->load("orders"); print ''.$langs->trans("AddOrder").''; } if ($user->rights->fournisseur->facture->creer) { $langs->load("bills"); print ''.$langs->trans("AddBill").''; } // Add action if ($conf->agenda->enabled && ! empty($conf->global->MAIN_REPEATTASKONEACHTAB)) { if ($user->rights->agenda->myactions->create) { print ''.$langs->trans("AddAction").''; } else { print ''.$langs->trans("AddAction").''; } } /*if ($user->rights->societe->contact->creer) { print "".$langs->trans("AddContact").""; }*/ print '
'; print '
'; if (! empty($conf->global->MAIN_REPEATCONTACTONEACHTAB)) { print '
'; // List of contacts show_contacts($conf,$langs,$db,$societe,$_SERVER["PHP_SELF"].'?socid='.$societe->id); } if (! empty($conf->global->MAIN_REPEATTASKONEACHTAB)) { // List of todo actions show_actions_todo($conf,$langs,$db,$societe); // List of done actions show_actions_done($conf,$langs,$db,$societe); } } else { dol_print_error($db); } $db->close(); llxFooter(); ?>