Add link to other action
This commit is contained in:
parent
3c29c7ecc3
commit
c2684bd0f1
5 changed files with 273 additions and 200 deletions
|
|
@ -481,6 +481,9 @@ EOF;
|
|||
case 'search_op':
|
||||
require_once 'search.inc.php';
|
||||
break;
|
||||
case 'search_action':
|
||||
require_once 'ajax_search_action.php';
|
||||
break;
|
||||
case 'display_profile':
|
||||
require_once("ajax_get_profile.php");
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1379,3 +1379,39 @@ function rapport_add_row(p_dossier)
|
|||
|
||||
g('form'+line).value='';
|
||||
}
|
||||
/**
|
||||
* Search an action in an inner box
|
||||
*/
|
||||
function search_action(dossier,ctl_concern)
|
||||
{
|
||||
var dossier=g('gDossier').value;
|
||||
|
||||
var target="search_action_div";
|
||||
removeDiv(target);
|
||||
var str_style=fixed_position(77, 99);
|
||||
str_style+=";width:80%";
|
||||
|
||||
var div={id:target, cssclass:'inner_box',style:str_style,html:loading(),drag:1};
|
||||
|
||||
add_div(div);
|
||||
var target={gDossier:dossier,
|
||||
ctlc:ctl_concern,
|
||||
op:'search_action',
|
||||
ctl:target
|
||||
};
|
||||
|
||||
var qs=encodeJSON(target);
|
||||
|
||||
var action=new Ajax.Request ( 'ajax_misc.php',
|
||||
{
|
||||
method:'get',
|
||||
parameters:qs,
|
||||
onFailure:null,
|
||||
onSuccess:function (req){
|
||||
remove_waiting_box();
|
||||
$('search_action').innerHTML=req.responseText;
|
||||
req.responseText.evalScripts();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -169,7 +169,7 @@ if ( $sub_action == 'delete' )
|
|||
$act->remove();
|
||||
$sub_action="list";
|
||||
$cn->commit();
|
||||
ShowActionList($cn,$base);
|
||||
Follow_Up::ShowActionList($cn,$base);
|
||||
if ( isset( $act->ag_ref) )
|
||||
echo hb(_('Action ').$act->ag_ref._(' effacée'));
|
||||
exit();
|
||||
|
|
@ -179,7 +179,7 @@ if ( $sub_action == 'delete' )
|
|||
// Show a list of the action
|
||||
if ( $sub_action == "list" )
|
||||
{
|
||||
ShowActionList($cn,$base);
|
||||
Follow_Up::ShowActionList($cn,$base);
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
// Add an action
|
||||
|
|
@ -226,205 +226,9 @@ if ( $sub_action == "save_action_st2" )
|
|||
echo '<p><a class="mtitle" href="'.$url.'">'.hb('Action Sauvée : '.$act->ag_ref).'</a></p>';
|
||||
|
||||
|
||||
ShowActionList($cn,$base);
|
||||
Follow_Up::ShowActionList($cn,$base);
|
||||
$url="?$base&sa=detail&ag_id=".$act->ag_id.'&'.dossier::get();
|
||||
echo '<p><a class="mtitle" href="'.$url.'">'.hb('Action Sauvée : '.$act->ag_ref).'</a></p>';
|
||||
}
|
||||
//---------------------------------------------------------------------
|
||||
function ShowActionList($cn,$p_base)
|
||||
{
|
||||
// show the search menu
|
||||
?>
|
||||
<div id="search_action" class="op_detail_frame" style="position:absolute;display:none;margin-left:120px;width:70%;clear:both;z-index:2;height:auto;border:1px #000080 solid">
|
||||
<? echo HtmlInput::anchor_hide('Fermer','$(\'search_action\').style.display=\'none\';'); ?>
|
||||
<h2 class="info">
|
||||
<?=_('Recherche avancée')?>
|
||||
</h2>
|
||||
<form method="get" action="do.php" style="padding:10px">
|
||||
<?php
|
||||
echo dossier::hidden();
|
||||
$a=(isset($_GET['query']))?$_GET['query']:"";
|
||||
$qcode=(isset($_GET['qcode']))?$_GET['qcode']:"";
|
||||
?>
|
||||
|
||||
$supl_hidden='';
|
||||
if( isset($_REQUEST['sc']))
|
||||
$supl_hidden.=HtmlInput::hidden('sc',$_REQUEST['sc']);
|
||||
if( isset($_REQUEST['f_id']))
|
||||
{
|
||||
$supl_hidden.=HtmlInput::hidden('f_id',$_REQUEST['f_id']);
|
||||
$f=new Fiche($cn,$_REQUEST['f_id']);
|
||||
$supl_hidden.=HtmlInput::hidden('qcode_dest',$f->get_quick_code());
|
||||
}
|
||||
if( isset($_REQUEST['sb']))
|
||||
$supl_hidden.=HtmlInput::hidden('sb',$_REQUEST['sb']);
|
||||
$supl_hidden.=HtmlInput::hidden('ac',$_REQUEST['ac']);
|
||||
|
||||
$w=new ICard();
|
||||
$w->name='qcode';
|
||||
$w->value=$qcode;
|
||||
$w->extra="all";
|
||||
$w->typecard='all';
|
||||
$w->jrn=0;
|
||||
$w->table=0;
|
||||
$list=$cn->make_list("select fd_id from fiche_def where frd_id in (4,8,9,14,15,16,25)");
|
||||
$w->extra=$list;
|
||||
|
||||
|
||||
/* type of documents */
|
||||
$type_doc=new ISelect ('tdoc');
|
||||
$aTDoc=$cn->make_array('select dt_id,dt_value from document_type order by dt_value');
|
||||
$aTDoc[]=array('value'=>'-1','label'=>_('Tous les types'));
|
||||
$type_doc->value=$aTDoc;
|
||||
$type_doc->selected=(isset ($_GET['tdoc']))?$_GET['tdoc']:-1;
|
||||
|
||||
// date
|
||||
$start=new IDate('date_start');
|
||||
$start->value=(isset($_GET['date_start']))?$_GET['date_start']:"";
|
||||
$end=new IDate('date_end');
|
||||
$end->value=(isset($_GET['date_end']))?$_GET['date_end']:"";
|
||||
|
||||
$see_all=new ICheckBox('see_all');
|
||||
$see_all->selected=(isset($_GET['see_all']))?true:false;
|
||||
$my_action=new ICheckBox('all_action');
|
||||
$my_action->selected=(isset($_GET['all_action']))?true:false;
|
||||
// select profile
|
||||
$aAg_dest=$cn->make_array("select p_id as value, ".
|
||||
"p_name as label ".
|
||||
" from profile order by 2");
|
||||
$ag_dest=new ISelect();
|
||||
$ag_dest->name="ag_dest_query";
|
||||
$aAg_dest[]=array('value'=>0,'label'=>'Public');
|
||||
$ag_dest->value=$aAg_dest;
|
||||
$ag_dest->selected=(isset($_GET["ag_dest_query"]))?$_GET["ag_dest_query"]:0;
|
||||
$str_ag_dest=$ag_dest->input();
|
||||
|
||||
?>
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td style="width:180px;text-align:right"><? echo _('Destinataire') ?></td>
|
||||
<td ><?=$w->input().$w->search()?></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td style="text-align:right" ><?=_("Profile")?></td>
|
||||
<td><?=$str_ag_dest?></td>
|
||||
</tr>
|
||||
<td style="text-align:right"><? printf (_('contenant le mot'))?></td>
|
||||
<td ><input class="input_text" style="width:100%" type="text" name="query" value="<?=$a?>"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right"><?=_('Type de document')?></td>
|
||||
<td><? echo $type_doc->input();?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right">
|
||||
<? printf (_("Après le "))?>
|
||||
</td>
|
||||
<td >
|
||||
<?=$start->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right"><?=_('Avant le')?></td>
|
||||
<td>
|
||||
<?=$end->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right">
|
||||
<?=_('inclure les actions fermées ')?>
|
||||
</td>
|
||||
<td>
|
||||
<?=$see_all->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right"><?=_('les actions affectées à d\'autres')?></td>
|
||||
<td><?=$my_action->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" class="button" name="submit_query" value="<?=_('recherche')?>">
|
||||
<input type="hidden" name="sa" value="list">
|
||||
|
||||
<?=$supl_hidden?>
|
||||
<? echo HtmlInput::button_anchor(_('Fermer'),'javascript:void(0)','fsearch_form','onclick="$(\'search_action\').style.display=\'none\';"'); ?>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="content" >
|
||||
<div>
|
||||
<form method="get" action="do.php">
|
||||
<?php echo dossier::hidden();
|
||||
?>
|
||||
<input type="submit" class="button" name="submit_query" value="<?=_("Ajout Action")?>">
|
||||
<input type="hidden" name="ac" value="<?=$_REQUEST['ac']?>">
|
||||
<input type="hidden" name="sa" value="add_action">
|
||||
<?=$supl_hidden?>
|
||||
<input id="bt_search" type="button" class="button" onclick="$('search_action').style.display='block'" value="<?=_('Recherche')?>">
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// show the action in
|
||||
$act=new Follow_Up($cn);
|
||||
/*! \brief
|
||||
* \note The field 'recherche' is about a part of the title or a ref. number
|
||||
*/
|
||||
$query="";
|
||||
|
||||
if ( isset($_REQUEST['query']) )
|
||||
{
|
||||
// if a query is request build the sql stmt
|
||||
$query="and (ag_title ~* '".sql_string($_REQUEST['query'])."' ".
|
||||
"or ag_ref ='".trim(sql_string($_REQUEST['query'])).
|
||||
"' or ag_id in (select ag_id from action_gestion_comment where agc_comment ~* '".trim(sql_string($_REQUEST['query']))."')".
|
||||
")";
|
||||
}
|
||||
|
||||
$str="";
|
||||
if ( isset($_GET['qcode'] ))
|
||||
{
|
||||
|
||||
// verify that qcode is not empty
|
||||
if ( strlen(trim($_REQUEST['qcode'] )) != 0 )
|
||||
{
|
||||
|
||||
$fiche=new Fiche($cn);
|
||||
$fiche->get_by_qcode($_REQUEST['qcode']);
|
||||
// if quick code not found then nothing
|
||||
if ( $fiche->id == 0 )
|
||||
$str=' and false ';
|
||||
else
|
||||
$str=" and (f_id_dest= ".$fiche->id." ) ";
|
||||
}
|
||||
}
|
||||
if (isset($_GET['tdoc']) && $_GET['tdoc'] != -1 )
|
||||
{
|
||||
$query .= ' and dt_id = '.Formatstring($_GET['tdoc']);
|
||||
}
|
||||
if ( ! $see_all->selected ) $query .= ' and ag_state in (2,3) ';
|
||||
if ( ! $my_action->selected ) {
|
||||
$query .=" and (ag_owner='".$_SESSION['g_user']."' or ag_dest in (select p_id from profile_user where user_name='".$_SESSION['g_user']."') )";
|
||||
}
|
||||
if (isset ($_GET['date_start']) && isDate($_GET['date_start'])!= null ) {
|
||||
$date_start=$_GET['date_start'];
|
||||
$query.=" and ag_timestamp >= to_date('$date_start','DD.MM.YYYY')";
|
||||
}
|
||||
if (isset ($_GET['date_end']) && isDate($_GET['date_end'])!= null ) {
|
||||
$date_end=$_GET['date_end'];
|
||||
$query.=" and ag_timestamp <= to_date('$date_end','DD.MM.YYYY')";
|
||||
}
|
||||
if ( isset($_GET['ag_dest_query']))
|
||||
{
|
||||
if ( $_GET['ag_dest_query']==0)
|
||||
$query .= "and ag_dest is null ";
|
||||
else
|
||||
$query.= " and ag_dest = ".sql_string($_GET['ag_dest_query']);
|
||||
}
|
||||
$r=$act->myList($p_base,"",$query.$str);
|
||||
echo $r;
|
||||
}
|
||||
|
|
|
|||
32
include/ajax_search_action.php
Executable file
32
include/ajax_search_action.php
Executable file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/*
|
||||
* This file is part of PhpCompta.
|
||||
*
|
||||
* PhpCompta 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.
|
||||
*
|
||||
* PhpCompta 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 PhpCompta; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
/* $Revision: 4215 $ */
|
||||
// Copyright Author Dany De Bontridder ddebontridder@yahoo.fr
|
||||
/*! \file
|
||||
* \brief Search module
|
||||
*/
|
||||
require_once('class_dossier.php');
|
||||
include_once("ac_common.php");
|
||||
require_once('class_action.php');
|
||||
$ac=$_REQUEST['ac'];
|
||||
$base='ac='.$ac;
|
||||
|
||||
Action::ShowActionList($cn,"");
|
||||
|
||||
?>
|
||||
|
|
@ -1112,4 +1112,202 @@ class Follow_Up
|
|||
$this->db->exec_sql("delete from action_gestion_operation where ago_id=$1",array($op[$i]));
|
||||
}
|
||||
}
|
||||
function ShowActionList($cn,$p_base)
|
||||
{
|
||||
// show the search menu
|
||||
?>
|
||||
<div id="search_action" class="op_detail_frame" style="position:absolute;display:none;margin-left:120px;width:70%;clear:both;z-index:2;height:auto;border:1px #000080 solid">
|
||||
<? echo HtmlInput::anchor_hide('Fermer','$(\'search_action\').style.display=\'none\';'); ?>
|
||||
<h2 class="info">
|
||||
<?=_('Recherche avancée')?>
|
||||
</h2>
|
||||
<form method="get" action="do.php" style="padding:10px">
|
||||
<?php
|
||||
echo dossier::hidden();
|
||||
$a=(isset($_GET['query']))?$_GET['query']:"";
|
||||
$qcode=(isset($_GET['qcode']))?$_GET['qcode']:"";
|
||||
|
||||
$supl_hidden='';
|
||||
if( isset($_REQUEST['sc']))
|
||||
$supl_hidden.=HtmlInput::hidden('sc',$_REQUEST['sc']);
|
||||
if( isset($_REQUEST['f_id']))
|
||||
{
|
||||
$supl_hidden.=HtmlInput::hidden('f_id',$_REQUEST['f_id']);
|
||||
$f=new Fiche($cn,$_REQUEST['f_id']);
|
||||
$supl_hidden.=HtmlInput::hidden('qcode_dest',$f->get_quick_code());
|
||||
}
|
||||
if( isset($_REQUEST['sb']))
|
||||
$supl_hidden.=HtmlInput::hidden('sb',$_REQUEST['sb']);
|
||||
$supl_hidden.=HtmlInput::hidden('ac',$_REQUEST['ac']);
|
||||
|
||||
$w=new ICard();
|
||||
$w->name='qcode';
|
||||
$w->value=$qcode;
|
||||
$w->extra="all";
|
||||
$w->typecard='all';
|
||||
$w->jrn=0;
|
||||
$w->table=0;
|
||||
$list=$cn->make_list("select fd_id from fiche_def where frd_id in (4,8,9,14,15,16,25)");
|
||||
$w->extra=$list;
|
||||
|
||||
|
||||
/* type of documents */
|
||||
$type_doc=new ISelect ('tdoc');
|
||||
$aTDoc=$cn->make_array('select dt_id,dt_value from document_type order by dt_value');
|
||||
$aTDoc[]=array('value'=>'-1','label'=>_('Tous les types'));
|
||||
$type_doc->value=$aTDoc;
|
||||
$type_doc->selected=(isset ($_GET['tdoc']))?$_GET['tdoc']:-1;
|
||||
|
||||
// date
|
||||
$start=new IDate('date_start');
|
||||
$start->value=(isset($_GET['date_start']))?$_GET['date_start']:"";
|
||||
$end=new IDate('date_end');
|
||||
$end->value=(isset($_GET['date_end']))?$_GET['date_end']:"";
|
||||
|
||||
$see_all=new ICheckBox('see_all');
|
||||
$see_all->selected=(isset($_GET['see_all']))?true:false;
|
||||
$my_action=new ICheckBox('all_action');
|
||||
$my_action->selected=(isset($_GET['all_action']))?true:false;
|
||||
// select profile
|
||||
$aAg_dest=$cn->make_array("select p_id as value, ".
|
||||
"p_name as label ".
|
||||
" from profile order by 2");
|
||||
$ag_dest=new ISelect();
|
||||
$ag_dest->name="ag_dest_query";
|
||||
$aAg_dest[]=array('value'=>0,'label'=>'Public');
|
||||
$ag_dest->value=$aAg_dest;
|
||||
$ag_dest->selected=(isset($_GET["ag_dest_query"]))?$_GET["ag_dest_query"]:0;
|
||||
$str_ag_dest=$ag_dest->input();
|
||||
|
||||
?>
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td style="width:180px;text-align:right"><? echo _('Destinataire') ?></td>
|
||||
<td ><?=$w->input().$w->search()?></td>
|
||||
<tr>
|
||||
<tr>
|
||||
<td style="text-align:right" ><?=_("Profile")?></td>
|
||||
<td><?=$str_ag_dest?></td>
|
||||
</tr>
|
||||
<td style="text-align:right"><? printf (_('contenant le mot'))?></td>
|
||||
<td ><input class="input_text" style="width:100%" type="text" name="query" value="<?=$a?>"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right"><?=_('Type de document')?></td>
|
||||
<td><? echo $type_doc->input();?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right">
|
||||
<? printf (_("Après le "))?>
|
||||
</td>
|
||||
<td >
|
||||
<?=$start->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right"><?=_('Avant le')?></td>
|
||||
<td>
|
||||
<?=$end->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right">
|
||||
<?=_('inclure les actions fermées ')?>
|
||||
</td>
|
||||
<td>
|
||||
<?=$see_all->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right"><?=_('les actions affectées à d\'autres')?></td>
|
||||
<td><?=$my_action->input()?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" class="button" name="submit_query" value="<?=_('recherche')?>">
|
||||
<input type="hidden" name="sa" value="list">
|
||||
|
||||
<?=$supl_hidden?>
|
||||
<? echo HtmlInput::button_anchor(_('Fermer'),'javascript:void(0)','fsearch_form','onclick="$(\'search_action\').style.display=\'none\';"'); ?>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="content" >
|
||||
<div>
|
||||
<form method="get" action="do.php">
|
||||
<?php echo dossier::hidden();
|
||||
?>
|
||||
<input type="submit" class="button" name="submit_query" value="<?=_("Ajout Action")?>">
|
||||
<input type="hidden" name="ac" value="<?=$_REQUEST['ac']?>">
|
||||
<input type="hidden" name="sa" value="add_action">
|
||||
<?=$supl_hidden?>
|
||||
<input id="bt_search" type="button" class="button" onclick="$('search_action').style.display='block'" value="<?=_('Recherche')?>">
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// show the action in
|
||||
$act=new Follow_Up($cn);
|
||||
/*! \brief
|
||||
* \note The field 'recherche' is about a part of the title or a ref. number
|
||||
*/
|
||||
$query="";
|
||||
|
||||
if ( isset($_REQUEST['query']) )
|
||||
{
|
||||
// if a query is request build the sql stmt
|
||||
$query="and (ag_title ~* '".sql_string($_REQUEST['query'])."' ".
|
||||
"or ag_ref ='".trim(sql_string($_REQUEST['query'])).
|
||||
"' or ag_id in (select ag_id from action_gestion_comment where agc_comment ~* '".trim(sql_string($_REQUEST['query']))."')".
|
||||
")";
|
||||
}
|
||||
|
||||
$str="";
|
||||
if ( isset($_GET['qcode'] ))
|
||||
{
|
||||
|
||||
// verify that qcode is not empty
|
||||
if ( strlen(trim($_REQUEST['qcode'] )) != 0 )
|
||||
{
|
||||
|
||||
$fiche=new Fiche($cn);
|
||||
$fiche->get_by_qcode($_REQUEST['qcode']);
|
||||
// if quick code not found then nothing
|
||||
if ( $fiche->id == 0 )
|
||||
$str=' and false ';
|
||||
else
|
||||
$str=" and (f_id_dest= ".$fiche->id." ) ";
|
||||
}
|
||||
}
|
||||
if (isset($_GET['tdoc']) && $_GET['tdoc'] != -1 )
|
||||
{
|
||||
$query .= ' and dt_id = '.Formatstring($_GET['tdoc']);
|
||||
}
|
||||
if ( ! $see_all->selected ) $query .= ' and ag_state in (2,3) ';
|
||||
if ( ! $my_action->selected ) {
|
||||
$query .=" and (ag_owner='".$_SESSION['g_user']."' or ag_dest in (select p_id from profile_user where user_name='".$_SESSION['g_user']."') )";
|
||||
}
|
||||
if (isset ($_GET['date_start']) && isDate($_GET['date_start'])!= null ) {
|
||||
$date_start=$_GET['date_start'];
|
||||
$query.=" and ag_timestamp >= to_date('$date_start','DD.MM.YYYY')";
|
||||
}
|
||||
if (isset ($_GET['date_end']) && isDate($_GET['date_end'])!= null ) {
|
||||
$date_end=$_GET['date_end'];
|
||||
$query.=" and ag_timestamp <= to_date('$date_end','DD.MM.YYYY')";
|
||||
}
|
||||
if ( isset($_GET['ag_dest_query']))
|
||||
{
|
||||
if ( $_GET['ag_dest_query']==0)
|
||||
$query .= "and ag_dest is null ";
|
||||
else
|
||||
$query.= " and ag_dest = ".sql_string($_GET['ag_dest_query']);
|
||||
}
|
||||
$r=$act->myList($p_base,"",$query.$str);
|
||||
echo $r;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue