Exemplo n.º 1
0
class Usuario_s(wx.PyValidator):
    mdlUsuarios = ModeloUsuarios()

    def __init__(self):
        wx.PyValidator.__init__(self)

    def Clone(self):
        return Usuario_s()

    def Validate(self, win):
        tctrl = self.GetWindow()
        texto = tctrl.GetValue()
        self.mdlUsuarios.usuario = texto
        if len(texto) == 0:
            tctrl.SetBackgroundColour("pink")
            tctrl.SetFocus()
            tctrl.Refresh()
            return False
        elif self.mdlUsuarios.existUser() != 1:
            tctrl.SetBackgroundColour("pink")
            tctrl.SetFocus()
            tctrl.Refresh()
            return False
        else:
            tctrl.SetBackgroundColour(
                wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW))
            tctrl.Refresh()
            return True

    def TransferToWindow(self):
        return True

    def TransferFromWindow(self):
        return True
class ControladorEliminarUsuario:
    mdlTUsu = ModeloTiposUsuario()
    mdlUsuarios = ModeloUsuarios()

    def __init__(self, parent, seleccionado):
        self.parent = parent
        self.seleccionado = seleccionado

    def run(self):
        self.frame = FrameEliminarUsuario(self.parent)
        self.frame.btn_cancelar.SetFocus()
        self.cargarDatos()
        resp = self.frame.ShowModal()
        if resp == wx.ID_OK:
            self.Eliminar()

    def cargarDatos(self):
        self.mdlUsuarios.usuario = self.seleccionado
        usu = self.mdlUsuarios.read()

        self.frame.tc_usuario.SetValue(usu['usuario'])
        self.frame.tc_clave.SetValue(usu['clave'])
        self.frame.tc_tipo.SetValue(usu['tipo'])
        self.mdlTUsu.tipo = self.frame.tc_tipo.GetValue()
        datos = self.mdlTUsu.read()
        self.frame.tc_descripcion.SetValue(datos['descripcion'])

    def Eliminar(self):
        self.mdlUsuarios.delete()
class ControladorModificarUsuario:
    mdlTUsu = ModeloTiposUsuario()
    mdlUsuarios = ModeloUsuarios()

    def __init__(self, parent, seleccionado):
        self.parent = parent
        self.seleccionado = seleccionado

    def run(self):
        self.frame = FrameModificarUsuario(self.parent)
        self.frame.btn_cancelar.SetFocus()
        self.capturarEventos()
        self.cargarValidadores()
        self.cargarDatos()
        self.cargarDescripcion()
        resp = self.frame.ShowModal()
        if resp == wx.ID_OK:
            self.Modificar()

    def capturarEventos(self):
        self.frame.ch_tipo.Bind(wx.EVT_CHOICE, self.cargarDescripcion)

    def cargarValidadores(self):
        self.frame.tc_clave.SetValidator(NuevoUsuarioClave())
        self.frame.ch_tipo.SetValidator(NuevoUsuarioTipo())

    def cargarDatos(self):
        self.mdlUsuarios.usuario = self.seleccionado
        usu = self.mdlUsuarios.read()
        self.frame.tc_usuario.SetValue(usu['usuario'])
        self.frame.tc_clave.SetValue(usu['clave'])
        self.frame.ch_tipo.SetStringSelection(usu['tipo'])

    ''' Evento de choice. '''

    def cargarDescripcion(self, event=None):
        if self.frame.ch_tipo.GetStringSelection() != '--Seleccionar--':
            self.mdlTUsu.tipo = self.frame.ch_tipo.GetStringSelection()
            datos = self.mdlTUsu.read()
            self.frame.tc_descripcion.SetValue(datos['descripcion'])
        else:
            self.frame.tc_descripcion.SetValue("")

    def Modificar(self):
        self.mdlUsuarios.usuario = self.frame.tc_usuario.GetValue()
        self.mdlUsuarios.clave = self.frame.tc_clave.GetValue()
        self.mdlUsuarios.tipo = self.frame.ch_tipo.GetStringSelection()
        self.mdlUsuarios.update()
Exemplo n.º 4
0
class Clave_s(wx.PyValidator):
    mdlUsuarios = ModeloUsuarios()

    def __init__(self):
        wx.PyValidator.__init__(self)

    def Clone(self):
        return Clave_s()

    def Validate(self, win):
        tctrl = self.GetWindow()
        texto = tctrl.GetValue()
        self.mdlUsuarios.usuario = win.tc_usuario.GetValue()
        self.mdlUsuarios.clave = texto
        if len(texto) == 0:
            tctrl.SetBackgroundColour("pink")
            tctrl.SetFocus()
            tctrl.Refresh()
            return False
        elif self.mdlUsuarios.existUserKey() != 1:
            tctrl.SetBackgroundColour("pink")
            tctrl.SetFocus()
            tctrl.Refresh()
            return False
        elif self.mdlUsuarios.typeUser() != 'Administrador':
            wx.MessageBox(
                u"El usuario ingresado no posee los permisos para acceder a esta aplicación",
                "Tipo de usuario inadecuado")
            tctrl.Refresh()
            return False
        else:
            tctrl.SetBackgroundColour(
                wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW))
            tctrl.Refresh()
            return True

    def TransferToWindow(self):
        return True

    def TransferFromWindow(self):
        return True
Exemplo n.º 5
0
class ControladorVerUsuario:
    mdlTUsu = ModeloTiposUsuario()
    mdlUsuarios = ModeloUsuarios()

    def __init__(self, parent, seleccionado):
        self.parent = parent
        self.seleccionado = seleccionado

    def run(self):
        self.frame = FrameVerUsuario(self.parent)
        self.frame.btn_visto.SetFocus()
        self.cargarDatos()
        self.frame.ShowModal()

    def cargarDatos(self):
        self.mdlUsuarios.usuario = self.seleccionado
        usu = self.mdlUsuarios.read()
        self.frame.tc_usuario.SetValue(usu['usuario'])
        self.frame.tc_clave.SetValue(usu['clave'])
        self.frame.tc_tipo.SetValue(usu['tipo'])
        self.mdlTUsu.tipo = self.frame.tc_tipo.GetValue()
        datos = self.mdlTUsu.read()
        self.frame.tc_descripcion.SetValue(datos['descripcion'])
Exemplo n.º 6
0
class ControladorAgregarUsuario:
	mdlTUsu = ModeloTiposUsuario()
	mdlUsuarios = ModeloUsuarios()
	def __init__(self, parent):
		self.parent = parent

	def run(self):
		self.frame = FrameAgregarUsuario(self.parent)
		self.capturarEventos()
		self.cargarValidadores()
		resp = self.frame.ShowModal()
		if resp == wx.ID_OK:
			self.Agregar()

	def capturarEventos(self):
		self.frame.ch_tipo.Bind(wx.EVT_CHOICE, self.cargarDescripcion)

	def cargarValidadores(self):
		self.frame.tc_usuario.SetValidator(NuevoUsuario())
		self.frame.tc_clave.SetValidator(NuevoUsuarioClave())
		self.frame.ch_tipo.SetValidator(NuevoUsuarioTipo())

	''' Evento de choice. '''
	def cargarDescripcion(self, event):
		if self.frame.ch_tipo.GetStringSelection() != '--Seleccionar--':
			self.mdlTUsu.tipo = self.frame.ch_tipo.GetStringSelection()
			datos = self.mdlTUsu.read()
			self.frame.tc_descripcion.SetValue(datos['descripcion'])
		else:
			self.frame.tc_descripcion.SetValue("")

	def Agregar(self):
		self.mdlUsuarios.usuario = self.frame.tc_usuario.GetValue()
		self.mdlUsuarios.clave = self.frame.tc_clave.GetValue()
		self.mdlUsuarios.tipo = self.frame.ch_tipo.GetStringSelection()
		self.mdlUsuarios.create()
Exemplo n.º 7
0
class ControladorLogin:
    mdlUsuarios = ModeloUsuarios()

    def __init__(self):
        pass

    def run(self):
        self.frame = FrameLogin(None)

        loc = wx.IconLocation(r'icono.ico')
        self.frame.SetIcon(wx.IconFromLocation(loc))

        self.capturarEventos()
        self.frame.ShowModal()

    def capturarEventos(self):
        self.frame.btn_aceptar.Bind(wx.EVT_BUTTON, self.Validaciones)
        self.frame.tc_usuario.Bind(wx.EVT_TEXT_ENTER, self.ValidarUsuario)
        self.frame.tc_clave.Bind(wx.EVT_TEXT_ENTER, self.ValidarClave)

    def ValidarUsuario(self, event):
        if self.frame.tc_usuario.GetValue() != "":
            self.mdlUsuarios.usuario = self.frame.tc_usuario.GetValue()
            if self.mdlUsuarios.existUser() == 1:
                self.frame.tc_usuario.SetBackgroundColour(
                    wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW))
                self.frame.tc_usuario.Refresh()
                self.frame.tc_clave.SetFocus()
            else:
                self.frame.tc_usuario.SetBackgroundColour("pink")
                self.frame.tc_usuario.SetFocus()
                self.frame.tc_usuario.Refresh()
        else:
            self.frame.tc_usuario.SetBackgroundColour("pink")
            self.frame.tc_usuario.SetFocus()
            self.frame.tc_usuario.Refresh()

        event.Skip()

    def ValidarClave(self, event=None):
        if self.frame.tc_usuario.GetValue() != "":
            self.mdlUsuarios.usuario = self.frame.tc_usuario.GetValue()

            if self.mdlUsuarios.existUser() == 1:

                if self.frame.tc_clave.GetValue() != "":
                    self.mdlUsuarios.clave = self.frame.tc_clave.GetValue()
                    if self.mdlUsuarios.existUserKey() == 1:
                        self.Continuar()
                    else:
                        self.frame.tc_clave.SetBackgroundColour("pink")
                        self.frame.tc_clave.Refresh()
                        self.frame.tc_usuario.SetBackgroundColour("pink")
                        self.frame.tc_usuario.SetFocus()
                        self.frame.tc_usuario.Refresh()
                else:
                    self.frame.tc_clave.SetBackgroundColour("pink")
                    self.frame.tc_usuario.SetFocus()
                    self.frame.tc_clave.Refresh()
            else:
                self.frame.tc_usuario.SetBackgroundColour("pink")
                self.frame.tc_usuario.SetFocus()
                self.frame.tc_usuario.Refresh()
        else:
            self.frame.tc_usuario.SetBackgroundColour("pink")
            self.frame.tc_usuario.SetFocus()
            self.frame.tc_usuario.Refresh()
        if event != None:
            event.Skip()

    def Validaciones(self, event):
        self.ValidarClave()

    def Continuar(self):
        principal = ControladorPrincipal(
            usuario=self.frame.tc_usuario.GetValue())
        principal.run()
        self.frame.Destroy()
class ControladorUsuarios:
	mdlUsu = ModeloUsuarios()
	def __init__(self, parent):
		self.parent = parent
		self.listadoUsuarios = self.mdlUsu.read_all()

	def run(self):
		self.frame = FrameUsuarios(self.parent)

		loc = wx.IconLocation(r'icono.ico')
		self.frame.SetIcon(wx.IconFromLocation(loc))
		
		self.capturarEventos()
		self.cargarGrilla(self.listadoUsuarios)
		self.deshabilitarBTNS()
		self.frame.Show()

	def capturarEventos(self):
		self.frame.btn_buscar.Bind(wx.EVT_BUTTON, self.Buscar)
		self.frame.btn_agregar.Bind(wx.EVT_BUTTON, self.Agregar)
		self.frame.btn_modificar.Bind(wx.EVT_BUTTON, self.Modificar)
		self.frame.btn_ver.Bind(wx.EVT_BUTTON, self.Ver)
		self.frame.btn_eliminar.Bind(wx.EVT_BUTTON, self.Eliminar)
		self.frame.btn_volver.Bind(wx.EVT_BUTTON, self.Volver)
		self.frame.grilla.Bind(wx.grid.EVT_GRID_SELECT_CELL, self.f_seleccion_fila)
		self.frame.grilla.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.Ver)

	def configurar_grilla(self, tam):
		self.frame.grilla.SetSelectionMode(wx.grid.Grid.SelectRows)
		self.frame.grilla.AppendRows(tam)
		presentador = wx.grid.GridCellAutoWrapStringRenderer
		for i in range(tam):
			self.frame.grilla.SetRowSize(i, 25)
			self.frame.grilla.SetCellRenderer(i, 1, presentador())

	def cargarGrilla(self, listado):
		self.configurar_grilla(len(listado))
		for i in range(len(listado)):
			self.frame.grilla.SetCellValue(i, 0, listado[i]['usuario'])
			self.frame.grilla.SetCellValue(i, 1, listado[i]['tipo'])

	def limpiar_grilla(self):
		for i in range(self.frame.grilla.GetNumberRows()):
			self.frame.grilla.DeleteRows(0, 1)

	def refrescar_grilla(self):
		self.limpiar_grilla()
		self.cargarGrilla(self.listadoUsuarios)
		

	'''Eventos de botones'''
	def Buscar(self, event = None):
		if self.frame.tc_usuario.GetValue() != "":
			self.mdlUsu.usuario = self.frame.tc_usuario.GetValue()
			self.listadoUsuarios = self.mdlUsu.read_all_for_name()
			self.refrescar_grilla()
		else:
			self.listadoUsuarios = self.mdlUsu.read_all()
			self.refrescar_grilla()
		
		self.deshabilitarBTNS()

	def Agregar(self, event):
		addUser = ControladorAgregarUsuario(self.frame)
		addUser.run()
		self.listadoUsuarios = self.mdlUsu.read_all()
		self.refrescar_grilla()
		self.deshabilitarBTNS()

	def Modificar(self, event):
		updUser = ControladorModificarUsuario(self.frame, self.Seleccionado)
		updUser.run()
		self.listadoUsuarios = self.mdlUsu.read_all()
		self.refrescar_grilla()
		self.deshabilitarBTNS()

	def Ver(self, event):
		verUser = ControladorVerUsuario(self.frame, self.Seleccionado)
		verUser.run()

	def Eliminar(self, event):
		elimUser = ControladorEliminarUsuario(self.frame, self.Seleccionado)
		elimUser.run()
		self.listadoUsuarios = self.mdlUsu.read_all()
		self.refrescar_grilla()
		self.deshabilitarBTNS()

	def Volver(self, event):
		self.frame.Destroy()

	'''Eventos de grilla'''
	def f_seleccion_fila(self, event):
		fila = event.GetRow()
		try:
			self.Seleccionado = self.frame.grilla.GetCellValue(fila, 0)
			self.habilitarBTNS()
		except:
			pass
		event.Skip()

	def deshabilitarBTNS(self):
		self.frame.btn_modificar.Enable(False)
		self.frame.btn_ver.Enable(False)
		self.frame.btn_eliminar.Enable(False)
		
	def habilitarBTNS(self):
		self.frame.btn_modificar.Enable(True)
		self.frame.btn_ver.Enable(True)
		self.frame.btn_eliminar.Enable(True)

	'''Eventos de ventana'''