def perfil(nome,id): usuario = Usuario.query.get(id) if usuario: if check_login(0): if usuario.id == session['user']['id']: return render_template('/usuario/perfil.html', usuario=usuario) else: if usuario.privado == False: if usuario.permissoes == 0: return render_template('/usuario/perfil.html', usuario=usuario) else: flash(u'Usuario não foi encontrado!', 'danger') return redirect('/inicio') else: flash(u'Usuario possui perfil privado', 'danger') return redirect('/inicio') elif check_login(1): return render_template('/usuario/perfil.html', usuario=usuario) else: if usuario.privado == False: if usuario.permissoes == 0: return render_template('/usuario/perfil.html', usuario=usuario) else: flash(u'Usuario não foi encontrado!', 'danger') return redirect('/inicio') else: flash(u'Usuario possui perfil privado', 'danger') return redirect('/inicio') else: flash(u'Usuario não foi encontrado!', 'danger') return redirect('/inicio')
def alterar_privacidade(id): if check_login(0): usuario = Usuario.query.get(id) if usuario: if usuario.id == session['user']['id']: if usuario.privado == True: usuario.privado = False db.session.add(usuario) db.session.commit() flash(u'Seu perfil agora é público!', 'success') return redirect('/perfil/'+usuario.nome+'/'+str(usuario.id)) else: usuario.privado = True db.session.add(usuario) db.session.commit() flash(u'Seu perfil agora é privado!', 'success') return redirect('/perfil/'+usuario.nome+'/'+str(usuario.id)) else: flash(u'Ocorreu um erro!', 'danger') return redirect('/painel_usuario') else: flash(u'Ocorreu um erro!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def remover_membro(nome_projeto,id_usuario): if check_login(0): projeto = Projeto.query.filter_by(nome = nome_projeto).first() if projeto: if projeto.id_autor == session['user']['id']: usuario = Usuario.query.get(id_usuario) if usuario in projeto.usuarios and usuario.id != projeto.id_autor: for tarefa in projeto.tarefas: if usuario in tarefa.usuarios: tarefa.usuarios.remove(usuario) db.session.add(tarefa) db.session.commit() projeto.usuarios.remove(usuario) db.session.add(projeto) db.session.commit() flash(u'Membro removido com sucesso!', 'success') return redirect('/detalhes/'+projeto.nome) else: flash(u'Ocorreu um erro ao remover o membro!', 'danger') return redirect('/painel_usuario') else: flash(u'Você não possui permissão para realizar a ação!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def criar_noticia(id_projeto): if check_login(0): projeto = Projeto.query.get(id_projeto) if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): form = formNoticia() if form.validate_on_submit(): nome = request.form['nome'] conteudo = request.form['conteudo'] data_publicacao = date.today() noticia = Noticia(nome=nome, conteudo=conteudo, data_publicacao=data_publicacao, id_usuario=session['user']['id'], id_projeto=projeto.id) projeto.noticias.append(noticia) db.session.add(projeto) db.session.commit() flash(u'Notícia adicionada com sucesso!', 'success') return redirect('/noticias/' + projeto.nome) return render_template('noticia/criar.html', form=form, projeto=projeto) else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def entrar(): if check_login(2): form=formLogin() if form.validate_on_submit(): usuario = Usuario.query.filter_by(email = request.form['email']).first() senha = md5(request.form['senha'].encode()) if usuario: if usuario.senha == senha.hexdigest(): usuario = usuario.as_dict() if usuario["permissoes"] == False: session['user'] = usuario session['logado'] = 'usuario' flash(u'Login efetuado com sucesso!', 'success') return redirect('/painel_usuario') elif usuario['permissoes'] == True: session['user'] = usuario session['logado'] = 'administrador' flash(u'Login efetuado com sucesso!', 'success') return redirect('/projetos') else: return redirect('/entrar') else: flash(u'Senha incorreta!', 'danger') return redirect('/entrar') else: flash(u'Email incorreto!', 'danger') return redirect('/entrar') return render_template('/usuario/entrar.html',form=form) else: return redirect("/inicio")
def criar_arquivo(id_projeto): if check_login(0): projeto = Projeto.query.get(id_projeto) if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): form = formArquivo() if form.validate_on_submit(): nome = request.form['nome'] arquivo = form.arquivo.data extencao = arquivo.filename.split('.')[-1].lower() data_publicacao = date.today() novo_nome_arquivo = uuid4() is_permitido = permitido(extencao) if is_permitido: novo_nome_arquivo = str( novo_nome_arquivo) + '.' + extencao arquivo_aux = secure_filename(arquivo.filename) diretorio = os.path.join( app.config['UPLOAD_FOLDER'] + 'arquivos/', arquivo_aux) diretorio_novo = os.path.join( app.config['UPLOAD_FOLDER'] + 'arquivos/', novo_nome_arquivo) arquivo.save(diretorio) os.rename(diretorio, diretorio_novo) arquivo = Arquivo(nome=nome + '.' + extencao, data_publicacao=data_publicacao, id_usuario=session['user']['id'], id_projeto=projeto.id, caminho=novo_nome_arquivo) projeto.arquivos.append(arquivo) db.session.add(projeto) db.session.commit() flash(u'Arquivo adicionado com sucesso!', 'success') return redirect('/arquivos/' + projeto.nome) else: flash(u'Extensão de arquivo não permitida!', 'danger') return render_template('arquivo/criar.html', form=form, projeto=projeto) return render_template('arquivo/criar.html', form=form, projeto=projeto) else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def adicionar_membro_tarefa(nome_projeto, id_tarefa, id_usuario): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): tarefa = Tarefa.query.get(id_tarefa) if tarefa: if tarefa.id_projeto == projeto.id: if tarefa.id_autor == session['user']['id'] or session[ 'user']['id'] == projeto.id_autor: membro = Usuario.query.get(id_usuario) if membro: if membro in projeto.usuarios: if membro not in tarefa.usuarios: tarefa.usuarios.append(membro) db.session.add(tarefa) db.session.commit() flash(u'Membro adicionado a tarefa!', 'success') return redirect('/editar_tarefa/' + projeto.nome + '/' + str(tarefa.id)) else: flash( u'Usuário ja está atribuido a tarefa!', 'danger') return redirect('/tarefas/' + projeto.nome) else: flash(u'Usuário não pertence ao projeto!', 'danger') return redirect('/tarefas/' + projeto.nome) else: flash(u'Usuário não existe!', 'danger') return redirect('/tarefas/' + projeto.nome) else: flash( u'Você não possui permissão para realizar a ação!', 'danger') return redirect('/tarefas/' + projeto.nome) else: flash(u'Tarefa não esta vinculada ao projeto', 'danger') return redirect('/tarefas/' + projeto.nome) else: flash(u'Tarefa não existe!', 'danger') return redirect('/detalhes/' + projeto.nome) else: flash(u'Você não possui permissão para realizar a ação!', 'danger') return redirect('/tarefas/' + projeto.nome) else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def painel_usuario(): if check_login(0): usuario = Usuario.query.get(session['user']['id']) if usuario: return render_template('usuario/painel.html',usuario=usuario) else: flash(u'Ocorreu um erro!', 'danger') return redirect('/sair') else: return redirect('/entrar')
def deletar_usuario(id): if check_login(1): usuario = Usuario.query.get(id) if usuario: if usuario.permissoes == False: for projeto in usuario.projetos: if projeto.id_autor == usuario.id: for arquivo in projeto.arquivos: os.remove(app.config['UPLOAD_FOLDER']+'arquivos/'+arquivo.caminho) projeto.arquivos.clear() for foto in projeto.fotos: os.remove(app.config['UPLOAD_FOLDER']+'fotos/'+foto.caminho) projeto.fotos.clear() for tarefa in projeto.tarefas: tarefa.usuarios.clear() db.session.add(tarefa) db.session.commit() projeto.tarefas.clear() projeto.usuarios.clear() projeto.noticias.clear() projeto.repositorios.clear() db.session.commit() db.session.delete(projeto) db.session.commit() else: projeto.usuarios.remove(usuario) for tarefa in usuario.tarefas: if tarefa.id_autor == usuario.id: for membro in tarefa.usuarios: tarefa.usuarios.remove(membro) db.session.add(tarefa) db.session.commit() tarefa.usuarios.clear() db.session.delete(tarefa) db.session.commit() else: tarefa.usuarios.remove(usuario) db.session.add(tarefa) db.session.commit() db.session.delete(usuario) db.session.commit() flash(u'Usuário deletado com sucesso!', 'success') return redirect('/painel_usuario') else: flash(u'Usuário não pode ser deletado!', 'danger') return redirect('/painel_usuario') else: flash(u'Usuário não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def detalhes(nome): projeto = Projeto.query.filter_by(nome = nome).first() if projeto: if check_login(0): usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): pass else: pass return render_template('projeto/detalhes.html',projeto=projeto) else: flash(u'Projeto não existe!', 'danger') return redirect('/inicio')
def editar_tarefa(nome_projeto, id_tarefa): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): form = formTarefa() tarefa = Tarefa.query.get(id_tarefa) if tarefa: if tarefa.id_projeto == projeto.id: if pertence_tarefa( usuario, tarefa ) or session['user']['id'] == projeto.id_autor: if form.validate_on_submit(): tarefa = Tarefa.query.filter_by( id=id_tarefa).update( dict(nome=request.form['nome'], prioridade=request. form['prioridade'], status=request.form['status'], tipo=request.form['tipo'], data_alteracao=date.today())) db.session.commit() flash(u'Tarefa editada com sucesso!', 'success') return redirect('/tarefas/' + projeto.nome) return render_template('tarefa/editar.html', form=form, projeto=projeto, tarefa=tarefa) else: flash( u'Você não tem permissão para realizar a ação!', 'danger') return redirect('/entrar') else: flash( u'Tarefa não existe ou não está vinculada ao projeto!', 'danger') return redirect('/tarefas/' + projeto.nome) else: flash(u'Tarefa não existe!', 'danger') return redirect('/detalhes/' + projeto.nome) else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def deletar_projeto(id): if check_login(0) or check_login(1): projeto = Projeto.query.get(id) if projeto: if projeto.id_autor == session['user']['id'] or check_login(1): for arquivo in projeto.arquivos: os.remove(app.config['UPLOAD_FOLDER']+'arquivos/'+arquivo.caminho) projeto.arquivos.clear() for foto in projeto.fotos: os.remove(app.config['UPLOAD_FOLDER']+'fotos/'+foto.caminho) projeto.fotos.clear() for tarefa in projeto.tarefas: tarefa.usuarios.clear() db.session.add(tarefa) db.session.commit() projeto.tarefas.clear() projeto.usuarios.clear() projeto.noticias.clear() projeto.repositorios.clear() db.session.commit() db.session.delete(projeto) db.session.commit() flash(u'Projeto deletado com sucesso!', 'success') return redirect('/painel_usuario') else: flash(u'Você não possui permissão para realizar a ação!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def editar_repositorio(nome_projeto, id_repositorio): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): form = formRepo() repositorio = Repositorio.query.get(id_repositorio) if repositorio: if repositorio.id_projeto == projeto.id: if repositorio.id_usuario == session['user'][ 'id'] or session['user'][ 'id'] == projeto.id_autor: if form.validate_on_submit(): repositorio = Repositorio.query.filter_by( id=id_repositorio).update( dict(nome=request.form['nome'], link=request.form['link'], data_alteracao=date.today())) db.session.commit() flash(u'Repositório editado com sucesso!', 'success') return redirect('/repositorios/' + projeto.nome) return render_template('repositorio/editar.html', form=form, projeto=projeto, repositorio=repositorio) else: flash( u'Você não tem permissão para realizar a ação!', 'danger') return redirect('/entrar') else: flash(u'Repositório não está vinculado ao projeto!', 'danger') return redirect('/repositorios/' + projeto.nome) else: flash(u'Repositório não existe!', 'danger') redirect('/painel_usuario') else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def usuarios(): if check_login(1): form = formBusca() if form.validate_on_submit(): busca = request.form['busca'] usuarios = Usuario.query.filter(Usuario.nome.ilike('%'+busca+'%')).filter_by(permissoes = False).order_by(Usuario.nome).all() if usuarios: pass else: flash(u'Busca não encontrou resultado!', 'danger') return redirect('/usuarios') return render_template('usuario/usuarios.html',usuarios=usuarios,form=form,busca=busca) usuarios = Usuario.query.filter_by(permissoes = False).order_by(Usuario.nome).all() return render_template('usuario/usuarios.html',usuarios=usuarios,form=form,busca="Todos") else: return redirect('/entrar')
def editar_noticia(nome_projeto, id_noticia): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): form = formNoticia() noticia = Noticia.query.get(id_noticia) if noticia: if noticia.id_projeto == projeto.id: if noticia.id_usuario == session['user'][ 'id'] or session['user'][ 'id'] == projeto.id_autor: if form.validate_on_submit(): noticia = Noticia.query.filter_by( id=id_noticia).update( dict( nome=request.form['nome'], conteudo=request.form['conteudo'])) db.session.commit() flash(u'Notícia editada com sucesso!', 'success') return redirect('/noticias/' + projeto.nome) return render_template('noticia/editar.html', form=form, projeto=projeto, noticia=noticia) else: flash( u'Você não tem permissão para realizar a ação!', 'danger') return redirect('/entrar') else: flash(u'Notícia não está vinculada ao projeto!', 'danger') return redirect('/noticias/' + projeto.nome) else: flash(u'Noticia não existe!', 'danger') redirect('/painel_usuario') else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def editar_foto(nome_projeto, id_foto): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): form = formFoto() foto = Foto.query.get(id_foto) if foto: if foto.id_projeto == projeto.id: if foto.id_usuario == session['user']['id'] or session[ 'user']['id'] == projeto.id_autor: if request.method == 'POST': if form.validate: foto = Foto.query.filter_by( id=id_foto).update( dict(descricao=request. form['descricao'])) db.session.commit() flash(u'Foto editada com sucesso!', 'success') return redirect('/fotos/' + projeto.nome) return render_template('foto/editar.html', form=form, projeto=projeto, foto=foto) else: flash( u'Você não tem permissão para realizar a ação!', 'danger') return redirect('/entrar') else: flash(u'Foto não está vinculada ao projeto!', 'danger') return redirect('/fotos/' + projeto.nome) else: flash(u'Foto não existe!', 'danger') redirect('/painel_usuario') else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def cadastro(): if check_login(2): form = formCadastro() if form.validate_on_submit(): nome = request.form['nome'] senha = md5(request.form['senha'].encode()) email = request.form['email'] data_nascimento = request.form['data'] usuario = Usuario(nome = nome, senha = senha.hexdigest(), email = email, data_nascimento = data_nascimento, permissoes = 0) db.session.add(usuario) db.session.commit() flash(u'Cadastro efetuado com sucesso!', 'success') return redirect("/inicio") return render_template('usuario/cadastro.html',form=form) else: flash(u'Você não pode efetuar o cadastro enquanto logado!', 'danger') return redirect("/inicio")
def editar_projeto(nome): if check_login(0): form = formProjeto() projeto = Projeto.query.filter_by(nome = nome).first() if projeto: if projeto.id_autor == session['user']['id']: if form.validate_on_submit(): projeto = Projeto.query.filter_by(nome = nome).update(dict(nome=request.form['nome'],descricao = request.form['descricao'], status=request.form['status'])) db.session.commit() flash(u'Projeto editado com sucesso!', 'success') return redirect('/painel_usuario') return render_template('projeto/editar.html',form=form,projeto=projeto) else: flash(u'Você não possui permissão para realizar a ação!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def deletar_tarefa(nome_projeto, id_tarefa): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): tarefa = Tarefa.query.get(id_tarefa) if tarefa: if tarefa.id_projeto == projeto.id: if tarefa.id_autor == session['user']['id'] or session[ 'user']['id'] == projeto.id_autor: for membro in tarefa.usuarios: tarefa.usuarios.remove(membro) db.session.add(tarefa) db.session.commit() tarefa.usuarios.clear() projeto.tarefas.remove(tarefa) db.session.add(projeto) db.session.commit() flash(u'Tarefa deletada com sucesso!', 'success') return redirect('/detalhes/' + projeto.nome) else: flash( u'Você não tem permissão para realizar a ação!', 'danger') return redirect('/entrar') else: flash(u'Tarefa não está vinculada ao projeto!', 'danger') return redirect('/tarefas/' + projeto.nome) else: flash(u'Tarefa não existe!', 'danger') return redirect('/detalhes/' + projeto.nome) else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def criar_projeto(): if check_login(0): form = formProjeto() if form.validate_on_submit(): nome = request.form['nome'] descricao = request.form['descricao'] status = request.form['status'] autor = Usuario.query.get(session['user']['id']) if autor: projeto = Projeto(nome = nome, descricao = descricao, status = status, id_autor = autor.id) projeto.usuarios.append(autor) db.session.add(projeto) db.session.commit() flash(u'Projeto criado com sucesso!', 'success') return redirect('/painel_usuario') else: flash(u'Ocorreu um erro ao adicionar o projeto!', 'danger') return redirect('/entrar') return render_template('projeto/criar.html',form=form) else: return redirect('/entrar')
def criar_tarefa(id_projeto): if check_login(0): projeto = Projeto.query.get(id_projeto) if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): form = formTarefa() if form.validate_on_submit(): nome = request.form['nome'] prioridade = request.form['prioridade'] status = request.form['status'] tipo = request.form['tipo'] data_alteracao = date.today() autor = Usuario.query.get(session['user']['id']) tarefa = Tarefa(nome=nome, prioridade=prioridade, status=status, tipo=tipo, data_alteracao=data_alteracao, id_autor=autor.id, id_projeto=projeto.id) tarefa.usuarios.append(autor) projeto.tarefas.append(tarefa) db.session.add(projeto) db.session.commit() flash(u'Tarefa adicionada com sucesso!', 'success') return redirect('/tarefas/' + projeto.nome) return render_template('tarefa/criar.html', form=form, projeto=projeto) else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def excluir_arquivo(nome_projeto, id_arquivo): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): arquivo = Arquivo.query.get(id_arquivo) if arquivo: if arquivo.id_projeto == projeto.id: if arquivo.id_usuario == session['user'][ 'id'] or session['user'][ 'id'] == projeto.id_autor: os.remove(app.config['UPLOAD_FOLDER'] + 'arquivos/' + arquivo.caminho) db.session.delete(arquivo) db.session.commit() flash(u'Arquivo deletado com sucesso!', 'success') return redirect('/detalhes/' + projeto.nome) else: flash( u'Você não tem permissão para realizar a ação!', 'danger') return redirect('/entrar') else: flash(u'Arquivo não está vinculada ao projeto!', 'danger') return redirect('/noticias/' + projeto.nome) else: flash(u'Arquivo não existe!', 'danger') redirect('/painel_usuario') else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def deletar_repositorio(nome_projeto, id_repositorio): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): repositorio = Repositorio.query.get(id_repositorio) if repositorio: if repositorio.id_projeto == projeto.id: if repositorio.id_usuario == session['user'][ 'id'] or session['user'][ 'id'] == projeto.id_autor: projeto.repositorios.remove(repositorio) db.session.add(projeto) db.session.commit() flash(u'Repositório deletado com sucesso!', 'success') return redirect('/detalhes/' + projeto.nome) else: flash( u'Você não tem permissão para realizar a ação!', 'danger') return redirect('/entrar') else: flash(u'Repositório não está vinculado ao projeto!', 'danger') return redirect('/repositorios/' + projeto.nome) else: flash(u'Repositório não existe!', 'danger') redirect('/painel_usuario') else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def adicionar_membro(nome): if check_login(0): projeto = Projeto.query.filter_by(nome = nome).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if usuario in projeto.usuarios: projeto.pertence = True if projeto.id_autor == session['user']['id']: form = formMembro() if form.validate_on_submit(): email = request.form['email'] usuario = Usuario.query.filter_by(email = email).first() if usuario: if usuario not in projeto.usuarios: if usuario.permissoes == False: projeto.usuarios.append(usuario) db.session.add(projeto) db.session.commit() flash(u'Membro adicionado ao projeto!', 'success') return redirect('/detalhes/'+projeto.nome) else: flash(u'Usuário não pode ser adicionado como membro!', 'danger') return redirect('/adicionar_membro/'+projeto.nome) else: flash(u'Usuário já existe no projeto!', 'danger') return redirect('/adicionar_membro/'+projeto.nome) else: flash(u'Não foi encontrado um usuário com o email fornecido!', 'danger') return redirect('/adicionar_membro/'+projeto.nome) return render_template('projeto/adicionar-membro.html',form=form,projeto=projeto) else: flash(u'Você não possui permissão para realizar a ação!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def detalhes_noticia(nome_projeto, nome_noticia): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: noticia = Noticia.query.filter_by(nome=nome_noticia).first() if noticia: if noticia.id_projeto == projeto.id: if check_login(0): usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): pass else: pass return render_template('noticia/noticia.html', projeto=projeto, noticia=noticia) else: flash(u'Notícia não está vinculada ao projeto!', 'danger') return redirect('/noticias/' + projeto.nome) else: flash(u'Notícia não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/inicio')
def deletar_noticia(nome_projeto, id_noticia): if check_login(0): projeto = Projeto.query.filter_by(nome=nome_projeto).first() if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): noticia = Noticia.query.get(id_noticia) if noticia: if noticia.id_projeto == projeto.id: if noticia.id_usuario == session['user'][ 'id'] or session['user'][ 'id'] == projeto.id_autor: projeto.noticias.remove(noticia) db.session.add(projeto) db.session.commit() flash(u'Notícia deletada com sucesso!', 'success') return redirect('/noticias/' + projeto.nome) else: flash( u'Você não tem permissão para realizar a ação!', 'danger') return redirect('/entrar') else: flash(u'Notícia não está vinculada ao projeto!', 'danger') return redirect('/noticias/' + projeto.nome) else: flash(u'Notícia não existe!', 'danger') redirect('/painel_usuario') else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')
def criar_repositorio(id_projeto): if check_login(0): projeto = Projeto.query.get(id_projeto) if projeto: usuario = Usuario.query.get(session['user']['id']) if pertence_projeto(usuario, projeto): form = formRepo() if form.validate_on_submit(): nome = request.form['nome'] link = request.form['link'] data_publicacao = date.today() data_alteracao = date.today() repositorio = Repositorio(nome=nome, link=link, data_publicacao=data_publicacao, data_alteracao=data_alteracao, id_usuario=session['user']['id'], id_projeto=projeto.id) projeto.repositorios.append(repositorio) db.session.add(projeto) db.session.commit() flash(u'Repositório adicionado com sucesso!', 'success') return redirect('/repositorios/' + projeto.nome) return render_template('repositorio/criar.html', form=form, projeto=projeto) else: flash(u'Você não faz parte deste projeto!', 'danger') return redirect('/painel_usuario') else: flash(u'Projeto não existe!', 'danger') return redirect('/painel_usuario') else: return redirect('/entrar')