Skip to content

Commit faf9462

Browse files
committed
Updated
1 parent bda9642 commit faf9462

6 files changed

Lines changed: 58 additions & 9 deletions

File tree

boards/url.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
path('',views.home,name='home'),
55
path('about/',views.about,name='about'),
66
path('boards/<int:board_id>/',views.board_topics,name='board_topics'),
7-
path('boards/<int:board_id>/new/',views.new_topic,name='new_topic')
7+
path('boards/<int:board_id>/new/',views.new_topic,name='new_topic'),
8+
path('boards/<int:board_id>/topics/<int:topic_id>', views.topic_posts, name='topic_posts'),
9+
810
]

boards/views.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from django.contrib.auth.models import User
55
from .models import Topic,Post
66
from .forms import NewTopicForm
7+
from django.contrib.auth.decorators import login_required
78
# Create your views here.
89

910
def home(request):
@@ -14,28 +15,26 @@ def home(request):
1415

1516

1617
def board_topics(request,board_id):
17-
# try:
18-
# board = Board.objects.get(pk=board_id)
19-
# except Board.DoesNotExist:
20-
# raise Http404
18+
2119
board = get_object_or_404(Board,pk=board_id)
2220
return render(request,'topics.html',{'board':board})
2321

2422

23+
@login_required
2524
def new_topic(request,board_id):
2625
board = get_object_or_404(Board,pk=board_id)
27-
user = User.objects.first()
26+
# user = User.objects.first()
2827
if request.method == "POST":
2928
form =NewTopicForm(request.POST)
3029
if form.is_valid():
3130
topic = form.save(commit=False)
3231
topic.board = board
33-
topic.created_by = user
32+
topic.created_by = request.user
3433
topic.save()
3534

3635
post = Post.objects.create(
3736
message=form.cleaned_data.get('message'),
38-
created_by = user,
37+
created_by = request.user,
3938
topic=topic
4039

4140
)
@@ -47,7 +46,10 @@ def new_topic(request,board_id):
4746

4847

4948

49+
def topic_posts(request,board_id,topic_id):
50+
topic = get_object_or_404(Topic,board__pk=board_id,pk=topic_id)
5051

52+
return render(request,'topic_posts.html',{'topic':topic})
5153

5254

5355

static/img/user.png

20 KB
Loading

templates/login.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ <h1 class="text-center logo my-4">
1818
<h3 class="card-title">Log in</h3>
1919
<form method="post" novalidate>
2020
{% csrf_token %}
21+
<input type="hidden" name="next" value="{{ next }}">
2122
{% include 'includes/form.html' %}
2223
<button type="submit" class="btn btn-primary btn-block">Log in</button>
2324
</form>

templates/topic_posts.html

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{% extends 'base.html' %}
2+
{%load static%}
3+
{%block title%}{{topic.subject}} {%endblock%}
4+
{% block breadcrumb %}
5+
6+
<li class="breadcrumb-item "><a href="{% url 'home' %}">Boards</a></li>
7+
<li class="breadcrumb-item "><a href="{% url 'board_topics' topic.board.pk %}">{{ topic.board.name}}</a></li>
8+
9+
<li class="breadcrumb-item active">{{topic.subject}}</li>
10+
{%endblock%}
11+
12+
13+
{% block content %}
14+
15+
{% for post in topic.posts.all %}
16+
<div class="card mb-2">
17+
<div class="card-body p-3">
18+
<div class="row">
19+
<div class="col-2">
20+
<img src="{% static 'img/user.png' %}" alt="{{ post.created_by.username }}" class="w-100">
21+
</div>
22+
<div class="col-10">
23+
<div class="row mb-3">
24+
<div class="col-6">
25+
<strong class="text-muted">{{ post.created_by.username }}</strong>
26+
</div>
27+
<div class="col-6 text-right">
28+
<small class="text-muted">{{ post.created_dt }}</small>
29+
</div>
30+
</div>
31+
{{ post.message }}
32+
{% if post.created_by == user %}
33+
<div class="mt-3">
34+
<a href="#" class="btn btn-primary btn-sm" role="button">Edit</a>
35+
</div>
36+
{% endif %}
37+
</div>
38+
</div>
39+
</div>
40+
</div>
41+
{% endfor %}
42+
43+
44+
{% endblock %}

templates/topics.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<tbody>
2626
{%for topic in board.topics.all%}
2727
<tr>
28-
<td>{{ topic.subject}}</td>
28+
<td><a href ="{% url 'topic_posts' board.pk topic.pk %}">{{ topic.subject}}</a></td>
2929
<td>{{ topic.created_by.username}}</td>
3030
<td>0</td>
3131
<td>0</td>

0 commit comments

Comments
 (0)