Browse Source

Merge branch 'master' of github.com:sh4nks/flaskbb

sh4nks 8 years ago
parent
commit
572ac788d6
2 changed files with 8 additions and 7 deletions
  1. 3 4
      flaskbb/cli/main.py
  2. 5 3
      flaskbb/forum/models.py

+ 3 - 4
flaskbb/cli/main.py

@@ -17,7 +17,7 @@ import click
 from werkzeug.utils import import_string, ImportStringError
 from flask import current_app
 from flask.cli import FlaskGroup, ScriptInfo, with_appcontext
-from sqlalchemy_utils.functions import database_exists, drop_database
+from sqlalchemy_utils.functions import database_exists, create_database, drop_database
 from flask_migrate import upgrade as upgrade_database
 
 from flaskbb import create_app
@@ -95,11 +95,10 @@ def install(welcome, force, username, email, password, group):
             "create a new one?", fg="magenta")
         ):
             drop_database(db.engine.url)
-            upgrade_database()
         else:
             sys.exit(0)
-    else:
-        upgrade_database()
+    create_database(db.engine.url)
+    upgrade_database()
 
     click.secho("[+] Creating default settings...", fg="cyan")
     create_default_groups()

+ 5 - 3
flaskbb/forum/models.py

@@ -98,7 +98,10 @@ class Report(db.Model, CRUDMixin):
     zapped_by = db.Column(db.Integer, db.ForeignKey("users.id"))
     reason = db.Column(db.Text)
 
-    post = db.relationship("Post", backref="report", lazy="joined")
+    post = db.relationship(
+        "Post", lazy="joined",
+        backref=db.backref('report', cascade='all, delete-orphan')
+    )
     reporter = db.relationship("User", lazy="joined",
                                foreign_keys=[reporter_id])
     zapper = db.relationship("User", lazy="joined", foreign_keys=[zapped_by])
@@ -339,14 +342,13 @@ class Topic(db.Model, CRUDMixin):
 
         # If the topic is unread try to get the first unread post
         if topic_is_unread(self, topicsread, user, forumsread):
-            # 
             query = Post.query.filter(Post.topic_id == self.id)
             if topicsread is not None:
                 query = query.filter(Post.date_created > topicsread.last_read)
             post = query.order_by(Post.id.asc()).first()
             if post is not None:
                 return post.url
-        
+
         return self.url
 
     # Methods