def excluir_postagem(request, id_postagem): post = Post.objects.get(id=id_postagem) if post.perfil == get_perfil_logado(request): post.delete() messages.success(request, feedback.POSTAGEM_EXCLUIDA_SUCESS) elif get_perfil_logado(request).usuario.is_superuser: post.delete() messages.success(request, feedback.POSTAGEM_EXCLUIDA_SUCESS) else: messages.error(request, feedback.POSTAGEM_PERFIL_NAO_TEM_AUTORIZACAO) return redirect('index')
def postagens(request): perfil_logado = get_perfil_logado(request) perfis_contatos = perfil_logado.contatos.all() p1 = Postagem.objects.filter(perfil=perfil_logado) p2 = Postagem.objects.filter(perfil__in=perfis_contatos) all_postagens = p1.union(p2) all_postagens = all_postagens.order_by('-data_de_criacao') return render(request, 'timeline.html', { 'postagens': all_postagens, 'perfil_logado': get_perfil_logado(request) })
def perfil_logado_processor(request): if request.user is not None and not isinstance(request.user, AnonymousUser): perfil = get_perfil_logado(request) logged_is_prof = is_prof(request, request.user) return {'perfil_logado': perfil, 'logged_is_prof' : logged_is_prof} else: return []
def perfil_logado_processor(request): if request.user is not None and not isinstance(request.user, AnonymousUser): perfil = get_perfil_logado(request) logged_is_prof = is_prof(request, request.user) return {'perfil_logado': perfil, 'logged_is_prof': logged_is_prof} else: return []
def comentar(request, id_postagem): post = Post.objects.get(id=id_postagem) if post.comentar(get_perfil_logado(request), request.POST['comentario']): messages.success(request, feedback.COMENTARIO_SUCESS) else: messages.error(request, feedback.COMENTARIO_ERROR) return redirect('index')
def pagina_de_superusuario(request): perfil = get_perfil_logado(request) if not perfil.usuario.is_superuser: messages.error(request, 'Você não tem autorização para entrar nesta página.') return redirect('index') perfis_bd = Perfil.objects.all() paginator = Paginator(perfis_bd, 15) page = request.GET.get('page') task = paginator.get_page(page) context = { 'perfil_logado': get_perfil_logado(request), 'perfis_bd': task, 'range_paginator': range(1, task.paginator.num_pages + 1), 'current_page': int(page) if page else 1 } return render(request, 'super_usuario.html', context)
def post(request): form = CriarPostagemForm(request.POST) if form.is_valid(): dados = form.cleaned_data postagem = Postagem(nome_postagem=dados['nome_postagem'], texto=dados['texto'], perfil=get_perfil_logado(request)) postagem.save() return redirect('index') return render(request, 'criar_postagem.html', {'form': form})
def curtir_postagem(request, id_postagem): post = Post.objects.get(id=id_postagem) perfil = get_perfil_logado(request) if post.perfil_reagiu_gostei(perfil): post.remover_gostar(perfil) messages.success(request, feedback.GOSTEI_REMOVE_SUCESS) else: if post.perfil_reagiu_nao_gostei(perfil): post.remover_nao_gostar(perfil) messages.error(request, feedback.GOSTEI_REMOVE_SUCESS) post.gostar(perfil) messages.success(request, feedback.GOSTEI_ADD_SUCESS) return redirect('index')
def nova_postagem(request): if request.POST: if request.FILES or request.POST['texto']: post = Post() post.perfil = get_perfil_logado(request) form = FormPost(request.POST, request.FILES, instance=post) if form.is_valid(): form.save() messages.success(request, feedback.POSTAGEM_SUCESS) else: messages.error(request, feedback.POSTAGEM_ERROR) messages.error(request, form.errors) else: messages.error(request, feedback.POSTAGEM_EMPTY) return redirect('index')
def timeline(request): template_name = 'timeline.html' user = get_perfil_logado(request) form = PostagemForm() friends = user.contatos.all() postagens = Postagem.objects.filter( perfil__in=friends) | Postagem.objects.filter(perfil=user) postagens.order_by('data_postagem').reverse() context = {'perfil_logado': user, 'form': form, 'posts': postagens} if request.method == 'POST': form = PostagemForm(request.POST) if form.is_valid(): data_form = form.cleaned_data post = Postagem(texto=data_form['texto'], perfil=context['perfil_logado']) post.save() return redirect('/') return render(request, template_name, context)
def detail_postagem(request, id_postagem): return render( request, 'postagem.html', { 'postagem': Postagem.objects.get(id=id_postagem), 'perfil_logado': get_perfil_logado(request) })
def get(request): return render(request, 'criar_postagem.html', {'perfil_logado': get_perfil_logado(request)})