';
$id=(isset ($_REQUEST['p_jrn']))?$_REQUEST['p_jrn']:-1;
echo ShowItem(
array(
array('?p_action='.$_REQUEST['p_action'].'&'.dossier::get().'&p_jrn='.$id.'&show_form',_('Encoder une Operation'),
_('Encoder une operation dans ce journal'),0),
array('?p_action='.$_REQUEST['p_action'].'&'.dossier::get().'&p_jrn='.$id.'&sa=l',_('Voir Operation'),
_('Voir les operations de ce journal'),1),
array('?p_action='.$_REQUEST['p_action'].'&'.dossier::get(),
_('Autre journal'),
_('Choisir un autre journal')
)),
'H',"mtitle","mtitle",$def,' style="width:80%;margin-left:5;"'
);
echo '';
}
/*!\brief show a form for quick_writing */
function show_direct_form($cn,$ledger,$p_array)
{
echo '
';
$id=(isset ($_REQUEST['p_jrn']))?$_REQUEST['p_jrn']:-1;
// Show the predef operation
// Don't forget the p_jrn
echo '
';
echo '
';
echo "";
echo create_script(" get_last_date()");
echo '
';
}
$ledger=new Acc_Ledger($cn,$id);
$ledger->with_concerned=true;
// no ledger selected, propose one
// Only ODS
if ($id == -1 )
{
echo '';
echo '
';
echo '
'._('Journal').' : '.$ledger->get_name().'
';
echo '';
$sa=( isset ($_REQUEST['sa']))?$_REQUEST['sa']:'';
//======================================================================
// See the ledger listing
if ($sa == 'l' && $id != -1)
{
// Check privilege
if ( $User->check_jrn($id) == 'X')
{
NoAccess();
exit -1;
}
show_qw_menu(1);
echo '
';
$Ledger=new Acc_Ledger($cn,$id);
$type=$Ledger->get_type();
$href=basename($_SERVER['PHP_SELF']);
echo '';
$array=$_GET;
list($sql,$where)=$Ledger->build_search_sql($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 $bar;
list($count,$html)= $Ledger->list_operation($sql,$offset,0);
echo $html;
echo $bar;
/*
* 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 '
';
exit();
}
//======================================================================
// User can write ?
// Write into the ledger
if ( $User->check_jrn($id) == 'X' )
{
alert(_("Vous ne pouvez pas accèder à ce journal, contactez votre responsable"));
exit -1;
}
if ( $User->check_jrn($id)=='W' )
{
if ( isset($_GET['show_form']) || isset($_POST['correct_it']) )
{
$array=$_POST;
$default_periode=$User->get_periode();
/* check if the ledger is closed */
if ( $ledger->is_closed($default_periode)==1)
{
echo '
'._('Désolé mais cette periode est fermee pour ce journal').'
';
exit();
}
$periode=new Periode($cn);
list($date,$devnull)=$periode->first_day($default_periode);
$array['date']=$date;
show_qw_menu();
show_direct_form($cn,$ledger,$array);
exit();
}
// reload with a predefined operation
//
if ( isset ($_GET['use_opd']))
{
$op=new Pre_op_advanced($cn);
$p_post=null;
if ( isset($_REQUEST['pre_def']) && $_REQUEST['pre_def'] != '')
{
$op->set_od_id($_REQUEST['pre_def']);
//$op->p_jrn=$id;
$p_post=$op->compute_array();
}
show_qw_menu();
show_direct_form($cn,$ledger,$p_post);
exit();
}
if ( isset($_POST['summary']))
{
try
{
$ledger->verify($_POST );
}
catch (Exception $e)
{
alert($e->getMessage());
show_qw_menu();
show_direct_form($cn,$ledger,$_POST);
exit();
}
echo '
';
exit();
}
if ( isset($_POST['save_it' ]))
{
$array=$_POST;
try
{
$ledger->save($array);
$jr_id=$cn->get_value('select jr_id from jrn where jr_internal=$1',array($ledger->internal));
echo '
Opération enregistrée Piece '.h($ledger->pj).'
';
if ( strcmp($ledger->pj,$_POST['e_pj']) != 0 )
{
echo '
'._('Attention numéro pièce existante, elle a du être adaptée').'
';
}
printf ('
%s
',
$jr_id,dossier::id(),$ledger->internal);
echo HtmlInput::button_anchor(_('Autre opération dans ce journal'),
"?".dossier::get().
'&show_form'.
'&p_action=quick_writing&p_jrn='.
$_REQUEST['p_jrn']);
}
catch (Exception $e)
{
alert ($e->getMessage());
show_qw_menu();
show_direct_form($cn,$ledger,$_POST);
}
exit();
}
} // if check_jrn=='W'
else
{
show_qw_menu();
}