request("ac"); $request_jrn=$http->request("p_jrn", "string",""); // Check privilege if ($request_jrn !="" && $g_user->check_jrn($request_jrn) != 'W') { NoAccess(); exit - 1; } $p_msg=""; $post_jrn=$http->post("p_jrn", "string",""); /* if a new invoice is encoded, we display a form for confirmation */ if (isset($_POST['view_invoice'])) { $Ledger = new Acc_Ledger_Purchase($cn, $post_jrn); try { $Ledger->verify($_POST); } catch (Exception $e) { alert($e->getMessage()); $p_msg=$e->getMessage(); $correct = 1; } // if correct is not set it means it is correct if (!isset($correct)) { echo '
'; echo '
'; echo h1(_("Confirmation")); echo '
'; echo '
'; echo h2(_("Attention, cette opération n'est pas encore sauvée : vous devez encore confirmer"),' class="notice"'); echo '
'; echo '
'; echo '
'; echo dossier::hidden(); echo $Ledger->confirm($_POST); echo HtmlInput::hidden('ac', $ac); ?>
select_depot(false, -1); echo $Ledger->extra_info(); echo ''; echo ''; echo HtmlInput::submit("record", _("Enregistrement"), 'onClick="return verify_ca(\'\');"'); echo HtmlInput::submit('correct', _("Corriger")); echo ''; echo '
'; /* tab_id */ echo '
'; ?> '; return; } } //------------------------------ /* Record the invoice */ //------------------------------ if (isset($_POST['record'])) { $Ledger = new Acc_Ledger_Purchase($cn, $post_jrn); try { $Ledger->verify($_POST); } catch (Exception $e) { alert($e->getMessage()); $p_msg=$e->getMessage(); $correct = 1; } // record the invoice if (!isset($correct)) { echo '
'; $Ledger = new Acc_Ledger_Purchase($cn, $post_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').'

'; /* 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; } // extourne if (isset($_POST['reverse_ck'])) { $p_date=$http->post('reverse_date','string', ''); $p_msg=$http->post("ext_label"); if (isDate($p_date)==$p_date) { // reverse the operation try { $Ledger->reverse($p_date,$p_msg); echo '

'; printf ( _('Extourné au %s'),$p_date); echo '

'; } catch (Exception $e) { echo '

'. _('Opération non extournée'). $e->getMessage(). '

'; } } else { // warning because date is invalid echo '

'._('Date invalide, opération non extournée').'

'; } } echo '"; echo '
'; return; } } // ------------------------------------------------------------ /* 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_jrn; if (isset ($_REQUEST['p_jrn_predef'])){ $Ledger->id=$_REQUEST['p_jrn_predef']; } // pre defined operation // echo '
'; echo '
'; echo '

'.$p_msg.'

'; try { $payment=$http->request("e_mp", "string",0); $date_payment=$http->request("mp_date", "string",""); $comm_payment=$http->request("e_comm_paiement", "string",""); $acompte=$http->request("acompte", "string",0); echo "
"; /* request for a predefined operation */ if (isset($_REQUEST['pre_def'])&&!isset($_POST['correct']) && ! isset($correct) ) { // used a predefined operation $predef=$http->request("pre_def","string", "0"); $p_jrn_predef=$http->request("p_jrn_predef","string", "0"); $op=new Pre_op_ach($cn); $op->set_od_id($predef); $p_post=$op->compute_array(); $Ledger->id=$p_jrn_predef; $p_post['p_jrn']=$Ledger->id; echo $Ledger->input($p_post); echo '
'; echo $Ledger->input_paid($payment,$acompte,$date_payment,$comm_payment); echo '
'; echo ''; } else { echo $Ledger->input($array); echo HtmlInput::hidden("p_action", "ach"); echo HtmlInput::hidden("sa", "p"); echo '
'; echo $Ledger->input_paid($payment,$acompte,$date_payment,$comm_payment); echo '
'; echo ''; } echo '
'; echo HtmlInput::button('act', _('Actualiser'), 'onClick="compute_all_ledger();"'); echo HtmlInput::submit("view_invoice", _("Enregistrer")); echo HtmlInput::reset(_('Effacer ')); echo '
'; echo "
"; } catch (Exception $e) { alert($e->getMessage()); return; } if (!isset($_REQUEST['e_date']) && $g_parameter->MY_DATE_SUGGEST=='Y') echo create_script(" get_last_date()"); echo create_script(" update_name()"); echo '
'; return; // end record invoice ?>