Add referral name

This commit is contained in:
Son NK 2020-05-02 18:08:05 +02:00
parent 7ceb9440de
commit 3ce3a05c7b
2 changed files with 17 additions and 1 deletions

View file

@ -158,7 +158,9 @@ class User(db.Model, ModelMixin, UserMixin):
db.Boolean, default=True, nullable=False, server_default="1"
)
referral_id = db.Column(db.ForeignKey("referral.id"), nullable=True, default=None)
referral_id = db.Column(
db.ForeignKey("referral.id", ondelete="SET NULL"), nullable=True, default=None
)
referral = db.relationship("Referral", foreign_keys=[referral_id])
@ -1153,6 +1155,7 @@ class Referral(db.Model, ModelMixin):
"""Referral code so user can invite others"""
user_id = db.Column(db.ForeignKey(User.id, ondelete="cascade"), nullable=False)
name = db.Column(db.String(512), nullable=True, default=None)
code = db.Column(db.String(128), unique=True, nullable=False)

View file

@ -51,6 +51,7 @@ from app.models import (
DeletedAlias,
Contact,
EmailLog,
Referral,
)
from app.monitor.base import monitor_bp
from app.oauth.base import oauth_bp
@ -216,6 +217,18 @@ def fake_data():
DeletedAlias.create(user_id=user.id, email="d2@ab.cd")
db.session.commit()
referral = Referral.create(user_id=user.id, code="REFCODE", name="First referral")
db.session.commit()
User.create(
email="winston@continental.com",
name="Winston",
password="password",
activated=True,
referral_id=referral.id,
)
db.session.commit()
@login_manager.user_loader
def load_user(user_id):