From 0d42ee7097d935f176c97fc839565627d66cd93b Mon Sep 17 00:00:00 2001
From: Andrea Callia D'Iddio <ac4014@ic.ac.uk>
Date: Tue, 23 Aug 2022 15:16:50 +0200
Subject: [PATCH] Feat: add project details page.

---
 app/templates/pages/student/project-view.html | 35 +++++++++++++++++++
 app/views/student.py                          | 16 ++++++---
 2 files changed, 46 insertions(+), 5 deletions(-)
 create mode 100644 app/templates/pages/student/project-view.html

diff --git a/app/templates/pages/student/project-view.html b/app/templates/pages/student/project-view.html
new file mode 100644
index 0000000..1a6dee6
--- /dev/null
+++ b/app/templates/pages/student/project-view.html
@@ -0,0 +1,35 @@
+{% extends "components/layout.html" %}
+
+{% block content %}
+
+    <div class="w3-content">
+        <div class="w3-container">
+            <h1 class="w3-center w3-text-teal">Project proposal</h1>
+            <section class="w3-section">
+                <div class="w3-quarter">
+                    Title:
+                </div>
+                <div class="w3-rest">
+                    {{ project.title }}
+                </div>
+            </section>
+            <section class="w3-section">
+                <div class="w3-quarter">
+                    Proposer:
+                </div>
+                <div class="w3-rest">
+                    {{ project.on_behalf or project.proposer }}
+                </div>
+            </section>
+            <section class="w3-section">
+                <div class="w3-quarter">
+                    Description:
+                </div>
+                <div class="w3-rest">
+                    {{ project.description }}
+                </div>
+            </section>
+        </div>
+    </div>
+
+{% endblock %}
diff --git a/app/views/student.py b/app/views/student.py
index 9e1ebd3..ca002af 100644
--- a/app/views/student.py
+++ b/app/views/student.py
@@ -1,10 +1,7 @@
-from datetime import datetime
-
 from flask import render_template, Blueprint, redirect, url_for, flash
-from flask_login import login_required, current_user
+from flask_login import login_required
 
-from app import Project, db, messages
-from app.forms.project import ProjectForm
+from app import Project, messages
 
 bp = Blueprint("student", __name__, url_prefix="/student")
 
@@ -16,3 +13,12 @@ def projects():
         Project.deleted.is_(None)
     ).all()
     return render_template("pages/student/projects.html", projects=active_projects)
+
+
+@bp.route("/projects/<project_id>")
+@login_required
+def view_project(project_id):
+    if project := Project.query.get(project_id):
+        return render_template("pages/student/project-view.html", project=project)
+    flash(messages.PROJECT_NOT_FOUND)
+    return redirect(url_for("student.projects"))
-- 
GitLab