from datetime import timedelta from flask import url_for, abort from sqlalchemy.orm import aliased from flaskbb.extensions import db from flaskbb.utils.helpers import (slugify, get_categories_and_forums, get_forums, time_utcnow) from flaskbb.utils.database import CRUDMixin, UTCDateTime from flaskbb.utils.settings import flaskbb_config moderators = db.Table( 'moderators', db.Column('user_id', db.Integer(), db.ForeignKey('users.id'), nullable=False), db.Column('forum_id', db.Integer(), db.ForeignKey('forums.id', use_alter=True, name="fk_forum_id"), nullable=False)) topictracker = db.Table( 'topictracker', db.Column('user_id', db.Integer(), db.ForeignKey('users.id'), nullable=False), db.Column('topic_id', db.Integer(), db.ForeignKey('topics.id', use_alter=True,
from werkzeug.security import generate_password_hash, check_password_hash from flask import url_for from flask_login import UserMixin, AnonymousUserMixin from flaskbb._compat import max_integer from flaskbb.extensions import db, cache from flaskbb.exceptions import AuthenticationError from flaskbb.utils.settings import flaskbb_config from flaskbb.utils.database import CRUDMixin from flaskbb.forum.models import (Post, Topic, topictracker, TopicsRead, ForumsRead) from flaskbb.message.models import Conversation groups_users = db.Table( 'groups_users', db.Column('user_id', db.Integer(), db.ForeignKey('users.id')), db.Column('group_id', db.Integer(), db.ForeignKey('groups.id'))) class Group(db.Model, CRUDMixin): __tablename__ = "groups" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), unique=True, nullable=False) description = db.Column(db.Text) # Group types admin = db.Column(db.Boolean, default=False, nullable=False) super_mod = db.Column(db.Boolean, default=False, nullable=False) mod = db.Column(db.Boolean, default=False, nullable=False) guest = db.Column(db.Boolean, default=False, nullable=False)
from sqlalchemy.orm import aliased from flaskbb.extensions import db from flaskbb.utils.database import (CRUDMixin, HideableCRUDMixin, UTCDateTime, make_comparable) from flaskbb.utils.helpers import (get_categories_and_forums, get_forums, slugify, time_utcnow, topic_is_unread) from flaskbb.utils.settings import flaskbb_config logger = logging.getLogger(__name__) moderators = db.Table( 'moderators', db.Column('user_id', db.Integer(), db.ForeignKey('users.id', ondelete="CASCADE"), nullable=False), db.Column('forum_id', db.Integer(), db.ForeignKey('forums.id', ondelete="CASCADE"), nullable=False)) topictracker = db.Table( 'topictracker', db.Column('user_id', db.Integer(), db.ForeignKey('users.id', ondelete="CASCADE"), nullable=False), db.Column('topic_id', db.Integer(), db.ForeignKey('topics.id', ondelete="CASCADE"), nullable=False))
from flaskbb.deprecation import deprecated from flaskbb.exceptions import AuthenticationError from flaskbb.extensions import cache, db from flaskbb.forum.models import Forum, Post, Topic, topictracker from flaskbb.utils.database import CRUDMixin, UTCDateTime, make_comparable from flaskbb.utils.helpers import time_utcnow from flaskbb.utils.settings import flaskbb_config logger = logging.getLogger(__name__) groups_users = db.Table( 'groups_users', db.Column('user_id', db.Integer, db.ForeignKey('users.id', ondelete="CASCADE"), nullable=False), db.Column('group_id', db.Integer, db.ForeignKey('groups.id', ondelete="CASCADE"), nullable=False)) @make_comparable class Group(db.Model, CRUDMixin): __tablename__ = "groups" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), unique=True, nullable=False) description = db.Column(db.Text, nullable=True) # Group types
from flask import url_for from flask_login import UserMixin, AnonymousUserMixin from flaskbb.extensions import db, cache from flaskbb.exceptions import AuthenticationError from flaskbb.utils.helpers import time_utcnow from flaskbb.utils.settings import flaskbb_config from flaskbb.utils.database import CRUDMixin, UTCDateTime, make_comparable from flaskbb.forum.models import (Post, Topic, Forum, topictracker, TopicsRead, ForumsRead) from flaskbb.message.models import Conversation groups_users = db.Table( 'groups_users', db.Column('user_id', db.Integer, db.ForeignKey('users.id'), nullable=False), db.Column('group_id', db.Integer, db.ForeignKey('groups.id'), nullable=False)) @make_comparable class Group(db.Model, CRUDMixin): __tablename__ = "groups" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), unique=True, nullable=False) description = db.Column(db.Text, nullable=True) # Group types admin = db.Column(db.Boolean, default=False, nullable=False)