]> git.llucax.com Git - mecon/ai.git/blob - sistema/www/servicios.php
d4087ebd653d4fc3738ba2f6ea3fcbe102ca174a
[mecon/ai.git] / sistema / www / servicios.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // |                      Ministerio de Economía                        |
5 // |                  AI (Administrador de Intranet)                    |
6 // +--------------------------------------------------------------------+
7 // | This file is part of AI.                                           |
8 // |                                                                    |
9 // | AI is free software; you can redistribute it and/or modify         |
10 // | it under the terms of the GNU General Public License as published  |
11 // | by the Free Software Foundation; either version 2 of the License,  |
12 // | or (at your option) any later version.                             |
13 // |                                                                    |
14 // | AI is distributed in the hope that it will be useful, but          |
15 // | WITHOUT ANY WARRANTY; without even the implied warranty of         |
16 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   |
17 // | General Public License for more details.                           |
18 // |                                                                    |
19 // | You should have received a copy of the GNU General Public License  |
20 // | along with Hooks; if not, write to the Free Software Foundation,   |
21 // | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
22 // +--------------------------------------------------------------------+
23 // | Creado: vie jun 27 17:08:18 ART 2003                               |
24 // | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
25 // +--------------------------------------------------------------------+
26 //
27 // $Id$
28 //
29
30 require_once 'MECON/HTML/Arbol/ArbolDB.php';
31 require_once 'AIForm.php';
32 require_once 'Servicio.php';
33
34 // Dibujo el menu de arbol.
35 $dbdata = array(
36     'db'            => &$DB,
37     'tabla'         => 'servicio',
38     'id'            => 'servicio',
39     'nombre'        => 'nombre',
40     'id_padre'      => 'servicio_padre',
41     'prepend_link'  => 'servicios?accion='.MODIFICACION.'&id='
42 );
43 $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
44
45 // Creo un servicio y seteo su id.
46 $servicio = new Servicio;
47 $servicio->servicio = @$_REQUEST['id'];
48
49 // Verifico que la accion sea válida.
50 switch(@$_REQUEST['accion']) {
51     case BAJA:
52     case MODIFICACION:
53         $accion = $_REQUEST['accion'];
54         break;
55     default:
56         $accion = ALTA;
57 }
58
59 // Creo formulario.
60 $form =& new AIForm;
61
62 // Verifico si ya se envio el formulario.
63 $freeze = false;
64 switch (@strtolower(join('', ($form->getSubmitValue('botones'))))) {
65     case 'agregar':
66         $accion = ALTA;
67         break;
68     case 'borrar':
69         $accion = BAJA;
70         $servicio->servicio = $form->getSubmitValue('servicio');
71         // Es la primera "llamada" a borrar asi que indico que hay que
72         // freezarlo primero para confirmar.
73         $freeze = true;
74         break;
75     case 'modificar':
76     case 'cancelar':
77         $accion = MODIFICACION;
78         $servicio->servicio = $form->getSubmitValue('servicio');
79         break;
80 }
81
82 // Cargo datos de ser necesario.
83 if ($accion & (BAJA | MODIFICACION)) {
84     $err =& $servicio->cargar($DB);
85     if (PEAR::isError($err)) {
86         die($err->getMessage());
87     }
88     $form->iniciar(SERVICIO, $accion, $servicio);
89 } else {
90     $accion = ALTA;
91     $form->iniciar(SERVICIO, ALTA, $servicio);
92 }
93
94 // Freezo de ser necesario.
95 if ($freeze) {
96     $form->freeze();
97 }
98
99 // Me fijo si se cargo un formulalrio y si es válido.
100 if ($form->validate()) {
101 /*    $botones =& $form->getElement('botones');
102     $botones =& $botones->getElements();
103     $btnAceptar  =& $botones[0];
104     $btnCancelar =& $botones[1];
105     $body = $btnAceptar->getValue() . '<BR>' . $btnCancelar->getValue() . '<BR>';
106     switch (strtolower($btnAceptar->getValue())) {
107         case 'agregar':
108         $body .= 'Tengo que agregar!!!';
109             break;
110         case 'modificar':
111             if (strtolower($btnCancelar->getValue()) == 'borrar') {
112                 $body .= 'Tengo que poner confirmación para borrar!!!';
113             } else {
114                 $body .= 'Tengo que modificar!!!';
115             }
116             break;
117         case 'borrar':
118             if (strtolower($btnCancelar->getValue()) == 'cancelar') {
119                 $body .= 'Tengo que poner para modificar de nuevo!!!';
120             } else {
121                 $body .= 'Tengo que borrar!!!';
122             }
123             break;
124     }*/
125     switch ($accion) {
126         case ALTA:
127             $form->freeze();
128             $body = 'Tengo que agregar!!!' . $form->toHtml();
129             break;
130         case BAJA:
131             if ($form->isFrozen()) {
132                 $form->freeze();
133                 $body = 'Tengo que borrar!!!' . $form->toHtml();
134             } else {
135                 $form->freeze();
136                 $body =& $form;
137             }
138             break;
139         case MODIFICACION:
140             $form->freeze();
141             $body = 'Tengo que modificar!!!' . $form->toHtml();
142             break;
143     }
144 } else {
145     $body =& $form;
146 }
147
148 // Dibujo.
149 $LAYOUT->setCellContents(0, 0, $arbol);
150 $LAYOUT->setCellContents(0, 2, $body);
151 $MARCO->addBody($LAYOUT);
152 $MARCO->display();
153
154 ?>