Commit 8dac69ae authored by Gabriel Geraldo's avatar Gabriel Geraldo

implemented new /calendar page

parent cd772cb6
from django.db import models
from assignments.models import Course
from django.urls import reverse
class Location(models.Model):
ONSITE = 'onsite'
......@@ -38,4 +38,7 @@ class Event(models.Model):
self.activity,
self.course
)
def get_absolute_url(self):
return reverse("widget_calendar:event_details", kwargs={"pk": self.pk})
\ No newline at end of file
{% extends 'base.html' %}
{% load static %}
{% block title %}Widget's Calendar of Activities{% endblock title %}
{% block content %}
<h1>Widget's Calendar of Activities</h1>
{% for event in events %}
<p><strong>
<a href="{{ event.get_absolute_url }}">
<li>
{{ event.activity }}
</li>
</a>
</strong></p>
{% endfor %}
<form action="events/add">
<input type="submit" value="Add Activity">
</form>
<div>
<a href="../dashboard/">Dashboard</a><br>
<a href="../announcements/">Announcements</a><br>
<a href="../forum/">Forum</a><br>
<a href="../assignments/">Assignments</a><br>
</div>
{% endblock content %}
\ No newline at end of file
{% extends 'base.html' %}
{% load static %}
{% block title %}{{ object.activity }}{% endblock %}
{% block content %}
<div style="text-transform:uppercase;">
<h1>{{ object.activity }}</h1>
</div>
<h2>
Date and Time: {{ object.get_date }}, {{ object.get_time }}<br>
Estimated Hours: {{ object.estimated_hours }} <br>
{{ object.course.code }} {{ object.course.title }} - {{ object.course.section }} <br>
Mode: {{ object.location.mode }} <br>
Venue: {{ object.location.venue }}
</h2>
<form action="../edit/">
<input type="submit" value="Edit Activity">
</form>
{% endblock %}
from django.urls import path
from .views import index
from .views import index, EventDetailView
urlpatterns = [
path('', index, name='index')
path('', index, name='index'),
path('events/<int:pk>/details', EventDetailView.as_view(), name='event_details'),
]
app_name = "widget_calendar"
\ No newline at end of file
from django.shortcuts import render
from django.http import HttpResponse
from .models import Event, Location
from django.views.generic.detail import DetailView
def index(HttpRequest):
html_output = '''
<html>
<head>
<title>Calendar</title>
</head>
<body>
<h1>Widget's Calendar of Activities</h1>
'''
for event in Event.objects.all():
html_output += '''
<p>
Date and Time: {}<br>
Activity: {}<br>
Estimated Hours: {}<br>
Course/Section: {} {}-{}<br>
Mode: {}<br>
Venue: {}<br>
</p>
'''.format(
event.target_datetime.strftime("%m/%d/%Y, %I:%M %p"),
event.activity,
event.estimated_hours,
event.course,
event.course.title,
event.course.section,
event.location.mode,
event.location.venue
)
html_output += '''
</body>
</html>
'''
return HttpResponse(html_output)
\ No newline at end of file
events = Event.objects.all()
args = { 'events':events }
return render(HttpRequest, 'widget_calendar/calendar.html', args)
class EventDetailView(DetailView):
model = Event
template_name = "widget_calendar/event-details.html"
\ No newline at end of file
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