'; echo ShowItem($array,'H','mtitle','mtitle',$def); echo ''; $href=basename($_SERVER['PHP_SELF']); //---------------------------------------------------------------------- // Encode a new invoice // empty form for encoding //---------------------------------------------------------------------- if ( $def==1 || $def == 4 ) { // Check privilege if ( isset($_REQUEST['p_jrn'])) if ( $User->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 '
'; echo HtmlInput::hidden('sa','n'); echo HtmlInput::hidden('p_action','ach'); echo dossier::hidden(); echo $Ledger->confirm($_POST ); $chk=new ICheckBox(); $chk->selected=false; echo $chk->input('opd_save'); echo "Sauvez cette opération comme modèle d'opération ?"; echo '
'; $opd_name=new IText('opd_name'); echo "Nom du modèle ".$opd_name->input(); echo '
'; echo HtmlInput::submit("record",_("Enregistrement"),'onClick="return verify_ca(\'\');"'); echo HtmlInput::submit('correct',_("Corriger")); 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; } 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_save']) && $User->check_action(PARPREDE)==1) { $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 '

'.$Ledger->get_name().'

'; 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').'

'; } if (isset($Ledger->doc)) { echo $Ledger->doc.'
'; } /* 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); echo HtmlInput::button_anchor(_('Nouvelle dépense'),$href.'?p_action=ach&sa=n&'.dossier::get()); echo '
'; exit(); } } // ------------------------------ /* Display a blank form or a form with predef operation */ /* or a form for correcting */ // ------------------------------ echo '
'; echo "
"; $array=(isset($_POST['correct'])||isset ($correct))?$_POST:null; $Ledger=new Acc_Ledger_Purchase($cn,0); // // pre defined operation // if ( !isset($_REQUEST ['p_jrn'])) { $def_ledger=$Ledger->get_first('ach'); $Ledger->id=$def_ledger['jrn_def_id']; } else $Ledger->id=$_REQUEST ['p_jrn']; /* request for a predefined operation */ if ( isset($use_predef) && $use_predef == 1 && isset($_REQUEST['pre_def']) ) { // used a predefined operation // $op=new Pre_op_ach($cn); $op->set_od_id($_REQUEST['pre_def']); $p_post=$op->compute_array(); $Ledger->id=$_REQUEST ['p_jrn_predef']; $p_post['p_jrn']=$Ledger->id; echo $Ledger->input($p_post); echo '
'; echo $Ledger->input_paid(); echo '
'; echo ''; } else { echo $Ledger->input($array); echo HtmlInput::hidden("p_action","ach"); echo HtmlInput::hidden("sa","p"); echo '
'; echo $Ledger->input_paid(); echo '
'; echo ''; } echo '
'; echo HtmlInput::button('act',_('Actualiser'),'onClick="compute_all_ledger();"'); echo HtmlInput::submit("view_invoice",_("Enregistrer")); echo HtmlInput::reset(_('Effacer ')); echo '
'; echo "
"; echo '
'; echo HtmlInput::hidden("sa","p"); echo HtmlInput::hidden("p_action","ach"); echo dossier::hidden(); 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'); echo $op->form_get(); echo '
'; echo create_script(" get_last_date()"); echo '
'; exit(); } //------------------------------------------------------------------------------- // Listing //-------------------------------------------------------------------------------- if ( $def == 2 ) { echo '
'; // Check privilege if ( isset($_REQUEST['p_jrn']) && $User->check_jrn($_REQUEST['p_jrn']) == 'X') { NoAccess(); exit -1; } $Ledger=new Acc_Ledger_Purchase($cn,0); if ( !isset($_REQUEST['p_jrn'])) { $Ledger->id=-1; } else $Ledger->id=$_REQUEST['p_jrn']; echo $Ledger->display_search_form(); //------------------------------ // UPdate the payment //------------------------------ if ( isset ( $_GET ['paid'])) { $Ledger->update_paid($_GET); } $p_array=$_GET; /* by default we should the default period */ if ( ! isset($p_array['date_start'])) { $period=$User->get_periode(); $per=new Periode($cn,$period); list($date_start,$date_end)=$per->get_date_limit(); $p_array['date_start']=$date_start; $p_array['date_end']=$date_end; } /* compute the sql stmt */ list($sql,$where)=$Ledger->build_search_sql($p_array); $max_line=$cn->count_sql($sql); $step=$_SESSION['g_pagesize']; $page=(isset($_GET['offset']))?$_GET['page']:1; $offset=(isset($_GET['offset']))?$_GET['offset']:0; $bar=jrn_navigation_bar($offset,$max_line,$step,$page); echo '
'; echo HtmlInput::hidden("sa","l"); echo HtmlInput::hidden("p_action","ach"); echo dossier::hidden(); echo $bar; list($count,$html)= $Ledger->list_operation($sql,$offset,1); echo $html; echo $bar; $r=HtmlInput::get_to_hidden(array('l','date_start','date_end','desc','amount_min','amount_max','qcode','accounting','unpaid','gDossier','ledger_type','p_action')); if (isset($_GET['r_jrn'])) { foreach ($_GET['r_jrn'] as $k=>$v) $r.=HtmlInput::hidden('r_jrn['.$k.']',$v); } echo $r; echo '

'.HtmlInput::submit('paid',_('Mise à jour paiement')).IButton::select_checkbox('fpaida').IButton::unselect_checkbox('fpaida').'

'; echo '
'; /* * Export to csv */ $r=HtmlInput::get_to_hidden(array('l','date_start','date_end','desc','amount_min','amount_max','qcode','accounting','unpaid','gDossier','ledger_type','p_action')); if (isset($_GET['r_jrn'])) { foreach ($_GET['r_jrn'] as $k=>$v) $r.=HtmlInput::hidden('r_jrn['.$k.']',$v); } echo '
'; echo $r; echo HtmlInput::submit('viewsearch','Export vers CSV'); echo '
'; echo '
'; exit(); } //--------------------------------------------------------------------------- // Listing unpaid //--------------------------------------------------------------------------- if ( $def==3 ) { echo '
'; // Check privilege if ( isset($_REQUEST['p_jrn']) && $User->check_jrn($_REQUEST['p_jrn']) == 'X') { NoAccess(); exit -1; } $Ledger=new Acc_Ledger_Purchase($cn,0); if ( !isset($_REQUEST['p_jrn'])) { $Ledger->id=-1; } else $Ledger->id=$_REQUEST['p_jrn']; echo $Ledger->display_search_form(); //------------------------------ // UPdate the payment //------------------------------ if ( isset ( $_GET ['paid'])) { $Ledger->update_paid($_GET); } /* compute the sql stmt */ list($sql,$where)=$Ledger->build_search_sql($_GET); if ( trim($where) != '') $sql .= ' and '.SQL_LIST_UNPAID_INVOICE; else $sql .= ' where '.SQL_LIST_UNPAID_INVOICE; $max_line=$cn->count_sql($sql); $step=$_SESSION['g_pagesize']; $page=(isset($_GET['offset']))?$_GET['page']:1; $offset=(isset($_GET['offset']))?$_GET['offset']:0; $bar=jrn_navigation_bar($offset,$max_line,$step,$page); echo '
'; echo HtmlInput::hidden("sa","lnp"); echo HtmlInput::hidden("p_action","ach"); echo dossier::hidden(); echo $bar; list($count,$html)= $Ledger->list_operation($sql,$offset,1); echo $html; echo $bar; $r=HtmlInput::get_to_hidden(array('l','date_start','date_end','desc','amount_min','amount_max','qcode','accounting','unpaid','gDossier','ledger_type','p_action')); if (isset($_GET['r_jrn'])) { foreach ($_GET['r_jrn'] as $k=>$v) $r.=HtmlInput::hidden('r_jrn['.$k.']',$v); } echo $r; echo '

'.HtmlInput::submit('paid',_('Mise à jour paiement')).IButton::select_checkbox('fpaida').IButton::unselect_checkbox('fpaida').'

'; echo '
'; echo '
'; exit(); }