Work on ISHLT related
This commit is contained in:
@@ -5,8 +5,11 @@ from typing import Dict, List, Optional, Set, Union
|
||||
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
|
||||
|
||||
from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update
|
||||
from app.lib_general import log, logging, logger_reset
|
||||
from app.lib_general import log, logging, logger_reset, send_email
|
||||
|
||||
# from app.methods.account_cfg_methods import load_account_cfg_obj
|
||||
# from app.methods.event_methods import load_event_obj
|
||||
# from app.methods.event_badge_methods import load_event_badge_obj
|
||||
from app.methods.event_badge_template_methods import load_event_badge_template_obj
|
||||
|
||||
from app.models.event_badge_models import Event_Badge_Base, Event_Badge_Basic_Base
|
||||
@@ -221,3 +224,91 @@ def create_update_event_badge_obj_v4(
|
||||
log.debug(f'Returning the Event Badge ID: {event_badge_id}')
|
||||
return event_badge_id
|
||||
# ### END ### API Event Badge Methods ### create_update_event_badge_obj_v4() ###
|
||||
|
||||
|
||||
# ### BEGIN ### Event Badge Methods ### email_event_badge_review_url() ###
|
||||
# This emails the actual one time use sign in URL for a user.
|
||||
# Updated 2021-12-02
|
||||
def email_event_badge_review_url(
|
||||
event_badge_id: int|str,
|
||||
root_url: str,
|
||||
):
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
# if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass
|
||||
# else: return False
|
||||
|
||||
if event_badge_id := redis_lookup_id_random(record_id_random=event_badge_id, table_name='event_badge'): pass
|
||||
else: return False
|
||||
|
||||
from app.methods.event_badge_methods import load_event_badge_obj
|
||||
if event_badge_obj := load_event_badge_obj(
|
||||
event_badge_id = event_badge_id,
|
||||
):
|
||||
log.info('Event Badge object loaded')
|
||||
else: return False
|
||||
log.debug(event_badge_obj)
|
||||
|
||||
event_id = event_badge_obj.event_id
|
||||
event_badge_id_random = event_badge_obj.id_random # Not event_badge_id_random
|
||||
|
||||
from app.methods.event_methods import load_event_obj
|
||||
if event_obj := load_event_obj(
|
||||
event_id = event_id,
|
||||
):
|
||||
log.info('Event object loaded')
|
||||
else: return False
|
||||
log.debug(event_obj)
|
||||
|
||||
account_id = event_obj.account_id
|
||||
event_name = event_obj.name
|
||||
|
||||
from app.methods.account_cfg_methods import load_account_cfg_obj
|
||||
if account_cfg := load_account_cfg_obj(
|
||||
account_id = account_id,
|
||||
):
|
||||
log.info('Account config loaded')
|
||||
else: return False
|
||||
log.debug(account_cfg)
|
||||
|
||||
from_email = account_cfg.default_no_reply_email
|
||||
from_name = account_cfg.default_no_reply_name
|
||||
|
||||
to_name = f'{event_badge_obj.given_name} {event_badge_obj.family_name}'
|
||||
to_email = event_badge_obj.email
|
||||
|
||||
bcc_email = account_cfg.confirm_email
|
||||
bcc_name = account_cfg.confirm_name
|
||||
|
||||
# help_tech_email = account_cfg.help_tech_email
|
||||
# help_tech_name = account_cfg.help_tech_name
|
||||
|
||||
account_short_name = account_cfg.account_short_name
|
||||
|
||||
event_badge_review_url = f'{root_url}event/badge/{event_badge_id_random}/review_badge'
|
||||
|
||||
subject = f'{event_name}: Event Badge Review Link ({event_badge_id_random})'
|
||||
|
||||
body_html = f"""
|
||||
<p>{to_name},</p>
|
||||
|
||||
<p>If you did not request this badge review link, please delete this email.</p>
|
||||
|
||||
<p>The link below will allow you to review your badge information and update some of the details if needed.</p>
|
||||
|
||||
<p><strong><a href="{event_badge_review_url}" style="appearance: button; display: inline-block; text-align: center; text-decoration: none; padding: .2rem .4rem; border: solid thin gray; border-radius: .2rem; background-color: lightyellow; color: black; font-size: larger;">Click to Review Badge</a></strong></p>
|
||||
|
||||
<p>Or copy and paste the link:<br>
|
||||
<strong style="background-color: lightyellow; color: black; font-size: larger;"><a href="{event_badge_review_url}">{event_badge_review_url}</a></strong></p>
|
||||
|
||||
<p>Thank you!</p>
|
||||
"""
|
||||
|
||||
if send_email(from_email=from_email, from_name=from_name, to_email=to_email, to_name=to_name, bcc_email=bcc_email, bcc_name=bcc_name, subject=subject, body_text=None, body_html=body_html):
|
||||
log.info(f'An email with a badge review link was sent to {to_email}.')
|
||||
return True
|
||||
else:
|
||||
log.info(f'An email with a badge review link was not sent to {to_email}.')
|
||||
return False
|
||||
# ### END ### Event Badge Methods ### email_event_badge_review_url() ###
|
||||
|
||||
@@ -710,4 +710,4 @@ def email_user_auth_key_url(
|
||||
else:
|
||||
log.info(f'An email with a one time use sign in link was not sent to {to_email}.')
|
||||
return False
|
||||
# ### END ### User ### email_user_auth_key_url() ###
|
||||
# ### END ### User Methods ### email_user_auth_key_url() ###
|
||||
|
||||
Reference in New Issue
Block a user