allow the code to run without proton partner

This commit is contained in:
Son 2022-05-05 15:05:39 +02:00
parent a92981c52d
commit b720dfc381
3 changed files with 12 additions and 2 deletions

View File

@ -28,6 +28,7 @@ from app.email_utils import (
email_can_be_used_as_mailbox,
personal_email_already_used,
)
from app.errors import ProtonPartnerNotSetUp
from app.log import LOG
from app.models import (
BlockBehaviourEnum,
@ -68,7 +69,11 @@ class PromoCodeForm(FlaskForm):
def get_proton_linked_account() -> Optional[str]:
# Check if the current user has a partner_id
proton_partner_id = get_proton_partner_id()
try:
proton_partner_id = get_proton_partner_id()
except ProtonPartnerNotSetUp:
return None
if current_user.partner_id != proton_partner_id:
return None

View File

@ -56,3 +56,7 @@ class MailSentFromReverseAlias(SLException):
"""raised when receiving an email sent from a reverse alias"""
pass
class ProtonPartnerNotSetUp(SLException):
pass

View File

@ -5,6 +5,7 @@ from flask import url_for
from typing import Optional
from app.db import Session
from app.errors import ProtonPartnerNotSetUp
from app.models import User, PartnerUser, Partner
from app.proton.proton_client import ProtonClient, ProtonUser
from app.utils import random_string
@ -18,7 +19,7 @@ def get_proton_partner_id() -> int:
if _PROTON_PARTNER_ID is None:
partner = Partner.get_by(name=PROTON_PARTNER_NAME)
if partner is None:
raise Exception("Could not find Proton Partner instance")
raise ProtonPartnerNotSetUp
_PROTON_PARTNER_ID = partner.id
return _PROTON_PARTNER_ID