Fix: Si toutes les box ont été mise du meme coté on peut a nouveau en remettre de l'autre coté.

Qual: Simplification du code de gestion des boxes.
This commit is contained in:
Laurent Destailleur 2007-12-02 14:40:41 +00:00
parent 7ee0aaa41c
commit 13dfe98e34
5 changed files with 154 additions and 116 deletions

View File

@ -38,6 +38,7 @@ class box_factures_fourn extends ModeleBoxes {
var $db; var $db;
var $param; var $param;
var $textnohtmlencoded=true;
var $info_box_head = array(); var $info_box_head = array();
var $info_box_contents = array(); var $info_box_contents = array();
@ -50,7 +51,7 @@ class box_factures_fourn extends ModeleBoxes {
global $langs; global $langs;
$langs->load("boxes"); $langs->load("boxes");
$this->boxlabel=$langs->trans("BoxLastSupplierBills"); $this->boxlabel=$langs->transnoentities("BoxLastSupplierBills");
} }
/** /**
@ -65,7 +66,7 @@ class box_factures_fourn extends ModeleBoxes {
$facturestatic=new FactureFournisseur($db); $facturestatic=new FactureFournisseur($db);
$this->info_box_head = array( $this->info_box_head = array(
'text' => $langs->trans("BoxTitleLastSupplierBills",$max), 'text' => $langs->transnoentities("BoxTitleLastSupplierBills",$max),
); );
if ($user->rights->fournisseur->facture->lire) if ($user->rights->fournisseur->facture->lire)
@ -89,7 +90,7 @@ class box_factures_fourn extends ModeleBoxes {
if ($result) if ($result)
{ {
$num = $db->num_rows(); $num = $db->num_rows($result);
$i = 0; $i = 0;
@ -124,7 +125,7 @@ class box_factures_fourn extends ModeleBoxes {
} }
else { else {
$this->info_box_contents[0][0] = array('align' => 'left', $this->info_box_contents[0][0] = array('align' => 'left',
'text' => $langs->trans("ReadPermissionNotAllowed")); 'text' => $langs->transnoentities("ReadPermissionNotAllowed"));
} }
} }

View File

@ -38,7 +38,7 @@ class ModeleBoxes
var $db; var $db;
var $error=''; var $error='';
var $textnohtmlencoded=false;
/* /*
* \brief Constructeur * \brief Constructeur
@ -105,43 +105,55 @@ class ModeleBoxes
$bcx[0] = 'class="box_pair"'; $bcx[0] = 'class="box_pair"';
$bcx[1] = 'class="box_impair"'; $bcx[1] = 'class="box_impair"';
$var = true; $var = true;
// Define nbcol and nblines
$nbcol=0; $nbcol=0;
if (isset($contents[0])) $nbcol=sizeof($contents[0])+1; if (isset($contents[0])) $nbcol=sizeof($contents[0])+1;
$nblines=sizeof($contents); $nblines=sizeof($contents);
print "\n\n<!-- Box start -->\n"; print "\n\n<!-- Box start -->\n";
print '<table width="100%" class="noborder"'; print '<div style="padding-right: 2px; padding-left: 2px; padding-bottom: 4px;" id="boxto_'.$this->box_id.'">'."\n";
if (isset($this->box_id)) print ' id="boxobject_'.$this->box_id.'"';
print '>';
// Affiche titre de la boite // Affiche titre de la boite
if (! empty($head['text']) || ! empty($head['sublink']))
{
print '<div id="boxto_'.$this->box_id.'_title">'."\n";
print '<table width="100%" class="noborder">'."\n";
print '<tr class="box_titre">'; print '<tr class="box_titre">';
print '<td'; print '<td';
if ($nbcol > 0) { print ' colspan="'.$nbcol.'"'; } if ($nbcol > 0) { print ' colspan="'.$nbcol.'"'; }
print '>'; print '>';
if ($conf->use_ajax) if ($conf->use_ajax)
{ {
print '<table class="nobordernopadding" width="100%"><tr><td align="left">'; print '<table class="nobordernopadding" width="100%"><tr><td align="left">';
} }
if (isset($head['text'])) print dolibarr_trunc($head['text'],isset($head['limit'])?$head['limit']:$this->MAXLENGTHBOX); if (! empty($head['text']))
if (isset($head['sublink']) && $head['sublink']) {
$s=dolibarr_trunc($head['text'],isset($head['limit'])?$head['limit']:$this->MAXLENGTHBOX);
if ($this->textnohtmlencoded) print htmlentities($s);
else print $s;
}
if (! empty($head['sublink']))
{ {
print ' <a href="'.$head['sublink'].'" target="_new">'.img_picto($head['subtext'],$head['subpicto']).'</a>'; print ' <a href="'.$head['sublink'].'" target="_new">'.img_picto($head['subtext'],$head['subpicto']).'</a>';
} }
if ($conf->use_ajax) if ($conf->use_ajax)
{ {
print '</td><td class="nocellnopadd" width="14">'; print '</td><td class="nocellnopadd" width="14">';
print img_picto($langs->trans("Move"),'uparrow','style="cursor:move;"'); print img_picto($langs->trans("MoveBox",$this->box_id),'uparrow','style="cursor:move;"');
print '</td></tr></table>'; print '</td></tr></table>';
} }
print '</td>'; print '</td>';
print '</tr>'; print "</tr>\n";
print "</table>\n";
print "</div>\n";
}
// Affiche chaque ligne de la boite // Affiche chaque ligne de la boite
if ($nblines)
{
print '<table width="100%" class="noborder">'."\n";
for ($i=0, $n=$nblines; $i < $n; $i++) for ($i=0, $n=$nblines; $i < $n; $i++)
{ {
if (isset($contents[$i])) if (isset($contents[$i]))
@ -214,14 +226,17 @@ class ModeleBoxes
print "</td>"; print "</td>";
} }
if (sizeof($contents[$i])) print '</tr>'; if (sizeof($contents[$i])) print "</tr>\n";
} }
} }
print "</table>\n";
}
print "</table>"; // If invisible box with no contents
if (empty($head['text']) && empty($head['sublink']) && ! $nblines) print "<br><br>\n";
print "\n<!-- Box end -->\n\n";
print "</div>\n";
print "<!-- Box end -->\n\n";
} }
} }

View File

@ -550,7 +550,8 @@ if (sizeof($boxarray))
print '<td>'."\n"; print '<td>'."\n";
// Affichage colonne gauche // Affichage colonne gauche
print '<div id="left" style="width: 50%; padding: 0px; margin: 0px; float: left;">'."\n"; print "\n<!-- Box container -->\n";
print '<div id="left" style="position: absolute; display: block; width: 50%; padding: 0px; margin: 0px; float: left;">'."\n";
$ii=0; $ii=0;
foreach ($boxarray as $key => $box) foreach ($boxarray as $key => $box)
{ {
@ -558,21 +559,31 @@ if (sizeof($boxarray))
if (eregi('^A',$box->box_order)) // colonne A if (eregi('^A',$box->box_order)) // colonne A
{ {
$ii++; $ii++;
print '<div style="padding-right: 2px; padding-left: 2px; padding-bottom: 4px;" id="boxto_'.$box->box_id.'">';
//print 'box_id '.$boxarray[$ii]->box_id.' '; //print 'box_id '.$boxarray[$ii]->box_id.' ';
//print 'box_order '.$boxarray[$ii]->box_order.'<br>'; //print 'box_order '.$boxarray[$ii]->box_order.'<br>';
$boxid_left[$key] = $boxarray[$key]->box_id; $boxid_left[$key] = $boxarray[$key]->box_id;
// Affichage boite key // Affichage boite key
$box->loadBox(); $box->loadBox();
$box->showBox(); $box->showBox();
}
}
print '</div>'; // If no box on left, we show add an invisible empty box
if (! $ii)
{
$box->box_id='A';
$box->info_box_head=array();
$box->info_box_contents=array();
$box->showBox();
} }
}
print '</div>'; print "</div>\n";
print "<!-- End box container -->\n";
print "\n"; print "\n";
// Affichage colonne droite // Affichage colonne droite
print "\n<!-- Box container -->\n";
// print '<div id="right" style="position: absolute; display: block; width: 50%; padding: 0px; margin: 0px; float: right;">'."\n";
print '<div id="right" style="width: 50%; padding: 0px; margin: 0px; float: right;">'."\n"; print '<div id="right" style="width: 50%; padding: 0px; margin: 0px; float: right;">'."\n";
$ii=0; $ii=0;
foreach ($boxarray as $key => $box) foreach ($boxarray as $key => $box)
@ -580,18 +591,26 @@ if (sizeof($boxarray))
if (eregi('^B',$box->box_order)) // colonne B if (eregi('^B',$box->box_order)) // colonne B
{ {
$ii++; $ii++;
print '<div style="padding-right: 2px; padding-left: 2px; padding-bottom: 4px;" id="boxto_'.$box->box_id.'">';
//print 'box_id '.$boxarray[$ii]->box_id.' '; //print 'box_id '.$boxarray[$ii]->box_id.' ';
//print 'box_order '.$boxarray[$ii]->box_order.'<br>'; //print 'box_order '.$boxarray[$ii]->box_order.'<br>';
$boxid_right[$key] = $boxarray[$key]->box_id; $boxid_right[$key] = $boxarray[$key]->box_id;
// Affichage boite key // Affichage boite key
$box->loadBox(); $box->loadBox();
$box->showBox(); $box->showBox();
}
}
print '</div>'; // If no box on left, we show add an invisible empty box
if (! $ii)
{
$box->box_id='B';
$box->info_box_head=array();
$box->info_box_contents=array();
$box->showBox();
} }
}
print '</div>'; print "</div>\n";
print "<!-- End box container -->\n";
print "\n"; print "\n";
print "</td></tr>"; print "</td></tr>";
@ -600,6 +619,7 @@ if (sizeof($boxarray))
if ($conf->use_ajax) if ($conf->use_ajax)
{ {
print "\n";
print '<script type="text/javascript" language="javascript"> print '<script type="text/javascript" language="javascript">
function updateOrder(){ function updateOrder(){
var left_list = cleanSerialize(Sortable.serialize(\'left\')); var left_list = cleanSerialize(Sortable.serialize(\'left\'));

View File

@ -392,6 +392,7 @@ CanBeModifiedIfKo=Can be modified if not valid
AutomaticCode=Automatic code AutomaticCode=Automatic code
NotManaged=Not managed NotManaged=Not managed
FeatureDisabled=Feature disabled FeatureDisabled=Feature disabled
MoveBox=Move box %s
# Week day # Week day
Monday=Monday Monday=Monday
Tuesday=Tuesday Tuesday=Tuesday

View File

@ -393,6 +393,7 @@ CanBeModifiedIfKo=Peut
AutomaticCode=Création automatique du code AutomaticCode=Création automatique du code
NotManaged=Non géré NotManaged=Non géré
FeatureDisabled=Fonction désactivée FeatureDisabled=Fonction désactivée
MoveBox=Déplacer la boite %s
# Week day # Week day
Monday=Lundi Monday=Lundi
Tuesday=Mardi Tuesday=Mardi