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)
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