Exemplo n.º 1
0
class User(db.Model, APIModel, UserMixin):
    all_fields = {
        'email': {
            'required': True,
            'editable': False
        },
        'password': {
            'required': True,
            'editable': True
        },
        'active': {
            'required': False,
            'editable': True
        }
    }

    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    roles = db.relationship('Role',
                            secondary=roles_users,
                            backref=db.backref('users', lazy='dynamic'))

    def to_dict(self):
        return dict(email=self.email,
                    roles=[r.name for r in self.roles],
                    active=self.active)
Exemplo n.º 2
0
class PasswdReset(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    hashstr = db.Column(db.String(40))
    created = db.Column(db.DateTime(), default=datetime.utcnow)
    active = db.Column(db.Boolean())
    user_id = db.Column(db.Integer, db.ForeignKey(User.id))
    user = db.relationship(User, uselist=False)

    @property
    def email_body(self):
        from mhn import mhn
        return render_template(
                'auth/reset-email.html', hashstr=self.hashstr,
                 server_url=mhn.config['SERVER_BASE_URL'],
                 email=self.user.email)