Support cancelled premium users in custom domain & directory
- Freemium user can see custom domain and directory but could not add new. - user who has added custom domain or directory before could delete them
This commit is contained in:
parent
3f0aae6f02
commit
13283b6327
|
@ -13,6 +13,12 @@
|
|||
<div class="col-md-8 offset-md-2">
|
||||
<h1 class="h3"> Custom Domains </h1>
|
||||
|
||||
{% if not current_user.is_premium() %}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
This feature is only available in premium plan.
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% for custom_domain in custom_domains %}
|
||||
<div class="card" style="max-width: 50rem">
|
||||
<div class="card-body">
|
||||
|
|
|
@ -10,6 +10,12 @@
|
|||
<div class="col-md-8 offset-md-2">
|
||||
<h1 class="h3"> Directories </h1>
|
||||
|
||||
{% if not current_user.is_premium() %}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
This feature is only available in premium plan.
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="alert alert-primary" role="alert">
|
||||
Directory allows you to create aliases <b>on the fly</b>. <br>
|
||||
Simply use <em>directory/<b>anything</b>@{{ EMAIL_DOMAIN }}</em>
|
||||
|
|
|
@ -17,11 +17,6 @@ class NewCustomDomainForm(FlaskForm):
|
|||
@dashboard_bp.route("/custom_domain", methods=["GET", "POST"])
|
||||
@login_required
|
||||
def custom_domain():
|
||||
# only premium user can add custom domain
|
||||
if not current_user.is_premium():
|
||||
flash("Only premium user can add custom domains", "warning")
|
||||
return redirect(url_for("dashboard.index"))
|
||||
|
||||
custom_domains = CustomDomain.query.filter_by(user_id=current_user.id).all()
|
||||
|
||||
new_custom_domain_form = NewCustomDomainForm()
|
||||
|
@ -30,6 +25,10 @@ def custom_domain():
|
|||
|
||||
if request.method == "POST":
|
||||
if request.form.get("form-name") == "create":
|
||||
if not current_user.is_premium():
|
||||
flash("Only premium plan can add custom domain", "warning")
|
||||
return redirect(url_for("dashboard.custom_domain"))
|
||||
|
||||
if new_custom_domain_form.validate():
|
||||
new_domain = new_custom_domain_form.domain.data
|
||||
if CustomDomain.get_by(domain=new_domain):
|
||||
|
|
|
@ -18,11 +18,6 @@ class NewDirForm(FlaskForm):
|
|||
@dashboard_bp.route("/directory", methods=["GET", "POST"])
|
||||
@login_required
|
||||
def directory():
|
||||
# only premium user can add directory
|
||||
if not current_user.is_premium():
|
||||
flash("Only premium user can add directories", "warning")
|
||||
return redirect(url_for("dashboard.index"))
|
||||
|
||||
dirs = Directory.query.filter_by(user_id=current_user.id).all()
|
||||
|
||||
new_dir_form = NewDirForm()
|
||||
|
@ -47,6 +42,10 @@ def directory():
|
|||
return redirect(url_for("dashboard.directory"))
|
||||
|
||||
elif request.form.get("form-name") == "create":
|
||||
if not current_user.is_premium():
|
||||
flash("Only premium plan can add directory", "warning")
|
||||
return redirect(url_for("dashboard.directory"))
|
||||
|
||||
if new_dir_form.validate():
|
||||
new_dir_name = new_dir_form.name.data.lower()
|
||||
|
||||
|
@ -60,7 +59,7 @@ def directory():
|
|||
|
||||
flash(f"Directory {new_dir.name} is created", "success")
|
||||
|
||||
return redirect(url_for("dashboard.directory",))
|
||||
return redirect(url_for("dashboard.directory"))
|
||||
|
||||
return render_template(
|
||||
"dashboard/directory.html",
|
||||
|
|
|
@ -16,11 +16,6 @@ from app.models import CustomDomain, GenEmail
|
|||
@dashboard_bp.route("/domains/<int:custom_domain_id>/dns", methods=["GET", "POST"])
|
||||
@login_required
|
||||
def domain_detail_dns(custom_domain_id):
|
||||
# only premium user can see custom domain
|
||||
if not current_user.is_premium():
|
||||
flash("Only premium user can add custom domains", "warning")
|
||||
return redirect(url_for("dashboard.index"))
|
||||
|
||||
custom_domain = CustomDomain.get(custom_domain_id)
|
||||
if not custom_domain or custom_domain.user_id != current_user.id:
|
||||
flash("You cannot see this page", "warning")
|
||||
|
@ -103,11 +98,6 @@ def domain_detail_dns(custom_domain_id):
|
|||
@dashboard_bp.route("/domains/<int:custom_domain_id>/info", methods=["GET", "POST"])
|
||||
@login_required
|
||||
def domain_detail(custom_domain_id):
|
||||
# only premium user can see custom domain
|
||||
if not current_user.is_premium():
|
||||
flash("Only premium user can add custom domains", "warning")
|
||||
return redirect(url_for("dashboard.index"))
|
||||
|
||||
custom_domain = CustomDomain.get(custom_domain_id)
|
||||
if not custom_domain or custom_domain.user_id != current_user.id:
|
||||
flash("You cannot see this page", "warning")
|
||||
|
|
|
@ -158,6 +158,10 @@ def fake_data():
|
|||
)
|
||||
db.session.commit()
|
||||
|
||||
Directory.create(user_id=user.id, name="abcd")
|
||||
Directory.create(user_id=user.id, name="xyzt")
|
||||
db.session.commit()
|
||||
|
||||
# Create a client
|
||||
client1 = Client.create_new(name="Demo", user_id=user.id)
|
||||
client1.oauth_client_id = "client-id"
|
||||
|
|
Loading…
Reference in New Issue