def crear(self):
     """
     Da de alta una monodroga nueva y la almacena en la base de datos.
     :return:
     """
     if ValidarDatos.validarCamposVacios(self.camposRequeridos):
         monodroga = MonodrogaModel(str(self.lineNombre.text()),
                                    str(self.cmbTipoVenta.currentText()),
                                    str(self.txtDescripcion.toPlainText()))
         if monodroga.guardar(self.sesion):
             self.showMsjEstado("La Monodroga fue dada de alta.")
             self.limpiarCampos()
             self.objectCreated.emit()
         else:
             monodroga = MonodrogaModel.buscar(
                 MonodrogaModel.nombre, self.sesion,
                 str(self.lineNombre.text())).first()
             if monodroga.getBaja():
                 monodroga.setBaja(False)
                 monodroga.modificar(self.sesion)
                 self.showMsjEstado("La Monodroga fue dada de alta.")
                 self.limpiarCampos()
                 self.objectCreated.emit()
             else:
                 QtGui.QMessageBox.critical(self, 'Error',
                                            'La Monodroga ya existe.',
                                            'Aceptar')
     else:
         self.showMsjEstado(
             "Hay datos obligatorios que no fueron completados.")
 def crear(self):
     """
     Da de alta una monodroga nueva y la almacena en la base de datos.
     :return:
     """
     if ValidarDatos.validarCamposVacios(self.camposRequeridos):
         monodroga = MonodrogaModel(str(self.lineNombre.text()),  str(self.cmbTipoVenta.currentText()),
                             str(self.txtDescripcion.toPlainText()))
         if monodroga.guardar(self.sesion):
             QtGui.QMessageBox.information(self, 'Info', 'La Monodroga fue dada de alta.', 'Aceptar')
             self.limpiarCampos()
             self.objectCreated.emit()
         else:
             monodroga = MonodrogaModel.buscar(MonodrogaModel.nombre, self.sesion,
                                                   str(self.lineNombre.text())).first()
             if monodroga.getBaja():
                 monodroga.setBaja(False)
                 monodroga.modificar(self.sesion)
                 QtGui.QMessageBox.information(self, 'Info', 'La Monodroga fue dada de alta.', 'Aceptar')
                 self.limpiarCampos()
                 self.objectCreated.emit()
             else:
                 QtGui.QMessageBox.critical(self, 'Error', 'La Monodroga ya existe.', 'Aceptar')
     else:
         QtGui.QMessageBox.warning(self, 'Atención', 'Hay datos obligatorios que no fueron completados.',
                                   'Aceptar')
 def modificar(self):
     """
     Modifica los datos de la monodroga seleccionada.
     :return:
     """
     itemActual = self.tablaMonodroga.currentItem()
     if itemActual != None:
         if ValidarDatos.validarCamposVacios(self.camposRequeridos):
             row = itemActual.row()
             nombre = str(self.tablaMonodroga.item(row, 0).text())
             self.monodroga = MonodrogaModel.buscarAlta(
                 MonodrogaModel.nombre, self.sesion, nombre).first()
             self.monodroga.setTipoVenta(
                 str(self.cmbTipoVenta.currentText()))
             self.monodroga.setDescripcion(
                 str(self.txtDescripcion.toPlainText()))
             self.monodroga.modificar(self.sesion)
             self.showMsjEstado("La Monodroga fue modificada")
             self.objectModified.emit()
             self.actualizar()
         else:
             self.showMsjEstado(
                 "Hay datos obligatorios que no fueron completados.")
     else:
         self.showMsjEstado(
             "No se ha seleccionado una Monodroga de la tabla")
 def eliminar(self):
     """
     Da de baja la monodroga seleccionada.
     :return:
     """
     itemActual = self.tablaMonodroga.currentItem()
     if itemActual == None:
         self.showMsjEstado(
             "No se ha seleccionado ninguna Monodroga de la tabla.")
     else:
         row = itemActual.row()
         nombre = str(self.tablaMonodroga.item(row, 0).text())
         if self.bajaValida(MedicamentoModel, MedicamentoModel.id_monodroga,
                            nombre):
             self.monodroga = MonodrogaModel.buscarAlta(
                 MonodrogaModel.nombre, self.sesion, nombre).first()
             self.monodroga.borrar(self.sesion)
             self.showMsjEstado("La Monodroga ha sido dada de baja.")
             self.tablaMonodroga.removeRow(row)
             self.objectDeleted.emit()
             self.actualizar()
         else:
             QtGui.QMessageBox.critical(
                 self, 'Error',
                 'La Monodroga no puede ser dada de baja, esta'
                 ' asignada a 1 ó más medicamentos', 'Aceptar')
 def cargarMonodrogas(self):
     """
     Carga los campos con los datos de la Monodroga seleccionada.
     :return:
     """
     self.cargarObjetos(self.tablaMonodroga,
         MonodrogaModel.buscarTodos("nombre", self.sesion).all(),
         ("nombre", "tipo_venta", "descripcion")
     )
 def cargarMonodrogas(self):
     """
     Carga los datos de las monodrogas en la tabla de la ventana.
     :return:
     """
     self.cargarObjetos(
         self.tablaMonodroga,
         MonodrogaModel.buscarTodos("nombre", self.sesion).all(),
         ("nombre", "tipo_venta", "descripcion"))
 def buscarMonodroga(self):
     """
     Busca y carga en la tabla los datos de una monodroga para un nombre ingresado.
     :return:
     """
     self.limpiarTabla(self.tablaMonodroga)
     self.cargarObjetos(self.tablaMonodroga,
         MonodrogaModel.buscarLike(MonodrogaModel.nombre, self.sesion,
                                   str(self.lineNombre_Mon.text())).all(),
         ("nombre", "tipo_venta", "descripcion")
     )
 def buscar(self):
     """
     Busca y carga en la tabla los datos de una monodroga para un nombre ingresado.
     :return:
     """
     self.limpiarTabla(self.tablaMonodroga)
     self.cargarObjetos(
         self.tablaMonodroga,
         MonodrogaModel.buscarLike(MonodrogaModel.nombre, self.sesion,
                                   str(self.lineNombre.text())).all(),
         ("nombre", "tipo_venta", "descripcion"))
 def eliminar(self):
     """
     Da de baja la monodroga seleccionada.
     :return:
     """
     itemActual = self.tablaMonodroga.currentItem()
     if itemActual == None:
         QtGui.QMessageBox.warning(self, 'Atención', 'No se ha seleccionado ninguna Monodroga de la tabla.',
                                   'Aceptar')
     else:
         row = itemActual.row()
         nombre = str(self.tablaMonodroga.item(row, 0).text())
         if self.bajaValida(MedicamentoModel, MedicamentoModel.id_monodroga, nombre):
             self.monodroga = MonodrogaModel.buscarAlta(MonodrogaModel.nombre, self.sesion, nombre).first()
             self.monodroga.borrar(self.sesion)
             QtGui.QMessageBox.information(self, 'Info', 'La Monodroga ha sido dada de baja.', 'Aceptar')
             self.tablaMonodroga.removeRow(row)
             self.objectDeleted.emit()
             self.actualizar()
         else:
             QtGui.QMessageBox.critical(self, 'Error', 'La Monodroga no puede ser dada de baja, esta'
                                                       ' asignada a 1 ó más medicamentos', 'Aceptar')
 def modificar(self):
     """
     Modifica los datos de la monodroga seleccionada.
     :return:
     """
     itemActual = self.tablaMonodroga.currentItem()
     if itemActual != None:
         if ValidarDatos.validarCamposVacios(self.camposRequeridos):
             row = itemActual.row()
             nombre = str(self.tablaMonodroga.item(row, 0).text())
             self.monodroga = MonodrogaModel.buscarAlta(MonodrogaModel.nombre, self.sesion, nombre).first()
             self.monodroga.setTipoVenta(str(self.cmbTipoVenta.currentText()))
             self.monodroga.setDescripcion(str(self.txtDescripcion.toPlainText()))
             self.monodroga.modificar(self.sesion)
             QtGui.QMessageBox.information(self, 'Info', 'La Monodroga fue modificada.', 'Aceptar')
             self.objectModified.emit()
             self.actualizar()
         else:
             QtGui.QMessageBox.warning(self, 'Atención', 'Hay datos obligatorios que no fueron completados.',
                                       'Aceptar')
     else:
         QtGui.QMessageBox.warning(self, 'Atención', 'No se ha seleccionado una Monodroga de la tabla.',
                                       'Aceptar')