mirror of
https://github.com/YunoHost-Apps/noalyss_ynh.git
synced 2024-09-03 19:46:20 +02:00
224 lines
6 KiB
PHP
224 lines
6 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 Author Dany De Bontridder danydb@aevalys.eu
|
|
|
|
/*!\file
|
|
* \brief this class is the mother class for the CA printing
|
|
*/
|
|
|
|
/*! \brief this class is the mother class for the CA printing
|
|
*
|
|
*
|
|
*/
|
|
require_once NOALYSS_INCLUDE.'/class_idate.php';
|
|
require_once NOALYSS_INCLUDE.'/class_itext.php';
|
|
require_once NOALYSS_INCLUDE.'/class_ihidden.php';
|
|
require_once NOALYSS_INCLUDE.'/class_iselect.php';
|
|
require_once NOALYSS_INCLUDE.'/class_ibutton.php';
|
|
require_once NOALYSS_INCLUDE.'/class_database.php';
|
|
require_once NOALYSS_INCLUDE.'/constant.php';
|
|
require_once NOALYSS_INCLUDE.'/class_dossier.php';
|
|
require_once NOALYSS_INCLUDE.'/class_anc_plan.php';
|
|
require_once NOALYSS_INCLUDE.'/class_ianccard.php';
|
|
class Anc_Print
|
|
{
|
|
var $db; /*!< $db database connection */
|
|
var $to; /*!< $to start date */
|
|
var $from; /*!< $from end date */
|
|
var $from_poste; /*!< $from_poste from poste */
|
|
var $to_poste; /*!< $to_poste to the poste */
|
|
|
|
function Anc_Print($p_cn)
|
|
{
|
|
$this->db=$p_cn;
|
|
$this->from="";
|
|
$this->to="";
|
|
$this->from_poste="";
|
|
$this->to_poste="";
|
|
$this->has_data=0;
|
|
|
|
}
|
|
/*!
|
|
* \brief complete the object with the data in $_REQUEST
|
|
*/
|
|
function get_request()
|
|
{
|
|
if ( isset($_REQUEST['from']))
|
|
$this->from=$_REQUEST['from'];
|
|
|
|
if ( isset($_REQUEST['to']))
|
|
$this->to=$_REQUEST['to'];
|
|
|
|
if ( isset($_REQUEST['from_poste']))
|
|
$this->from_poste=$_REQUEST['from_poste'];
|
|
|
|
if ( isset($_REQUEST['to_poste']))
|
|
$this->to_poste=$_REQUEST['to_poste'];
|
|
if ( isset($_REQUEST['pa_id']))
|
|
$this->pa_id=$_REQUEST['pa_id'];
|
|
else
|
|
$this->pa_id="";
|
|
|
|
}
|
|
/*!
|
|
* \brief Compute the form to display
|
|
* \param $p_hidden hidden tag to be included (gDossier,...)
|
|
*
|
|
*
|
|
* \return string containing the data
|
|
*/
|
|
function display_form($p_hidden="")
|
|
{
|
|
/* if there is no analytic plan return */
|
|
$pa=new Anc_Plan($this->db);
|
|
if ( $pa->count() == 0 )
|
|
{
|
|
echo '<div class="content">';
|
|
echo '<h2 class="error">'._('Aucun plan défini').'</h2>';
|
|
echo '</div>';
|
|
return;
|
|
}
|
|
|
|
$from=new IDate('from','from');
|
|
$from->size=10;
|
|
$from->value=$this->from;
|
|
|
|
$to=new IDate('to','to');
|
|
$to->value=$this->to;
|
|
$to->size=10;
|
|
|
|
$from_poste=new IAncCard('from_poste','from_poste');
|
|
$from_poste->size=10;
|
|
$from_poste->plan_ctl='pa_id';
|
|
$from_poste->value=$this->from_poste;
|
|
|
|
$to_poste=new IAncCard('to_poste','to_poste');
|
|
$to_poste->value=$this->to_poste;
|
|
$to_poste->size=10;
|
|
|
|
$hidden=new IHidden();
|
|
$r=dossier::hidden();
|
|
$r.=$hidden->input("result","1");
|
|
|
|
$r.=HtmlInput::request_to_hidden(array('ac'));
|
|
$r.=$p_hidden;
|
|
$plan=new Anc_Plan($this->db);
|
|
$plan_id=new ISelect("pa_id");
|
|
$plan_id->value=$this->db->make_array("select pa_id, pa_name from plan_analytique order by pa_name");
|
|
$plan_id->selected=$this->pa_id;
|
|
$choose_from=new IButton();
|
|
$choose_from->name=_("Choix Poste");
|
|
$choose_from->label=_("Recherche");
|
|
$choose_from->javascript="onClick=search_ca(".dossier::id().",'from_poste','pa_id')";
|
|
|
|
|
|
$choose_to=new IButton();
|
|
$choose_to->name=_("Choix Poste");
|
|
$choose_to->label=_("Recherche");
|
|
|
|
|
|
$choose_to->javascript="onClick=search_ca(".dossier::id().",'to_poste','pa_id')";
|
|
|
|
$r.=HtmlInput::request_to_hidden(array('ac'));
|
|
ob_start();
|
|
?>
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<?php
|
|
echo _('Depuis') ;
|
|
echo HtmlInput::infobulle(37);
|
|
?>
|
|
</td>
|
|
<td>
|
|
<?php
|
|
echo $from->input();
|
|
?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<?php
|
|
echo _('Jusque') ;
|
|
echo HtmlInput::infobulle(37);
|
|
?>
|
|
</td>
|
|
<td>
|
|
<?php
|
|
echo $to->input();
|
|
?>
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
<span style="padding:5px;margin:5px;display:block;">
|
|
<?php echo _( "Plan Analytique :").$plan_id->input();
|
|
echo HtmlInput::infobulle(42);
|
|
?>
|
|
</span>
|
|
|
|
<?php
|
|
$r.=ob_get_clean();
|
|
$r.=_("Entre l'activité ").$from_poste->input();
|
|
$r.=$choose_from->input();
|
|
$r.=_(" et l'activité ").$to_poste->input();
|
|
$r.=$choose_to->input();
|
|
|
|
$r.='</span>';
|
|
return $r;
|
|
}
|
|
/*!
|
|
* \brief Set the filter (account_date)
|
|
*
|
|
* \return return the string to add to load
|
|
*/
|
|
|
|
function set_sql_filter()
|
|
{
|
|
$sql="";
|
|
$and=" and ";
|
|
if ( $this->from != "" )
|
|
{
|
|
$sql.="$and a.oa_date >= to_date('".$this->from."','DD.MM.YYYY')";
|
|
}
|
|
if ( $this->to != "" )
|
|
{
|
|
$sql.=" $and a.oa_date <= to_date('".$this->to."','DD.MM.YYYY')";
|
|
}
|
|
|
|
return $sql;
|
|
|
|
}
|
|
function check()
|
|
{
|
|
|
|
/*
|
|
* check date
|
|
*/
|
|
if (($this->from != '' && isDate ($this->from) == 0)
|
|
||
|
|
($this->to != '' && isDate ($this->to) == 0))
|
|
return -1;
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
}
|