Merge remote-tracking branch 'origin/3.7' into 3.8

Conflicts:
	htdocs/core/modules/modHoliday.class.php
	htdocs/holiday/card.php
This commit is contained in:
Laurent Destailleur 2015-09-03 23:27:47 +02:00
commit d19ec89bf1
16 changed files with 70 additions and 37 deletions

View File

@ -240,6 +240,11 @@ FIX [ bug #3288 ] Tasks box is not properly drawn
FIX [ bug #3211 ] Outstading bill amount of a client showed wrong amounts
FIX [ bug #3321 ] Users with certain permissions were shown a "forbidden access" page even if they had the rights
FIX [ bug #3426 ] Unable to create an invoice from a contract with extrafields
FIX [ bug #3431 ] Invoice bank account is not respected
FIX [ bug #3432 ] Spaces should be removed from IBAN when formatting it
FIX [ bug #3358 ] Tasks box does not work with PostgreSQL
FIX [ bug #3383 ] Company name is overlapped with company direction in PDF models
FIX [ bug #3460 ] Bank account is not saved when creating a customer invoice and facing an error message
NEW: Created new ContratLigne::insert function

View File

@ -2242,6 +2242,10 @@ if ($action == 'create')
print '</td></tr>';
// Bank Account
if (isset($_POST['fk_account'])) {
$fk_account = $_POST['fk_account'];
}
print '<tr><td>' . $langs->trans('BankAccount') . '</td><td colspan="2">';
$form->select_comptes($fk_account, 'fk_account', 0, '', 1);
print '</td></tr>';

View File

@ -82,7 +82,7 @@ class box_task extends ModeleBoxes
$sql = "SELECT pt.fk_statut, count(pt.rowid) as nb, sum(ptt.task_duration) as durationtot, sum(pt.planned_workload) as plannedtot";
$sql.= " FROM ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."projet_task_time as ptt";
$sql.= " WHERE DATE_FORMAT(pt.datec,'%Y') = ".date("Y")." ";
$sql.= " WHERE DATE_FORMAT(pt.datec,'%Y') = '".date("Y")."' ";
$sql.= " AND pt.rowid = ptt.fk_task";
$sql.= " GROUP BY pt.fk_statut ";
$sql.= " ORDER BY pt.fk_statut DESC";

View File

@ -676,7 +676,8 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default
if ($account->getCountryCode() == 'IN') $ibankey="IFSC";
if (! empty($account->iban))
{
$ibanDisplay_temp = $outputlangs->convToOutputCharset($account->iban);
//Remove whitespaces to ensure we are dealing with the format we expect
$ibanDisplay_temp = str_replace(' ', '', $outputlangs->convToOutputCharset($account->iban));
$ibanDisplay = "";
for($i = 0; $i < dol_strlen($ibanDisplay_temp); $i++)

View File

@ -1325,9 +1325,11 @@ class pdf_einstein extends ModelePDFCommandes
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}

View File

@ -1217,9 +1217,11 @@ class pdf_proforma extends ModelePDFCommandes
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}

View File

@ -647,9 +647,11 @@ class pdf_strato extends ModelePDFContract
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $this->recipient->name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($this->recipient->name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}
}

View File

@ -650,9 +650,11 @@ class pdf_merou extends ModelePdfExpedition
$pdf->SetXY($blDestX,$Yoff);
$pdf->MultiCell($blW,3, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 3);
$pdf->SetXY($blDestX,$Yoff+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->MultiCell($blW,2, $carac_client, 0, 'L');
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}
}

View File

@ -694,9 +694,11 @@ class pdf_rouget extends ModelePdfExpedition
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}

View File

@ -958,9 +958,9 @@ class pdf_crabe extends ModelePDFFactures
// If payment mode not forced or forced to VIR, show payment with BAN
if (empty($object->mode_reglement_code) || $object->mode_reglement_code == 'VIR')
{
if (! empty($object->fk_bank) || ! empty($conf->global->FACTURE_RIB_NUMBER))
if (! empty($object->fk_account) || ! empty($conf->global->FACTURE_RIB_NUMBER))
{
$bankid=(empty($object->fk_bank)?$conf->global->FACTURE_RIB_NUMBER:$object->fk_bank);
$bankid=(empty($object->fk_account)?$conf->global->FACTURE_RIB_NUMBER:$object->fk_account);
$account = new Account($this->db);
$account->fetch($bankid);
@ -1611,11 +1611,13 @@ class pdf_crabe extends ModelePDFFactures
// Show recipient name
$pdf->SetXY($posx+2,$posy+3);
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$pdf->MultiCell($widthrecbox, 2, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}

View File

@ -641,9 +641,11 @@ class pdf_soleil extends ModelePDFFicheinter
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}
}

View File

@ -875,9 +875,11 @@ class pdf_typhon extends ModelePDFDeliveryOrder
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}

View File

@ -1517,9 +1517,11 @@ class pdf_azur extends ModelePDFPropales
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}

View File

@ -1132,9 +1132,11 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}
}

View File

@ -1184,9 +1184,11 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
$pdf->SetFont('','B', $default_font_size);
$pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L');
$posy = $pdf->getY();
// Show recipient information
$pdf->SetFont('','', $default_font_size - 1);
$pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4));
$pdf->SetXY($posx+2,$posy);
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
}
}

View File

@ -51,11 +51,12 @@ $now=dol_now();
* Actions
*/
// If create a request
if ($action == 'create')
{
$cp = new Holiday($db);
// Si pas le droit de créer une demande
// If no right to create a request
if (($userid == $user->id && empty($user->rights->holiday->write)) || ($userid != $user->id && empty($user->rights->holiday->write_all)))
{
$error++;
@ -83,21 +84,21 @@ if ($action == 'create')
$description = trim(GETPOST('description'));
$userID = GETPOST('userID');
// Si pas de date de début
// If no start date
if (empty($date_debut))
{
header('Location: card.php?action=request&error=nodatedebut');
exit;
}
// Si pas de date de fin
// If no end date
if (empty($date_fin))
{
header('Location: card.php?action=request&error=nodatefin');
exit;
}
// Si date de début après la date de fin
// If start date after end date
if ($date_debut > $date_fin)
{
header('Location: card.php?action=request&error=datefin');
@ -112,7 +113,7 @@ if ($action == 'create')
exit;
}
// Si aucun jours ouvrés dans la demande
// If there is no Business Days within request
$nbopenedday=num_open_day($date_debut_gmt, $date_fin_gmt, 0, 1, $halfday);
if($nbopenedday < 0.5)
{
@ -120,7 +121,7 @@ if ($action == 'create')
exit;
}
// Si pas de validateur choisi
// If no validator designated
if ($valideur < 1)
{
header('Location: card.php?action=request&error=Valideur');
@ -137,7 +138,7 @@ if ($action == 'create')
$verif = $cp->create($user);
// Si pas d'erreur SQL on redirige vers la fiche de la demande
// If no SQL error we redirect to the request card
if ($verif > 0)
{
$db->commit();
@ -149,7 +150,7 @@ if ($action == 'create')
{
$db->rollback();
// Sinon on affiche le formulaire de demande avec le message d'erreur SQL
// Otherwise we display the request form with the SQL error message
header('Location: card.php?action=request&error=SQL_Create&msg='.$cp->error);
exit;
}
@ -169,7 +170,7 @@ if ($action == 'update')
else if ($starthalfday == 'afternoon') $halfday=-1;
else if ($endhalfday == 'morning') $halfday=1;
// Si pas le droit de modifier une demande
// If no right to modify a request
if (! $user->rights->holiday->write)
{
header('Location: card.php?action=request&error=CantUpdate');
@ -181,40 +182,40 @@ if ($action == 'update')
$canedit=(($user->id == $cp->fk_user && $user->rights->holiday->write) || ($user->id != $cp->fk_user && $user->rights->holiday->write_all));
// Si en attente de validation
// If under validation
if ($cp->statut == 1)
{
// Si c'est le créateur ou qu'il a le droit de tout lire / modifier
// If this is the requestor or has read/write rights
if ($canedit)
{
$valideur = $_POST['valideur'];
$description = trim($_POST['description']);
// Si pas de date de début
// If no start date
if (empty($_POST['date_debut_'])) {
header('Location: card.php?id='.$_POST['holiday_id'].'&action=edit&error=nodatedebut');
exit;
}
// Si pas de date de fin
// If no end date
if (empty($_POST['date_fin_'])) {
header('Location: card.php?id='.$_POST['holiday_id'].'&action=edit&error=nodatefin');
exit;
}
// Si date de début après la date de fin
// If start date after end date
if ($date_debut > $date_fin) {
header('Location: card.php?id='.$_POST['holiday_id'].'&action=edit&error=datefin');
exit;
}
// Si pas de valideur choisi
// If no validator designated
if ($valideur < 1) {
header('Location: card.php?id='.$_POST['holiday_id'].'&action=edit&error=Valideur');
exit;
}
// Si pas de jours ouvrés dans la demande
// If there is no Business Days within request
$nbopenedday=num_open_day($date_debut_gmt, $date_fin_gmt, 0, 1, $halfday);
if ($nbopenedday < 0.5)
{
@ -237,7 +238,7 @@ if ($action == 'update')
}
else
{
// Sinon on affiche le formulaire de demande avec le message d'erreur SQL
// Otherwise we display the request form with the SQL error message
header('Location: card.php?id='.$_POST['holiday_id'].'&action=edit&error=SQL_Create&msg='.$cp->error);
exit;
}
@ -248,7 +249,7 @@ if ($action == 'update')
}
}
// Si suppression de la demande
// If delete of request
if ($action == 'confirm_delete' && GETPOST('confirm') == 'yes' && $user->rights->holiday->delete)
{
$error=0;
@ -260,7 +261,7 @@ if ($action == 'confirm_delete' && GETPOST('confirm') == 'yes' && $user->rights-
$canedit=(($user->id == $cp->fk_user && $user->rights->holiday->write) || ($user->id != $cp->fk_user && $user->rights->holiday->write_all));
// Si c'est bien un brouillon
// If this is a rough draft
if ($cp->statut == 1 || $cp->statut == 3)
{
// Si l'utilisateur à le droit de lire cette demande, il peut la supprimer