From 6507b05c6444d0a51db4e419e1c4253eccce5112 Mon Sep 17 00:00:00 2001 From: crunk Date: Fri, 18 Mar 2022 14:58:30 +0100 Subject: [PATCH] users now have anonymous username option --- verse/distribusimodel.py | 4 +++- verse/forms/registerform.py | 4 ++++ verse/start.py | 29 +++++++++++++++------------- verse/statuspengguna/registeruser.py | 2 ++ verse/templates/index.html | 2 +- verse/templates/register.html | 7 +++++++ verse/usermodel.py | 2 ++ 7 files changed, 35 insertions(+), 15 deletions(-) diff --git a/verse/distribusimodel.py b/verse/distribusimodel.py index 8b0d60f..6e1b5c0 100644 --- a/verse/distribusimodel.py +++ b/verse/distribusimodel.py @@ -7,7 +7,7 @@ class Distribusis(db.Model): __tablename__ = "distribusis" id = db.Column(db.Integer, primary_key=True) - distribusiname = db.Column(db.String(300), nullable=True, unique=True) + distribusiname = db.Column(db.String(300), nullable=False, unique=True) userid = db.Column(db.Integer, db.ForeignKey("users.id")) term = db.Column(db.String(5), nullable=False, unique=False) course = db.Column(db.String(500), nullable=True, unique=False) @@ -15,6 +15,8 @@ class Distribusis(db.Model): # Academic year eg:2020-2021, so no need for a Datetime object year = db.Column(db.String(9), nullable=True, unique=False) tags = db.Column(db.String(500), nullable=True, unique=False) + publictheme = db.Column(db.String(300), unique=True, nullable=True) + visible = db.Column(db.Boolean, default=False) def __repr__(self): diff --git a/verse/forms/registerform.py b/verse/forms/registerform.py index d69b5f3..abe3530 100644 --- a/verse/forms/registerform.py +++ b/verse/forms/registerform.py @@ -12,6 +12,10 @@ from flask_wtf import FlaskForm class RegisterForm(FlaskForm): """Register for distribusi-verse form class""" + username = StringField( + "Username:", + validators=[validators.InputRequired(), Length(6, 150)], + ) email = StringField( "Email address:", diff --git a/verse/start.py b/verse/start.py index c7133ee..4743921 100644 --- a/verse/start.py +++ b/verse/start.py @@ -4,7 +4,6 @@ import zipfile import shutil from datetime import timedelta - from flask import ( render_template, redirect, @@ -32,20 +31,24 @@ from forms.editorform import EditorForm from forms.selectorform import SelectorForm # CRUD! -from selector import SelectNewDistribusi -from selector import SelectUpdateDistribusi -from selector import DeleteDistribusi -from selector import SelectorVisible +from selector import ( + SelectNewDistribusi, + SelectUpdateDistribusi, + DeleteDistribusi, + SelectorVisible, +) # Upload -from upload import UploadNewDistribusi -from upload import UploadUpdatedFiles +from upload import UploadNewDistribusi, UploadUpdatedFiles # UserPengguna -from statuspengguna.helper import IsZipUploaded -from statuspengguna.helper import IsCssSelected -from statuspengguna.helper import CurrentDistribusi -from statuspengguna.helper import ResetUserState +from statuspengguna.helper import ( + IsZipUploaded, + IsCssSelected, + CurrentDistribusi, + HasDistribusi, + ResetUserState, +) from statuspengguna.loginuser import LoginUser from statuspengguna.registeruser import RegisterUser @@ -73,7 +76,7 @@ def index(): for distribusi in distribusis: user = User.query.filter_by(id=distribusi.userid).first() singledistribusi = { - "useremail": user.email, + "username": user.username, "term": distribusi.term, "course": distribusi.course, "year": distribusi.year, @@ -160,7 +163,7 @@ def upload(): selectorvisible = SelectorVisible() current_distribusi = CurrentDistribusi() - if current_distribusi == "new": + if current_distribusi == "new" or HasDistribusi() == False: uploadform = UploadNewDistribusi(APP.config["UPLOAD_FOLDER"]) else: uploadform = UploadUpdatedFiles(APP.config["UPLOAD_FOLDER"]) diff --git a/verse/statuspengguna/registeruser.py b/verse/statuspengguna/registeruser.py index 3c93b00..722f3c8 100644 --- a/verse/statuspengguna/registeruser.py +++ b/verse/statuspengguna/registeruser.py @@ -23,10 +23,12 @@ def RegisterUser(): registerform = RegisterForm() if registerform.validate_on_submit(): try: + username = registerform.username.data email = registerform.email.data password = registerform.confirmpassword.data newuser = User( + username=username, email=email, password=generate_password_hash(password), ) diff --git a/verse/templates/index.html b/verse/templates/index.html index 7d5d08e..42b6214 100644 --- a/verse/templates/index.html +++ b/verse/templates/index.html @@ -46,7 +46,7 @@