def slack_settings(request): """Displays and saves user's slack settings. Returns: TemplateResponse: The user's slack settings template response. """ response = {'output': ''} profile, es, user, is_logged_in = settings_helper_get_auth(request) if not user or not is_logged_in: login_redirect = redirect('/login/github?next=' + request.get_full_path()) return login_redirect if request.POST: test = request.POST.get('test') submit = request.POST.get('submit') token = request.POST.get('token', '') repos = request.POST.get('repos', '') channel = request.POST.get('channel', '') if test and token and channel: response = validate_slack_integration(token, channel) if submit or (response and response.get('success')): profile.update_slack_integration(token, channel, repos) profile = record_form_submission(request, profile, 'slack') if not response.get('output'): response['output'] = _('Updated your preferences.') ua_type = 'added_slack_integration' if token and channel and repos else 'removed_slack_integration' create_user_action(user, ua_type, request, { 'channel': channel, 'repos': repos }) context = { 'repos': profile.get_slack_repos(join=True) if profile else [], 'is_logged_in': is_logged_in, 'nav': 'internal', 'active': '/settings/slack', 'title': _('Slack Settings'), 'navs': get_settings_navs(request), 'es': es, 'profile': profile, 'msg': response['output'], } return TemplateResponse(request, 'settings/slack.html', context)
def ens_settings(request): """Displays and saves user's ENS settings. Returns: TemplateResponse: The user's ENS settings template response. """ response = {'output': ''} profile, es, user, is_logged_in = settings_helper_get_auth(request) if not user or not is_logged_in: login_redirect = redirect('/login/github?next=' + request.get_full_path()) return login_redirect ens_subdomains = ENSSubdomainRegistration.objects.filter( profile=profile).order_by('-pk') ens_subdomain = ens_subdomains.first() if ens_subdomains.exists() else None if request.POST: if test and token and channel: response = validate_slack_integration(token, channel) if submit or (response and response.get('success')): profile.update_slack_integration(token, channel, repos) if not response.get('output'): response['output'] = _('Updated your preferences.') ua_type = 'added_slack_integration' if token and channel and repos else 'removed_slack_integration' create_user_action(user, ua_type, request, { 'channel': channel, 'repos': repos }) context = { 'is_logged_in': is_logged_in, 'nav': 'internal', 'ens_subdomain': ens_subdomain, 'active': '/settings/ens', 'title': _('ENS Settings'), 'navs': get_settings_navs(request), 'es': es, 'profile': profile, 'msg': response['output'], } return TemplateResponse(request, 'settings/ens.html', context)