From 199a8a0e853100737d29e16303ef80bfd145da2b Mon Sep 17 00:00:00 2001
From: Ivan Procaccini <ivanprocaccini905@gmail.com>
Date: Mon, 22 Aug 2022 16:32:40 +0100
Subject: [PATCH] Feat: Support creation of new project

---
 app/templates/pages/project-form.html |  2 +-
 app/views/staff.py                    | 14 ++++++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/app/templates/pages/project-form.html b/app/templates/pages/project-form.html
index 8c78ac5..61fc676 100644
--- a/app/templates/pages/project-form.html
+++ b/app/templates/pages/project-form.html
@@ -16,7 +16,7 @@
                     <section class="w3-section">
                         <label>
                             Description
-                            <textarea class="w3-input w3-border" placeholder="Description of my new project..." required rows="10"></textarea>
+                            <textarea name="description" class="w3-input w3-border" placeholder="Description of my new project..." required rows="10"></textarea>
                         </label>
                     </section>
                     <button type="submit" class="w3-btn w3-teal">Save</button>
diff --git a/app/views/staff.py b/app/views/staff.py
index 22abefc..7829a1c 100644
--- a/app/views/staff.py
+++ b/app/views/staff.py
@@ -1,7 +1,7 @@
 from datetime import datetime
 
-from flask import render_template, Blueprint, redirect, url_for, flash, request
-from flask_login import login_required
+from flask import render_template, Blueprint, redirect, url_for, flash, request, g
+from flask_login import login_required, current_user
 
 from app import Project, db, messages
 
@@ -12,8 +12,14 @@ bp = Blueprint("staff", __name__, url_prefix="/staff")
 @login_required
 def projects():
     if request.method == "POST":
-        # Save new project
-        pass
+        project = Project(
+            title=request.form["title"],
+            description=request.form["description"],
+            proposer=current_user.username,
+        )
+        db.session.add(project)
+        db.session.commit()
+        return redirect(url_for("staff.projects"))
     active_projects: list[Project] = Project.query.filter(
         Project.deleted.is_(None)
     ).all()
-- 
GitLab