diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index a2005aebde8..0f07a79d10a 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -92,9 +92,9 @@ $hookmanager->callHooks(array('propalcard')); -/******************************************************************************/ -/* Actions */ -/******************************************************************************/ +/* + * Actions + */ $parameters=array('socid'=>$socid); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -1358,11 +1358,11 @@ if ($id > 0 || ! empty($ref)) if ($action == 'editdelivery_address') { - $form->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,GETPOST('socid'),'fk_address','propal',$object->id); + $formother->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,GETPOST('socid'),'fk_address','propal',$object->id); } else { - $form->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,GETPOST('socid'),'none','propal',$object->id); + $formother->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,GETPOST('socid'),'none','propal',$object->id); } print ''; } diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php index e24946a17c7..34ad697af52 100644 --- a/htdocs/commande/fiche.php +++ b/htdocs/commande/fiche.php @@ -29,6 +29,7 @@ */ require("../main.inc.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formother.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formorder.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/modules/commande/modules_commande.php"); @@ -1185,6 +1186,7 @@ llxHeader('',$langs->trans('Order'),'EN:Customers_Orders|FR:Commandes_Clients|ES $form = new Form($db); $formfile = new FormFile($db); +$formother = new FormOther($db); $formorder = new FormOrder($db); @@ -1324,9 +1326,8 @@ if ($action == 'create' && $user->rights->commande->creer) // Delivery address if ($conf->global->COMMANDE_ADD_DELIVERY_ADDRESS) { - // Link to edit: $form->form_address($_SERVER['PHP_SELF'].'?action=create','',$soc->id,'adresse_livraison_id','commande',''); print ''.$langs->trans('DeliveryAddress').''; - $numaddress = $form->select_address($soc->fk_delivery_address, $socid,'fk_address',1); + $numaddress = $formother->select_address($soc->fk_delivery_address, $socid,'fk_address',1); print '   '.$langs->trans("AddAddress").''; print ''; } diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 15ea5af4f5f..b704fa954e7 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -2721,50 +2721,6 @@ class Form } } - /** - * Show form to select addresse - * - * @param page Page - * @param selected Id condition pre-selectionne - * @param htmlname Nom du formulaire select - * @param origin Origine de l'appel pour pouvoir creer un retour - * @param originid Id de l'origine - * @return void - * @deprecated - */ - function form_address($page, $selected='', $socid, $htmlname='address_id', $origin='', $originid='') - { - global $langs,$conf; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_address($selected, $socid, $htmlname, 1); - print ''; - $langs->load("companies"); - print '   '.$langs->trans("AddAddress").''; - print '
'; - } - else - { - if ($selected) - { - require_once(DOL_DOCUMENT_ROOT ."/societe/class/address.class.php"); - $address=new Address($this->db); - $result=$address->fetch_address($selected); - print ''.$address->label.''; - } - else - { - print " "; - } - } - } - /** * Retourne la liste des devises, dans la langue de l'utilisateur * diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php index 17d37f6afe6..3ecce003beb 100644 --- a/htdocs/core/class/html.formother.class.php +++ b/htdocs/core/class/html.formother.class.php @@ -542,7 +542,7 @@ class FormOther function select_month($selected='',$htmlname='monthid',$useempty=0) { global $langs; - + require_once(DOL_DOCUMENT_ROOT."/core/lib/date.lib.php"); $montharray = monthArray($langs); // Get array @@ -713,6 +713,52 @@ function PLineSelect(&$inc, $parent, $lines, $level=0, $selectedtask=0, $selecte $level--; } } + + + /** + * Show form to select addresse + * + * @param int $page Page + * @param string $selected Id condition pre-selectionne + * @param string $htmlname Nom du formulaire select + * @param string $origin Origine de l'appel pour pouvoir creer un retour + * @param int $originid Id de l'origine + * @return void + * @deprecated + */ + function form_address($page, $selected='', $socid, $htmlname='address_id', $origin='', $originid='') + { + global $langs,$conf; + if ($htmlname != "none") + { + print '
'; + print ''; + print ''; + print ''; + print ''; + print '
'; + $this->select_address($selected, $socid, $htmlname, 1); + print ''; + $langs->load("companies"); + print '   '.$langs->trans("AddAddress").''; + print '
'; + } + else + { + if ($selected) + { + require_once(DOL_DOCUMENT_ROOT ."/societe/class/address.class.php"); + $address=new Address($this->db); + $result=$address->fetch_address($selected); + print ''.$address->label.''; + } + else + { + print " "; + } + } + } + } ?> diff --git a/htdocs/core/class/html.formpropal.class.php b/htdocs/core/class/html.formpropal.class.php index 31d7999273d..5a350573aca 100644 --- a/htdocs/core/class/html.formpropal.class.php +++ b/htdocs/core/class/html.formpropal.class.php @@ -100,1804 +100,6 @@ class FormPropal } } - - /** - * Return a HTML select list of bank accounts - * - * @param selected Id account pre-selected - * @param htmlname Name of select zone - * @param statut Status of searched accounts (0=open, 1=closed) - * @param filtre To filter list - * @param useempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. - * @param moreattrib To add more attribute on select - */ - function select_comptes($selected='',$htmlname='accountid',$statut=0,$filtre='',$useempty=0,$moreattrib='') - { - global $langs, $conf; - - $langs->load("admin"); - - $sql = "SELECT rowid, label, bank"; - $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; - $sql.= " WHERE clos = '".$statut."'"; - $sql.= " AND entity = ".$conf->entity; - if ($filtre) $sql.=" AND ".$filtre; - $sql.= " ORDER BY label"; - - dol_syslog("Form::select_comptes sql=".$sql); - $result = $this->db->query($sql); - if ($result) - { - $num = $this->db->num_rows($result); - $i = 0; - if ($num) - { - print '"; - } - else - { - print $langs->trans("NoActiveBankAccountDefined"); - } - } - else { - dol_print_error($this->db); - } - } - - /** - * Return list of categories having choosed type - * - * @param type Type de categories (0=product, 1=supplier, 2=customer, 3=member) - * @param selected Id of category preselected - * @param select_name HTML field name - * @param maxlength Maximum length for labels - * @param excludeafterid Exclude all categories after this leaf in category tree. - */ - function select_all_categories($type, $selected='', $select_name="", $maxlength=64, $excludeafterid=0) - { - global $langs; - $langs->load("categories"); - - if ($select_name=="") $select_name="catMere"; - - $cat = new Categorie($this->db); - $cate_arbo = $cat->get_full_arbo($type,$excludeafterid); - - $output = ''; - $output.= "\n"; - return $output; - } - - /** - * Show a confirmation HTML form or AJAX popup - * - * @param page Url of page to call if confirmation is OK - * @param title title - * @param question question - * @param action action - * @param formquestion an array with forms complementary inputs - * @param selectedchoice "" or "no" or "yes" - * @param useajax 0=No, 1=Yes, 2=Yes but submit page with &confirm=no if choice is No - * @param height Force height of box - * @return string 'ajax' if a confirm ajax popup is shown, 'html' if it's an html form - */ - function form_confirm($page, $title, $question, $action, $formquestion='', $selectedchoice="", $useajax=0, $height=170, $width=500) - { - print $this->formconfirm($page, $title, $question, $action, $formquestion, $selectedchoice, $useajax, $height, $width); - } - - /** - * Show a confirmation HTML form or AJAX popup - * - * @param string $page Url of page to call if confirmation is OK - * @param string $title Title - * @param string $question Question - * @param string $action Action - * @param array $formquestion An array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , )) - * @param string $selectedchoice "" or "no" or "yes" - * @param int $useajax 0=No, 1=Yes, 2=Yes but submit page with &confirm=no if choice is No, 'xxx'=preoutput confirm box with div id=dialog-confirm-xxx - * @param int $height Force height of box - * @return string 'ajax' if a confirm ajax popup is shown, 'html' if it's an html form - */ - function formconfirm($page, $title, $question, $action, $formquestion='', $selectedchoice="", $useajax=0, $height=170, $width=500) - { - global $langs,$conf; - - $more=''; - $formconfirm=''; - $inputarray=array(); - - if (is_array($formquestion) && count($formquestion) > 0) - { - $more.=''."\n"; - $more.=''."\n"; - foreach ($formquestion as $key => $input) - { - if (is_array($input)) - { - if ($input['type'] == 'text') - { - $more.=''."\n"; - } - else if ($input['type'] == 'password') - { - $more.=''."\n"; - } - else if ($input['type'] == 'select') - { - $more.=''."\n"; - } - else if ($input['type'] == 'checkbox') - { - $more.=''; - $more.=''; - if ($i==0) $more.=''; - else $more.=''; - $more.=''."\n"; - } - array_push($inputarray,$input['name']); - } - } - $more.='
'.$formquestion['text'].'
'.$input['label'].'
'.$input['label'].'
'; - if (! empty($input['label'])) $more.=$input['label'].''; - $more.=$this->selectarray($input['name'],$input['values'],$input['default'],1); - $more.='
'.$input['label'].' '; - $more.=' $selval) - { - $more.='
'.$input['label'].' '; - $more.=$input['value']; - $more.='
'."\n"; - } - - $formconfirm.= "\n\n"; - - if ($useajax && $conf->use_javascript_ajax) - { - $autoOpen=true; - $dialogconfirm='dialog-confirm'; - if (! is_int($useajax)) - { - $button=$useajax; - $useajax=1; - $autoOpen=false; - $dialogconfirm.='-'.$button; - } - $pageyes=$page.'&action='.$action.'&confirm=yes'; - $pageno=($useajax == 2?$page.'&confirm=no':''); - - // New code using jQuery only - $formconfirm.= ''."\n"; - $formconfirm.= ''; - - $formconfirm.= "\n"; - } - else - { - $formconfirm.= '
'."\n"; - $formconfirm.= ''; - $formconfirm.= ''."\n"; - - $formconfirm.= ''."\n"; - - // Ligne titre - $formconfirm.= ''."\n"; - - // Ligne formulaire - if ($more) - { - $formconfirm.=''."\n"; - } - - // Ligne message - $formconfirm.= ''; - $formconfirm.= ''; - $formconfirm.= ''; - $formconfirm.= ''; - $formconfirm.= ''."\n"; - - $formconfirm.= '
'.img_picto('','recent').' '.$title.'
'."\n"; - $formconfirm.=$more; - $formconfirm.='
'.$question.''; - $newselectedchoice=empty($selectedchoice)?"no":$selectedchoice; - $formconfirm.= $this->selectyesno("confirm",$newselectedchoice); - $formconfirm.= '
'."\n"; - - if (is_array($formquestion)) - { - foreach ($formquestion as $key => $input) - { - if ($input['type'] == 'hidden') $formconfirm.= ''; - } - } - - $formconfirm.= "
\n"; - $formconfirm.= '
'; - } - - $formconfirm.= "\n"; - return $formconfirm; - } - - - /** - * Show a form to select a project - * - * @param int $page Page - * @param int $socid Id third party - * @param int $selected Id pre-selected project - * @param string $htmlname Name of select field - * @return void - */ - function form_project($page, $socid, $selected='', $htmlname='projectid') - { - global $langs; - - require_once(DOL_DOCUMENT_ROOT."/core/lib/project.lib.php"); - - $langs->load("project"); - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - //print "$socid,$selected,$htmlname"; - select_projects($socid,$selected,$htmlname); - print '
'; - } - else - { - if ($selected) - { - $projet = new Project($this->db); - $projet->fetch($selected); - //print ''.$projet->title.''; - print $projet->getNomUrl(0,'',1); - } - else - { - print " "; - } - } - } - - /** - * Show a form to select payment conditions - * - * @param page Page - * @param selected Id condition pre-selectionne - * @param htmlname Name of select html field - * @param addempty Ajoute entree vide - * @return void - */ - function form_conditions_reglement($page, $selected='', $htmlname='cond_reglement_id', $addempty=0) - { - global $langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_conditions_paiements($selected,$htmlname,-1,$addempty); - print '
'; - } - else - { - if ($selected) - { - $this->load_cache_conditions_paiements(); - print $this->cache_conditions_paiements[$selected]['label']; - } else { - print " "; - } - } - } - - /** - * Show a form to select a delivery delay - * - * @param page Page - * @param selected Id condition pre-selectionne - * @param htmlname Name of select html field - * @param addempty Ajoute entree vide - * @return void - */ - function form_availability($page, $selected='', $htmlname='availability', $addempty=0) - { - global $langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_availability($selected,$htmlname,-1,$addempty); - print '
'; - } - else - { - if ($selected) - { - $this->load_cache_availability(); - print $this->cache_availability[$selected]['label']; - } else { - print " "; - } - } - } - - /** - * Show a select form to select origin - * - * @param page Page - * @param selected Id condition pre-selectionne - * @param htmlname Name of select html field - * @param addempty Add empty entry - * @return void - */ - function form_demand_reason($page, $selected='', $htmlname='demandreason', $addempty=0) - { - global $langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_demand_reason($selected,$htmlname,-1,$addempty); - print '
'; - } - else - { - if ($selected) - { - $this->load_cache_demand_reason(); - foreach ($this->cache_demand_reason as $key => $val) - { - if ($val['id'] == $selected) - { - print $val['label']; - break; - } - } - } else { - print " "; - } - } - } - - /** - * Show a form to select a date - * - * @param page Page - * @param selected Date preselected - * @param htmlname Name of input html field - * @return void - */ - function form_date($page, $selected='', $htmlname) - { - global $langs; - - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - print $this->select_date($selected,$htmlname,0,0,1,'form'.$htmlname); - print '
'; - } - else - { - if ($selected) - { - $this->load_cache_types_paiements(); - print $this->cache_types_paiements[$selected]['label']; - } else { - print " "; - } - } - } - - - /** - * Show a select form to choose a user - * - * @param page Page - * @param selected Id of user preselected - * @param htmlname Name of input html field - * @param exclude List of users id to exclude - * @param include List of users id to include - * @return void - */ - function form_users($page, $selected='', $htmlname='userid', $exclude='', $include='') - { - global $langs; - - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - print $this->select_users($selected,$htmlname,1,$exclude,0,$include); - print '
'; - } - else - { - if ($selected) - { - require_once(DOL_DOCUMENT_ROOT ."/user/class/user.class.php"); - //$this->load_cache_contacts(); - //print $this->cache_contacts[$selected]; - $theuser=new User($this->db); - $theuser->fetch($selected); - print $theuser->getNomUrl(1); - } else { - print " "; - } - } - } - - - /** - * Affiche formulaire de selection des modes de reglement - * - * @param page Page - * @param selected Id mode pre-selectionne - * @param htmlname Name of select html field - * @return void - */ - function form_modes_reglement($page, $selected='', $htmlname='mode_reglement_id') - { - global $langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_types_paiements($selected,$htmlname); - print '
'; - } - else - { - if ($selected) - { - $this->load_cache_types_paiements(); - print $this->cache_types_paiements[$selected]['label']; - } else { - print " "; - } - } - } - - - /** - * Show a select box with available absolute discounts - * - * @param string $page Page URL where form is shown - * @param int $selected Value pre-selected - * @param string $htmlname Nom du formulaire select. Si none, non modifiable - * @param int $socid Third party id - * @param float $amount Total amount available - * @param string $filter SQL filter on discounts - * @param int $maxvalue Max value for lines that can be selected - * @param string $more More string to add - * @return void - */ - function form_remise_dispo($page, $selected='', $htmlname='remise_id',$socid, $amount, $filter='', $maxvalue=0, $more='') - { - global $conf,$langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) - { - if (! $filter || $filter=="fk_facture_source IS NULL") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount),$langs->transnoentities("Currency".$conf->currency)).': '; // If we want deposit to be substracted to payments only and not to total of final invoice - else print $langs->trans("CompanyHasCreditNote",price($amount),$langs->transnoentities("Currency".$conf->currency)).': '; - } - else - { - if (! $filter || $filter=="fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount),$langs->transnoentities("Currency".$conf->currency)).': '; - else print $langs->trans("CompanyHasCreditNote",price($amount),$langs->transnoentities("Currency".$conf->currency)).': '; - } - $newfilter='fk_facture IS NULL AND fk_facture_line IS NULL'; // Remises disponibles - if ($filter) $newfilter.=' AND ('.$filter.')'; - $nbqualifiedlines=$this->select_remises($selected,$htmlname,$newfilter,$socid,$maxvalue); - print ''; - if ($nbqualifiedlines > 0) - { - print '   '; - } - if ($more) print $more; - print '
'; - } - else - { - if ($selected) - { - print $selected; - } - else - { - print "0"; - } - } - } - - - /** - * Affiche formulaire de selection des contacts - * - * @param page Page - * @param selected Id contact pre-selectionne - * @param htmlname Nom du formulaire select - * @return void - */ - function form_contacts($page, $societe, $selected='', $htmlname='contactidp') - { - global $langs; - - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $num=$this->select_contacts($societe->id, $selected, $htmlname); - if ($num==0) - { - print 'Cette societe n\'a pas de contact, veuillez en cr�er un avant de faire votre proposition commerciale
'; - print ''.$langs->trans('AddContact').''; - } - print '
'; - } - else - { - if ($selected) - { - require_once(DOL_DOCUMENT_ROOT ."/contact/class/contact.class.php"); - //$this->load_cache_contacts(); - //print $this->cache_contacts[$selected]; - $contact=new Contact($this->db); - $contact->fetch($selected); - print $contact->getFullName($langs); - } else { - print " "; - } - } - } - -/** - * Affiche formulaire de selection des tiers - * - * @param page Page - * @param selected Id contact pre-selectionne - * @param htmlname Nom du formulaire select - * @return void - */ - function form_thirdparty($page, $selected='', $htmlname='socid') - { - global $langs; - - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $num=$this->select_societes($selected , $htmlname); - print '
'; - } - else - { - if ($selected) - { - require_once(DOL_DOCUMENT_ROOT ."/societe/class/societe.class.php"); - $soc = new Societe($this->db); - $soc->fetch($selected); - print $soc->getNomUrl($langs); - } else { - print " "; - } - } - } - - /** - * Show form to select addresse - * - * @param page Page - * @param selected Id condition pre-selectionne - * @param htmlname Nom du formulaire select - * @param origin Origine de l'appel pour pouvoir creer un retour - * @param originid Id de l'origine - * @return void - * @deprecated - */ - function form_address($page, $selected='', $socid, $htmlname='address_id', $origin='', $originid='') - { - global $langs,$conf; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_address($selected, $socid, $htmlname, 1); - print ''; - $langs->load("companies"); - print '   '.$langs->trans("AddAddress").''; - print '
'; - } - else - { - if ($selected) - { - require_once(DOL_DOCUMENT_ROOT ."/societe/class/address.class.php"); - $address=new Address($this->db); - $result=$address->fetch_address($selected); - print ''.$address->label.''; - } - else - { - print " "; - } - } - } - - /** - * Retourne la liste des devises, dans la langue de l'utilisateur - * - * @param selected code devise pre-selectionne - * @param htmlname nom de la liste deroulante - * @return void - */ - function select_currency($selected='',$htmlname='currency_id') - { - print $this->selectcurrency($selected,$htmlname); - } - - /** - * Retourne la liste des devises, dans la langue de l'utilisateur - * - * @param selected code devise pre-selectionne - * @param htmlname nom de la liste deroulante - */ - function selectcurrency($selected='',$htmlname='currency_id') - { - global $conf,$langs,$user; - - $langs->load("dict"); - - $out=''; - $currencyArray=array(); - $label=array(); - - if ($selected=='euro' || $selected=='euros') $selected='EUR'; // Pour compatibilite - - $sql = "SELECT code_iso, label"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_currencies"; - $sql.= " WHERE active = 1"; - $sql.= " ORDER BY code_iso ASC"; - - $resql=$this->db->query($sql); - if ($resql) - { - $out.= ''; - if ($user->admin) $out.= info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - return $out; - } - else - { - dol_print_error($this->db); - } - } - - /** - * Output an HTML select vat rate - * - * @param htmlname Nom champ html - * @param selectedrate Forcage du taux tva pre-selectionne. Mettre '' pour aucun forcage. - * @param societe_vendeuse Objet societe vendeuse - * @param societe_acheteuse Objet societe acheteuse - * @param idprod Id product - * @param info_bits Miscellaneous information on line - * @param type ''=Unknown, 0=Product, 1=Service (Used if idprod not defined) - * Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle. - * Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle. - * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle. - * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu autre que transport neuf alors la TVA par defaut=TVA du produit vendu. Fin de regle. - * Sinon la TVA proposee par defaut=0. Fin de regle. - * @deprecated - * @return void - */ - function select_tva($htmlname='tauxtva', $selectedrate='', $societe_vendeuse='', $societe_acheteuse='', $idprod=0, $info_bits=0, $type='') - { - print $this->load_tva($htmlname, $selectedrate, $societe_vendeuse, $societe_acheteuse, $idprod, $info_bits, $type); - } - - - /** - * Output an HTML select vat rate - * - * @param htmlname Nom champ html - * @param selectedrate Forcage du taux tva pre-selectionne. Mettre '' pour aucun forcage. - * @param societe_vendeuse Objet societe vendeuse - * @param societe_acheteuse Objet societe acheteuse - * @param idprod Id product - * @param info_bits Miscellaneous information on line (1 for NPR) - * @param type ''=Unknown, 0=Product, 1=Service (Used if idprod not defined) - * Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle. - * Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle. - * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle. - * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu autre que transport neuf alors la TVA par defaut=TVA du produit vendu. Fin de regle. - * Sinon la TVA proposee par defaut=0. Fin de regle. - * @return void - */ - function load_tva($htmlname='tauxtva', $selectedrate='', $societe_vendeuse='', $societe_acheteuse='', $idprod=0, $info_bits=0, $type='') - { - global $langs,$conf,$mysoc; - - $return=''; - $txtva=array(); - $libtva=array(); - $nprtva=array(); - - // Define defaultnpr and defaultttx - $defaultnpr=($info_bits & 0x01); - $defaultnpr=(preg_match('/\*/',$selectedrate) ? 1 : $defaultnpr); - $defaulttx=str_replace('*','',$selectedrate); - - // Check parameters - if (is_object($societe_vendeuse) && ! $societe_vendeuse->country_code) - { - if ($societe_vendeuse->id == $mysoc->id) - { - $return.= ''.$langs->trans("ErrorYourCountryIsNotDefined").''; - } - else - { - $return.= ''.$langs->trans("ErrorSupplierCountryIsNotDefined").''; - } - return $return; - } - - //var_dump($societe_acheteuse); - //print "name=$name, selectedrate=$selectedrate, seller=".$societe_vendeuse->country_code." buyer=".$societe_acheteuse->country_code." buyer is company=".$societe_acheteuse->isACompany()." idprod=$idprod, info_bits=$info_bits type=$type"; - //exit; - - // Get list of all VAT rates to show - // First we defined code_pays to use to find list - if (is_object($societe_vendeuse)) - { - $code_pays="'".$societe_vendeuse->country_code."'"; - } - else - { - $code_pays="'".$mysoc->country_code."'"; // Pour compatibilite ascendente - } - if (! empty($conf->global->SERVICE_ARE_ECOMMERCE_200238EC)) // If option to have vat for end customer for services is on - { - if (! $societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC() && ! $societe_acheteuse->isACompany()) - { - // We also add the buyer - if (is_numeric($type)) - { - if ($type == 1) // We know product is a service - { - $code_pays.=",'".$societe_acheteuse->country_code."'"; - } - } - else if (! $idprod) // We don't know type of product - { - $code_pays.=",'".$societe_acheteuse->country_code."'"; - } - else - { - $prodstatic=new Product($this->db); - $prodstatic->fetch($idprod); - if ($prodstatic->type == 1) // We know product is a service - { - $code_pays.=",'".$societe_acheteuse->country_code."'"; - } - } - } - } - // Now we get list - $sql = "SELECT DISTINCT t.taux, t.recuperableonly"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p"; - $sql.= " WHERE t.fk_pays = p.rowid"; - $sql.= " AND t.active = 1"; - $sql.= " AND p.code in (".$code_pays.")"; - $sql.= " ORDER BY t.taux ASC, t.recuperableonly ASC"; - - $resql=$this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - if ($num) - { - for ($i = 0; $i < $num; $i++) - { - $obj = $this->db->fetch_object($resql); - $txtva[$i] = $obj->taux; - $libtva[$i] = $obj->taux.'%'; - $nprtva[$i] = $obj->recuperableonly; - } - } - else - { - $return.= ''.$langs->trans("ErrorNoVATRateDefinedForSellerCountry",$code_pays).''; - } - } - else - { - $return.= ''.$this->db->error().''; - } - - // Definition du taux a pre-selectionner (si defaulttx non force et donc vaut -1 ou '') - if ($defaulttx < 0 || dol_strlen($defaulttx) == 0) - { - $defaulttx=get_default_tva($societe_vendeuse,$societe_acheteuse,$idprod); - $defaultnpr=get_default_npr($societe_vendeuse,$societe_acheteuse,$idprod); - } - - // Si taux par defaut n'a pu etre determine, on prend dernier de la liste. - // Comme ils sont tries par ordre croissant, dernier = plus eleve = taux courant - if ($defaulttx < 0 || dol_strlen($defaulttx) == 0) - { - $defaulttx = $txtva[count($txtva)-1]; - } - - $nbdetaux = count($txtva); - if ($nbdetaux > 0) - { - $return.= ''; - } - - return $return; - } - - - /** - * Show a HTML widget to input a date or combo list for day, month, years and optionnaly hours and minutes - * Fields are preselected with : - * - set_time date (Local PHP server timestamps or date format YYYY-MM-DD or YYYY-MM-DD HH:MM) - * - local date of PHP server if set_time is '' - * - Empty (fields empty) if set_time is -1 (in this case, parameter empty must also have value 1) - * - * @param set_time Pre-selected date (must be a local PHP server timestamp) - * @param prefix Prefix for fields name - * @param h 1=Show also hours - * @param m 1=Show also minutes - * @param empty 0=Fields required, 1=Empty input is allowed - * @param form_name Form name. Used by popup dates. - * @param d 1=Show days, month, years - * @param addnowbutton Add a button "Now" - * @param nooutput Do not output html string but return it - * @param disabled Disable input fields - * @param fullday When a checkbox with this html name is on, hour and day are set with 00:00 or 23:59 - * @return nothing or string if nooutput is 1 - */ - function select_date($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1, $addnowbutton=0, $nooutput=0, $disabled=0, $fullday='') - { - global $conf,$langs; - - $retstring=''; - - if($prefix=='') $prefix='re'; - if($h == '') $h=0; - if($m == '') $m=0; - if($empty == '') $empty=0; - - if (! $set_time && $empty == 0) $set_time = dol_now('tzuser'); - - // Analysis of the pre-selection date - if (preg_match('/^([0-9]+)\-([0-9]+)\-([0-9]+)\s?([0-9]+)?:?([0-9]+)?/',$set_time,$reg)) - { - // Date format 'YYYY-MM-DD' or 'YYYY-MM-DD HH:MM:SS' - $syear = $reg[1]; - $smonth = $reg[2]; - $sday = $reg[3]; - $shour = $reg[4]; - $smin = $reg[5]; - } - elseif (strval($set_time) != '' && $set_time != -1) - { - // set_time est un timestamps (0 possible) - $syear = dol_print_date($set_time, "%Y"); - $smonth = dol_print_date($set_time, "%m"); - $sday = dol_print_date($set_time, "%d"); - $shour = dol_print_date($set_time, "%H"); - $smin = dol_print_date($set_time, "%M"); - } - else - { - // Date est '' ou vaut -1 - $syear = ''; - $smonth = ''; - $sday = ''; - $shour = ''; - $smin = ''; - } - - if ($d) - { - // Show date with popup - if ($conf->use_javascript_ajax && (empty($conf->global->MAIN_POPUP_CALENDAR) || $conf->global->MAIN_POPUP_CALENDAR != "none")) - { - //print "e".$set_time." t ".$conf->format_date_short; - if (strval($set_time) != '' && $set_time != -1) - { - //$formated_date=dol_print_date($set_time,$conf->format_date_short); - $formated_date=dol_print_date($set_time,$langs->trans("FormatDateShort")); // FormatDateShort for dol_print_date/FormatDateShortJava that is same for javascript - } - - // Calendrier popup version eldy - if (empty($conf->global->MAIN_POPUP_CALENDAR) || $conf->global->MAIN_POPUP_CALENDAR == "eldy") - { - // Zone de saisie manuelle de la date - $retstring.='trans("FormatDateShortJava").'\'); "'; // FormatDateShort for dol_print_date/FormatDateShortJava that is same for javascript - $retstring.='>'; - - // Icone calendrier - if (! $disabled) - { - $retstring.=''; - } - else $retstring.=''; - - $retstring.=''."\n"; - $retstring.=''."\n"; - $retstring.=''."\n"; - } - else - { - print "Bad value of calendar"; - } - } - - // Show date with combo selects - if (empty($conf->use_javascript_ajax) || $conf->global->MAIN_POPUP_CALENDAR == "none") - { - // Day - $retstring.=''; - - if ($empty || $set_time == -1) - { - $retstring.=''; - } - - for ($day = 1 ; $day <= 31; $day++) - { - if ($day == $sday) - { - $retstring.=""; - } - - $retstring.=""; - - $retstring.=''; - if ($empty || $set_time == -1) - { - $retstring.=''; - } - - // Month - for ($month = 1 ; $month <= 12 ; $month++) - { - $retstring.='"; - } - $retstring.=""; - - // Year - if ($empty || $set_time == -1) - { - $retstring.=''; - } - else - { - $retstring.=''; - - for ($year = $syear - 5; $year < $syear + 10 ; $year++) - { - if ($year == $syear) - { - $retstring.=""; - } - $retstring.="\n"; - } - } - } - - if ($d && $h) $retstring.=' '; - - if ($h) - { - // Show hour - $retstring.=''; - if ($empty) $retstring.=''; - for ($hour = 0; $hour < 24; $hour++) - { - if (dol_strlen($hour) < 2) - { - $hour = "0" . $hour; - } - if ($hour == $shour) - { - $retstring.=""; - } - else - { - $retstring.=""; - } - } - $retstring.=""; - $retstring.="H\n"; - } - - if ($m) - { - // Show minutes - $retstring.=''; - if ($empty) $retstring.=''; - for ($min = 0; $min < 60 ; $min++) - { - if (dol_strlen($min) < 2) - { - $min = "0" . $min; - } - if ($min == $smin) - { - $retstring.=""; - } - else - { - $retstring.=""; - } - } - $retstring.=""; - $retstring.="M\n"; - } - - // Add a "Now" button - if ($conf->use_javascript_ajax && $addnowbutton) - { - // Script which will be inserted in the OnClick of the "Now" button - $reset_scripts = ""; - - // Generate the date part, depending on the use or not of the javascript calendar - if (empty($conf->global->MAIN_POPUP_CALENDAR) || $conf->global->MAIN_POPUP_CALENDAR == "eldy") - { - $base=DOL_URL_ROOT.'/core/lib/'; - $reset_scripts .= 'resetDP(\''.$base.'\',\''.$prefix.'\',\''.$langs->trans("FormatDateShortJava").'\',\''.$langs->defaultlang.'\');'; - } - else - { - $reset_scripts .= 'this.form.elements[\''.$prefix.'day\'].value=formatDate(new Date(), \'d\'); '; - $reset_scripts .= 'this.form.elements[\''.$prefix.'month\'].value=formatDate(new Date(), \'M\'); '; - $reset_scripts .= 'this.form.elements[\''.$prefix.'year\'].value=formatDate(new Date(), \'yyyy\'); '; - } - // Generate the hour part - if ($h) - { - if ($fullday) $reset_scripts .= " if (jQuery('#fullday:checked').val() == null) {"; - $reset_scripts .= 'this.form.elements[\''.$prefix.'hour\'].value=formatDate(new Date(), \'HH\'); '; - if ($fullday) $reset_scripts .= ' } '; - } - // Generate the minute part - if ($m) - { - if ($fullday) $reset_scripts .= " if (jQuery('#fullday:checked').val() == null) {"; - $reset_scripts .= 'this.form.elements[\''.$prefix.'min\'].value=formatDate(new Date(), \'mm\'); '; - if ($fullday) $reset_scripts .= ' } '; - } - // If reset_scripts is not empty, print the button with the reset_scripts in OnClick - if ($reset_scripts) - { - $retstring.=' '; - } - } - - if (! empty($nooutput)) return $retstring; - - print $retstring; - return; - } - - /** - * Function to show a form to select a duration on a page - * - * @param string $prefix prefix - * @param int $iSecond Default preselected duration (number of seconds) - * @param int $disabled Disable the combo box - * @return void - */ - function select_duration($prefix,$iSecond='',$disabled=0) - { - if ($iSecond) - { - require_once(DOL_DOCUMENT_ROOT."/core/lib/date.lib.php"); - - $hourSelected = convertSecondToTime($iSecond,'hour'); - $minSelected = convertSecondToTime($iSecond,'min'); - } - - print '"; - print "H  "; - print '"; - print "M "; - } - - - /** - * Show a select form from an array - * - * @param htmlname Name of html select area - * @param array Array with key+value - * @param id Preselected key - * @param show_empty 1 si il faut ajouter une valeur vide dans la liste, 0 sinon - * @param key_in_label 1 pour afficher la key dans la valeur "[key] value" - * @param value_as_key 1 to use value as key - * @param option Valeur de l'option en fonction du type choisi - * @param translate Translate and encode value - * @param maxlen Length maximum for labels - * @param disabled Html select box is disabled - * @return string HTML select string - */ - function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $option='', $translate=0, $maxlen=0, $disabled=0) - { - global $langs; - - $out='"; - return $out; - } - - /** - * Show a select form from an array - * - * @deprecated Use selectarray instead - * @return void - */ - function select_array($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $option='', $translate=0, $maxlen=0) - { - print $this->selectarray($htmlname, $array, $id, $show_empty, $key_in_label, $value_as_key, $option, $translate, $maxlen); - } - - - /** - * Return an html string with a select combo box to choose yes or no - * - * @param string $name Name of html select field - * @param string $value Pre-selected value - * @param int $option 0 return yes/no, 1 return 1/0 - * @param bool $disabled true or false - * @return mixed See option - */ - function selectyesno($htmlname,$value='',$option=0,$disabled=false) - { - global $langs; - - $yes="yes"; $no="no"; - - if ($option) - { - $yes="1"; - $no="0"; - } - - $disabled = ($disabled ? ' disabled="disabled"' : ''); - - $resultyesno = ''."\n"; - return $resultyesno; - } - - - - /** - * Return list of export templates - * - * @param selected Id modele pre-selectionne - * @param htmlname Nom de la zone select - * @param type Type des modeles recherches - * @param useempty Affiche valeur vide dans liste - * @return void - */ - function select_export_model($selected='',$htmlname='exportmodelid',$type='',$useempty=0) - { - - $sql = "SELECT rowid, label"; - $sql.= " FROM ".MAIN_DB_PREFIX."export_model"; - $sql.= " WHERE type = '".$type."'"; - $sql.= " ORDER BY rowid"; - $result = $this->db->query($sql); - if ($result) - { - print '"; - } - else { - dol_print_error($this->db); - } - } - - /** - * Return a HTML area with the reference of object and a navigation bar for a business object - * To add a particular filter on select, you must set $object->next_prev_filter to SQL criteria. - * - * @param Object $object Object to show - * @param int $paramid Name of parameter to use to name the id into the URL link - * @param string $morehtml More html content to output just before the nav bar - * @param int $shownav Show Condition (navigation is shown if value is 1) - * @param int $fieldid Nom du champ en base a utiliser pour select next et previous - * @param string $fieldref Nom du champ objet ref (object->ref) a utiliser pour select next et previous - * @param string $morehtmlref Code html supplementaire a afficher apres ref - * @param string $moreparam More param to add in nav link url. - * @return tring Portion HTML avec ref + boutons nav - */ - function showrefnav($object,$paramid,$morehtml='',$shownav=1,$fieldid='rowid',$fieldref='ref',$morehtmlref='',$moreparam='') - { - $ret=''; - - //print "paramid=$paramid,morehtml=$morehtml,shownav=$shownav,$fieldid,$fieldref,$morehtmlref,$moreparam"; - $object->load_previous_next_ref((isset($object->next_prev_filter)?$object->next_prev_filter:''),$fieldid); - $previous_ref = $object->ref_previous?''.img_previous().'':''; - $next_ref = $object->ref_next?''.img_next().'':''; - - //print "xx".$previous_ref."x".$next_ref; - if ($previous_ref || $next_ref || $morehtml) { - $ret.=''; - $ret.='
'; - } - - $ret.=$object->$fieldref; - if ($morehtmlref) - { - $ret.=' '.$morehtmlref; - } - - if ($morehtml) - { - $ret.=''.$morehtml; - } - if ($shownav && ($previous_ref || $next_ref)) - { - $ret.=''.$previous_ref.''.$next_ref; - } - if ($previous_ref || $next_ref || $morehtml) - { - $ret.='
'; - } - return $ret; - } - - - /** - * Return HTML code to output a barcode - * - * @param Object &$object Object containing data to retrieve file name - * @param int $width Width of photo - * @return string HTML code to output barcode - */ - function showbarcode(&$object,$width=100) - { - global $conf; - - if (empty($object->barcode)) return ''; - - // Complete object if not complete - if (empty($object->barcode_type_code) || empty($object->barcode_type_coder)) - { - $object->fetch_barcode(); - } - - // Barcode image - $url=DOL_URL_ROOT.'/viewimage.php?modulepart=barcode&generator='.urlencode($object->barcode_type_coder).'&code='.urlencode($object->barcode).'&encoding='.urlencode($object->barcode_type_code); - $out =''; - $out.=''; - return $out; - } - - /** - * Return HTML code to output a photo - * - * @param string $modulepart Key to define module concerned ('societe', 'userphoto', 'memberphoto') - * @param Object $object Object containing data to retrieve file name - * @param int $width Width of photo - * @return string HTML code to output photo - */ - function showphoto($modulepart,$object,$width=100) - { - global $conf; - - $ret='';$dir='';$file='';$altfile='';$email=''; - - if ($modulepart=='societe') - { - $dir=$conf->societe->dir_output; - $smallfile=$object->logo; - $smallfile=preg_replace('/(\.png|\.gif|\.jpg|\.jpeg|\.bmp)/i','_small\\1',$smallfile); - if ($object->logo) $file=$object->id.'/logos/thumbs/'.$smallfile; - } - else if ($modulepart=='userphoto') - { - $dir=$conf->user->dir_output; - if ($object->photo) $file=get_exdir($object->id,2).$object->photo; - if (! empty($conf->global->MAIN_OLD_IMAGE_LINKS)) $altfile=$object->id.".jpg"; // For backward compatibility - $email=$object->email; - } - else if ($modulepart=='memberphoto') - { - $dir=$conf->adherent->dir_output; - if ($object->photo) $file=get_exdir($object->id,2).'photos/'.$object->photo; - if (! empty($conf->global->MAIN_OLD_IMAGE_LINKS)) $altfile=$object->id.".jpg"; // For backward compatibility - $email=$object->email; - } - - if ($dir) - { - $cache='0'; - if ($file && file_exists($dir."/".$file)) - { - // TODO Link to large image - $ret.=''; - $ret.=''; - $ret.=''; - } - else if ($altfile && file_exists($dir."/".$altfile)) - { - $ret.=''; - $ret.=''; - $ret.=''; - } - else - { - if ($conf->gravatar->enabled && $email) - { - global $dolibarr_main_url_root; - $ret.=''; - $ret.='Photo found on Gravatar'; - } - else - { - $ret.='No photo'; - } - } - } - else dol_print_error('','Call of showphoto with wrong parameters'); - - /* Disabled. lightbox seems to not work. I don't know why. - $ret.="\n\n"; - - $ret.="\n\n"; - */ - - return $ret; - } - - /** - * Return select list of groups - * - * @param string $selected Id group preselected - * @param string $htmlname Field name in form - * @param int $show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue - * @param string $exclude Array list of groups id to exclude - * @param int $disabled If select list must be disabled - * @param string $include Array list of groups id to include - * @param int $enableonly Array list of groups id to be enabled. All other must be disabled - * @param int $force_entity Possibility to force entity - * @return void - */ - function select_dolgroups($selected='',$htmlname='groupid',$show_empty=0,$exclude='',$disabled=0,$include='',$enableonly='',$force_entity='') - { - global $conf,$user,$langs; - - // Permettre l'exclusion de groupes - if (is_array($exclude)) $excludeGroups = implode("','",$exclude); - // Permettre l'inclusion de groupes - if (is_array($include)) $includeGroups = implode("','",$include); - - $out=''; - - // On recherche les groupes - $sql = "SELECT ug.rowid, ug.nom "; - if(! empty($conf->multicompany->enabled) && $conf->entity == 1 && $user->admin && ! $user->entity) - { - $sql.= ", e.label"; - } - $sql.= " FROM ".MAIN_DB_PREFIX."usergroup as ug "; - if(! empty($conf->multicompany->enabled) && $conf->entity == 1 && $user->admin && ! $user->entity) - { - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."entity as e on e.rowid=ug.entity"; - if ($force_entity) $sql.= " WHERE ug.entity IN (0,".$force_entity.")"; - else $sql.= " WHERE ug.entity IS NOT NULL"; - } - else - { - $sql.= " WHERE ug.entity IN (0,".$conf->entity.")"; - } - if (is_array($exclude) && $excludeGroups) $sql.= " AND ug.rowid NOT IN ('".$excludeGroups."')"; - if (is_array($include) && $includeGroups) $sql.= " AND ug.rowid IN ('".$includeGroups."')"; - $sql.= " ORDER BY ug.nom ASC"; - - dol_syslog("Form::select_dolgroups sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - if ($num) - { - $out.= ''; - $out.= ''; - } - $out.= ''; - } - else - { - dol_print_error($this->db); - } - - return $out; - } - } ?> diff --git a/htdocs/expedition/fiche.php b/htdocs/expedition/fiche.php index 2593fac3984..ac06265df3f 100644 --- a/htdocs/expedition/fiche.php +++ b/htdocs/expedition/fiche.php @@ -28,8 +28,9 @@ */ require("../main.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/expedition/class/expedition.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formother.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); +require_once(DOL_DOCUMENT_ROOT."/expedition/class/expedition.class.php"); require_once(DOL_DOCUMENT_ROOT."/product/class/html.formproduct.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/lib/product.lib.php"); require_once(DOL_DOCUMENT_ROOT."/core/lib/sendings.lib.php"); @@ -482,6 +483,7 @@ if ($action == 'send' && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_P llxHeader('',$langs->trans('Sending'),'Expedition'); $form = new Form($db); +$formother = new FormOther($db); $formfile = new FormFile($db); $formproduct = new FormProduct($db); @@ -580,7 +582,7 @@ if ($action == 'create') print ''; if (!empty($object->fk_delivery_address)) { - $form->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,$_GET['socid'],'none','commande',$object->id); + $formother->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,$_GET['socid'],'none','commande',$object->id); } print ''."\n"; } @@ -1006,7 +1008,7 @@ else print ''; if (!empty($object->fk_delivery_address)) { - $form->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,$object->deliveryaddress->socid,'none','shipment',$object->id); + $formother->form_address($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_delivery_address,$object->deliveryaddress->socid,'none','shipment',$object->id); } print ''."\n"; } diff --git a/htdocs/expedition/shipment.php b/htdocs/expedition/shipment.php index 8063af6577c..1e3f61900c1 100644 --- a/htdocs/expedition/shipment.php +++ b/htdocs/expedition/shipment.php @@ -25,8 +25,9 @@ */ require("../main.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/expedition/class/expedition.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formother.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); +require_once(DOL_DOCUMENT_ROOT."/expedition/class/expedition.class.php"); require_once(DOL_DOCUMENT_ROOT."/product/class/html.formproduct.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/lib/order.lib.php"); require_once(DOL_DOCUMENT_ROOT."/core/lib/sendings.lib.php"); @@ -117,21 +118,20 @@ if ($_POST['action'] == 'setconditions' && $user->rights->commande->creer) } + +/* + * View + */ + $form = new Form($db); -$formproduct = new FormProduct($db); $formfile = new FormFile($db); - - -/* *************************************************************************** */ -/* */ -/* Mode vue et edition */ -/* */ -/* *************************************************************************** */ +$formother = new FormOther($db); +$formproduct = new FormProduct($db); llxHeader('',$langs->trans('OrderCard'),''); -$id = $_GET['id']; -$ref= $_GET['ref']; +$id = GETPSOT('id'); +$ref= GETPOST('ref'); if ($id > 0 || ! empty($ref)) { $commande = new Commande($db); @@ -287,11 +287,11 @@ if ($id > 0 || ! empty($ref)) if ($_GET['action'] == 'editdelivery_adress') { - $form->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'delivery_address_id','commande',$commande->id); + $formother->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'delivery_address_id','commande',$commande->id); } else { - $form->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id); + $formother->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id); } print ''; } @@ -440,7 +440,7 @@ if ($id > 0 || ! empty($ref)) { // Define output language if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) - { + { $commande->fetch_thirdparty(); $prod = new Product($db, $objp->fk_product); $outputlangs = $langs; @@ -452,7 +452,7 @@ if ($id > 0 || ! empty($ref)) $outputlangs = new Translate("",$conf); $outputlangs->setDefaultLang($newlang); } - + $label = (! empty($prod->multilangs[$outputlangs->defaultlang]["libelle"])) ? $prod->multilangs[$outputlangs->defaultlang]["libelle"] : $objp->product_label; } else