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/compta_fin.inc.php

164 lines
4.5 KiB
PHP
Raw Normal View History

2015-09-27 00:35:53 +02:00
<?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 Author Dany De Bontridder danydb@aevalys.eu
/*!\file
* \brief this file is to be included to handle the financial ledger
*/
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
require_once NOALYSS_INCLUDE.'/class_acc_ledger_fin.php';
require_once NOALYSS_INCLUDE.'/class_ipopup.php';
global $g_user,$g_parameter;
$gDossier=dossier::id();
$cn=new Database(dossier::id());
$menu_action="?ledger_type=fin&ac=".$_REQUEST['ac']."&".dossier::get();
$Ledger=new Acc_Ledger_Fin($cn,0);
//--------------------------------------------------------------------------------
// Encode a new financial operation
//--------------------------------------------------------------------------------
if ( isset($_REQUEST['p_jrn']))
$Ledger->id=$_REQUEST['p_jrn'];
else
{
$def_ledger=$Ledger->get_first('fin');
if ( empty ($def_ledger))
{
exit('Pas de journal disponible');
}
$Ledger->id=$def_ledger['jrn_def_id'];
}
$jrn_priv=$g_user->get_ledger_access($Ledger->id);
// Check privilege
if ( isset($_REQUEST['p_jrn']) && ( $jrn_priv == 'X'))
{
NoAccess();
exit -1;
}
$p_msg="";
//----------------------------------------
// Confirm the operations
//----------------------------------------
if ( isset($_POST['save']))
{
try
{
$Ledger->verify($_POST);
}
catch (Exception $e)
{
alert($e->getMessage());
$p_msg=$e->getMessage();
$correct=1;
}
if ( ! isset ($correct ))
{
echo '<div class="content">';
echo h1(_('Confirmation'),'');
echo_warning(_("Attention, cette opération n'est pas encore sauvée : vous devez encore confirmer"));
echo '<form name="form_detail" class="print" enctype="multipart/form-data" class="print" METHOD="POST">';
echo HtmlInput::hidden('ac',$_REQUEST['ac']);
echo $Ledger->confirm($_POST);
echo HtmlInput::submit('confirm',_('Confirmer'));
echo HtmlInput::submit('correct',_('Corriger'));
echo '</form>';
echo '</div>';
return;
}
}
//----------------------------------------
// Confirm and save the operations
// into the database
//----------------------------------------
if ( isset($_POST['confirm']))
{
try
{
$Ledger->verify($_POST);
}
catch (Exception $e)
{
alert($e->getMessage());
$p_msg=$e->getMessage();
$correct=1;
}
if ( !isset($correct))
{
echo '<div id="jrn_name_div">';
echo '<h2 id="jrn_name" style="display:inline">' . $Ledger->get_name() . '</h2>';
echo '</div>';
echo '<div class="content">';
$a= $Ledger->insert($_POST);
echo '<h1>'._('Enregistrement').' </h1>';
echo '<div class="content">';
echo $a;
echo '</div>';
echo '</div>';
echo $Ledger->button_new_operation();
return;
}
}
//----------------------------------------
// Correct the operations
//----------------------------------------
if ( isset($_POST['correct']))
{
$correct=1;
}
//----------------------------------------
// Blank form
//----------------------------------------
echo '<div style="position:absolute" class="content">';
echo '<p class="notice">'.$p_msg.'</p>';
echo '<form class="print" name="form_detail" enctype="multipart/form-data" class="print" METHOD="POST">';
echo HtmlInput::hidden('ledger_type','fin');
echo HtmlInput::hidden('ac',$_REQUEST['ac']);
$array=( isset($correct))?$_POST:null;
// show select ledger
try
{
echo $Ledger->input($array);
echo HtmlInput::button('add_item',_('Ajout article'), ' onClick="ledger_fin_add_row()"');
echo HtmlInput::submit('save',_('Sauve'));
echo HtmlInput::reset(_('Effacer'));
if ( ! isset ($_POST['e_date'])&& $g_parameter->MY_DATE_SUGGEST=='Y')
{
echo create_script(" get_last_date();ajax_saldo('first_sold');");
}else {
echo create_script(" ajax_saldo('first_sold');");
}
echo create_script(" update_name()");
} catch (Exception $ex) {
echo $ex->getMessage();
}
return;