Le descriptif de ligne de propal est propagé à la facture créée.

This commit is contained in:
Laurent Destailleur 2005-08-14 01:24:47 +00:00
parent fb7e6808e8
commit ce341ca56e

View File

@ -68,6 +68,7 @@ $NBLINES=4;
/* /*
* Actions * Actions
*/ */
if ($_POST["action"] == 'classin') if ($_POST["action"] == 'classin')
{ {
$facture = new Facture($db); $facture = new Facture($db);
@ -76,7 +77,7 @@ if ($_POST["action"] == 'classin')
} }
/* /*
* * Insertion facture
*/ */
if ($_POST["action"] == 'add') if ($_POST["action"] == 'add')
{ {
@ -132,7 +133,7 @@ if ($_POST["action"] == 'add')
else else
{ {
/* /*
* Propale * Si creation depuis propale
*/ */
if ($_POST["propalid"]) if ($_POST["propalid"])
{ {
@ -147,9 +148,10 @@ if ($_POST["action"] == 'add')
{ {
for ($i = 0 ; $i < sizeof($prop->lignes) ; $i++) for ($i = 0 ; $i < sizeof($prop->lignes) ; $i++)
{ {
// print "<pre>DEBUG: la propale précédente en ligne " . $prop->lignes[$i]->libelle . " avait comme prix : " . $prop->lignes[$i]->price . " !</pre>\n"; $liblignefac=($prop->lignes[$i]->desc?$prop->lignes[$i]->desc:$prop->lignes[$i]->libelle);
$result = $facture->addline($facid, $result = $facture->addline($facid,
addslashes($prop->lignes[$i]->libelle), addslashes($liblignefac),
$prop->lignes[$i]->subprice, $prop->lignes[$i]->subprice,
$prop->lignes[$i]->qty, $prop->lignes[$i]->qty,
$prop->lignes[$i]->tva_tx, $prop->lignes[$i]->tva_tx,
@ -566,8 +568,7 @@ if ($_GET["action"] == 'create')
$html->select_array("condid",$conds); $html->select_array("condid",$conds);
print "</td></tr>"; print "</td></tr>";
/* Mode de réglement */ // Mode de réglement
print "<tr><td>Mode de réglement :</td><td>"; print "<tr><td>Mode de réglement :</td><td>";
$sql = "SELECT id, libelle FROM ".MAIN_DB_PREFIX."c_paiement ORDER BY libelle"; $sql = "SELECT id, libelle FROM ".MAIN_DB_PREFIX."c_paiement ORDER BY libelle";
$result = $db->query($sql); $result = $db->query($sql);
@ -588,6 +589,7 @@ if ($_GET["action"] == 'create')
$html->select_array("mode_reglement",$modesregl); $html->select_array("mode_reglement",$modesregl);
print "</td></tr>"; print "</td></tr>";
// Projet
if ($conf->projet->enabled) if ($conf->projet->enabled)
{ {
$langs->load("projects"); $langs->load("projects");
@ -702,20 +704,21 @@ if ($_GET["action"] == 'create')
print "</form>\n"; print "</form>\n";
print "</table>\n"; print "</table>\n";
// Si creation depuis un propal
if ($_GET["propalid"]) if ($_GET["propalid"])
{ {
/*
* Produits
*/
print '<br>'; print '<br>';
print_titre($langs->trans("Products")); print_titre($langs->trans("ProductsAndServices"));
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("Ref").'</td><td>'.$langs->trans("Product").'</td>'; print '<tr class="liste_titre"><td>'.$langs->trans("Ref").'</td><td>'.$langs->trans("Description").'</td>';
print '<td align="right">'.$langs->trans("Price").'</td><td align="center">'.$langs->trans("Discount").'</td><td align="center">'.$langs->trans("Qty").'</td></tr>'; print '<td align="right">'.$langs->trans("VAT").'</td>';
print '<td align="right">'.$langs->trans("PriceUHT").'</td>';
print '<td align="right">'.$langs->trans("Qty").'</td>';
print '<td align="right">'.$langs->trans("Discount").'</td></tr>';
// Lignes de propal produits prédéfinis // Lignes de propal produits prédéfinis
$sql = "SELECT pt.rowid, p.label as product, p.ref, pt.price, pt.qty, p.rowid as prodid, pt.remise_percent"; $sql = "SELECT pt.rowid, p.label as product, p.ref, pt.tva_tx, pt.price, pt.qty, p.rowid as prodid, pt.remise_percent, pt.description";
$sql .= " FROM ".MAIN_DB_PREFIX."propaldet as pt, ".MAIN_DB_PREFIX."product as p WHERE pt.fk_product = p.rowid AND pt.fk_propal = ".$_GET["propalid"]; $sql .= " FROM ".MAIN_DB_PREFIX."propaldet as pt, ".MAIN_DB_PREFIX."product as p WHERE pt.fk_product = p.rowid AND pt.fk_propal = ".$_GET["propalid"];
$sql .= " ORDER BY pt.rowid ASC"; $sql .= " ORDER BY pt.rowid ASC";
$result = $db->query($sql); $result = $db->query($sql);
@ -728,16 +731,22 @@ if ($_GET["action"] == 'create')
{ {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($result);
$var=!$var; $var=!$var;
print "<tr $bc[$var]><td>".img_object($langs->trans(""),"product")." ".$objp->ref."</td>\n"; print '<tr '.$bc[$var].'><td><a href="'.DOL_URL_ROOT.'/product/fiche.php?id='.$objp->prodid.'">'.img_object($langs->trans(""),"product")." ".$objp->ref."</a>";
print '<td>'.$objp->product.'</td>'; print $objp->product?' - '.$objp->product:'';
print "<td align=\"right\">".price($objp->price)."</td>"; print "</td>\n";
print '<td align="center">'.$objp->remise_percent.'%</td>'; print '<td>';
print "<td align=\"center\">".$objp->qty."</td></tr>\n"; print $objp->description;
print '</td>';
print '<td align="right">'.$objp->tva_tx.'%</td>';
print '<td align="right">'.price($objp->price).'</td>';
print '<td align="right">'.$objp->qty.'</td>';
print '<td align="right">'.$objp->remise_percent.'%</td>';
print '</tr>';
$i++; $i++;
} }
} }
// Lignes de propal non produits prédéfinis // Lignes de propal non produits prédéfinis
$sql = "SELECT pt.rowid, pt.description as product, pt.price, pt.qty, pt.remise_percent"; $sql = "SELECT pt.rowid, pt.description as product, pt.tva_tx, pt.price, pt.qty, pt.remise_percent";
$sql .= " FROM ".MAIN_DB_PREFIX."propaldet as pt "; $sql .= " FROM ".MAIN_DB_PREFIX."propaldet as pt ";
$sql .= " WHERE pt.fk_propal = ".$_GET["propalid"]; $sql .= " WHERE pt.fk_propal = ".$_GET["propalid"];
$sql .= " AND pt.fk_product = 0"; $sql .= " AND pt.fk_product = 0";
@ -753,9 +762,11 @@ if ($_GET["action"] == 'create')
$var=!$var; $var=!$var;
print "<tr $bc[$var]><td>&nbsp;</td>\n"; print "<tr $bc[$var]><td>&nbsp;</td>\n";
print '<td>'.$objp->product.'</td>'; print '<td>'.$objp->product.'</td>';
print '<td align="right">'.$objp->tva_tx.'%</td>';
print '<td align="right">'.price($objp->price).'</td>'; print '<td align="right">'.price($objp->price).'</td>';
print '<td align="center">'.$objp->remise_percent.'%</td>'; print '<td align="right">'.$objp->qty.'</td>';
print "<td align=\"center\">".$objp->qty."</td></tr>\n"; print '<td align="right">'.$objp->remise_percent.'%</td>';
print '</tr>';
$i++; $i++;
} }
} }
@ -767,13 +778,10 @@ if ($_GET["action"] == 'create')
print '</table>'; print '</table>';
} }
/* // Si creation depuis une commande
* Produits dans la commande
*
*/
if ($_GET["commandeid"]) if ($_GET["commandeid"])
{ {
print_titre("Produits"); print_titre($langs->trans("Products"));
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("Ref").'</td><td>'.$langs->trans("Product").'</td>'; print '<tr class="liste_titre"><td>'.$langs->trans("Ref").'</td><td>'.$langs->trans("Product").'</td>';
@ -1034,13 +1042,12 @@ else
/* /*
* Lignes de factures * Lignes de factures
*
*/ */
$sql = "SELECT l.fk_product, l.description, l.price, l.qty, l.rowid, l.tva_taux"; $sql = "SELECT l.fk_product, l.description, l.price, l.qty, l.rowid, l.tva_taux,";
$sql .= " , l.remise_percent, l.subprice,"; $sql .= " l.remise_percent, l.subprice,";
$sql .= $db->pdate("l.date_start")." as date_start"; $sql .= " ".$db->pdate("l.date_start")." as date_start,";
$sql .= " , ".$db->pdate("l.date_end")." as date_end, "; $sql .= " ".$db->pdate("l.date_end")." as date_end, ";
$sql .= " p.fk_product_type"; $sql .= " p.ref, p.fk_product_type, p.label as product";
$sql .= " FROM ".MAIN_DB_PREFIX."facturedet as l "; $sql .= " FROM ".MAIN_DB_PREFIX."facturedet as l ";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product p ON l.fk_product=p.rowid"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product p ON l.fk_product=p.rowid";
$sql .= " WHERE l.fk_facture = ".$fac->id; $sql .= " WHERE l.fk_facture = ".$fac->id;
@ -1055,17 +1062,17 @@ else
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
if ($num_lignes) if ($num_lignes)
{ {
print "<tr class=\"liste_titre\">"; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans('Description').'</td>';
print '<td width="50" align="right">'.$langs->trans("VAT").'</td>'; print '<td align="right" width="50">'.$langs->trans('VAT').'</td>';
print '<td width="80" align="right">'.$langs->trans("PriceUHT").'</td>'; print '<td align="right" width="80">'.$langs->trans('PriceUHT').'</td>';
print '<td width="50" align="right">'.$langs->trans("Qty").'</td>'; print '<td align="right" width="50">'.$langs->trans('Qty').'</td>';
print '<td width="50" align="right">'.$langs->trans("Discount").'</td>'; print '<td align="right" width="50">'.$langs->trans('Discount').'</td>';
print '<td width="80" align="right">'.$langs->trans("AmountHT").'</td>'; print '<td align="right" width="50">'.$langs->trans('AmountHT').'</td>';
print '<td colspan="3">&nbsp;</td>'; print '<td colspan="3">&nbsp;</td>';
print "</tr>\n"; print "</tr>\n";
} }
$var=True; $var=true;
while ($i < $num_lignes) while ($i < $num_lignes)
{ {
$objp = $db->fetch_object($resql); $objp = $db->fetch_object($resql);
@ -1074,28 +1081,46 @@ else
// Update ligne de facture // Update ligne de facture
if ($_GET["action"] != 'editline' || $_GET["rowid"] != $objp->rowid) if ($_GET["action"] != 'editline' || $_GET["rowid"] != $objp->rowid)
{ {
print '<tr '.$bc[$var].'>';
print "<tr $bc[$var]>";
if ($objp->fk_product > 0) if ($objp->fk_product > 0)
{ {
print '<td><a href="'.DOL_URL_ROOT.'/product/fiche.php?id='.$objp->fk_product.'">'; print '<td><a href="'.DOL_URL_ROOT.'/product/fiche.php?id='.$objp->fk_product.'">';
if ($objp->fk_product_type) print img_object($langs->trans("ShowService"),"service"); if ($objp->fk_product_type) print img_object($langs->trans('ShowService'),'service');
else print img_object($langs->trans("ShowProduct"),"product"); else print img_object($langs->trans('ShowProduct'),'product');
print ' '.stripslashes(nl2br($objp->description)).'</a>'; print ' '.$objp->ref.'</a>';
if ($objp->date_start && $objp->date_end) { print " (Du ".dolibarr_print_date($objp->date_start)." au ".dolibarr_print_date($objp->date_end).")"; } print ' - '.nl2br($objp->product);
if ($objp->date_start && ! $objp->date_end) { print " (A partir du ".dolibarr_print_date($objp->date_start).")"; } if ($objp->date_start && $objp->date_end)
if (! $objp->date_start && $objp->date_end) { print " (Jusqu'au ".dolibarr_print_date($objp->date_end).")"; } {
print ' (Du '.dolibarr_print_date($objp->date_start).' au '.dolibarr_print_date($objp->date_end).')';
}
if ($objp->date_start && ! $objp->date_end)
{
print ' (A partir du '.dolibarr_print_date($objp->date_start).')';
}
if (! $objp->date_start && $objp->date_end)
{
print " (Jusqu'au ".dolibarr_print_date($objp->date_end).')';
}
print ($objp->description&&$objp->description!=$objp->product)?'<br>'.$objp->description:'';
print '</td>'; print '</td>';
} }
else else
{ {
print "<td>".stripslashes(nl2br($objp->description)); print '<td>'.stripslashes(nl2br($objp->description));
if ($objp->date_start && $objp->date_end) { print " (Du ".dolibarr_print_date($objp->date_start)." au ".dolibarr_print_date($objp->date_end).")"; } if ($objp->date_start && $objp->date_end)
if ($objp->date_start && ! $objp->date_end) { print " (A partir du ".dolibarr_print_date($objp->date_start).")"; } {
if (! $objp->date_start && $objp->date_end) { print " (Jusqu'au ".dolibarr_print_date($objp->date_end).")"; } print ' (Du '.dolibarr_print_date($objp->date_start).' au '.dolibarr_print_date($objp->date_end).')';
}
if ($objp->date_start && ! $objp->date_end)
{
print ' (A partir du '.dolibarr_print_date($objp->date_start).')';
}
if (! $objp->date_start && $objp->date_end)
{
print " (Jusqu'au ".dolibarr_print_date($objp->date_end).')';
}
print "</td>\n"; print "</td>\n";
} }
print '<td align="right">'.$objp->tva_taux.'%</td>'; print '<td align="right">'.$objp->tva_taux.'%</td>';
print '<td align="right">'.price($objp->subprice)."</td>\n"; print '<td align="right">'.price($objp->subprice)."</td>\n";
print '<td align="right">'.$objp->qty.'</td>'; print '<td align="right">'.$objp->qty.'</td>';
@ -1149,14 +1174,24 @@ else
print '<input type="hidden" name="facid" value="'.$fac->id.'">'; print '<input type="hidden" name="facid" value="'.$fac->id.'">';
print '<input type="hidden" name="rowid" value="'.$_GET["rowid"].'">'; print '<input type="hidden" name="rowid" value="'.$_GET["rowid"].'">';
print "<tr $bc[$var]>"; print "<tr $bc[$var]>";
print '<td><textarea name="desc" cols="50" rows="2">'.stripslashes($objp->description).'</textarea></td>'; print '<td>';
if ($objp->fk_product > 0)
{
print '<a href="'.DOL_URL_ROOT.'/product/fiche.php?id='.$objp->fk_product.'">';
if ($objp->fk_product_type) print img_object($langs->trans('ShowService'),'service');
else print img_object($langs->trans('ShowProduct'),'product');
print ' '.$objp->ref.'</a>';
print ' - '.stripslashes(nl2br($objp->product));
print '<br>';
}
print '<textarea name="desc" cols="50" rows="1">'.stripslashes($objp->description).'</textarea></td>';
print '<td align="right">'; print '<td align="right">';
//print $html->select_tva("tva_tx",$objp->tva_taux); //print $html->select_tva("tva_tx",$objp->tva_taux);
print $objp->tva_taux."%"; // Taux tva dépend du produit, donc on ne doit pas pouvoir le changer ici print $objp->tva_taux."%"; // Taux tva dépend du produit, donc on ne doit pas pouvoir le changer ici
print '</td>'; print '</td>';
print '<td align="right"><input size="8" type="text" name="price" value="'.price($objp->subprice).'"></td>'; print '<td align="right"><input size="6" type="text" name="price" value="'.price($objp->subprice).'"></td>';
print '<td align="right"><input size="4" type="text" name="qty" value="'.$objp->qty.'"></td>'; print '<td align="right"><input size="2" type="text" name="qty" value="'.$objp->qty.'"></td>';
print '<td align="right"><input size="3" type="text" name="remise_percent" value="'.$objp->remise_percent.'">%</td>'; print '<td align="right" nowrap><input size="2" type="text" name="remise_percent" value="'.$objp->remise_percent.'">%</td>';
print '<td align="center" rowspan="2" colspan="4" valign="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">'; print '<td align="center" rowspan="2" colspan="4" valign="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
print '<br /><input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td>'; print '<br /><input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td>';
print '</tr>' . "\n"; print '</tr>' . "\n";
@ -1192,11 +1227,11 @@ else
print "<form action=\"".$_SERVER["PHP_SELF"]."\" method=\"post\">"; print "<form action=\"".$_SERVER["PHP_SELF"]."\" method=\"post\">";
print "<tr class=\"liste_titre\">"; print "<tr class=\"liste_titre\">";
print '<td width="54%">'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans("Description").'</td>';
print '<td width="8%" align="right">'.$langs->trans("VAT").'</td>'; print '<td align="right">'.$langs->trans("VAT").'</td>';
print '<td width="12%" align="right">'.$langs->trans("PriceUHT").'</td>'; print '<td align="right">'.$langs->trans("PriceUHT").'</td>';
print '<td width="8%" align="right">'.$langs->trans("Qty").'</td>'; print '<td align="right">'.$langs->trans("Qty").'</td>';
print '<td width="8%" align="right">'.$langs->trans("Discount").'</td>'; print '<td align="right">'.$langs->trans("Discount").'</td>';
print '<td>&nbsp;</td>'; print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>'; print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>'; print '<td>&nbsp;</td>';
@ -1208,7 +1243,7 @@ else
$var=!$var; $var=!$var;
print '<tr '.$bc[$var].'>'; print '<tr '.$bc[$var].'>';
print '<td><textarea name="desc" cols="50" rows="2"></textarea></td>'; print '<td><textarea name="desc" cols="50" rows="1"></textarea></td>';
print '<td align="right">'; print '<td align="right">';
print $html->select_tva("tva_tx",$conf->defaulttx); print $html->select_tva("tva_tx",$conf->defaulttx);
print '</td>'; print '</td>';
@ -1247,7 +1282,7 @@ else
{ {
if ($user->rights->facture->valider) if ($user->rights->facture->valider)
{ {
print " <a class=\"tabAction\" href=\"facture.php?facid=".$fac->id."&amp;action=valid\">".$langs->trans("Valid")."</a>\n"; print " <a class=\"butAction\" href=\"facture.php?facid=".$fac->id."&amp;action=valid\">".$langs->trans("Valid")."</a>\n";
} }
} }
else else
@ -1257,11 +1292,11 @@ else
{ {
if ($fac->paye == 0) if ($fac->paye == 0)
{ {
print " <a class=\"tabAction\" href=\"facture.php?facid=$fac->id&amp;action=pdf\">".$langs->trans("BuildPDF")."</a>\n"; print " <a class=\"butAction\" href=\"facture.php?facid=$fac->id&amp;action=pdf\">".$langs->trans("BuildPDF")."</a>\n";
} }
else else
{ {
print " <a class=\"tabAction\" href=\"facture.php?facid=$fac->id&amp;action=pdf\">".$langs->trans("RebuildPDF")."</a>\n"; print " <a class=\"butAction\" href=\"facture.php?facid=$fac->id&amp;action=pdf\">".$langs->trans("RebuildPDF")."</a>\n";
} }
} }
} }
@ -1269,38 +1304,38 @@ else
// Supprimer // Supprimer
if ($fac->statut == 0 && $user->rights->facture->supprimer && $_GET["action"] != 'delete') if ($fac->statut == 0 && $user->rights->facture->supprimer && $_GET["action"] != 'delete')
{ {
print "<a class=\"butDelete\" href=\"facture.php?facid=$fac->id&amp;action=delete\">".$langs->trans("Delete")."</a>"; print "<a class=\"butActionDelete\" href=\"facture.php?facid=$fac->id&amp;action=delete\">".$langs->trans("Delete")."</a>";
} }
// Envoyer // Envoyer
if ($fac->statut == 1 && $user->rights->facture->envoyer) if ($fac->statut == 1 && $user->rights->facture->envoyer)
{ {
print " <a class=\"tabAction\" href=\"".$_SERVER["PHP_SELF"]."?facid=$fac->id&amp;action=presend\">".$langs->trans("Send")."</a>\n"; print " <a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?facid=$fac->id&amp;action=presend\">".$langs->trans("Send")."</a>\n";
} }
// Envoyer une relance // Envoyer une relance
if ($fac->statut == 1 && price($resteapayer) > 0 && $user->rights->facture->envoyer) if ($fac->statut == 1 && price($resteapayer) > 0 && $user->rights->facture->envoyer)
{ {
print " <a class=\"tabAction\" href=\"".$_SERVER["PHP_SELF"]."?facid=$fac->id&amp;action=prerelance\">".$langs->trans("SendRemind")."</a>\n"; print " <a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?facid=$fac->id&amp;action=prerelance\">".$langs->trans("SendRemind")."</a>\n";
} }
// Emettre paiement // Emettre paiement
if ($fac->statut == 1 && $fac->paye == 0 && $user->rights->facture->paiement) if ($fac->statut == 1 && $fac->paye == 0 && $user->rights->facture->paiement)
{ {
print " <a class=\"tabAction\" href=\"paiement.php?facid=".$fac->id."&amp;action=create\">".$langs->trans("DoPaiement")."</a>\n"; print " <a class=\"butAction\" href=\"paiement.php?facid=".$fac->id."&amp;action=create\">".$langs->trans("DoPaiement")."</a>\n";
} }
// Classer 'payé' // Classer 'payé'
if ($fac->statut == 1 && price($resteapayer) <= 0 if ($fac->statut == 1 && price($resteapayer) <= 0
&& $fac->paye == 0 && $user->rights->facture->paiement) && $fac->paye == 0 && $user->rights->facture->paiement)
{ {
print " <a class=\"tabAction\" href=\"".$_SERVER["PHP_SELF"]."?facid=$fac->id&amp;action=payed\">".$langs->trans("ClassifyPayed")."</a>\n"; print " <a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?facid=$fac->id&amp;action=payed\">".$langs->trans("ClassifyPayed")."</a>\n";
} }
// Classer 'abandonnée' (possible si validée et pas encore classer payée) // Classer 'abandonnée' (possible si validée et pas encore classer payée)
if ($fac->statut == 1 && $fac->paye == 0 && $user->rights->facture->paiement) if ($fac->statut == 1 && $fac->paye == 0 && $user->rights->facture->paiement)
{ {
print " <a class=\"tabAction\" href=\"".$_SERVER["PHP_SELF"]."?facid=$fac->id&amp;action=canceled\">".$langs->trans("ClassifyCanceled")."</a>\n"; print " <a class=\"butAction\" href=\"".$_SERVER["PHP_SELF"]."?facid=$fac->id&amp;action=canceled\">".$langs->trans("ClassifyCanceled")."</a>\n";
} }
// Récurrente // Récurrente
@ -1308,7 +1343,7 @@ else
{ {
if ($fac->statut > 0) if ($fac->statut > 0)
{ {
print " <a class=\"tabAction\" href=\"facture/fiche-rec.php?facid=".$fac->id."&amp;action=create\">Récurrente</a>\n"; print " <a class=\"butAction\" href=\"facture/fiche-rec.php?facid=".$fac->id."&amp;action=create\">Récurrente</a>\n";
} }
} }