Beispiel #1
0
class ReservaForm( wx.Dialog ):
	
    def __init__( self, parent, id, title, data ):
        wx.Dialog.__init__( self, parent, id, title )
        self.SetSize( wx.Size(200,200) )

        self.DBM    = DBManager()
        self.data   = data
        font_labels = wx.Font(13, wx.NORMAL, wx.NORMAL, wx.BOLD)

        vbox  = wx.BoxSizer( wx.VERTICAL )
        label = wx.StaticText( self, label="Reserva")
        font  = wx.Font(16, wx.NORMAL, wx.NORMAL, wx.BOLD)
        label.SetFont( font )
        vbox.Add(label, 0, wx.EXPAND, 20)

        line = wx.StaticLine(self, -1, wx.Point(10, 30), wx.Size(380, -1))
        vbox.Add(line)

        hbox1  = wx.BoxSizer( wx.HORIZONTAL )
        label1 = wx.StaticText( self, label="Cancha:")
        label2 = wx.StaticText( self, label= str( data[0] ) )
        hbox1.Add(label1)
        hbox1.Add(label2)
        vbox.Add(hbox1, flag=wx.EXPAND)

        hbox2  = wx.BoxSizer( wx.HORIZONTAL )
        label3 = wx.StaticText( self, label="Horario:")
        label4 = wx.StaticText( self, label="%s:00 hs" % str( data[1] ) )
        hbox2.Add(label3)
        hbox2.Add(label4)
        vbox.Add(hbox2, flag=wx.EXPAND)

        self.precio = self.DBM.getCanchaPrecio( data[0] )
        hbox3       = wx.BoxSizer( wx.HORIZONTAL )
        label5      = wx.StaticText( self, label="Precio:")
        self.preci  = wx.TextCtrl( self, -1, "$%.2f" % self.precio)
        hbox3.Add(label5)
        hbox3.Add(self.preci)
        vbox.Add(hbox3, flag=wx.EXPAND)

        hbox4      = wx.BoxSizer( wx.HORIZONTAL )
        label6     = wx.StaticText( self, label="Cliente:")
        self.text2 = wx.TextCtrl(self, -1, "")
        hbox4.Add(label6)
        hbox4.Add(self.text2)
        vbox.Add(hbox4, flag=wx.EXPAND)

        hbox5   = wx.BoxSizer( wx.HORIZONTAL )
        button1 = wx.Button( self, label="Reservar")
        button2 = wx.Button( self, label="Cancelar")
        hbox5.Add(button1)
        hbox5.Add(button2)
        vbox.Add(hbox5, flag=wx.CENTER)

        label1.SetFont( font_labels )
        label2.SetFont( font_labels )
        label3.SetFont( font_labels )
        label4.SetFont( font_labels )
        label5.SetFont( font_labels )
        label6.SetFont( font_labels )
        self.preci.SetFont( font_labels )

        button1.Bind(wx.EVT_BUTTON, self.processReserva)
        button2.Bind(wx.EVT_BUTTON, self.__destroy)

        self.SetSizer( vbox )
        self.Show( True )
        self.Centre()

    def processReserva( self, evt ):
        error  = (False, '')
        precio = 0

        if self.text2.GetValue() == "":
           error = (True, 'El cliente no puede ser vacio')
        
        self.precio = self.preci.GetValue()
        self.precio = float(self.precio.split('$')[1])
        result = {'old_data' : self.data, 
                  'precio'   : self.precio, 
                  'cliente'  : self.text2.GetValue(), 
                  'msg'      : error}
        self.Destroy()
        Publisher().sendMessage(("reserva_form"), result)

    def __destroy( self, evt ):
        self.Destroy()