mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Restore work lost by savannah backup
This commit is contained in:
parent
f0a7002485
commit
6e75a3d203
|
|
@ -67,10 +67,11 @@ class Cotisation extends CommonObject
|
|||
*/
|
||||
function create($userid)
|
||||
{
|
||||
global $langs;
|
||||
// Check parameters
|
||||
if ($this->datef <= $this->dateh)
|
||||
{
|
||||
$this->error="Error: Bad value for datef or dateh";
|
||||
$this->error=$langs->trans("ErrorBadValueForDate");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,6 +52,8 @@ if ( (isset($_POST["action"]) && $_POST["action"] == 'update'))
|
|||
if ($_POST["TransactionsToConciliate"]) dolibarr_set_const($db, "MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE",$_POST["TransactionsToConciliate"],'chaine',0,'',$conf->entity);
|
||||
if ($_POST["ChequesToDeposit"]) dolibarr_set_const($db, "MAIN_DELAY_CHEQUES_TO_DEPOSIT",$_POST["ChequesToDeposit"],'chaine',0,'',$conf->entity);
|
||||
if ($_POST["Members"]) dolibarr_set_const($db, "MAIN_DELAY_MEMBERS",$_POST["Members"],'chaine',0,'',$conf->entity);
|
||||
|
||||
dolibarr_set_const($db, "MAIN_DISABLE_METEO",$_POST["MAIN_DISABLE_METEO"],'chaine',0,'',$conf->entity);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -178,6 +180,19 @@ if ((isset($_GET["action"]) && $_GET["action"] == 'edit'))
|
|||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
// Show if meteo is enabled
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'>';
|
||||
print '<td>'.$langs->trans("MAIN_DISABLE_METEO").'</td><td>' .$form->selectyesno('MAIN_DISABLE_METEO',$conf->global->MAIN_DISABLE_METEO,1) . '</td></tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<br><center><input type="submit" class="button" value="'.$langs->trans("Save").'"></center>';
|
||||
print '<br>';
|
||||
|
|
@ -190,7 +205,7 @@ else
|
|||
* Affichage des parametres
|
||||
*/
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("DelaysOfToleranceBeforeWarning").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
$var=true;
|
||||
|
||||
|
|
@ -289,6 +304,20 @@ else
|
|||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
// Show if meteo is enabled
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'>';
|
||||
print '<td>'.$langs->trans("MAIN_DISABLE_METEO").'</td><td>' . yn($conf->global->MAIN_DISABLE_METEO) . '</td></tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
// Boutons d'action
|
||||
print '<div class="tabsAction">';
|
||||
print '<a class="butAction" href="delais.php?action=edit">'.$langs->trans("Modify").'</a>';
|
||||
|
|
@ -296,6 +325,9 @@ else
|
|||
|
||||
}
|
||||
|
||||
print '<br>';
|
||||
|
||||
|
||||
// Show logo for weather
|
||||
print $langs->trans("DescWeather").'<br>';
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ var MOZ = (!IE && !OPE) ? true : false;
|
|||
// -----------------------------------------------------
|
||||
// Fonction d'initialisation de l'arbre
|
||||
function arbre() {
|
||||
// Choix de la balise contenant le texte. <strong> par defaut.
|
||||
// Choix de la balise contenant le texte. (strong par defaut).
|
||||
balise = "STRONG";
|
||||
// Presentation de l'arbre au depart : deployee ('yes') ou fermee ('no')
|
||||
extend = "no";
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ $usertxt=GETPOST('user','',1);
|
|||
$form=new Form($db);
|
||||
$formproduct=new FormProduct($db);
|
||||
|
||||
$arrayofcss=array(DOL_URL_ROOT.'/cashdesk/css/style.css');
|
||||
$arrayofcss=array('/cashdesk/css/style.css');
|
||||
top_htmlhead('','',0,0,'',$arrayofcss);
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
-- ===========================================================================
|
||||
|
||||
CREATE TABLE llx_pos_tmp (
|
||||
id integer NOT NULL auto_increment,
|
||||
id integer NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
fk_article integer NOT NULL,
|
||||
qte real NOT NULL,
|
||||
fk_tva integer NOT NULL,
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -836,7 +837,7 @@ if ($id)
|
|||
|
||||
// Ref
|
||||
print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td colspan="3">';
|
||||
print $html->showrefnav($act,'id','',1,'id','ref','');
|
||||
print $html->showrefnav($act,'id','',($user->societe_id?0:1),'id','ref','');
|
||||
print '</td></tr>';
|
||||
|
||||
// Type
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
/**
|
||||
* \file htdocs/comm/mailing/cibles.php
|
||||
* \ingroup mailing
|
||||
* \brief Page des cibles de mailing
|
||||
* \brief Page to define emailing targets
|
||||
* \version $Id$
|
||||
*/
|
||||
|
||||
|
|
@ -354,7 +354,7 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
|||
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||
print '<input type="hidden" name="id" value="'.$mil->id.'">';
|
||||
|
||||
$sql = "SELECT mc.rowid, mc.nom, mc.prenom, mc.email, mc.other, mc.statut, mc.date_envoi, mc.url";
|
||||
$sql = "SELECT mc.rowid, mc.nom, mc.prenom, mc.email, mc.other, mc.statut, mc.date_envoi, mc.source_url, mc.source_id, mc.source_type";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."mailing_cibles as mc";
|
||||
$sql .= " WHERE mc.fk_mailing=".$mil->id;
|
||||
if ($search_nom) $sql.= " AND mc.nom like '%".addslashes($search_nom)."%'";
|
||||
|
|
@ -439,7 +439,7 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
|
|||
print '<td>'.$obj->nom.'</td>';
|
||||
print '<td>'.$obj->prenom.'</td>';
|
||||
print '<td>'.$obj->other.'</td>';
|
||||
print '<td align="center">'.$obj->url.'</td>';
|
||||
print '<td align="center">'.$obj->source_url.'</td>';
|
||||
|
||||
// Statut pour l'email destinataire (Attentioon != statut du mailing)
|
||||
if ($obj->statut == 0)
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ if ($_REQUEST["action"] == 'sendallconfirmed' && $_REQUEST['confirm'] == 'yes')
|
|||
|
||||
// On choisit les mails non deja envoyes pour ce mailing (statut=0)
|
||||
// ou envoyes en erreur (statut=-1)
|
||||
$sql = "SELECT mc.rowid, mc.nom, mc.prenom, mc.email, mc.other";
|
||||
$sql = "SELECT mc.rowid, mc.nom, mc.prenom, mc.email, mc.other, mc.source_url, mc.source_id, mc.source_type";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."mailing_cibles as mc";
|
||||
$sql .= " WHERE mc.statut < 1 AND mc.fk_mailing = ".$id;
|
||||
|
||||
|
|
@ -174,7 +174,7 @@ if ($_REQUEST["action"] == 'sendallconfirmed' && $_REQUEST['confirm'] == 'yes')
|
|||
$other4=$other[3];
|
||||
$other5=$other[4];
|
||||
$substitutionarray=array(
|
||||
'__ID__' => $obj->rowid,
|
||||
'__ID__' => $obj->source_id,
|
||||
'__EMAIL__' => $obj->email,
|
||||
'__LASTNAME__' => $obj->nom,
|
||||
'__FIRSTNAME__' => $obj->prenom,
|
||||
|
|
@ -616,7 +616,7 @@ if ($_GET["action"] == 'create')
|
|||
print '<tr><td width="25%">'.$langs->trans("BackgroundColorByDefault").'</td><td colspan="3">';
|
||||
$htmlother->select_color($_POST['bgcolor'],'bgcolor','new_mailing',0);
|
||||
print '</td></tr>';
|
||||
print '<tr><td width="25%" valign="top">'.$langs->trans("MailMessage").'<br>';
|
||||
print '<tr><td width="25%" class="fieldrequired" valign="top">'.$langs->trans("MailMessage").'<br>';
|
||||
print '<br><i>'.$langs->trans("CommonSubstitutions").':<br>';
|
||||
foreach($substitutionarray as $key => $val)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ if (!$user->rights->commande->lire) accessforbidden();
|
|||
|
||||
$langs->load("orders");
|
||||
|
||||
// S<EFBFBD>curit<EFBFBD> acc<63>s client
|
||||
// Security check
|
||||
$socid='';
|
||||
if ($_GET["socid"]) { $socid=$_GET["socid"]; }
|
||||
if ($user->societe_id > 0)
|
||||
|
|
@ -121,11 +121,12 @@ if ($conf->commande->enabled)
|
|||
print '</td><td valign="top" width="70%" class="notopnoleftnoright">';
|
||||
|
||||
|
||||
/*
|
||||
* Last closes orders
|
||||
*/
|
||||
$max=5;
|
||||
|
||||
/*
|
||||
* Last modified orders
|
||||
*/
|
||||
|
||||
$sql = "SELECT c.rowid, c.ref, c.fk_statut, c.facture, s.nom, s.rowid as socid,";
|
||||
$sql.= " date_cloture as datec";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."commande as c";
|
||||
|
|
@ -133,7 +134,7 @@ $sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
|||
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.= " WHERE c.fk_soc = s.rowid";
|
||||
$sql.= " AND c.entity = ".$conf->entity;
|
||||
$sql.= " AND c.fk_statut > 2";
|
||||
//$sql.= " AND c.fk_statut > 2";
|
||||
if ($socid) $sql .= " AND c.fk_soc = ".$socid;
|
||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
|
||||
$sql.= " ORDER BY c.tms DESC";
|
||||
|
|
@ -144,7 +145,7 @@ if ($resql)
|
|||
{
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="4">'.$langs->trans("LastClosedOrders",$max).'</td></tr>';
|
||||
print '<td colspan="4">'.$langs->trans("LastModifiedOrders",$max).'</td></tr>';
|
||||
|
||||
$num = $db->num_rows($resql);
|
||||
if ($num)
|
||||
|
|
@ -189,6 +190,7 @@ if ($resql)
|
|||
}
|
||||
print "</table><br>";
|
||||
}
|
||||
else dol_print_error($db);
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -259,6 +261,7 @@ if ($conf->commande->enabled)
|
|||
|
||||
print "</table><br>";
|
||||
}
|
||||
else dol_print_error($db);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -328,6 +331,7 @@ if ($conf->commande->enabled)
|
|||
}
|
||||
print "</table><br>";
|
||||
}
|
||||
else dol_print_error($db);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -50,15 +50,14 @@ class Facture extends CommonObject
|
|||
var $fk_element = 'fk_facture';
|
||||
var $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
|
||||
|
||||
var $table;
|
||||
var $tabledetail;
|
||||
var $id;
|
||||
//! Id client
|
||||
var $socid;
|
||||
//! Objet societe client (to load with fetch_client method)
|
||||
var $client;
|
||||
var $number;
|
||||
var $author;
|
||||
var $fk_user_author;
|
||||
var $fk_user_valid;
|
||||
//! Invoice date
|
||||
var $date; // Invoice date
|
||||
var $date_creation; // Creation date
|
||||
|
|
@ -80,15 +79,15 @@ class Facture extends CommonObject
|
|||
//! 2=classified paid partially (close_code='discount_vat','badcustomer') or completely (close_code=null),
|
||||
//! 3=classified abandoned and no payment done (close_code='badcustomer','abandon' ou 'replaced')
|
||||
var $statut;
|
||||
//! 1 if invoice paid COMPLETELY, 0 otherwise (ce champ ne devrait plus servir car insuffisant)
|
||||
var $paye;
|
||||
//! id of source invoice if replacement invoice or credit note
|
||||
var $fk_facture_source;
|
||||
//! Fermeture apres paiement partiel: discount_vat, badcustomer, abandon
|
||||
//! Fermeture alors que aucun paiement: replaced (si remplace), abandon
|
||||
var $close_code;
|
||||
//! Commentaire si mis a paye sans paiement complet
|
||||
var $close_note;
|
||||
//! 1 if invoice paid COMPLETELY, 0 otherwise (do not use it anymore, use statut and close_code
|
||||
var $paye;
|
||||
//! id of source invoice if replacement invoice or credit note
|
||||
var $fk_facture_source;
|
||||
var $origin;
|
||||
var $origin_id;
|
||||
var $fk_project;
|
||||
|
|
@ -605,10 +604,10 @@ class Facture extends CommonObject
|
|||
|
||||
|
||||
/**
|
||||
* \brief Get object and lines from database
|
||||
* \param rowid id of object to load
|
||||
* \param ref Ref of invoice
|
||||
* \return int >0 if OK, <0 if KO
|
||||
* Get object and lines from database
|
||||
* @param rowid id of object to load
|
||||
* @param ref Ref of invoice
|
||||
* @return int >0 if OK, <0 if KO
|
||||
*/
|
||||
function fetch($rowid,$ref='')
|
||||
{
|
||||
|
|
@ -682,8 +681,6 @@ class Facture extends CommonObject
|
|||
|
||||
$this->commande_id = $obj->fk_commande;
|
||||
|
||||
$this->lignes = array();
|
||||
|
||||
if ($this->commande_id)
|
||||
{
|
||||
$sql = "SELECT ref";
|
||||
|
|
@ -705,6 +702,10 @@ class Facture extends CommonObject
|
|||
/*
|
||||
* Lines
|
||||
*/
|
||||
|
||||
$this->lignes = array(); // deprecated
|
||||
$this->lines = array();
|
||||
|
||||
$result=$this->fetch_lines();
|
||||
if ($result < 0)
|
||||
{
|
||||
|
|
@ -1640,7 +1641,7 @@ class Facture extends CommonObject
|
|||
* Add an invoice line into database (linked to product/service or not)
|
||||
* \param facid Id de la facture
|
||||
* \param desc Description de la ligne
|
||||
* \param pu_ht Prix unitaire HT
|
||||
* \param pu_ht Prix unitaire HT (> 0 even for credit note)
|
||||
* \param qty Quantite
|
||||
* \param txtva Taux de tva force, sinon -1
|
||||
* \param txlocaltax1 Local tax 1 rate
|
||||
|
|
@ -1653,7 +1654,7 @@ class Facture extends CommonObject
|
|||
* \param info_bits Bits de type de lignes
|
||||
* \param fk_remise_except Id remise
|
||||
* \param price_base_type HT or TTC
|
||||
* \param pu_ttc Prix unitaire TTC
|
||||
* \param pu_ttc Prix unitaire TTC (> 0 even for credit note)
|
||||
* \param type Type of line (0=product, 1=service)
|
||||
* \param rang Position of line
|
||||
* \return int >0 if OK, <0 if KO
|
||||
|
|
@ -1747,23 +1748,23 @@ class Facture extends CommonObject
|
|||
$this->line->fk_product=$fk_product;
|
||||
$this->line->product_type=$product_type;
|
||||
$this->line->remise_percent=$remise_percent;
|
||||
$this->line->subprice=$pu_ht;
|
||||
$this->line->subprice=($this->type==2?-1:1)*$pu_ht;
|
||||
$this->line->date_start=$date_start;
|
||||
$this->line->date_end=$date_end;
|
||||
$this->line->ventil=$ventil;
|
||||
$this->line->rang=$rangtouse;
|
||||
$this->line->info_bits=$info_bits;
|
||||
$this->line->fk_remise_except=$fk_remise_except;
|
||||
$this->line->total_ht=$total_ht;
|
||||
$this->line->total_tva=$total_tva;
|
||||
$this->line->total_localtax1=$total_localtax1;
|
||||
$this->line->total_localtax2=$total_localtax2;
|
||||
$this->line->total_ttc=$total_ttc;
|
||||
$this->line->total_ht=($this->type==2?-1:1)*$total_ht;
|
||||
$this->line->total_tva=($this->type==2?-1:1)*$total_tva;
|
||||
$this->line->total_localtax1=($this->type==2?-1:1)*$total_localtax1;
|
||||
$this->line->total_localtax2=($this->type==2?-1:1)*$total_localtax2;
|
||||
$this->line->total_ttc=($this->type==2?-1:1)*$total_ttc;
|
||||
$this->line->special_code=$special_code;
|
||||
|
||||
// \TODO Ne plus utiliser
|
||||
$this->line->price=$price;
|
||||
$this->line->remise=$remise;
|
||||
$this->line->price=($this->type==2?-1:1)*$price;
|
||||
$this->line->remise=($this->type==2?-1:1)*$remise;
|
||||
|
||||
$result=$this->line->insert();
|
||||
if ($result > 0)
|
||||
|
|
@ -1797,7 +1798,7 @@ class Facture extends CommonObject
|
|||
* Update a detail line
|
||||
* @param rowid Id of line to update
|
||||
* @param desc Description of line
|
||||
* @param pu Prix unitaire (HT ou TTC selon price_base_type)
|
||||
* @param pu Prix unitaire (HT ou TTC selon price_base_type) (> 0 even for credit note lines)
|
||||
* @param qty Quantity
|
||||
* @param remise_percent Pourcentage de remise de la ligne
|
||||
* @param date_start Date de debut de validite du service
|
||||
|
|
@ -1865,13 +1866,13 @@ class Facture extends CommonObject
|
|||
$this->line->localtax1_tx = $txlocaltax1;
|
||||
$this->line->localtax2_tx = $txlocaltax2;
|
||||
$this->line->remise_percent = $remise_percent;
|
||||
$this->line->subprice = $pu;
|
||||
$this->line->subprice = ($this->type==2?-1:1)*$pu;
|
||||
$this->line->date_start = $date_start;
|
||||
$this->line->date_end = $date_end;
|
||||
$this->line->total_ht = $total_ht;
|
||||
$this->line->total_tva = $total_tva;
|
||||
$this->line->total_localtax1 = $total_localtax1;
|
||||
$this->line->total_localtax2 = $total_localtax2;
|
||||
$this->line->total_ht = ($this->type==2?-1:1)*$total_ht;
|
||||
$this->line->total_tva = ($this->type==2?-1:1)*$total_tva;
|
||||
$this->line->total_localtax1 = ($this->type==2?-1:1)*$total_localtax1;
|
||||
$this->line->total_localtax2 = ($this->type==2?-1:1)*$total_localtax2;
|
||||
$this->line->total_ttc = $total_ttc;
|
||||
$this->line->info_bits = $info_bits;
|
||||
$this->line->product_type = $type;
|
||||
|
|
|
|||
|
|
@ -379,6 +379,19 @@ class BonPrelevement extends CommonObject
|
|||
$message.= "Date credit : ".dol_print_date($date,'dayhour');
|
||||
|
||||
$this->Notify($user, "cr", $subject, $message);
|
||||
|
||||
// Update prelevement line
|
||||
// TODO: Translate to ligne-prelevement.class.php
|
||||
$sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes";
|
||||
$sql.= " SET statut = 2";
|
||||
$sql.= " WHERE fk_prelevement_bons = ".$this->id;
|
||||
|
||||
if (! $this->db->query($sql))
|
||||
{
|
||||
dol_syslog("BonPrelevement::set_credite Erreur 1");
|
||||
$error++;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -466,6 +479,7 @@ class BonPrelevement extends CommonObject
|
|||
* Fin de la procedure
|
||||
*
|
||||
*/
|
||||
|
||||
if ($error == 0)
|
||||
{
|
||||
$this->db->commit();
|
||||
|
|
@ -504,7 +518,7 @@ class BonPrelevement extends CommonObject
|
|||
$sql.= " WHERE pn.action = '".$action."'";
|
||||
$sql.= " AND u.rowid = pn.fk_user";
|
||||
$sql.= " AND u.entity IN (0,".$conf->entity.")";
|
||||
|
||||
dol_syslog("BonPrelevement::Notify: ".$sql, LOG_CRIT);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -156,16 +156,16 @@ if ($_GET["id"])
|
|||
$muser = new User($db);
|
||||
$muser->fetch($bon->user_trans);
|
||||
|
||||
print '<tr><td width="20%">Date Transmission / Par</td><td>';
|
||||
print '<tr><td width="20%">'.$langs->trans("TransData").'</td><td>';
|
||||
print dol_print_date($bon->date_trans,'dayhour');
|
||||
print ' / '.$muser->getFullName($langs).'</td></tr>';
|
||||
print '<tr><td width="20%">Methode Transmission</td><td>';
|
||||
print '<tr><td width="20%">'.$langs->trans("TransMetod").'</td><td>';
|
||||
print $bon->methodes_trans[$bon->method_trans];
|
||||
print '</td></tr>';
|
||||
}
|
||||
if($bon->date_credit <> 0)
|
||||
{
|
||||
print '<tr><td width="20%">Credit on</td><td>';
|
||||
print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
|
||||
print dol_print_date($bon->date_credit,'dayhour');
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
|
@ -200,7 +200,7 @@ if ($_GET["id"])
|
|||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="infocredit">';
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr><td width="20%">Cr<EFBFBD>dit<EFBFBD> le</td><td>';
|
||||
print '<tr><td width="20%">'.$langs->trans('CreditDate').'</td><td>';
|
||||
print $html->select_date('','','','','',"infocredit");
|
||||
print '</td></tr>';
|
||||
print '<tr><td colspan="2" align="center">';
|
||||
|
|
|
|||
|
|
@ -312,7 +312,7 @@ if ($_GET["id"])
|
|||
if ($_GET["action"] == '')
|
||||
{
|
||||
|
||||
if ($bon->credite == 1 && $lipre->statut == 2)
|
||||
if ($bon->statut == 2 && $lipre->statut == 2)
|
||||
{
|
||||
print "<a class=\"butAction\" href=\"ligne.php?action=rejet&id=$lipre->id\">".$langs->trans("StandingOrderReject")."</a>";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,11 +134,14 @@ $dolibarr_main_db_collation='latin1_swedish_ci';
|
|||
# If value "ldap" is used, you must also set parameters dolibarr_main_auth_ldap_*
|
||||
# Default value: dolibarr
|
||||
# Possible values: Any values found in files in htdocs/includes/login directory after
|
||||
# the "function_" string and before the ".php" string.
|
||||
# the "function_" string and before the ".php" string. You can also separate several
|
||||
# values using a ",". In this case, Dolibarr will check login/pass for each value in
|
||||
# order defined into value. However, note that this can't work with all values.
|
||||
# Examples:
|
||||
# $dolibarr_main_authentication='http';
|
||||
# $dolibarr_main_authentication='dolibarr';
|
||||
# $dolibarr_main_authentication='ldap';
|
||||
# $dolibarr_main_authentication='openid,dolibarr';
|
||||
#
|
||||
$dolibarr_main_authentication='dolibarr';
|
||||
|
||||
|
|
|
|||
|
|
@ -179,9 +179,9 @@ class Contact extends CommonObject
|
|||
|
||||
/**
|
||||
* Update informations into database
|
||||
* @param id Id du contact a mettre a jour
|
||||
* @param user Objet utilisateur qui effectue la mise a jour
|
||||
* @param notrigger 0=non, 1=oui
|
||||
* @param id Id of contact/address to update
|
||||
* @param user Objet user making change
|
||||
* @param notrigger 0=no, 1=yesi
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function update($id, $user=0, $notrigger=0)
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ else
|
|||
if ($id <= 0)
|
||||
{
|
||||
$error++;
|
||||
$errors=array($object->error);
|
||||
$errors=($object->error?array($object->error):$object->errors);
|
||||
$_GET["action"] = $_POST["action"] = 'create';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ function donnefocus() {
|
|||
|
||||
<td valign="bottom"> <b><?php echo $langs->trans('Login'); ?></b> </td>
|
||||
<td valign="bottom" nowrap="nowrap">
|
||||
<input type="text" id="username" name="username" class="flat" size="15" maxlength="25" value="<?php echo $login; ?>" tabindex="1" /></td>
|
||||
<input type="text" id="username" name="username" class="flat" size="15" maxlength="40" value="<?php echo $login; ?>" tabindex="1" /></td>
|
||||
|
||||
<td rowspan="<?php echo $rowspan; ?>" align="center" valign="top">
|
||||
<img alt="Logo" title="" src="<?php echo $urllogo; ?>" />
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ $userecm->fetch($ecmdir->fk_user_c);
|
|||
print $userecm->getNomUrl(1);
|
||||
print '</td></tr>';
|
||||
*/
|
||||
print '<tr><td>'.$langs->trans("ECMCreationDate").'</td><td>';
|
||||
print '<tr><td>'.$langs->trans("ECMCreationDate").'</td><td>aa';
|
||||
print dol_print_date(dol_filemtime($fullpath),'dayhour');
|
||||
print '</td></tr>';
|
||||
/*print '<tr><td>'.$langs->trans("ECMDirectoryForFiles").'</td><td>';
|
||||
|
|
|
|||
|
|
@ -298,6 +298,8 @@ $morejs=array(
|
|||
"/includes/jquery/plugins/layout/jquery.layout-latest.js"
|
||||
);
|
||||
*/
|
||||
$maxheightwin=660;
|
||||
|
||||
$morehead="<style type=\"text/css\">
|
||||
html, body {
|
||||
width: 100%;
|
||||
|
|
@ -308,7 +310,7 @@ html, body {
|
|||
}
|
||||
#containerlayout {
|
||||
background: #999;
|
||||
height: 660px;
|
||||
height: ".$maxheightwin."px;
|
||||
margin: 0 auto;
|
||||
width: 100%;
|
||||
min-width: 700px;
|
||||
|
|
|
|||
|
|
@ -764,7 +764,7 @@ class FactureFournisseur extends Facture
|
|||
}
|
||||
else
|
||||
{
|
||||
$this->error=$ligne->error;
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->db->rollback();
|
||||
return -2;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ if ($_GET['action'] == 'reopen' && $user->rights->fournisseur->commande->approuv
|
|||
}
|
||||
|
||||
/*
|
||||
* Ajout d'une ligne produit dans la commande
|
||||
* Add a line into product
|
||||
*/
|
||||
if ($_POST['action'] == 'addline' && $user->rights->fournisseur->commande->creer)
|
||||
{
|
||||
|
|
@ -1294,12 +1294,27 @@ if ($id > 0 || ! empty($ref))
|
|||
}
|
||||
}
|
||||
|
||||
// Create bill
|
||||
if ($conf->fournisseur->enabled && $commande->statut > 0)
|
||||
{
|
||||
if ($user->rights->fournisseur->facture->creer)
|
||||
{
|
||||
print '<a class="butAction" href="'.DOL_URL_ROOT.'/fourn/facture/fiche.php?action=create&origin='.$commande->element.'&originid='.$commande->id.'&socid='.$commande->socid.'">'.$langs->trans("CreateBill").'</a>';
|
||||
}
|
||||
|
||||
//if ($user->rights->fournisseur->commande->creer && $object->statut > 2)
|
||||
//{
|
||||
// print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=classifybilled">'.$langs->trans("ClassifyBilled").'</a>';
|
||||
//}
|
||||
}
|
||||
|
||||
// Delete
|
||||
if ($user->rights->fournisseur->commande->supprimer)
|
||||
{
|
||||
print '<a class="butActionDelete" href="fiche.php?id='.$commande->id.'&action=delete">'.$langs->trans("Delete").'</a>';
|
||||
}
|
||||
|
||||
|
||||
print "</div>";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
*/
|
||||
|
||||
require("../../main.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/fourn/class/fournisseur.commande.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php");
|
||||
|
||||
|
|
@ -44,8 +45,9 @@ $langs->load("orders");
|
|||
|
||||
llxHeader('',$langs->trans("SuppliersOrdersArea"));
|
||||
|
||||
$commande = new CommandeFournisseur($db);
|
||||
$commandestatic = new CommandeFournisseur($db);
|
||||
$userstatic=new User($db);
|
||||
$formfile = new FormFile($db);
|
||||
|
||||
print_barre_liste($langs->trans("SuppliersOrdersArea"), $page, "index.php", "", $sortfield, $sortorder, '', $num);
|
||||
|
||||
|
|
@ -101,8 +103,8 @@ if ($resql)
|
|||
$var=!$var;
|
||||
|
||||
print "<tr $bc[$var]>";
|
||||
print '<td>'.$langs->trans($commande->statuts[$row[1]]).'</td>';
|
||||
print '<td align="right"><a href="liste.php?statut='.$row[1].'">'.$row[0].' '.$commande->LibStatut($row[1],3).'</a></td>';
|
||||
print '<td>'.$langs->trans($commandestatic->statuts[$row[1]]).'</td>';
|
||||
print '<td align="right"><a href="liste.php?statut='.$row[1].'">'.$row[0].' '.$commandestatic->LibStatut($row[1],3).'</a></td>';
|
||||
|
||||
print "</tr>\n";
|
||||
$i++;
|
||||
|
|
@ -158,9 +160,9 @@ if ($conf->fournisseur->enabled)
|
|||
}
|
||||
|
||||
|
||||
print '</td><td width="70%" valign="top" class="notopnoleft">';
|
||||
|
||||
|
||||
/*
|
||||
* List of users allowed
|
||||
*/
|
||||
$sql = "SELECT u.rowid, u.name, u.firstname";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."user as u,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."user_rights as ur";
|
||||
|
|
@ -199,7 +201,7 @@ if ($resql)
|
|||
print "</tr>\n";
|
||||
$i++;
|
||||
}
|
||||
print "</table>";
|
||||
print "</table><br>";
|
||||
$db->free($resql);
|
||||
}
|
||||
else
|
||||
|
|
@ -207,6 +209,150 @@ else
|
|||
dol_print_error($db);
|
||||
}
|
||||
|
||||
|
||||
print '</td><td width="70%" valign="top" class="notopnoleft">';
|
||||
|
||||
|
||||
/*
|
||||
* Last modified orders
|
||||
*/
|
||||
$max=5;
|
||||
|
||||
$sql = "SELECT c.rowid, c.ref, c.fk_statut, s.nom, s.rowid as socid,";
|
||||
$sql.= " date_cloture as datec";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as c";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.= " WHERE c.fk_soc = s.rowid";
|
||||
$sql.= " AND c.entity = ".$conf->entity;
|
||||
//$sql.= " AND c.fk_statut > 2";
|
||||
if ($socid) $sql .= " AND c.fk_soc = ".$socid;
|
||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
|
||||
$sql.= " ORDER BY c.tms DESC";
|
||||
$sql.= $db->plimit($max, 0);
|
||||
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="4">'.$langs->trans("LastModifiedOrders",$max).'</td></tr>';
|
||||
|
||||
$num = $db->num_rows($resql);
|
||||
if ($num)
|
||||
{
|
||||
$i = 0;
|
||||
$var = True;
|
||||
while ($i < $num)
|
||||
{
|
||||
$var=!$var;
|
||||
$obj = $db->fetch_object($resql);
|
||||
|
||||
print "<tr $bc[$var]>";
|
||||
print '<td width="20%" nowrap="nowrap">';
|
||||
|
||||
$commandestatic->id=$obj->rowid;
|
||||
$commandestatic->ref=$obj->ref;
|
||||
|
||||
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
|
||||
print '<td width="94" class="nobordernopadding" nowrap="nowrap">';
|
||||
print $commandestatic->getNomUrl(1);
|
||||
print '</td>';
|
||||
|
||||
print '<td width="16" class="nobordernopadding" nowrap="nowrap">';
|
||||
print ' ';
|
||||
print '</td>';
|
||||
|
||||
print '<td width="16" align="right" class="nobordernopadding">';
|
||||
$filename=dol_sanitizeFileName($obj->ref);
|
||||
$filedir=$conf->commande->dir_output . '/' . dol_sanitizeFileName($obj->ref);
|
||||
$urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid;
|
||||
$formfile->show_documents('commande',$filename,$filedir,$urlsource,'','','',1,'',1);
|
||||
print '</td></tr></table>';
|
||||
|
||||
print '</td>';
|
||||
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$obj->socid.'">'.img_object($langs->trans("ShowCompany"),"company").' '.$obj->nom.'</a></td>';
|
||||
print '<td>'.dol_print_date($db->jdate($obj->datec)).'</td>';
|
||||
print '<td align="right">'.$commandestatic->LibStatut($obj->fk_statut,5).'</td>';
|
||||
print '</tr>';
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
print "</table><br>";
|
||||
}
|
||||
else dol_print_error($db);
|
||||
|
||||
|
||||
/*
|
||||
* Orders to process
|
||||
*/
|
||||
/*
|
||||
$sql = "SELECT c.rowid, c.ref, c.fk_statut, s.nom, s.rowid as socid";
|
||||
$sql.=" FROM ".MAIN_DB_PREFIX."commande_fournisseur as c";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
|
||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.= " WHERE c.fk_soc = s.rowid";
|
||||
$sql.= " AND c.entity = ".$conf->entity;
|
||||
$sql.= " AND c.fk_statut = 1";
|
||||
if ($socid) $sql.= " AND c.fk_soc = ".$socid;
|
||||
if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
|
||||
$sql.= " ORDER BY c.rowid DESC";
|
||||
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td colspan="3">'.$langs->trans("OrdersToProcess").' <a href="'.DOL_URL_ROOT.'/commande/liste.php?viewstatut=1">('.$num.')</a></td></tr>';
|
||||
|
||||
if ($num)
|
||||
{
|
||||
$i = 0;
|
||||
$var = True;
|
||||
while ($i < $num)
|
||||
{
|
||||
$var=!$var;
|
||||
$obj = $db->fetch_object($resql);
|
||||
print "<tr $bc[$var]>";
|
||||
print '<td nowrap="nowrap">';
|
||||
|
||||
$commandestatic->id=$obj->rowid;
|
||||
$commandestatic->ref=$obj->ref;
|
||||
|
||||
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
|
||||
print '<td width="94" class="nobordernopadding" nowrap="nowrap">';
|
||||
print $commandestatic->getNomUrl(1);
|
||||
print '</td>';
|
||||
|
||||
print '<td width="16" class="nobordernopadding" nowrap="nowrap">';
|
||||
print ' ';
|
||||
print '</td>';
|
||||
|
||||
print '<td width="16" align="right" class="nobordernopadding">';
|
||||
$filename=dol_sanitizeFileName($obj->ref);
|
||||
$filedir=$conf->commande->dir_output . '/' . dol_sanitizeFileName($obj->ref);
|
||||
$urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid;
|
||||
$formfile->show_documents('commande',$filename,$filedir,$urlsource,'','','',1,'',1);
|
||||
print '</td></tr></table>';
|
||||
|
||||
print '</td>';
|
||||
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$obj->socid.'">'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($obj->nom,24).'</a></td>';
|
||||
|
||||
print '<td align="right">'.$commandestatic->LibStatut($obj->fk_statut,$obj->facture,5).'</td>';
|
||||
|
||||
print '</tr>';
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
print "</table><br>";
|
||||
}
|
||||
*/
|
||||
|
||||
print '</td></tr></table>';
|
||||
|
||||
$db->close();
|
||||
|
|
|
|||
|
|
@ -187,7 +187,9 @@ if ($_POST['action'] == 'update' && ! $_POST['cancel'])
|
|||
*/
|
||||
if ($_POST['action'] == 'add' && $user->rights->fournisseur->facture->creer)
|
||||
{
|
||||
$datefacture=dol_mktime(12,0,0,$_POST['remonth'],$_POST['reday'],$_POST['reyear']);
|
||||
$error=0;
|
||||
|
||||
$datefacture=dol_mktime(12,0,0,$_POST['remonth'],$_POST['reday'],$_POST['reyear']);
|
||||
$datedue=dol_mktime(12,0,0,$_POST['echmonth'],$_POST['echday'],$_POST['echyear']);
|
||||
|
||||
if ($datefacture == '')
|
||||
|
|
@ -219,12 +221,97 @@ if ($_POST['action'] == 'add' && $user->rights->fournisseur->facture->creer)
|
|||
$facfou->date_echeance = $datedue;
|
||||
$facfou->note_public = $_POST['note'];
|
||||
|
||||
$facid = $facfou->create($user);
|
||||
// If creation from another object of another module
|
||||
if ($_POST['origin'] && $_POST['originid'])
|
||||
{
|
||||
// Parse element/subelement (ex: project_task)
|
||||
$element = $subelement = $_POST['origin'];
|
||||
/*if (preg_match('/^([^_]+)_([^_]+)/i',$_POST['origin'],$regs))
|
||||
{
|
||||
$element = $regs[1];
|
||||
$subelement = $regs[2];
|
||||
}*/
|
||||
|
||||
// Ajout des lignes de factures
|
||||
if ($facid > 0)
|
||||
{
|
||||
for ($i = 1 ; $i < 9 ; $i++)
|
||||
// For compatibility
|
||||
if ($element == 'order') { $element = $subelement = 'commande'; }
|
||||
if ($element == 'propal') { $element = 'comm/propal'; $subelement = 'propal'; }
|
||||
if ($element == 'contract') { $element = $subelement = 'contrat'; }
|
||||
if ($element == 'order_supplier') { $element = 'fourn'; $subelement = 'fournisseur.commande'; }
|
||||
|
||||
$facfou->origin = $_POST['origin'];
|
||||
$facfou->origin_id = $_POST['originid'];
|
||||
|
||||
$facid = $facfou->create($user);
|
||||
|
||||
// Add lines
|
||||
if ($facid > 0)
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT.'/'.$element.'/class/'.$subelement.'.class.php');
|
||||
$classname = ucfirst($subelement);
|
||||
if ($classname == 'Fournisseur.commande') $classname='CommandeFournisseur';
|
||||
$srcobject = new $classname($db);
|
||||
|
||||
$result=$srcobject->fetch($_POST['originid']);
|
||||
if ($result > 0)
|
||||
{
|
||||
// TODO mutualiser
|
||||
$lines = $srcobject->lignes;
|
||||
if (sizeof($lines)) $lines = $srcobject->lines;
|
||||
if (empty($lines) && method_exists($srcobject,'fetch_lignes')) $lines = $srcobject->fetch_lignes();
|
||||
if (empty($lines) && method_exists($srcobject,'fetch_lines')) $lines = $srcobject->fetch_lines();
|
||||
|
||||
for ($i = 0 ; $i < sizeof($lines) ; $i++)
|
||||
{
|
||||
$desc=($lines[$i]->desc?$lines[$i]->desc:$lines[$i]->libelle);
|
||||
$product_type=($lines[$i]->product_type?$lines[$i]->product_type:0);
|
||||
|
||||
// Dates
|
||||
// TODO mutualiser
|
||||
$date_start=$lines[$i]->date_debut_prevue;
|
||||
if ($lines[$i]->date_debut_reel) $date_start=$lines[$i]->date_debut_reel;
|
||||
if ($lines[$i]->date_start) $date_start=$lines[$i]->date_start;
|
||||
$date_end=$lines[$i]->date_fin_prevue;
|
||||
if ($lines[$i]->date_fin_reel) $date_end=$lines[$i]->date_fin_reel;
|
||||
if ($lines[$i]->date_end) $date_end=$lines[$i]->date_end;
|
||||
|
||||
$result = $facfou->addline(
|
||||
$desc,
|
||||
$lines[$i]->subprice,
|
||||
$lines[$i]->tva_tx,
|
||||
$lines[$i]->qty,
|
||||
$lines[$i]->fk_product,
|
||||
$lines[$i]->remise_percent,
|
||||
$date_start,
|
||||
$date_end,
|
||||
0,
|
||||
$lines[$i]->info_bits,
|
||||
'HT',
|
||||
$product_type
|
||||
);
|
||||
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
// If some invoice's lines already known
|
||||
else
|
||||
{
|
||||
$facid = $facfou->create($user);
|
||||
|
||||
for ($i = 1 ; $i < 9 ; $i++)
|
||||
{
|
||||
$label = $_POST['label'.$i];
|
||||
$amountht = price2num($_POST['amount'.$i]);
|
||||
|
|
@ -244,30 +331,24 @@ if ($_POST['action'] == 'add' && $user->rights->fournisseur->facture->creer)
|
|||
}
|
||||
$atleastoneline=1;
|
||||
$ret=$facfou->addline($label, $amount, $tauxtva, $qty, $fk_product, $remise_percent, '', '', '', 0, $price_base);
|
||||
if ($ret < 0) $nberror++;
|
||||
if ($ret < 0) $error++;
|
||||
}
|
||||
}
|
||||
if ($nberror)
|
||||
{
|
||||
$db->rollback();
|
||||
$mesg='<div class="error">'.$facfou->error.'</div>';
|
||||
$_GET['action']='create';
|
||||
$_GET['socid']=$_POST['socid'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->commit();
|
||||
header('Location: fiche.php?facid='.$facid);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
if ($error)
|
||||
{
|
||||
$db->rollback();
|
||||
$mesg='<div class="error">'.$facfou->error.'</div>';
|
||||
$_GET['action']='create';
|
||||
$_GET['socid']=$_POST['socid'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->commit();
|
||||
header('Location: fiche.php?facid='.$facid);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -761,17 +842,70 @@ if ($_GET['action'] == 'create')
|
|||
$societe->fetch($_GET['socid']);
|
||||
}
|
||||
|
||||
$datetmp=dol_mktime(12,0,0,$_POST['remonth'],$_POST['reday'],$_POST['reyear']);
|
||||
$dateinvoice=($datetmp==''?(empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0):$datetmp);
|
||||
$datetmp=dol_mktime(12,0,0,$_POST['echmonth'],$_POST['echday'],$_POST['echyear']);
|
||||
$datedue=($datetmp==''?-1:$datetmp);
|
||||
if (GETPOST('origin') && GETPOST('originid'))
|
||||
{
|
||||
// Parse element/subelement (ex: project_task)
|
||||
$element = $subelement = GETPOST('origin');
|
||||
/*if (preg_match('/^([^_]+)_([^_]+)/i',$_GET['origin'],$regs))
|
||||
{
|
||||
$element = $regs[1];
|
||||
$subelement = $regs[2];
|
||||
}*/
|
||||
|
||||
print '<form name="add" action="fiche.php" method="post">';
|
||||
if ($element == 'project')
|
||||
{
|
||||
$projectid=GETPOST('originid');
|
||||
}
|
||||
else if (in_array($element,array('order_supplier')))
|
||||
{
|
||||
// For compatibility
|
||||
if ($element == 'order') { $element = $subelement = 'commande'; }
|
||||
if ($element == 'propal') { $element = 'comm/propal'; $subelement = 'propal'; }
|
||||
if ($element == 'contract') { $element = $subelement = 'contrat'; }
|
||||
if ($element == 'order_supplier') { $element = 'fourn'; $subelement = 'fournisseur.commande'; }
|
||||
|
||||
require_once(DOL_DOCUMENT_ROOT.'/'.$element.'/class/'.$subelement.'.class.php');
|
||||
$classname = ucfirst($subelement);
|
||||
if ($classname == 'Fournisseur.commande') $classname='CommandeFournisseur';
|
||||
$objectsrc = new $classname($db);
|
||||
$objectsrc->fetch(GETPOST('originid'));
|
||||
$objectsrc->fetch_thirdparty();
|
||||
|
||||
$projectid = (!empty($objectsrc->fk_project)?$object->fk_project:'');
|
||||
//$ref_client = (!empty($objectsrc->ref_client)?$object->ref_client:'');
|
||||
|
||||
$soc = $objectsrc->client;
|
||||
$cond_reglement_id = (!empty($objectsrc->cond_reglement_id)?$objectsrc->cond_reglement_id:(!empty($soc->cond_reglement_id)?$soc->cond_reglement_id:1));
|
||||
$mode_reglement_id = (!empty($objectsrc->mode_reglement_id)?$objectsrc->mode_reglement_id:(!empty($soc->mode_reglement_id)?$soc->mode_reglement_id:0));
|
||||
$remise_percent = (!empty($objectsrc->remise_percent)?$objectsrc->remise_percent:(!empty($soc->remise_percent)?$soc->remise_percent:0));
|
||||
$remise_absolue = (!empty($objectsrc->remise_absolue)?$objectsrc->remise_absolue:(!empty($soc->remise_absolue)?$soc->remise_absolue:0));
|
||||
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0;
|
||||
|
||||
$datetmp=dol_mktime(12,0,0,$_POST['remonth'],$_POST['reday'],$_POST['reyear']);
|
||||
$dateinvoice=($datetmp==''?(empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0):$datetmp);
|
||||
$datetmp=dol_mktime(12,0,0,$_POST['echmonth'],$_POST['echday'],$_POST['echyear']);
|
||||
$datedue=($datetmp==''?-1:$datetmp);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$datetmp=dol_mktime(12,0,0,$_POST['remonth'],$_POST['reday'],$_POST['reyear']);
|
||||
$dateinvoice=($datetmp==''?(empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0):$datetmp);
|
||||
$datetmp=dol_mktime(12,0,0,$_POST['echmonth'],$_POST['echday'],$_POST['echyear']);
|
||||
$datedue=($datetmp==''?-1:$datetmp);
|
||||
}
|
||||
|
||||
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="post">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
print '<input type="hidden" name="origin" value="'.GETPOST('origin').'">';
|
||||
print '<input type="hidden" name="originid" value="'.GETPOST('originid').'">';
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Third party
|
||||
// Ref
|
||||
print '<tr><td>'.$langs->trans('Ref').'</td><td>'.$langs->trans('Draft').'</td></tr>';
|
||||
|
||||
// Third party
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans('Company').'</td>';
|
||||
print '<td>';
|
||||
|
||||
|
|
@ -785,13 +919,96 @@ if ($_GET['action'] == 'create')
|
|||
$html->select_societes((empty($_GET['socid'])?'':$_GET['socid']),'socid','s.fournisseur = 1',1);
|
||||
}
|
||||
print '</td>';
|
||||
print '<td width="50%">'.$langs->trans('NotePublic').'</td></tr>';
|
||||
|
||||
// Ref supplier
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans('RefSupplier').'</td><td><input name="facnumber" value="'.(isset($_POST['facnumber'])?$_POST['facnumber']:$fac_ori->ref).'" type="text"></td>';
|
||||
print '<td width="50%" rowspan="4" valign="top"><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td></tr>';
|
||||
print '</tr>';
|
||||
|
||||
// Label
|
||||
print '<tr><td valign="top" class="fieldrequired">'.$langs->trans('Type').'</td><td colspan="2">';
|
||||
print '<table class="nobordernopadding">'."\n";
|
||||
|
||||
// Standard invoice
|
||||
print '<tr height="18"><td width="16px" valign="middle">';
|
||||
print '<input type="radio" name="type" value="0"'.($_POST['type']==0?' checked="true"':'').'>';
|
||||
print '</td><td valign="middle">';
|
||||
$desc=$html->textwithpicto($langs->trans("InvoiceStandardAsk"),$langs->transnoentities("InvoiceStandardDesc"),1);
|
||||
print $desc;
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
/*
|
||||
// Deposit
|
||||
print '<tr height="18"><td width="16px" valign="middle">';
|
||||
print '<input type="radio" name="type" value="3"'.($_POST['type']==3?' checked="true"':'').'>';
|
||||
print '</td><td valign="middle">';
|
||||
$desc=$html->textwithpicto($langs->trans("InvoiceDeposit"),$langs->transnoentities("InvoiceDepositDesc"),1);
|
||||
print $desc;
|
||||
print '</td></tr>'."\n";
|
||||
|
||||
// Proforma
|
||||
if ($conf->global->FACTURE_USE_PROFORMAT)
|
||||
{
|
||||
print '<tr height="18"><td width="16px" valign="middle">';
|
||||
print '<input type="radio" name="type" value="4"'.($_POST['type']==4?' checked="true"':'').'>';
|
||||
print '</td><td valign="middle">';
|
||||
$desc=$html->textwithpicto($langs->trans("InvoiceProForma"),$langs->transnoentities("InvoiceProFormaDesc"),1);
|
||||
print $desc;
|
||||
print '</td></tr>'."\n";
|
||||
}
|
||||
|
||||
// Replacement
|
||||
print '<tr height="18"><td valign="middle">';
|
||||
print '<input type="radio" name="type" value="1"'.($_POST['type']==1?' checked=true':'');
|
||||
if (! $options) print ' disabled="true"';
|
||||
print '>';
|
||||
print '</td><td valign="middle">';
|
||||
$text=$langs->trans("InvoiceReplacementAsk").' ';
|
||||
$text.='<select class="flat" name="fac_replacement"';
|
||||
if (! $options) $text.=' disabled="true"';
|
||||
$text.='>';
|
||||
if ($options)
|
||||
{
|
||||
$text.='<option value="-1"> </option>';
|
||||
$text.=$options;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.='<option value="-1">'.$langs->trans("NoReplacableInvoice").'</option>';
|
||||
}
|
||||
$text.='</select>';
|
||||
$desc=$html->textwithpicto($text,$langs->transnoentities("InvoiceReplacementDesc"),1);
|
||||
print $desc;
|
||||
print '</td></tr>';
|
||||
|
||||
// Credit note
|
||||
print '<tr height="18"><td valign="middle">';
|
||||
print '<input type="radio" name="type" value="2"'.($_POST['type']==2?' checked=true':'');
|
||||
if (! $optionsav) print ' disabled="true"';
|
||||
print '>';
|
||||
print '</td><td valign="middle">';
|
||||
$text=$langs->transnoentities("InvoiceAvoirAsk").' ';
|
||||
// $text.='<input type="text" value="">';
|
||||
$text.='<select class="flat" name="fac_avoir"';
|
||||
if (! $optionsav) $text.=' disabled="true"';
|
||||
$text.='>';
|
||||
if ($optionsav)
|
||||
{
|
||||
$text.='<option value="-1"> </option>';
|
||||
$text.=$optionsav;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text.='<option value="-1">'.$langs->trans("NoInvoiceToCorrect").'</option>';
|
||||
}
|
||||
$text.='</select>';
|
||||
$desc=$html->textwithpicto($text,$langs->transnoentities("InvoiceAvoirDesc"),1);
|
||||
//.' ('.$langs->trans("FeatureNotYetAvailable").')',$langs->transnoentities("InvoiceAvoirDesc"),1);
|
||||
print $desc;
|
||||
print '</td></tr>'."\n";
|
||||
*/
|
||||
print '</table>';
|
||||
print '</td></tr>';
|
||||
|
||||
// Label
|
||||
print '<tr><td>'.$langs->trans('Label').'</td><td><input size="30" name="libelle" value="'.(isset($_POST['libelle'])?$_POST['libelle']:$fac_ori->libelle).'" type="text"></td></tr>';
|
||||
|
||||
// Date invoice
|
||||
|
|
@ -804,38 +1021,72 @@ if ($_GET['action'] == 'create')
|
|||
$html->select_date($datedue,'ech','','','',"add",1,1);
|
||||
print '</td></tr>';
|
||||
|
||||
print '</table><br>';
|
||||
print '<tr><td>'.$langs->trans('NotePublic').'</td>';
|
||||
print '<td><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>';
|
||||
print '</tr>';
|
||||
|
||||
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE)
|
||||
if (is_object($objectsrc))
|
||||
{
|
||||
print "\n<!-- ".$classname." info -->";
|
||||
print "\n";
|
||||
print '<input type="hidden" name="amount" value="'.$objectsrc->total_ht.'">'."\n";
|
||||
print '<input type="hidden" name="total" value="'.$objectsrc->total_ttc.'">'."\n";
|
||||
print '<input type="hidden" name="tva" value="'.$objectsrc->total_tva.'">'."\n";
|
||||
print '<input type="hidden" name="origin" value="'.$objectsrc->element.'">';
|
||||
print '<input type="hidden" name="originid" value="'.$objectsrc->id.'">';
|
||||
|
||||
$txt=$langs->trans($classname);
|
||||
if ($classname=='CommandeFournisseur') $txt=$langs->trans("SupplierOrder");
|
||||
print '<tr><td>'.$txt.'</td><td colspan="2">'.$objectsrc->getNomUrl(1).'</td></tr>';
|
||||
print '<tr><td>'.$langs->trans('TotalHT').'</td><td colspan="2">'.price($objectsrc->total_ht).'</td></tr>';
|
||||
print '<tr><td>'.$langs->trans('TotalVAT').'</td><td colspan="2">'.price($objectsrc->total_tva)."</td></tr>";
|
||||
if ($mysoc->pays_code=='ES')
|
||||
{
|
||||
if ($mysoc->localtax1_assuj=="1") //Localtax1 RE
|
||||
{
|
||||
print '<tr><td>'.$langs->transcountry("AmountLT1",$mysoc->pays_code).'</td><td colspan="2">'.price($objectsrc->total_localtax1)."</td></tr>";
|
||||
}
|
||||
|
||||
if ($mysoc->localtax2_assuj=="1") //Localtax2 IRPF
|
||||
{
|
||||
print '<tr><td>'.$langs->transcountry("AmountLT2",$mysoc->pays_code).'</td><td colspan="2">'.price($objectsrc->total_localtax2)."</td></tr>";
|
||||
}
|
||||
}
|
||||
print '<tr><td>'.$langs->trans('TotalTTC').'</td><td colspan="2">'.price($objectsrc->total_ttc)."</td></tr>";
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<table class="border" width="100%">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td> </td><td>'.$langs->trans('Label').'</td>';
|
||||
print '<td align="right">'.$langs->trans('PriceUHT').'</td>';
|
||||
print '<td align="right">'.$langs->trans('VAT').'</td>';
|
||||
print '<td align="right">'.$langs->trans('Qty').'</td>';
|
||||
print '<td align="right">'.$langs->trans('PriceUTTC').'</td>';
|
||||
print '</tr>';
|
||||
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE)
|
||||
{
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td> </td><td>'.$langs->trans('Label').'</td>';
|
||||
print '<td align="right">'.$langs->trans('PriceUHT').'</td>';
|
||||
print '<td align="right">'.$langs->trans('VAT').'</td>';
|
||||
print '<td align="right">'.$langs->trans('Qty').'</td>';
|
||||
print '<td align="right">'.$langs->trans('PriceUTTC').'</td>';
|
||||
print '</tr>';
|
||||
|
||||
for ($i = 1 ; $i < 9 ; $i++)
|
||||
{
|
||||
$value_qty = '1';
|
||||
$value_tauxtva = '';
|
||||
print '<tr><td>'.$i.'</td>';
|
||||
print '<td><input size="50" name="label'.$i.'" value="'.$value_label.'" type="text"></td>';
|
||||
print '<td align="right"><input type="text" size="8" name="amount'.$i.'" value="'.$value_pu.'"></td>';
|
||||
print '<td align="right">';
|
||||
$html->select_tva('tauxtva'.$i,$value_tauxtva,$societe,$mysoc);
|
||||
print '</td>';
|
||||
print '<td align="right"><input type="text" size="3" name="qty'.$i.'" value="'.$value_qty.'"></td>';
|
||||
print '<td align="right"><input type="text" size="8" name="amountttc'.$i.'" value=""></td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
for ($i = 1 ; $i < 9 ; $i++)
|
||||
{
|
||||
$value_qty = '1';
|
||||
$value_tauxtva = '';
|
||||
print '<tr><td>'.$i.'</td>';
|
||||
print '<td><input size="50" name="label'.$i.'" value="'.$value_label.'" type="text"></td>';
|
||||
print '<td align="right"><input type="text" size="8" name="amount'.$i.'" value="'.$value_pu.'"></td>';
|
||||
print '<td align="right">';
|
||||
$html->select_tva('tauxtva'.$i,$value_tauxtva,$societe,$mysoc);
|
||||
print '</td>';
|
||||
print '<td align="right"><input type="text" size="3" name="qty'.$i.'" value="'.$value_qty.'"></td>';
|
||||
print '<td align="right"><input type="text" size="8" name="amountttc'.$i.'" value=""></td></tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
// Bouton "Create Draft"
|
||||
print "</table>\n";
|
||||
|
||||
print '<center><input type="submit" class="button" value="'.$langs->trans('Save').'"></center>';
|
||||
print '</form>';
|
||||
print '<br><center><input type="submit" class="button" name="bouton" value="'.$langs->trans('CreateDraft').'"></center>';
|
||||
|
||||
print "</form>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -577,15 +577,15 @@ function show_actions_todo($conf,$langs,$db,$objsoc,$objcon='')
|
|||
|
||||
$obj = $db->fetch_object($result);
|
||||
|
||||
$datep=$obj->dp;
|
||||
$datep=$db->jdate($obj->dp);
|
||||
|
||||
print "<tr ".$bc[$var].">";
|
||||
|
||||
print '<td width="100" align="left" nowrap="nowrap">'.dol_print_date($datep,'dayhour')."</td>\n";
|
||||
print '<td width="120" align="left" nowrap="nowrap">'.dol_print_date($datep,'dayhour')."</td>\n";
|
||||
|
||||
// Picto warning
|
||||
print '<td width="16">';
|
||||
if ($datep && $datep < time()) print ' '.img_warning($langs->trans("Late"));
|
||||
if ($datep && $datep < (time()- ($conf->global->MAIN_DELAY_ACTIONS_TODO *60*60*24)) ) print ' '.img_warning($langs->trans("Late"));
|
||||
else print ' ';
|
||||
print '</td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -317,7 +317,7 @@ class DoliDb
|
|||
* @param type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
|
||||
* @return resource Resultset of answer
|
||||
*/
|
||||
function query($query,$usesavepoint=0,$type='ddl')
|
||||
function query($query,$usesavepoint=0,$type='auto')
|
||||
{
|
||||
$query = trim($query);
|
||||
|
||||
|
|
|
|||
|
|
@ -362,7 +362,7 @@ class DoliDb
|
|||
* @param type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
|
||||
* @return resource Resultset of answer
|
||||
*/
|
||||
function query($query,$usesavepoint=0,$type='ddl')
|
||||
function query($query,$usesavepoint=0,$type='auto')
|
||||
{
|
||||
$query = trim($query);
|
||||
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@ class DoliDb
|
|||
* @param type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
|
||||
* @return resource Resultset of answer
|
||||
*/
|
||||
function query($query,$usesavepoint=0,$type='ddl')
|
||||
function query($query,$usesavepoint=0,$type='auto')
|
||||
{
|
||||
$query = trim($query);
|
||||
if (! $this->database_name)
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ class DoliDb
|
|||
* @param type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
|
||||
* @return string SQL request line converted
|
||||
*/
|
||||
function convertSQLFromMysql($line,$type='ddl')
|
||||
function convertSQLFromMysql($line,$type='auto')
|
||||
{
|
||||
# Removed empty line if this is a comment line for SVN tagging
|
||||
if (preg_match('/^--\s\$Id/i',$line)) {
|
||||
|
|
@ -167,17 +167,29 @@ class DoliDb
|
|||
}
|
||||
if ($line != "")
|
||||
{
|
||||
if ($type == 'auto')
|
||||
{
|
||||
if (preg_match('/ALTER TABLE/i',$line)) $type='dml';
|
||||
else if (preg_match('/CREATE TABLE/i',$line)) $type='dml';
|
||||
else if (preg_match('/DROP TABLE/i',$line)) $type='dml';
|
||||
}
|
||||
|
||||
if ($type == 'dml')
|
||||
{
|
||||
# we are inside create table statement so lets process datatypes
|
||||
$line=preg_replace('/\s/',' ',$line); // Replace tabulation with space
|
||||
|
||||
# we are inside create table statement so lets process datatypes
|
||||
if (preg_match('/(ISAM|innodb)/i',$line)) { # end of create table sequence
|
||||
$line=preg_replace('/\)[\s\t]*type[\s\t]*=[\s\t]*(MyISAM|innodb);/i',');',$line);
|
||||
$line=preg_replace('/\)[\s\t]*engine[\s\t]*=[\s\t]*(MyISAM|innodb);/i',');',$line);
|
||||
$line=preg_replace('/,$/','',$line);
|
||||
}
|
||||
|
||||
if (preg_match('/[\s\t]*(\w*)\s*.*int.*auto_increment/i',$line,$reg)) {
|
||||
$line=preg_replace('/[\s\t]*([a-zA-Z_0-9]*)[\s\t]*.*int.*auto_increment[^,]*/i','\\1 SERIAL PRIMARY KEY',$line);
|
||||
// Process case: "CREATE TABLE llx_c_ziptown(rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY,code..."
|
||||
if (preg_match('/[\s\t\(]*(\w*)[\s\t]+int.*auto_increment/i',$line,$reg)) {
|
||||
$newline=preg_replace('/([\s\t\(]*)([a-zA-Z_0-9]*)[\s\t]+int.*auto_increment[^,]*/i','\\1 \\2 SERIAL PRIMARY KEY',$line);
|
||||
//$line = "-- ".$line." replaced by --\n".$newline;
|
||||
$line=$newline;
|
||||
}
|
||||
|
||||
# tinyint type conversion
|
||||
|
|
@ -484,7 +496,7 @@ class DoliDb
|
|||
* @param type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
|
||||
* @return resource Resultset of answer
|
||||
*/
|
||||
function query($query,$usesavepoint=0,$type='ddl')
|
||||
function query($query,$usesavepoint=0,$type='auto')
|
||||
{
|
||||
$query = trim($query);
|
||||
|
||||
|
|
|
|||
|
|
@ -1947,12 +1947,12 @@ function dolibarr_print_error($db='',$error='')
|
|||
}
|
||||
|
||||
/**
|
||||
* \brief Affiche message erreur system avec toutes les informations pour faciliter le diagnostic et la remontee des bugs.
|
||||
* On doit appeler cette fonction quand une erreur technique bloquante est rencontree.
|
||||
* Toutefois, il faut essayer de ne l'appeler qu'au sein de pages php, les classes devant
|
||||
* renvoyer leur erreur par l'intermediaire de leur propriete "error".
|
||||
* \param db Database handler
|
||||
* \param error Chaine erreur ou tableau de chaines erreur complementaires a afficher
|
||||
* Affiche message erreur system avec toutes les informations pour faciliter le diagnostic et la remontee des bugs.
|
||||
* On doit appeler cette fonction quand une erreur technique bloquante est rencontree.
|
||||
* Toutefois, il faut essayer de ne l'appeler qu'au sein de pages php, les classes devant
|
||||
* renvoyer leur erreur par l'intermediaire de leur propriete "error".
|
||||
* @param db Database handler
|
||||
* @param error String or array of errors strings to show
|
||||
*/
|
||||
function dol_print_error($db='',$error='')
|
||||
{
|
||||
|
|
|
|||
|
|
@ -46,6 +46,24 @@ function pdf_getPDFFont($outputlangs)
|
|||
return $font;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return font size to use for PDF generation
|
||||
* @param outputlangs Output langs object
|
||||
* @return int Size of font to use
|
||||
*/
|
||||
function pdf_getPDFFontSize($outputlangs)
|
||||
{
|
||||
$size=10; // By default, for FPDI or ISO language on TCPDF
|
||||
if (class_exists('TCPDF')) // If TCPDF on, we can use an UTF8 one like DejaVuSans if required (slower)
|
||||
{
|
||||
if ($outputlangs->trans('FONTSIZEFORPDF')!='FONTSIZEFORPDF')
|
||||
{
|
||||
$size = (int) $outputlangs->trans('FONTSIZEFORPDF');
|
||||
}
|
||||
}
|
||||
return $size;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return a formated address (part address/zip/town/state) according to country rules
|
||||
|
|
@ -741,4 +759,4 @@ function pdf_getlinetotalexcltax($object,$i,$outputlangs)
|
|||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -33,17 +33,27 @@ if (!$user->admin)
|
|||
accessforbidden();
|
||||
|
||||
|
||||
if ($_POST["action"] == 'setvalue' && $user->admin)
|
||||
{
|
||||
//$result=dolibarr_set_const($db, "PAYBOX_IBS_DEVISE",$_POST["PAYBOX_IBS_DEVISE"],'chaine',0,'',$conf->entity);
|
||||
$actionsave=$_POST["save"];
|
||||
|
||||
if ($result >= 0)
|
||||
{
|
||||
$mesg='<div class="ok">'.$langs->trans("SetupSaved").'</div>';
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
|
||||
// Sauvegardes parametres
|
||||
if ($actionsave)
|
||||
{
|
||||
$i=0;
|
||||
|
||||
$db->begin();
|
||||
|
||||
$i+=dolibarr_set_const($db,'WEBSERVICES_KEY',trim($_POST["WEBSERVICES_KEY"]),'chaine',0,'',$conf->entity);
|
||||
|
||||
if ($i >= 1)
|
||||
{
|
||||
$db->commit();
|
||||
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->rollback();
|
||||
$mesg = "<font class=\"error\">".$langs->trans("SaveFailed")."</font>";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -58,7 +68,32 @@ $linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToM
|
|||
print_fiche_titre($langs->trans("WebServicesSetup"),$linkback,'setup');
|
||||
|
||||
print $langs->trans("WebServicesDesc")."<br>\n";
|
||||
print "<br>\n";
|
||||
|
||||
print '<form name="agendasetupform" action="'.$_SERVER["PHP_SELF"].'" method="post">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print "<table class=\"noborder\" width=\"100%\">";
|
||||
|
||||
print "<tr class=\"liste_titre\">";
|
||||
print "<td>".$langs->trans("Parameter")."</td>";
|
||||
print "<td>".$langs->trans("Value")."</td>";
|
||||
//print "<td>".$langs->trans("Examples")."</td>";
|
||||
print "<td> </td>";
|
||||
print "</tr>";
|
||||
|
||||
print "<tr class=\"impair\">";
|
||||
print '<td class="fieldrequired">'.$langs->trans("KeyForWebServicesAccess")."</td>";
|
||||
print "<td><input type=\"text\" class=\"flat\" name=\"WEBSERVICES_KEY\" value=\"". ($_POST["WEBSERVICES_KEY"]?$_POST["WEBSERVICES_KEY"]:$conf->global->WEBSERVICES_KEY) . "\" size=\"20\"></td>";
|
||||
print "<td> </td>";
|
||||
print "</tr>";
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '<br><center>';
|
||||
print "<input type=\"submit\" name=\"save\" class=\"button\" value=\"".$langs->trans("Save")."\">";
|
||||
print "</center>";
|
||||
|
||||
print '</form>';
|
||||
|
||||
if ($mesg) print '<br>'.$mesg;
|
||||
|
||||
|
|
@ -67,16 +102,40 @@ print '<br><br>';
|
|||
// Should work with DOL_URL_ROOT='' or DOL_URL_ROOT='/dolibarr'
|
||||
$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',$dolibarr_main_url_root);
|
||||
|
||||
// WSDL
|
||||
print '<u>'.$langs->trans("WSDLCanBeDownloadedHere").':</u><br>';
|
||||
$url=$urlwithouturlroot.DOL_URL_ROOT.'/webservices/server.php?wsdl';
|
||||
$url=$urlwithouturlroot.DOL_URL_ROOT.'/webservices/server_other.php?wsdl';
|
||||
print img_picto('','object_globe.png').' '.'<a href="'.$url.'" target="_blank">'.$url."</a><br>\n";
|
||||
if ($conf->societe->enabled)
|
||||
{
|
||||
$url=$urlwithouturlroot.DOL_URL_ROOT.'/webservices/server_thirdparty.php?wsdl';
|
||||
print img_picto('','object_globe.png').' '.'<a href="'.$url.'" target="_blank">'.$url."</a><br>\n";
|
||||
}
|
||||
if ($conf->facture->enabled)
|
||||
{
|
||||
$url=$urlwithouturlroot.DOL_URL_ROOT.'/webservices/server_invoice.php?wsdl';
|
||||
print img_picto('','object_globe.png').' '.'<a href="'.$url.'" target="_blank">'.$url."</a><br>\n";
|
||||
}
|
||||
print '<br>';
|
||||
|
||||
|
||||
// Endpoint
|
||||
print '<u>'.$langs->trans("EndPointIs").':</u><br>';
|
||||
$url=$urlwithouturlroot.DOL_URL_ROOT.'/webservices/server.php';
|
||||
$url=$urlwithouturlroot.DOL_URL_ROOT.'/webservices/server_other.php';
|
||||
print img_picto('','object_globe.png').' '.'<a href="'.$url.'" target="_blank">'.$url."</a><br>\n";
|
||||
if ($conf->societe->enabled)
|
||||
{
|
||||
$url=$urlwithouturlroot.DOL_URL_ROOT.'/webservices/server_societe.php';
|
||||
print img_picto('','object_globe.png').' '.'<a href="'.$url.'" target="_blank">'.$url."</a><br>\n";
|
||||
}
|
||||
if ($conf->facture->enabled)
|
||||
{
|
||||
$url=$urlwithouturlroot.DOL_URL_ROOT.'/webservices/server_invoice.php';
|
||||
print img_picto('','object_globe.png').' '.'<a href="'.$url.'" target="_blank">'.$url."</a><br>\n";
|
||||
}
|
||||
print '<br>';
|
||||
|
||||
|
||||
$db->close();
|
||||
|
||||
llxFooter('$Date$ - $Revision$');
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ $WS_DOL_URL = $dolibarr_main_url_root.'/webservices/server.php';
|
|||
$WS_METHOD = 'getVersions';
|
||||
|
||||
// Set the parameters to send to the WebService
|
||||
$parameters = array("param1"=>"value1");
|
||||
$parameters = array();
|
||||
|
||||
// Set the WebService URL
|
||||
dol_syslog("Create soapclient_nusoap for URL=".$WS_DOL_URL);
|
||||
|
|
@ -45,6 +45,11 @@ if ($soapclient)
|
|||
// Call the WebService method and store its result in $result.
|
||||
dol_syslog("Call method ".$WS_METHOD);
|
||||
$result = $soapclient->call($WS_METHOD,$parameters);
|
||||
if (! $result)
|
||||
{
|
||||
print $soapclient->error_str;
|
||||
exit;
|
||||
}
|
||||
|
||||
// Show page with result
|
||||
header("Content-type: text/html; charset=utf8");
|
||||
|
|
|
|||
|
|
@ -76,8 +76,9 @@ if ($resql)
|
|||
$from = $obj->email_from;
|
||||
$replyto = $obj->email_replyto;
|
||||
$errorsto = $obj->email_errorsto;
|
||||
|
||||
$msgishtml=-1;
|
||||
// Le message est-il en html
|
||||
$msgishtml=-1; // Unknown by default
|
||||
if (preg_match('/[\s\t]*<html>/i',$message)) $msgishtml=1;
|
||||
|
||||
$i++;
|
||||
}
|
||||
|
|
@ -94,7 +95,7 @@ $nbok=0; $nbko=0;
|
|||
|
||||
// On choisit les mails non deja envoyes pour ce mailing (statut=0)
|
||||
// ou envoyes en erreur (statut=-1)
|
||||
$sql = "SELECT mc.rowid, mc.nom, mc.prenom, mc.email, mc.other";
|
||||
$sql = "SELECT mc.rowid, mc.nom, mc.prenom, mc.email, mc.other, mc.source_url, mc.source_id, mc.source_type";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."mailing_cibles as mc";
|
||||
$sql .= " WHERE mc.statut < 1 AND mc.fk_mailing = ".$id;
|
||||
|
||||
|
|
@ -134,7 +135,7 @@ if ($resql)
|
|||
$other4=$other[3];
|
||||
$other5=$other[4];
|
||||
$substitutionarray=array(
|
||||
'__ID__' => $obj->rowid,
|
||||
'__ID__' => $obj->source_id,
|
||||
'__EMAIL__' => $obj->email,
|
||||
'__LASTNAME__' => $obj->nom,
|
||||
'__FIRSTNAME__' => $obj->prenom,
|
||||
|
|
@ -178,7 +179,7 @@ if ($resql)
|
|||
dol_syslog("ok for #".$i.($mail->error?' - '.$mail->error:''), LOG_DEBUG);
|
||||
|
||||
$sql="UPDATE ".MAIN_DB_PREFIX."mailing_cibles";
|
||||
$sql.=" SET statut=1, date_envoi=SYSDATE() WHERE rowid=".$obj->rowid;
|
||||
$sql.=" SET statut=1, date_envoi=".$db->idate(gmmktime())." WHERE rowid=".$obj->rowid;
|
||||
$resql2=$db->query($sql);
|
||||
if (! $resql2)
|
||||
{
|
||||
|
|
@ -193,7 +194,7 @@ if ($resql)
|
|||
dol_syslog("error for #".$i.($mail->error?' - '.$mail->error:''), LOG_DEBUG);
|
||||
|
||||
$sql="UPDATE ".MAIN_DB_PREFIX."mailing_cibles";
|
||||
$sql.=" SET statut=-1, date_envoi=SYSDATE() WHERE rowid=".$obj->rowid;
|
||||
$sql.=" SET statut=-1, date_envoi=".$db->idate(gmmktime())." WHERE rowid=".$obj->rowid;
|
||||
$resql2=$db->query($sql);
|
||||
if (! $resql2)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user