• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

gcivil-nyu-org / INT2-Monday-Spring2024-Team-1 / 1130

29 Apr 2024 09:15PM UTC coverage: 29.816% (-60.7%) from 90.503%
1130

cron

travis-pro

web-flow
Merge pull request #267 from gcivil-nyu-org/develop

Release 10: 04/29/2024

503 of 1687 relevant lines covered (29.82%)

0.3 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

32.86
/healthScore/community_data.py
1
from django.shortcuts import render, redirect, get_object_or_404
1✔
2
from django.contrib.auth.decorators import login_required
1✔
3
from django.http import JsonResponse
1✔
4

5
from .models import (
1✔
6
    Post,
7
    Comment,
8
)
9

10
from .forms import PostForm, CommentForm
1✔
11

12

13
@login_required(login_url="/")
1✔
14
def community_home(request):
1✔
15
    return redirect("all_posts")
×
16

17

18
@login_required(login_url="/")
1✔
19
def view_all_posts(request):
1✔
20
    posts = Post.objects.all().order_by("-createdAt")
×
21
    posts_with_status_info = [
×
22
        {
23
            "id": post.id,
24
            "title": post.title,
25
            "description": post.description,
26
            "createdAt": post.createdAt,
27
            "is_healthcare_worker": post.user.is_healthcare_worker,
28
        }
29
        for post in posts
30
    ]
31
    return render(
×
32
        request,
33
        "community_home.html",
34
        {"posts": posts_with_status_info, "headerTitle": "All the posts"},
35
    )
36

37

38
@login_required(login_url="/")
1✔
39
def view_my_posts(request):
1✔
40
    posts = Post.objects.filter(user=request.user).order_by("-createdAt")
×
41
    return render(
×
42
        request, "community_home.html", {"posts": posts, "headerTitle": "My posts"}
43
    )
44

45

46
@login_required(login_url="/")
1✔
47
def view_post(request, post_id):
1✔
48
    post = get_object_or_404(Post, id=post_id)
×
49
    comments = post.comments.all()
×
50
    return render(request, "post_details.html", {"post": post, "comments": comments})
×
51

52

53
@login_required(login_url="/")
1✔
54
def create_post(request):
1✔
55
    if request.method == "POST":
×
56
        form = PostForm(request.POST)
×
57
        if form.is_valid():
×
58
            post = form.save(commit=False)
×
59
            post.user = request.user
×
60
            post.save()
×
61
            return redirect("community")
×
62
    else:
63
        form = PostForm()
×
64
    return render(request, "post_create.html", {"form": form})
×
65

66

67
@login_required(login_url="/")
1✔
68
def edit_post(request, post_id):
1✔
69
    post = get_object_or_404(Post, id=post_id)
×
70
    if request.method == "POST":
×
71
        form = PostForm(request.POST, instance=post)
×
72
        if form.is_valid():
×
73
            form.save()
×
74
            return redirect("view_post", post_id=post.id)
×
75
    else:
76
        form = PostForm(instance=post)
×
77
    return render(request, "post_edit.html", {"form": form})
×
78

79

80
@login_required(login_url="/")
1✔
81
def delete_post(request, post_id):
1✔
82
    post = get_object_or_404(Post, id=post_id)
×
83
    if request.method == "GET":
×
84
        post.delete()
×
85
        return redirect("community")
×
86
    return redirect("view_post", post_id=post_id)
×
87

88

89
@login_required(login_url="/")
1✔
90
def create_comments(request, post_id):
1✔
91
    post = get_object_or_404(Post, id=post_id)
×
92
    if request.method == "POST":
×
93
        form = CommentForm(request.POST)
×
94
        if form.is_valid():
×
95
            comment = form.save(commit=False)
×
96
            comment.post = post
×
97
            comment.commenter = request.user
×
98
            comment.save()
×
99

100
    return redirect("view_post", post_id=post.id)
×
101

102

103
@login_required(login_url="/")
1✔
104
def delete_comment(request, comment_id):
1✔
105
    userID = request.user.id
×
106
    comment = get_object_or_404(Comment, id=comment_id)
×
107

108
    if comment.post.user.id != userID and comment.commenter.id != userID:
×
109
        return JsonResponse({"error": "Unauthorized"}, status=401)
×
110

111
    if request.method == "GET":
×
112
        comment.delete()
×
113

114
    return redirect("view_post", post_id=comment.post.id)
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc