Commit 1c40576b authored by Jose Leonardo J. Sacamos III's avatar Jose Leonardo J. Sacamos III

resolving conflicts in merging

parents 8e01734d b2a40c3c
from django.forms import ModelForm
from .models import Announcement
class AnnouncementForm(ModelForm):
class Meta:
model = Announcement
fields = ["announcement_title", "announcement_body", "author", "images"]
\ No newline at end of file
# Generated by Django 4.0.3 on 2022-05-22 20:35
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('announcements', '0007_announcement_images'),
]
operations = [
migrations.AlterField(
model_name='announcement',
name='pub_date',
field=models.DateField(default=datetime.datetime.now, verbose_name='Date Published'),
),
]
from datetime import datetime
from multiprocessing import allow_connection_pickling from multiprocessing import allow_connection_pickling
from django.db import models from django.db import models
from homepage.models import WidgetUser from homepage.models import WidgetUser
...@@ -8,10 +9,10 @@ class Announcement(models.Model): ...@@ -8,10 +9,10 @@ class Announcement(models.Model):
announcement_body = models.CharField(max_length=500) announcement_body = models.CharField(max_length=500)
author = models.ForeignKey(WidgetUser, on_delete=models.CASCADE,default = 1) author = models.ForeignKey(WidgetUser, on_delete=models.CASCADE,default = 1)
images = models.ImageField (upload_to="announcement", default = "default.jpg") images = models.ImageField (upload_to="announcement", default = "default.jpg")
pub_date = models.DateField("Date Published") pub_date = models.DateField("Date Published", default=datetime.now)
def __str__(self): def __str__(self):
return f"{self.announcement_title} {self.announcement_body} {self.pub_date}" return f"{self.announcement_title} {self.pub_date}"
class Reaction(models.Model): class Reaction(models.Model):
reaction_name = models.CharField(max_length=10) reaction_name = models.CharField(max_length=10)
...@@ -19,4 +20,4 @@ class Reaction(models.Model): ...@@ -19,4 +20,4 @@ class Reaction(models.Model):
announcement = models.ForeignKey(Announcement,on_delete=models.CASCADE, default = 1) announcement = models.ForeignKey(Announcement,on_delete=models.CASCADE, default = 1)
def __str__(self): def __str__(self):
return f"{self.reaction_name} {self.tally}" return f"{self.reaction_name}"
\ No newline at end of file \ No newline at end of file
{% extends "announcements/base.html" %}
{% block title %}New Announcement{% endblock %}
{% block content %}
<h1>New Announcement</h1>
<form method="POST" action="{% url 'announcement:add' %}"
enctype="multipart/form-data">
{% csrf_token %}
{{ announcementForm.as_p }}
<button class="button" type="submit">Save Announcement</button>
<button onclick="window.location.href='../';">Back to Announcement Board</button>
</form>
{% endblock %}
\ No newline at end of file
...@@ -12,4 +12,5 @@ ...@@ -12,4 +12,5 @@
<li>{{ reaction.reaction_name }}: {{reaction.tally}}</li> <li>{{ reaction.reaction_name }}: {{reaction.tally}}</li>
{% endfor %} {% endfor %}
</ul></p> </ul></p>
<button onclick="window.location.href='../../';">Back to Announcement Board</button>
{% endblock %} {% endblock %}
\ No newline at end of file
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
{% endfor %} {% endfor %}
</ul> </ul>
{% else %} {% else %}
<p>No users are available</p> <p>No announcements are available</p>
{% endif %} {% endif %}
<button onclick="window.location.href='add/';">New Announcement</button>
{% endblock %} {% endblock %}
\ No newline at end of file
...@@ -3,9 +3,11 @@ from django.urls import path ...@@ -3,9 +3,11 @@ from django.urls import path
from . import views from . import views
urlpatterns = [ urlpatterns = [
path('', views.index, name='announcementboardIndex'), path('', views.index, name="index"),
# announcement/1/details # announcement/1/details
path("<int:announcement_id>/details/", views.details, name="details") path("<int:announcement_id>/details/", views.details, name="details"),
# announcement/add/
path("add/", views.add, name="add")
] ]
app_name = "announcement" app_name = "announcement"
\ No newline at end of file
from django.http import HttpResponse, Http404 from django.http import HttpResponse, Http404
from django.shortcuts import render from django.shortcuts import render, redirect
from .forms import AnnouncementForm
from .models import Announcement, Reaction from .models import Announcement, Reaction
announcementList = Announcement.objects.order_by("pub_date")
reactionList = Reaction.objects.all()
# Create your views here. # Create your views here.
def index(request): def index(request):
announcementList = Announcement.objects.order_by("pub_date")
reactionList = Reaction.objects.all()
context = { context = {
"announcementList": announcementList, "announcementList": announcementList,
} }
...@@ -14,6 +16,9 @@ def index(request): ...@@ -14,6 +16,9 @@ def index(request):
def details(request, announcement_id): def details(request, announcement_id):
announcementList = Announcement.objects.order_by("pub_date")
reactionList = Reaction.objects.all()
try: try:
announcement = Announcement.objects.get(pk=announcement_id) announcement = Announcement.objects.get(pk=announcement_id)
except Announcement.DoesNotExist: except Announcement.DoesNotExist:
...@@ -26,4 +31,15 @@ def details(request, announcement_id): ...@@ -26,4 +31,15 @@ def details(request, announcement_id):
"announcement": announcement, "announcement": announcement,
"reactionList": reactionList, "reactionList": reactionList,
} }
return render(request, "announcements/details.html", context) return render(request, "announcements/details.html", context)
\ No newline at end of file
def add(request):
if request.method == "POST":
announcementForm = AnnouncementForm(request.POST)
if announcementForm.is_valid():
new_announcement = announcementForm.save()
return redirect("announcement:index")
else:
announcementForm = AnnouncementForm()
return render(request, "announcements/add.html",
{"announcementForm":AnnouncementForm})
\ No newline at end of file
from django.forms import ModelForm
from .models import Post
class PostForm(ModelForm):
class Meta:
model = Post
fields = ["post_title", "post_body", "author", "images"]
\ No newline at end of file
# Generated by Django 4.0.3 on 2022-05-22 20:14
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('forum', '0006_remove_reply_images_post_images'),
]
operations = [
migrations.AlterField(
model_name='post',
name='pub_date',
field=models.DateTimeField(default=datetime.datetime.now, verbose_name='date published'),
),
migrations.AlterField(
model_name='reply',
name='pub_date',
field=models.DateTimeField(default=datetime.datetime.now, verbose_name='date published'),
),
]
from django.db import models from django.db import models
from datetime import datetime
from homepage.models import WidgetUser from homepage.models import WidgetUser
class Post (models.Model): class Post (models.Model):
post_title = models.CharField(max_length=99999) post_title = models.CharField(max_length=99999)
post_body = models.CharField(max_length=99999) post_body = models.CharField(max_length=99999)
pub_date = models.DateTimeField("date published") pub_date = models.DateTimeField("date published", default = datetime.now)
author = models.ForeignKey(WidgetUser, on_delete=models.CASCADE) author = models.ForeignKey(WidgetUser, on_delete=models.CASCADE)
images = models.ImageField (upload_to="forum", default = "default.jpg") images = models.ImageField (upload_to="forum", default = "default.jpg")
def __str__(self): def __str__(self):
...@@ -14,7 +15,7 @@ class Post (models.Model): ...@@ -14,7 +15,7 @@ class Post (models.Model):
class Reply (models.Model): class Reply (models.Model):
reply_body = models.CharField(max_length=99999) reply_body = models.CharField(max_length=99999)
pub_date = models.DateTimeField("date published") pub_date = models.DateTimeField("date published", default = datetime.now)
author = models.ForeignKey(WidgetUser, on_delete=models.CASCADE) author = models.ForeignKey(WidgetUser, on_delete=models.CASCADE)
def __str__(self): def __str__(self):
return f"{self.reply_body} {self.pub_date}" return f"{self.reply_body} {self.pub_date}"
{% extends 'forum/base.html' %}
{% block title %}New Forum Post{% endblock %}
{% block content %}
<h1>New Forum Post</h1>
<form method="POST" action="{% url 'forum:add' %}"
enctype="multipart/form-data">
{% csrf_token %}
{{ postForm.as_p }}
<button class="button" type="submit">Save Post</button>
<button onclick="window.location.href='../..';">Back to Forum</button>
</form>
{% endblock %}
\ No newline at end of file
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<p>No replies are available.</p> <p>No replies are available.</p>
{% endif %} {% endif %}
<br /><br /><br /><img src="{{ post.images.url }}" alt="{{post.post_title}}" style="width:50%"> <br /><br /><br /><img src="{{ post.images.url }}" alt="{{post.post_title}}" style="width:50%">
<button onclick="window.location.href='../../..';">Back to Forum</button>
{% endblock %} {% endblock %}
......
...@@ -16,4 +16,5 @@ ...@@ -16,4 +16,5 @@
{% else %} {% else %}
<p>No posts are available.</p> <p>No posts are available.</p>
{% endif %} {% endif %}
<button onclick="window.location.href='posts/add/';">Add Post</button>
{% endblock %} {% endblock %}
\ No newline at end of file
...@@ -4,6 +4,8 @@ from . import views ...@@ -4,6 +4,8 @@ from . import views
urlpatterns = [ urlpatterns = [
path('', views.index, name='index'), path('', views.index, name='index'),
path("posts/<int:post_id>/details/", views.details, name = "details"), path("posts/<int:post_id>/details/", views.details, name = "details"),
path("posts/add/", views.add, name="add"),
] ]
app_name = "forum" app_name = "forum"
\ No newline at end of file
from django.http import HttpResponse, Http404 from django.http import HttpResponse, Http404
from django.shortcuts import render from django.shortcuts import render, redirect
from .models import Post, Reply from .models import Post, Reply
from .forms import PostForm
posts = Post.objects.order_by("pub_date")
replies = Reply.objects.order_by("pub_date")
def index (request): def index (request):
posts = Post.objects.order_by("pub_date")
context = { context = {
"posts": posts "posts": posts
} }
...@@ -15,6 +15,9 @@ def index (request): ...@@ -15,6 +15,9 @@ def index (request):
def details (request, post_id): def details (request, post_id):
posts = Post.objects.order_by("pub_date")
replies = Reply.objects.order_by("pub_date")
try: try:
post = Post.objects.get (pk=post_id) post = Post.objects.get (pk=post_id)
except Post.DoesNotExist: except Post.DoesNotExist:
...@@ -30,6 +33,17 @@ def details (request, post_id): ...@@ -30,6 +33,17 @@ def details (request, post_id):
return render(request, "forum/details.html", context) return render(request, "forum/details.html", context)
def add(request):
if request.method == "POST":
postForm = PostForm(request.POST, request.FILES)
if postForm.is_valid():
new_user = postForm.save()
return redirect("forum:index")
else:
postForm = PostForm()
return render(request, "forum/add.html",
{"postForm": postForm})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment