Commit 0ecda9bf authored by Matthew Josh Benedict Benito's avatar Matthew Josh Benedict Benito

Merge branch 'announcementv2' into 'master'

Announcementv2

See merge request !13
parents 79e2ddbc 7708910f
from django.db import models
from django.urls import reverse
# Create your models here.
class Announcement(models.Model):
......@@ -9,6 +10,9 @@ class Announcement(models.Model):
def __str__(self):
return '{} by {} published {}: {}'.format(self.title, self.author, self.pub_datetime, self.body)
def get_absolute_url(self):
return reverse('announcement:announcement-details', kwargs={'pk':self.pk})
class Reaction(models.Model):
reaction_list = [("Like", "Like"), ("Heart", "Heart"), ("Angry", "Angry")]
......
{% extends 'base.html' %}
{% block title %}Add Announcement{% endblock %}
{% block content %}
<h1>Add a new announcement:</h1><br>
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save New Announcement">
</form>
{% endblock %}
{% block scripts %}
{% endblock %}
{% extends 'base.html' %}
{% block title %}{{ announcement.title }}{% endblock %}
{% block content %}
<h1>{{ announcement.title }}</h1>
<h3>by {{ announcement.author }}</h3>
<h3> {{ announcement.pub_datetime }}</h3>
<h3> {{ announcement.body }}<br>
{% for reaction in announcement.reaction_set.all %}
{{ reaction.name }}: {{ reaction.tally }}<br>
{% endfor %}
</h3>
{% endblock %}
{% block scripts %}
<a href="/announcements/{{ announcement.pk }}/edit"><input type="submit" value="Edit Announcement"></a>
{% endblock %}
{% extends 'base.html' %}
{% block title %}Widget's Announcement Board{% endblock %}
{% block content %}
<h1>Welcome to Widget's Announcement Board!</h1>
<h3>
{% for announcement in announcement %}
<a href="{{ announcement.get_absolute_url }}">{{ announcement.title }} by {{ announcement.author }}</a><br>
{% endfor %}
</h3>
{% endblock %}
{% block scripts %}
<a href="/announcements/add"><input type="submit" value="New Announcement"></a><br><br>
<a href="/dashboard">Dashboard</a><br>
<a href="/assignments">Assignments</a><br>
<a href="/forum">Forum</a><br>
<a href="/calendar">Calendar</a>
{% endblock %}
{% extends 'base.html' %}
{% block title %}Edit Announcement{% endblock %}
<h1>Edit Announcement:</h1>
{% block content %}
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save Changes to Announcement">
</form>
{% endblock %}
{% block scripts %}
{% endblock %}
from django.contrib import admin
from django.urls import path
from .views import index
from .views import index, AnnouncementDetailView, AnnouncementCreateView, AnnouncementUpdateView
urlpatterns = [
path('', index, name='index'),
path('<int:pk>/details', AnnouncementDetailView.as_view(), name='announcement-details'),
path('add/', AnnouncementCreateView.as_view(), name='add-announcement'),
path('<int:pk>/edit', AnnouncementUpdateView.as_view(), name = "edit-announcement")
]
app_name = "announcement"
from django.shortcuts import render
from django.http import HttpResponse
from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView, UpdateView
from .models import Announcement, Reaction
from .models import Announcement
def index(request):
page_content ="""<H1>Widget's Announcement Board</H1?"""
for announcement in Announcement.objects.all():
newAnnouncementDateTime = announcement.pub_datetime.strftime("%m-%d-%Y %I:%M %p")
page_content += """<br> <br>
{} by {} published {}:<br>
{}<br>""".format(announcement.title, announcement.author, newAnnouncementDateTime, announcement.body)
for reaction in Reaction.objects.all():
if reaction.announcement == announcement:
page_content += """<br>{}: {}
""".format(reaction.name, reaction.tally)
return HttpResponse(page_content)
return render(request, 'announcement/announcement.html', {'announcement': Announcement.objects.all()})
class AnnouncementDetailView(DetailView):
model = Announcement
def get(self, request, pk):
return render(request, 'announcement/announcement-details.html', {'announcement': self.model.objects.get(pk=pk)})
class AnnouncementCreateView(CreateView):
model = Announcement
fields = '__all__'
template_name = 'announcement/announcement-add.html'
class AnnouncementUpdateView(UpdateView):
model = Announcement
fields = '__all__'
template_name = 'announcement/announcement-edit.html'
......@@ -12,7 +12,7 @@
{% block scripts %}
<a href="/assignments/add"><input type="submit" value="New Assignment"></a><br><br>
<a href="/dashboard">Dashboard</a><br>
<a href="/announcement">Announcements</a><br>
<a href="/announcements">Announcements</a><br>
<a href="/forum">Forum</a><br>
<a href="/calendar">Calendar</a>
{% endblock %}
\ No newline at end of file
......@@ -12,7 +12,7 @@
{% endblock %}
{% block scripts %}
<a href="/dashboard/widgetusers/add"><input type="submit" value="Add Widget User"></a><br>
<a href="/announcement">Announcement Board</a><br>
<a href="/announcements">Announcement Board</a><br>
<a href="/forum">Forum</a><br>
<a href="/assignments">Assignments</a><br>
<a href="/calendar">Calendar</a>
......
No preview for this file type
......@@ -12,7 +12,7 @@
{% block scripts %}
<a href="/forum/forumposts/add"><input type="submit" value="New Post"></a><br><br>
<a href="/dashboard">Dashboard</a><br>
<a href="/announcement">Announcements</a><br>
<a href="/announcements">Announcements</a><br>
<a href="/assignments">Assignments</a><br>
<a href="/calendar">Calendar</a>
{% endblock %}
\ No newline at end of file
......@@ -13,7 +13,7 @@
{% block scripts %}
<a href="/calendar/events/add"><input type="submit" value="New Activity"></a><br><br>
<a href="/dashboard">Dashboard</a><br>
<a href="/announcement">Announcement Board</a><br>
<a href="/announcements">Announcement Board</a><br>
<a href="/forum">Forum</a><br>
<a href="/assignments">Assignments</a><br>
{% endblock %}
\ No newline at end of file
......@@ -2,7 +2,7 @@ from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('announcement/', include('announcement.urls', namespace="announcement")),
path('announcements/', include('announcement.urls', namespace="announcement")),
path('calendar/', include('widget_calendar.urls', namespace="widget_calendar")),
path('assignments/', include('assignments.urls', namespace="assignments")),
path('dashboard/', include('dashboard.urls', namespace="dashboard")),
......
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