Skip to content

Commit dd64bb2

Browse files
authored
Update portfolio.py
1 parent 4d926f2 commit dd64bb2

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

portfolio/portfolio.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from flask import Blueprint, render_template, request, redirect, url_for
1+
from flask import Blueprint, render_template, request, redirect, url_for, flash, session
22
from pi_cryptoconnect.database import db
33
from pi_cryptoconnect.models import User, Portfolio, Asset
44

@@ -12,7 +12,7 @@ def portfolio_index():
1212
:return: Portfolio index page
1313
"""
1414
portfolios = Portfolio.query.all()
15-
return render_template('portfolio/index.html', portfolios[portfolios])
15+
return render_template('portfolio/index.html', portfolios=portfolios)
1616

1717
@portfolio_blueprint.route('/portfolio/create', methods=['GET', 'POST'])
1818
def create_portfolio():
@@ -21,14 +21,25 @@ def create_portfolio():
2121
2222
:return: Redirect to portfolio index page
2323
"""
24+
if 'user_id' not in session:
25+
flash('You need to be logged in to create a portfolio.')
26+
return redirect(url_for('auth.login')) # Redirect to login if not authenticated
27+
2428
if request.method == 'POST':
2529
name = request.form['name']
2630
description = request.form['description']
27-
user_id = request.user.id
31+
user_id = session['user_id'] # Get user ID from session
2832
portfolio = Portfolio(name=name, description=description, user_id=user_id)
29-
db.session.add(portfolio)
30-
db.session.commit()
31-
return redirect(url_for('portfolio.portfolio_index'))
33+
34+
try:
35+
db.session.add(portfolio)
36+
db.session.commit()
37+
flash('Portfolio created successfully!')
38+
return redirect(url_for('portfolio.portfolio_index'))
39+
except Exception as e:
40+
db.session.rollback() # Rollback in case of error
41+
flash('Error creating portfolio: ' + str(e))
42+
3243
return render_template('portfolio/create.html')
3344

3445
@portfolio_blueprint.route('/portfolio/<int:portfolio_id>', methods=['GET'])

0 commit comments

Comments
 (0)