1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/noalyss_ynh.git synced 2024-09-03 19:46:20 +02:00
noalyss_ynh/sources/include/ajax/ajax_display_letter.php
dudjima 3a905a4a87 Update sources 7.01
Update files from sources with last update on noalyss.eu
2018-04-13 18:58:28 +02:00

236 lines
No EOL
6.9 KiB
PHP

<?php
/*
* This file is part of NOALYSS.
*
* NOALYSS is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* NOALYSS is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NOALYSS; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// Copyright 2015 Author Dany De Bontridder danydb@aevalys.eu
/**
*@file
*@brief show the lettered operation
*/
if (!defined('ALLOWED'))
die('Appel direct ne sont pas permis');
require_once NOALYSS_INCLUDE.'/class/lettering.class.php';
$exercice=$g_user->get_exercice();
if ($g_user->check_module("LETCARD")==0 && $g_user->check_module("LETACC")==0)
exit();
$periode=new Periode($cn);
list($first_per, $last_per)=$periode->get_limit($exercice);
$ret=new IButton('return');
$ret->label=_('Retour');
$ret->javascript="$('detail').hide();$('list').show();$('search').show();";
// retrieve info for the given j_id (date, amount,side and comment)
$sql="select j_date,to_char(j_date,'DD.MM.YYYY') as j_date_fmt,J_POSTE,j_qcode,jr_id,
jr_comment,j_montant, j_debit,jr_internal from jrnx join jrn on (j_grpt=jr_grpt_id)
where j_id=$1";
$arow=$cn->get_array($sql, array($j_id));
$row=$arow[0];
$r='';
$r.='<fieldset><legend>'._('Lettrage').'</legend>';
$r.=_('Poste')." ".$row['j_poste'].' '.$row['j_qcode'].'<br>';
$detail="<A class=\"detail\" style=\"display:inline\" HREF=\"javascript:modifyOperation('".$row['jr_id']."',".$gDossier.")\" > ".$row['jr_internal']."</A>";
$r.=_('Date').' : '.$row['j_date_fmt'].' ref :'.$detail.' <br> ';
$r.=h($row['jr_comment'])." "._("montant")." : ".($row['j_montant'])." ".(($row['j_debit']=='t')?'D':'C');
$r.='</fieldset>';
$r.='<div id="filtre" style="float:left;display:block">';
$r.='<form method="get" id="search_form" onsubmit="search_letter(this);return false">';
$r.='<div style="float:left;">';
// needed hidden var
$r.=dossier::hidden();
if (isset($_REQUEST['ac']))
$r.=HtmlInput::hidden('ac', $_REQUEST['ac']);
if (isset($_REQUEST['sa']))
$r.=HtmlInput::hidden('sa', $_REQUEST['sa']);
if (isset($_REQUEST['acc']))
$r.=HtmlInput::hidden('acc', $_REQUEST['acc']);
$r.=HtmlInput::hidden('j_id', $j_id);
$r.=HtmlInput::hidden('op', $op);
$r.=HtmlInput::hidden('ot', $ot);
$r.='<table>';
//min amount
$line=td(_('Montant min. '));
$min=new INum('min_amount');
$min->value=(isset($min_amount))?$min_amount:$row['j_montant'];
$min_amount=(isset($min_amount))?$min_amount:$row['j_montant'];
$line.=td($min->input());
// max amount
$line.=td(_('Montant max. '));
$max=new INum('max_amount');
$max->value=(isset($max_amount))?$max_amount:$row['j_montant'];
$max_amount=(isset($max_amount))?$max_amount:$row['j_montant'];
$line.=td($max->input());
$r.=tr($line);
$date_error="";
// start date
$start=new IDate('search_start');
/* check if date are valid */
if (isset($search_start)&&isDate($search_start)==null)
{
ob_start();
alert(_('Date malformée'));
$date_error=ob_get_contents();
ob_end_clean();
$search_start=$first_per->first_day();
}
$start->value=(isset($search_start))?$search_start:$first_per->first_day();
$line=td(_('Date Début')).td($start->input());
// end date
$end=new IDate('search_end');
/* check if date are valid */
if (isset($search_end)&&isDate($search_end)==null)
{
ob_start();
alert(_('Date malformée'));
$date_error=ob_get_contents();
ob_end_clean();
$search_end=$last_per->last_day();
}
$end->value=(isset($search_end))?$search_end:$last_per->last_day();
$line.=td(_('Date Fin')).td($end->input());
$r.=tr($line);
// Side
$line=td(_('Debit / Credit'));
$iside=new ISelect('side');
$iside->value=array(
array('label'=>_('Debit'), 'value'=>0),
array('label'=>_('Credit'), 'value'=>1),
array('label'=>_('Les 2'), 'value'=>3)
);
/**
*
* if $side is not then
* - if jl_id exist and is > 0 show by default all the operation (=3)
* - if jl_id does not exist or is < 0 then show by default the opposite
* side
*/
if (!isset($side))
{
// find the jl_id of the j_id
$jl_id=$cn->get_value('select comptaproc.get_letter_jnt($1)', array($j_id));
if ($jl_id==null)
{
// get the other side
$iside->selected=(isset($side))?$side:(($row['j_debit']=='t')?1:0);
$side=(isset($side))?$side:(($row['j_debit']=='t')?1:0);
}
else
{
// show everything
$iside->selected=3;
$side=3;
}
}
else
{
$iside->selected=$side;
}
$r.=tr($line.td($iside->input()));
$r.='</table>';
$r.='</div>';
$r.='<div style="float:left;padding-left:100">';
$r.=HtmlInput::submit('search', 'Rechercher');
$r.='</div>';
$r.='</form>';
$r.='</div>';
$form='<div id="result" style="float:top;clear:both">';
$form.='<FORM id="letter_form" METHOD="post">';
$form.=dossier::hidden();
if (isset($_REQUEST['p_action']))
$form.=HtmlInput::hidden('p_action', $_REQUEST['p_action']);
if (isset($_REQUEST['sa']))
$form.=HtmlInput::hidden('sa', $_REQUEST['sa']);
if (isset($_REQUEST['acc']))
$form.=HtmlInput::hidden('acc', $_REQUEST['acc']);
if (isset($_REQUEST['sc']))
$form.=HtmlInput::hidden('sc', $_REQUEST['sc']);
if (isset($_REQUEST['sb']))
$form.=HtmlInput::hidden('sb', $_REQUEST['sb']);
if (isset($_REQUEST['f_id']))
$form.=HtmlInput::hidden('f_id', $_REQUEST['f_id']);
// display a list of operation from the other side + box button
if ($ot=='account')
{
$obj=new Lettering_Account($cn, $row['j_poste']);
if (isset($search_start))
$obj->start=$search_start;
if (isset($search_end))
$obj->end=$search_end;
if (isset($max_amount))
$obj->fil_amount_max=$max_amount;
if (isset($min_amount))
$obj->fil_amount_min=$min_amount;
if (isset($side))
$obj->fil_deb=$side;
$form.=$obj->show_letter($j_id);
}
else if ($ot=='card')
{
$obj=new Lettering_Card($cn, $row['j_qcode']);
if (isset($search_start))
$obj->start=$search_start;
if (isset($search_end))
$obj->end=$search_end;
if (isset($max_amount))
$obj->fil_amount_max=$max_amount;
if (isset($min_amount))
$obj->fil_amount_min=$min_amount;
if (isset($side))
$obj->fil_deb=$side;
$form.=$obj->show_letter($j_id);
}
else
{
$form.=_('Mauvais type objet');
}
$form.=HtmlInput::submit('record', _('Sauver')).$ret->input();
$form.='</FORM>';
$form.='</div>';
$html=$r.$form;
$html.=$date_error;
// echo $html;exit;
$html=escape_xml($html);
header('Content-type: text/xml; charset=UTF-8');
echo <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<data>
<code>detail</code>
<value>$html</value>
</data>
EOF;
?>