delete();
}
/*
* Cloning
*/
if (isset ($_REQUEST ['clone']))
{
echo "
cloning
";
/*
* We need to clone the forecast
*/
$anti=new Forecast($cn,$_REQUEST ['f_id']);
$anti->object_clone();
}
/**********************************************************************
* Save the modification mod_cat_save
*
*
**********************************************************************/
if ( isset($_POST['mod_cat_save']))
{
/*
* We save the forecast
*/
$anti=new Forecast($cn,$_POST['f_id']);
try
{
$cn->start();
/* Save forecast */
$anti->set_parameter('name',$_POST['an_name']);
$anti->set_parameter('start_date',$_POST['start_date']);
$anti->set_parameter('end_date',$_POST['end_date']);
$anti->save();
/* add new category */
for ($i=0;$iset_parameter('order',$_POST['fc_order_new'.$i]);
$c->set_parameter('desc',$_POST['fr_cat_new'.$i]);
$c->set_parameter('forecast',$_POST['f_id']);
$c->save();
}
}
}
/* update existing cat */
foreach ($_POST as $key=>$value)
{
$var=sscanf($key,'fr_cat%d');
$idx=sprintf("fr_cat%d",$var[0]);
if (isset($_POST[$idx]))
{
$fc=new Forecast_Cat($cn,$var[0]);
if (strlen(trim($_POST[$idx]))==0)
{
$fc->delete();
}
else
{
$fc->set_parameter('order',$_POST['fc_order'.$var[0]]);
$fc->set_parameter('desc',$_POST['fr_cat'.$var[0]]);
$fc->set_parameter('forecast',$_POST['f_id']);
$fc->save();
}
}
}
$cn->commit();
}
catch (Exception $e)
{
alert($e->getMessage());
$cn->rollback();
}
$sa='vw';
}
/**********************************************************************
* Save first the data for new
*
*
**********************************************************************/
if ( $sa == 'new' || isset ($_POST['step3']))
{
$correct=0;
if (isset($_POST['step3']))
{
/*save all the items */
try
{
$cn->start();
for ($i=0;$i<$_POST['nbrow'];$i++)
{
// Delete if needed
if ( isset($_POST['fi_id'.$i]))
{
if (strlen(trim($_POST['an_cat_acc'.$i]))==0 &&strlen(trim($_POST['an_qc'.$i]))== 0)
{
$e=new Forecast_item($cn);
$e->set_parameter("id",$_POST['fi_id'.$i]);
$e->delete();
}
}
if (strlen(trim($_POST['an_cat_acc'.$i]))!=0 || strlen(trim($_POST['an_qc'.$i]))!= 0)
{
/* we save only if there is something */
$e=new Forecast_item($cn);
if ( isset($_POST['fi_id'.$i]))
{
$e->set_parameter("id",$_POST['fi_id'.$i]);
}
$e->set_parameter('text',$_POST['an_label'.$i]);
$e->set_parameter('amount',$_POST['an_cat_amount'.$i]);
$e->set_parameter('debit',$_POST['an_deb'.$i]);
$e->set_parameter('cat_id',$_POST['an_cat'.$i]);
$e->set_parameter('account',$_POST['an_cat_acc'.$i]);
$e->set_parameter('periode',$_POST['month'.$i]);
$f=new Fiche($cn);
if ( $f->get_by_qcode($_POST['an_qc'.$i],false) == 0 )
$e->set_parameter('card',$f->id);
else
$e->set_parameter('card',null);
$e->set_parameter('order',$i);
$e->save();
}
}
$cn->commit();
$sa='vw'; // to avoid to restart the add of new anticipation
}
catch (Exception $e)
{
$cn->rollback();
alert($e->getMessage());
$correct=1;
}
}
/* Second step : we save the name and category
* and propose the items we add the item */
if ($correct==2 || isset ($_POST['step2']))
{
try
{
$cn->start();
/* Save forecast */
$a=new Forecast($cn);
$a->set_parameter('name',$_POST['an_name']);
$a->set_parameter('start_date',$_POST['start_date']);
$a->set_parameter('end_date',$_POST['end_date']);
$a->save();
$id=$a->get_parameter("id");
/* save cat */
for ($i=0;$iset_parameter('order',$_POST['fr_order'.$i]);
$c->set_parameter('desc',$_POST['fr_cat'.$i]);
$c->set_parameter('forecast',$id);
$c->save();
}
}
$cn->commit();
}
catch (Exception $e)
{
alert($e->getMessage());
$correct=1;
unset($_POST['step2']);
$cn->rollback();
}
}
}
/**********************************************************************
* Display menu
*
*
**********************************************************************/
// display button add and list of forecast to display
$aForecast=Forecast::load_all($cn);
$menu=array();
$get_dossier=dossier::get();
for ($i = 0;$i