from app.tasks.forumtasks import checkForumAccount
from app.tasks.emails import sendVerifyEmail
from app.tasks.phpbbparser import getProfile
-from werkzeug.contrib.cache import SimpleCache
-cache = SimpleCache()
# Define the User profile form
class UserProfileForm(FlaskForm):
if not user:
abort(404)
- packages = user.packages.filter_by(soft_deleted=False)
- if not current_user.is_authenticated or (user != current_user and not current_user.canAccessTodoList()):
- packages = packages.filter_by(approved=True)
-
form = None
if user.checkPerm(current_user, Permission.CHANGE_DNAME) or \
user.checkPerm(current_user, Permission.CHANGE_EMAIL) or \
# Redirect to home page
return redirect(url_for("user_profile_page", username=username))
+ packages = user.packages.filter_by(soft_deleted=False)
+ if not current_user.is_authenticated or (user != current_user and not current_user.canAccessTodoList()):
+ packages = packages.filter_by(approved=True)
+ packages = packages.order_by(db.asc(Package.title))
+
+ topics_to_add = None
+ if current_user == user or user.checkPerm(current_user, Permission.CHANGE_AUTHOR):
+ topics_to_add = KrockForumTopic.query \
+ .filter_by(author_id=user.id) \
+ .filter(~ db.exists().where(Package.forums==KrockForumTopic.topic_id)) \
+ .all()
+
# Process GET or invalid POST
return render_template("users/user_profile_page.html",
- user=user, form=form, packages=packages)
+ user=user, form=form, packages=packages, topics_to_add=topics_to_add)
class SetPasswordForm(FlaskForm):
email = StringField("Email (Optional)", [Optional(), Email()])
if user is not None and method == "github":
return redirect(url_for("github_signin_page"))
- token = cache.get("forum_claim_key_" + request.remote_addr)
- if token is None:
+ token = None
+ if "forum_token" in session:
+ token = session["forum_token"]
+ else:
token = randomString(32)
- cache.set("forum_claim_key_" + request.remote_addr, token, 5*60)
+ session["forum_token"] = token
if request.method == "POST":
ctype = request.form.get("claim_type")