check_jrn($_REQUEST['p_jrn']) != 'W')
{
NoAccess();
exit - 1;
}
/* if a new invoice is encoded, we display a form for confirmation */
if (isset($_POST['view_invoice']))
{
$Ledger = new Acc_Ledger_Purchase($cn, $_POST['p_jrn']);
try
{
$Ledger->verify($_POST);
}
catch (Exception $e)
{
alert($e->getMessage());
$correct = 1;
}
// if correct is not set it means it is correct
if (!isset($correct))
{
echo '
';
echo h1('Confirmation','');
echo_warning("Attention, cette opération n'est pas encore sauvée : vous devez encore confirmer");
echo '
';
echo '
';
echo '';
exit();
}
}
//------------------------------
/* Record the invoice */
//------------------------------
if (isset($_POST['record']))
{
$Ledger = new Acc_Ledger_Purchase($cn, $_POST['p_jrn']);
try
{
$Ledger->verify($_POST);
}
catch (Exception $e)
{
alert($e->getMessage());
$correct = 1;
}
// record the invoice
if (!isset($correct))
{
echo '';
$Ledger = new Acc_Ledger_Purchase($cn, $_POST['p_jrn']);
$internal = $Ledger->insert($_POST);
/* Save the predefined operation */
if ( isset($_POST['opd_name']) && trim($_POST['opd_name']) != "" )
{
$opd = new Pre_op_ach($cn);
$opd->get_post();
$opd->save();
}
/* Show button */
$jr_id = $cn->get_value('select jr_id from jrn where jr_internal=$1', array($internal));
echo '
Enregistrement
';
// echo "
" . _('Opération sauvée') . " $internal ";
// if ($Ledger->pj != '')
// echo ' Piece : ' . h($Ledger->pj);
// echo "
";
// if (strcmp($Ledger->pj, $_POST['e_pj']) != 0)
// {
// echo '
' . _('Attention numéro pièce existante, elle a du être adaptée') . '
';
// }
/* Save the additional information into jrn_info */
$obj = new Acc_Ledger_Info($cn);
$obj->save_extra($Ledger->jr_id, $_POST);
//printf('
%s
', $jr_id, dossier::id(), $internal);
// Feedback
echo $Ledger->confirm($_POST, true);
if (isset($Ledger->doc))
{
echo '
Document
';
echo $Ledger->doc;
}
echo '
';
exit();
}
}
// ------------------------------
/* Display a blank form or a form with predef operation */
/* or a form for correcting */
// ------------------------------
echo '';
//
$array = (isset($_POST['correct']) || isset($correct)) ? $_POST : null;
$Ledger = new Acc_Ledger_Purchase($cn, 0);
if (!isset($_REQUEST ['p_jrn']))
{
$def_ledger = $Ledger->get_first('ach',2);
if ( empty ($def_ledger))
{
exit('Pas de journal disponible');
}
$Ledger->id = $def_ledger['jrn_def_id'];
}
else
$Ledger->id = $_REQUEST ['p_jrn'];
if (isset ($_REQUEST['p_jrn_predef'])){
$Ledger->id=$_REQUEST['p_jrn_predef'];
}
// pre defined operation
//
echo '
';
echo HtmlInput::hidden('p_jrn_predef', $Ledger->id);
$op = new Pre_op_ach($cn);
$op->set('ledger', $Ledger->id);
$op->set('ledger_type', "ACH");
$op->set('direct', 'f');
$url=http_build_query(array('p_jrn_predef'=>$Ledger->id,'ac'=>$_REQUEST['ac'],'gDossier'=>dossier::id()));
echo $op->form_get('do.php?'.$url);
echo '
';
echo '
';
echo '';
echo "
";
if (!isset($_POST['e_date']) && $g_parameter->MY_DATE_SUGGEST=='Y')
echo create_script(" get_last_date()");
echo create_script(" update_name()");
echo '
';
exit();
// end record invoice
?>