Commit 21fdc362 authored by Teo Quinto's avatar Teo Quinto

resolving merge conflict

parents fc46209f 1c40576b
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 django.db import models
from homepage.models import WidgetUser
......@@ -8,10 +9,10 @@ class Announcement(models.Model):
announcement_body = models.CharField(max_length=500)
author = models.ForeignKey(WidgetUser, on_delete=models.CASCADE,default = 1)
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):
return f"{self.announcement_title} {self.announcement_body} {self.pub_date}"
return f"{self.announcement_title} {self.pub_date}"
class Reaction(models.Model):
reaction_name = models.CharField(max_length=10)
......@@ -19,4 +20,4 @@ class Reaction(models.Model):
announcement = models.ForeignKey(Announcement,on_delete=models.CASCADE, default = 1)
def __str__(self):
return f"{self.reaction_name} {self.tally}"
\ No newline at end of file
return f"{self.reaction_name}"
\ 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 @@
<li>{{ reaction.reaction_name }}: {{reaction.tally}}</li>
{% endfor %}
</ul></p>
<button onclick="window.location.href='../../';">Back to Announcement Board</button>
{% endblock %}
\ No newline at end of file
......@@ -12,6 +12,7 @@
{% endfor %}
</ul>
{% else %}
<p>No users are available</p>
<p>No announcements are available</p>
{% endif %}
<button onclick="window.location.href='add/';">New Announcement</button>
{% endblock %}
\ No newline at end of file
......@@ -3,9 +3,11 @@ from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='announcementboardIndex'),
path('', views.index, name="index"),
# 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"
\ No newline at end of file
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
announcementList = Announcement.objects.order_by("pub_date")
reactionList = Reaction.objects.all()
# Create your views here.
def index(request):
announcementList = Announcement.objects.order_by("pub_date")
reactionList = Reaction.objects.all()
context = {
"announcementList": announcementList,
}
......@@ -14,6 +16,9 @@ def index(request):
def details(request, announcement_id):
announcementList = Announcement.objects.order_by("pub_date")
reactionList = Reaction.objects.all()
try:
announcement = Announcement.objects.get(pk=announcement_id)
except Announcement.DoesNotExist:
......@@ -26,4 +31,15 @@ def details(request, announcement_id):
"announcement": announcement,
"reactionList": reactionList,
}
return render(request, "announcements/details.html", context)
\ No newline at end of file
return render(request, "announcements/details.html", context)
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 Assignment
class AssignmentForm(ModelForm):
class Meta:
model = Assignment
fields = ["name", "description", "max_points", "course", "hwPicture"]
\ No newline at end of file
h1 {
text-align: center;
color:rgb(3, 4, 94);
color:rgb(240, 108, 196);
text-shadow:2px 2px 5px rgb(101, 15, 158);
font-family: "Brush Script MT", "Brush Script Std", cursive;
font-size: 50px;
......@@ -11,10 +11,10 @@ h2 {
font-family: "Arial Narrow", sans-serif;
}
body {
background-color: rgb(202, 240, 248);
background-color: rgb(248, 234, 202);
}
p {
color:rgb(0, 180, 216);
color:rgb(250, 155, 12);
font-size: 25px;
font-family: "New Century Schoolbook", "TeX Gyre Schola", serif;
}
......
{% extends 'assignments/base.html' %}
{% block title %}New Assignment{% endblock %}
{% block content %}
<h1>New Assignment</h1>
<form method="POST" action="{% url 'assignments:newAssignment' %}"
enctype="multipart/form-data">
{% csrf_token %}
{{ assignmentForm.as_p }}
<button class="button" type="submit">Save Assignment</button>
<button onclick="window.location.href='../';">Back to assignment page</button>
</form>
{% endblock %}
\ No newline at end of file
......@@ -13,4 +13,5 @@
{% load static %}
<br /><br /><br /><img src="{{ taskWork.hwPicture.url }}" alt="{{taskWork.name}}" style="width:50%">
</p>
<button onclick="window.location.href='../..';">Back to assignment page</button>
{% endblock %}
\ No newline at end of file
......@@ -7,14 +7,19 @@
<p>List of Courses:</p>
{% if assignmentList %}
<ul>
{% for taskWork in assignmentList %}
<li>{{ taskWork.course.course_code }}, {{ taskWork.course.course_title }}, - Section: {{ taskWork.course.section }}</li>
{% for course in courseList %}
<li>{{ course.course_code }}, {{ course.course_title }}, - Section: {{ course.section }}</li>
<ul>
<li><a href="{{ taskWork.id }}/details/">{{ taskWork.name }}</a></li>
{% for taskWork in assignmentList %}
{% if taskWork.course == course %}
<li><a href="{{ taskWork.id }}/details/">{{ taskWork.name }}</a></li>
{% endif %}
{% endfor %}
</ul>
{% endfor %}
</ul>
{% else %}
<p>No users are available</p>
<p>No assignments are available</p>
{% endif %}
<button onclick="window.location.href='add/';">New Assignment</button>
{% endblock %}
\ No newline at end of file
......@@ -5,5 +5,9 @@ from . import views
urlpatterns = [
path('', views.index, name='announcementIndex'),
# assignments/1/details
path("<int:assignment_id>/details/", views.details, name="details")
]
\ No newline at end of file
path("<int:assignment_id>/details/", views.details, name="details"),
# assignments/add
path("add/", views.newAssignment, name="newAssignment" ),
]
app_name = "assignments"
\ No newline at end of file
from django.http import HttpResponse, Http404
from django.shortcuts import render
from django.shortcuts import render, redirect
from .models import Course, Assignment
from .forms import AssignmentForm
assignmentList = Assignment.objects.order_by("course")
courseList = Course.objects.order_by("course_code")
# Create your views here.
def index(request):
#return HttpResponse(displayText)
assignmentList = Assignment.objects.order_by("course")
courseList = Course.objects.order_by("course_code")
context = {
"assignmentList": assignmentList,
"courseList": courseList,
}
return render(request, "assignments/index.html", context)
def details(request, assignment_id):
#return HttpResponse("This is assignment # %s." % assignment_id)
assignmentList = Assignment.objects.order_by("course")
try:
taskWork = Assignment.objects.get(pk=assignment_id)
except Assignment.DoesNotExist:
raise Http404("Assignment does not exist!")
for assignmentWork in assignmentList:
if assignmentWork.id == assignment_id:
taskWork = assignmentWork
break
context = {
"taskWork": taskWork,
"assignment_id": assignment_id
}
return render(request, "assignments/details.html", context)
\ No newline at end of file
return render(request, "assignments/details.html", context)
def newAssignment(request):
if request.method == "POST":
assignmentForm = AssignmentForm(request.POST, request.FILES)
if assignmentForm.is_valid():
new_assignment = assignmentForm.save()
return redirect("assignments:newAssignment")
else:
assignmentForm = AssignmentForm()
return render(request, "assignments/add.html", {"assignmentForm": assignmentForm})
\ 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 datetime import datetime
from homepage.models import WidgetUser
class Post (models.Model):
post_title = 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)
images = models.ImageField (upload_to="forum", default = "default.jpg")
def __str__(self):
......@@ -14,7 +15,7 @@ class Post (models.Model):
class Reply (models.Model):
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)
def __str__(self):
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 @@
<p>No replies are available.</p>
{% endif %}
<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 %}
......
......@@ -16,4 +16,5 @@
{% else %}
<p>No posts are available.</p>
{% endif %}
<button onclick="window.location.href='posts/add/';">Add Post</button>
{% endblock %}
\ No newline at end of file
......@@ -4,6 +4,8 @@ from . import views
urlpatterns = [
path('', views.index, name='index'),
path("posts/<int:post_id>/details/", views.details, name = "details"),
path("posts/add/", views.add, name="add"),
]
app_name = "forum"
\ No newline at end of file
from django.http import HttpResponse, Http404
from django.shortcuts import render
from django.shortcuts import render, redirect
from .models import Post, Reply
posts = Post.objects.order_by("pub_date")
replies = Reply.objects.order_by("pub_date")
from .forms import PostForm
def index (request):
posts = Post.objects.order_by("pub_date")
context = {
"posts": posts
}
......@@ -15,6 +15,9 @@ def index (request):
def details (request, post_id):
posts = Post.objects.order_by("pub_date")
replies = Reply.objects.order_by("pub_date")
try:
post = Post.objects.get (pk=post_id)
except Post.DoesNotExist:
......@@ -30,6 +33,17 @@ def details (request, post_id):
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