Ejemplo n.º 1
0
    def inicializar_integrantes(self, elemento):
        if not elemento.subelemento.integrantes.ativo:
            elemento.subelemento.integrantes.iniciar(master=elemento)

        for integrante in elemento.subelemento.integrantes.lista:
            integrante.destroy()

        elemento.subelemento.integrantes.lista = []

        fim = elemento.dados['duracao']
        inicio = elemento.dados['data']
        for _elemento in self.elementos:
            data = _elemento.dados['data']
            if (_elemento.defs.tipo != 'apresentacao'
                    or Utils.comparar_(data1=fim, data2=data) in [-1]
                    or Utils.comparar_(data1=inicio, data2=data) in [1]):
                continue

            integrante = self.criar_label()

            integrante.defs.cnf['text'] = _elemento.dados['titulo']
            integrante.defs.cnf['width'] = 102
            integrante.defs.cnf['height'] = 1
            integrante.defs.cnf['bg'] = 'orange'

            integrante.defs.pack['side'] = 'top'

            integrante.iniciar(master=elemento.subelemento.integrantes)
            elemento.subelemento.integrantes.lista.append(integrante)
Ejemplo n.º 2
0
    def validar(self, formulario):
        erro = super().validar_campos(formulario)
        erro = super().validar_data(formulario['data'])
        erro = super().validar_data(formulario['duracao'])

        data = formulario['data']
        for evento in self.eventos:
            if Utils.comparar_(data1=evento['duracao'], data2=data) in [0, 1]:
                return 'Conflito entre os Eventos'

        if Utils.comparar_(data1=data, data2=formulario['duracao']) == 1:
            return 'Data de inicio não pode ser maior que a duração/finalização'

        if not self.model.atividade.atividades:
            return 'Lista de Atividades vazia'

        if not self.model.grupo.grupos:
            return 'Lista de Grupos vazia'

        return erro if erro else None