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