def ecommerce_emailWorkFlowRequest(group_id): logger.debug("emailWorkFlowRequest()") okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) activation_link = url_for( "ecommerce_views_bp.ecommerce_approvals_get", _external=True, _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"]) # Send Activation Email to the Admin subject_admin = "A workflow request was received" message_admin = """\ <p><h1>A new request for access was received.</h1><br> The request is awaiting your approval.<br><br> Click this link to log into your account and review the request<br><br> <a href='{activation_link}'>{activation_link}</a> </p> """.format(activation_link=activation_link) # Find All members that will be notified recipients = [] user_list = okta_admin.get_user_list_by_group_id(group_id) for user in user_list: recipients.append({"address": user["profile"]["email"]}) if recipients: email_send = Email.send_mail(subject=subject_admin, message=message_admin, recipients=recipients) return email_send else: return ''
def users(): user_info = get_user_info() okta_admin = OktaAdmin(default_settings) token = oidc.get_access_token() group_name = TokenUtil.get_single_claim_from_token(token,"tagrp") user_group = get_travel_agency_group_by_name(group_name) group_id = user_group["id"] group_user_list = okta_admin.get_user_list_by_group_id(group_id) return render_template("users.html", user_info=user_info, oidc=oidc, userlist= group_user_list, config=default_settings, travel_agency_group=user_group)
def gbac_users(): logger.debug("gbac_users()") okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) user_group = gbac_get_group_by_name("everyone") group_id = user_group["id"] group_user_list = okta_admin.get_user_list_by_group_id(group_id) return render_template("/manageusers.html", templatename=get_app_vertical(), user_info=get_userinfo(), userlist=group_user_list, config=session[SESSION_INSTANCE_SETTINGS_KEY], user_group=user_group)
def admin_usersadvanced(): logger.debug("admin_usersadvanced()") okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) user_groups = okta_admin.get_groups_by_name("everyone") if len(user_groups) > 0: # just grab the first one... there should only be one match for now logger.debug(user_groups) user_group = user_groups[0] group_id = user_group["id"] group_user_list = okta_admin.get_user_list_by_group_id(group_id) return render_template("/admin/users_advanced.html", templatename=get_app_vertical(), user_info=get_userinfo(), userlist=group_user_list, config=session[SESSION_INSTANCE_SETTINGS_KEY], user_group=user_group)
def emailAllMembersOfGroup(self, group_name, subject, message): logger.debug("emailAllMembersOfGroup()") okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) # Find the Admin Group group_list = okta_admin.get_groups_by_name(group_name) for group in group_list: if group["profile"]["name"] == group_name: group_id = group["id"] # Find All members that will be notified recipients = [] user_list = okta_admin.get_user_list_by_group_id(group_id) for user in user_list: recipients.append({"address": user["profile"]["email"]}) if recipients: email_send = Email.send_mail(subject=subject, message=message, recipients=recipients) return email_send
def gbac_users(): logger.debug("gbac_users()") user_info = get_userinfo() okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) group_id = request.args.get('group_id') if group_id: selectedgroup_id = group_id user_group = okta_admin.get_group(selectedgroup_id) else: user_group = gbac_get_group_by_name("everyone") selectedgroup_id = user_group["id"] group_user_list = okta_admin.get_user_list_by_group_id(selectedgroup_id) group_list = okta_admin.get_user_groups(user_info["sub"]) return render_template("/manageusers.html", templatename=get_app_vertical(), user_info=get_userinfo(), userlist=group_user_list, config=session[SESSION_INSTANCE_SETTINGS_KEY], group_list=group_list, user_group=user_group)