From 08f34100e8b793a06eb8abfc50f6ae95f6b48faa Mon Sep 17 00:00:00 2001 From: Dany De Bontridder Date: Sat, 20 Nov 2010 12:26:56 +0000 Subject: [PATCH] =?UTF-8?q?0000142:=20R=C3=A9ouverture=20de=20p=C3=A9riode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/class_periode.php | 67 +++++++++++++++++++++++++++++++++------ include/periode.inc.php | 12 +++++++ 2 files changed, 70 insertions(+), 9 deletions(-) diff --git a/include/class_periode.php b/include/class_periode.php index 4e7f030eb..615dcbe9d 100644 --- a/include/class_periode.php +++ b/include/class_periode.php @@ -116,6 +116,38 @@ class Periode return 1; return 0; } + function reopen() + { + if ( $this->jrn_def_id == 0 ) + { + $this->cn->exec_sql("update parm_periode set p_closed='f',p_central='f' where p_id=$1", + array($_GET['p_per'])); + + $this->cn->exec_sql("update jrn_periode set status='OP' ". + " where p_id = ".$this->p_id); + + return; + } + else + { + $this->cn->exec_sql("update jrn_periode set status='OP' ". + " where jrn_def_id=".$this->jrn_def_id." and ". + " p_id = ".$this->p_id); + /* if all ledgers have this periode open then synchro with + the table parm_periode + */ + $nJrn=$this->cn->count_sql( "select * from jrn_periode where ". + " p_id=".$this->p_id); + $nJrnPeriode=$this->cn->count_sql( "select * from jrn_periode where ". + " p_id=".$this->p_id." and status='OP'"); + + if ( $nJrnPeriode==$nJrn) + $this->cn->exec_sql("update parm_periode set p_closed=false where p_id=".$this->p_id); + return; + } + + } + function close() { if ( $this->jrn_def_id == 0 ) @@ -188,7 +220,13 @@ class Periode for ($i=0;$i<$Max;$i++) { $l_line=Database::fetch_array($Res,$i); - echo ''; + $class="even"; + if ( $i % 2 == 0 ) + $class="odd"; + $style=''; + if ( $l_line['p_closed'] == 't') + $style="color:red"; + echo ''; echo ' '.$l_line['date_start'].''; echo ' '.$l_line['date_end'].''; echo ' '.$l_line['p_exercice'].''; @@ -197,17 +235,24 @@ class Periode { $closed=($l_line['p_central']=='t')?'Centralisée':'Fermée'; $change=''; - $remove=''; + $remove=sprintf(_('Nombre opérations %d'),$l_line['count_op']); + $remove=td($remove,' class="mtitle" '); + $change=td (' Réouverture',' class="mtitle"'); + } else { $closed=''; - $closed.=' Cloturer'; + $closed.=' Cloturer'; $change=''; $change.=' Changer"; + $l_line['p_exercice']."&$str_dossier\"> Changer"; + + $reopen=td(""); + + $remove=''; @@ -218,7 +263,7 @@ class Periode } else { - $remove.=sprintf(_('Nombre opération %d'),$l_line['count_op']); + $remove.=sprintf(_('Nombre opérations %d'),$l_line['count_op']); } $remove.=''; } @@ -227,7 +272,7 @@ class Periode echo $remove; - echo ''; + echo ''; } echo '
'; @@ -263,19 +308,23 @@ class Periode for ($i=0;$i<$Max;$i++) { $l_line=Database::fetch_array($Res,$i); - echo ''; + if ( $l_line['status'] != 'OP' ) + echo ''; + else + echo ''; echo ' '.$l_line['date_start'].''; echo ' '.$l_line['date_end'].''; echo ' '.$l_line['p_exercice'].''; if ( $l_line['status'] != 'OP' ) { - $closed=($l_line['status']=='CE')?'Centralisee':'Fermée'; + $closed=td (' Réouverture',' class="mtitle"'); + // $closed=($l_line['status']=='CE')?'Centralisee':'Fermée'; } else { $closed=''; - $closed.=' Cloturer'; + $closed.=' Cloturer'; $closed.=''; } echo "$closed"; diff --git a/include/periode.inc.php b/include/periode.inc.php index d3899c2ff..388335bce 100644 --- a/include/periode.inc.php +++ b/include/periode.inc.php @@ -118,6 +118,18 @@ if ( $action== "delete_per" ) } $choose="yes"; } +if ( $action == 'reopen') + { + $User->can_request(PARCLO); + $jrn_def_id=(isset($_GET['jrn_def_id']))?$_GET['jrn_def_id']:0; + $per=new Periode($cn); + $jrn_def_id=(isset($_GET['jrn_def_id']))?$_GET['jrn_def_id']:0; + $per->set_jrn($jrn_def_id); + $per->set_periode($_GET['p_per']); + $per->reopen(); + + $choose="yes"; + } if ( $choose=="yes" ) { echo HtmlInput::button_anchor('Autre Journal ?','?choose=no&p_action=periode&gDossier='.dossier::id());