protected function process()
 {
     $this->custom_search = TRUE;
     $this->buttons[] = new fs_button_img('b_nuevo_proveedor', 'Nuevo', 'add.png', '#nuevo');
     $this->pais = new pais();
     $this->proveedor = new proveedor();
     if (isset($_GET['delete'])) {
         $proveedor = $this->proveedor->get($_GET['delete']);
         if ($proveedor) {
             if (FS_DEMO) {
                 $this->new_error_msg('En el modo demo no se pueden eliminar proveedores.
               Otros usuarios podrían necesitarlos.');
             } else {
                 if ($proveedor->delete()) {
                     $this->new_message('Proveedor eliminado correctamente.');
                 } else {
                     $this->new_error_msg('Ha sido imposible borrar el proveedor.');
                 }
             }
         } else {
             $this->new_message('Proveedor no encontrado.');
         }
     } else {
         if (isset($_POST['cifnif'])) {
             $this->save_codpais($_POST['pais']);
             $proveedor = new proveedor();
             $proveedor->codproveedor = $proveedor->get_new_codigo();
             $proveedor->nombre = $_POST['nombre'];
             $proveedor->nombrecomercial = $_POST['nombre'];
             $proveedor->cifnif = $_POST['cifnif'];
             if ($proveedor->save()) {
                 $dirproveedor = new direccion_proveedor();
                 $dirproveedor->codproveedor = $proveedor->codproveedor;
                 $dirproveedor->descripcion = "Principal";
                 $dirproveedor->codpais = $_POST['pais'];
                 $dirproveedor->provincia = $_POST['provincia'];
                 $dirproveedor->ciudad = $_POST['ciudad'];
                 $dirproveedor->codpostal = $_POST['codpostal'];
                 $dirproveedor->direccion = $_POST['direccion'];
                 if ($dirproveedor->save()) {
                     header('location: ' . $proveedor->url());
                 } else {
                     $this->new_error_msg("¡Imposible guardar la dirección el proveedor!");
                 }
             } else {
                 $this->new_error_msg("¡Imposible guardar el proveedor!");
             }
         }
     }
     if (isset($_GET['offset'])) {
         $this->offset = intval($_GET['offset']);
     } else {
         $this->offset = 0;
     }
     if ($this->query != '') {
         $this->resultados = $this->proveedor->search($this->query, $this->offset);
     } else {
         $this->resultados = $this->proveedor->all($this->offset);
     }
 }
 /**
  * Devuelve las direcciones asociadas al proveedor.
  * @return type
  */
 public function get_direcciones()
 {
     $dir = new direccion_proveedor();
     return $dir->all_from_proveedor($this->codproveedor);
 }
 protected function private_core()
 {
     $this->pais = new pais();
     $this->proveedor = new proveedor();
     if (isset($_GET['delete'])) {
         $proveedor = $this->proveedor->get($_GET['delete']);
         if ($proveedor) {
             if (FS_DEMO) {
                 $this->new_error_msg('En el modo demo no se pueden eliminar proveedores.
               Otros usuarios podrían necesitarlos.');
             } else {
                 if ($proveedor->delete()) {
                     $this->new_message('Proveedor eliminado correctamente.');
                 } else {
                     $this->new_error_msg('Ha sido imposible borrar el proveedor.');
                 }
             }
         } else {
             $this->new_message('Proveedor no encontrado.');
         }
     } else {
         if (isset($_POST['cifnif'])) {
             $this->save_codpais($_POST['pais']);
             $proveedor = FALSE;
             if ($_POST['cifnif'] != '') {
                 $proveedor = $this->proveedor->get_by_cifnif($_POST['cifnif']);
                 if ($proveedor) {
                     $this->new_advice('Ya existe un proveedor con el ' . FS_CIFNIF . ' ' . $_POST['cifnif']);
                     $this->query = $_POST['cifnif'];
                 }
             }
             if (!$proveedor) {
                 $proveedor = new proveedor();
                 $proveedor->codproveedor = $proveedor->get_new_codigo();
                 $proveedor->nombre = $_POST['nombre'];
                 $proveedor->alias = $_POST['nombre'];
                 $proveedor->razonsocial = $_POST['nombre'];
                 $proveedor->cifnif = $_POST['cifnif'];
                 $proveedor->codserie = $this->empresa->codserie;
                 $proveedor->acreedor = isset($_POST['acreedor']);
                 $proveedor->cai = isset($_POST['cai']);
                 $proveedor->caivence = isset($_POST['caivence']);
                 if ($proveedor->save()) {
                     $dirproveedor = new direccion_proveedor();
                     $dirproveedor->codproveedor = $proveedor->codproveedor;
                     $dirproveedor->descripcion = "Principal";
                     $dirproveedor->codpais = $_POST['pais'];
                     $dirproveedor->provincia = $_POST['provincia'];
                     $dirproveedor->ciudad = $_POST['ciudad'];
                     $dirproveedor->codpostal = $_POST['codpostal'];
                     $dirproveedor->direccion = $_POST['direccion'];
                     if ($dirproveedor->save()) {
                         header('location: ' . $proveedor->url());
                     } else {
                         $this->new_error_msg("¡Imposible guardar la dirección el proveedor!");
                     }
                 } else {
                     $this->new_error_msg("¡Imposible guardar el proveedor!");
                 }
             }
         }
     }
     $this->mostrar = 'todo';
     if (isset($_GET['mostrar'])) {
         $this->mostrar = $_GET['mostrar'];
     }
     $this->offset = 0;
     if (isset($_GET['offset'])) {
         $this->offset = intval($_GET['offset']);
     }
     if ($this->query != '') {
         $this->resultados = $this->proveedor->search($this->query, $this->offset);
     } else {
         if ($this->mostrar == 'acreedores') {
             $this->resultados = $this->proveedor->all($this->offset, TRUE);
         } else {
             $this->resultados = $this->proveedor->all($this->offset);
         }
     }
 }
Example #4
0
 protected function process()
 {
     $this->ppage = $this->page->get('compras_proveedores');
     $this->cuenta_banco = new cuenta_banco_proveedor();
     $this->divisa = new divisa();
     $this->forma_pago = new forma_pago();
     $this->pais = new pais();
     $this->serie = new serie();
     /// ¿El usuario tiene permiso para eliminar en esta página?
     $this->allow_delete = $this->user->allow_delete_on(__CLASS__);
     /// cargamos el proveedor
     $proveedor = new proveedor();
     $this->proveedor = FALSE;
     if (isset($_POST['codproveedor'])) {
         $this->proveedor = $proveedor->get($_POST['codproveedor']);
     } else {
         if (isset($_GET['cod'])) {
             $this->proveedor = $proveedor->get($_GET['cod']);
         }
     }
     /// ¿Hay que hacer algo más?
     if (isset($_GET['delete_cuenta'])) {
         $cuenta = $this->cuenta_banco->get($_GET['delete_cuenta']);
         if ($cuenta) {
             if ($cuenta->delete()) {
                 $this->new_message('Cuenta bancaria eliminada correctamente.');
             } else {
                 $this->new_error_msg('Imposible eliminar la cuenta bancaria.');
             }
         } else {
             $this->new_error_msg('Cuenta bancaria no encontrada.');
         }
     } else {
         if (isset($_GET['delete_dir'])) {
             $dir = new direccion_proveedor();
             $dir0 = $dir->get($_GET['delete_dir']);
             if ($dir0) {
                 if ($dir0->delete()) {
                     $this->new_message('Dirección eliminada correctamente.');
                 } else {
                     $this->new_error_msg('Imposible eliminar la dirección.');
                 }
             } else {
                 $this->new_error_msg('Dirección no encontrada.');
             }
         } else {
             if (isset($_POST['coddir'])) {
                 $direccion = new direccion_proveedor();
                 if ($_POST['coddir'] != '') {
                     $direccion = $direccion->get($_POST['coddir']);
                 }
                 $direccion->apartado = $_POST['apartado'];
                 $direccion->ciudad = $_POST['ciudad'];
                 $direccion->codpais = $_POST['pais'];
                 $direccion->codpostal = $_POST['codpostal'];
                 $direccion->codproveedor = $this->proveedor->codproveedor;
                 $direccion->descripcion = $_POST['descripcion'];
                 $direccion->direccion = $_POST['direccion'];
                 $direccion->direccionppal = isset($_POST['direccionppal']);
                 $direccion->provincia = $_POST['provincia'];
                 if ($direccion->save()) {
                     $this->new_message("Dirección guardada correctamente.");
                 } else {
                     $this->new_error_msg("¡Imposible guardar la dirección!");
                 }
             } else {
                 if (isset($_POST['iban'])) {
                     if (isset($_POST['codcuenta'])) {
                         $cuentab = $this->cuenta_banco->get($_POST['codcuenta']);
                     } else {
                         $cuentab = new cuenta_banco_proveedor();
                         $cuentab->codproveedor = $this->proveedor->codproveedor;
                     }
                     $cuentab->descripcion = $_POST['descripcion'];
                     if ($_POST['ciban'] != '') {
                         $cuentab->iban = $this->calcular_iban($_POST['ciban']);
                     } else {
                         $cuentab->iban = $_POST['iban'];
                     }
                     $cuentab->swift = $_POST['swift'];
                     if ($cuentab->save()) {
                         $this->new_message('Cuenta bancaria guardada correctamente.');
                     } else {
                         $this->new_error_msg('Imposible guardar la cuenta bancaria.');
                     }
                 } else {
                     if (isset($_POST['codproveedor'])) {
                         $this->proveedor->nombre = $_POST['nombre'];
                         $this->proveedor->razonsocial = $_POST['razonsocial'];
                         $this->proveedor->cifnif = $_POST['cifnif'];
                         $this->proveedor->telefono1 = $_POST['telefono1'];
                         $this->proveedor->telefono2 = $_POST['telefono2'];
                         $this->proveedor->fax = $_POST['fax'];
                         $this->proveedor->email = $_POST['email'];
                         $this->proveedor->web = $_POST['web'];
                         $this->proveedor->observaciones = $_POST['observaciones'];
                         $this->proveedor->codserie = $_POST['codserie'];
                         $this->proveedor->codpago = $_POST['codpago'];
                         $this->proveedor->coddivisa = $_POST['coddivisa'];
                         $this->proveedor->regimeniva = $_POST['regimeniva'];
                         $this->proveedor->acreedor = isset($_POST['acreedor']);
                         if ($this->proveedor->save()) {
                             $this->new_message('Datos del proveedor modificados correctamente.');
                         } else {
                             $this->new_error_msg('¡Imposible modificar los datos del proveedor!');
                         }
                     }
                 }
             }
         }
     }
     if ($this->proveedor) {
         $this->page->title = $this->proveedor->codproveedor;
     } else {
         $this->new_error_msg("¡Proveedor no encontrado!");
     }
 }
 protected function private_core()
 {
     $this->pais = new pais();
     $this->proveedor = new proveedor();
     if (isset($_GET['delete'])) {
         $proveedor = $this->proveedor->get($_GET['delete']);
         if ($proveedor) {
             if (FS_DEMO) {
                 $this->new_error_msg('En el modo demo no se pueden eliminar proveedores.
               Otros usuarios podrían necesitarlos.');
             } else {
                 if ($proveedor->delete()) {
                     $this->new_message('Proveedor eliminado correctamente.');
                 } else {
                     $this->new_error_msg('Ha sido imposible borrar el proveedor.');
                 }
             }
         } else {
             $this->new_message('Proveedor no encontrado.');
         }
     } else {
         if (isset($_POST['cifnif'])) {
             $proveedor = new proveedor();
             $proveedor->codproveedor = $proveedor->get_new_codigo();
             $proveedor->nombre = $_POST['nombre'];
             $proveedor->razonsocial = $_POST['nombre'];
             $proveedor->tipoidfiscal = $_POST['tipoidfiscal'];
             $proveedor->cifnif = $_POST['cifnif'];
             $proveedor->acreedor = isset($_POST['acreedor']);
             if ($proveedor->save()) {
                 $dirproveedor = new direccion_proveedor();
                 $dirproveedor->codproveedor = $proveedor->codproveedor;
                 $dirproveedor->descripcion = "Principal";
                 $dirproveedor->codpais = $_POST['pais'];
                 $dirproveedor->provincia = $_POST['provincia'];
                 $dirproveedor->ciudad = $_POST['ciudad'];
                 $dirproveedor->codpostal = $_POST['codpostal'];
                 $dirproveedor->direccion = $_POST['direccion'];
                 if ($dirproveedor->save()) {
                     /// forzamos crear la subcuenta
                     $proveedor->get_subcuenta($this->empresa->codejercicio);
                     /// redireccionamos a la página del proveedor
                     header('location: ' . $proveedor->url());
                 } else {
                     $this->new_error_msg("¡Imposible guardar la dirección el proveedor!");
                 }
             } else {
                 $this->new_error_msg("¡Imposible guardar el proveedor!");
             }
         }
     }
     $this->mostrar = 'todo';
     if (isset($_GET['mostrar'])) {
         $this->mostrar = $_GET['mostrar'];
     }
     $this->offset = 0;
     if (isset($_GET['offset'])) {
         $this->offset = intval($_GET['offset']);
     }
     if ($this->query != '') {
         $this->resultados = $this->proveedor->search($this->query, $this->offset);
     } else {
         if ($this->mostrar == 'acreedores') {
             $this->resultados = $this->proveedor->all($this->offset, TRUE);
         } else {
             $this->resultados = $this->proveedor->all($this->offset);
         }
     }
 }