Example #1
0
def handle_user_comments(user, page_id=1, **kwargs):
    return handle_page(endpoint='user.html',
                       items_lst=user.comments,
                       items_arg='comments',
                       page_id=page_id,
                       user=user,
                       current_mode='comments',
                       title=f"{user.name}'s Profile",
                       subtitle=f"{user.name}'s Comments",
                       api_exists=user_has_api_key(user.id),
                       report_exists=user_has_deletion_request(user.id),
                       admin_count=get_admin_count())
Example #2
0
def handle_user_deletion_report(user, **kwargs):
    if current_user.is_authenticated and current_user.email == User.query.get(user.id).email \
            or current_user.admin is True:
        requested_report = get_user_deletion_report(user.id)
        if requested_report:
            return handle_page(
                endpoint='user.html',
                items_arg='all_posts',
                items_lst=requested_report,
                page_id=1,
                pre_defined=True,
                title=f"{user.name}'s Profile",
                user=user,
                current_mode='delete-report',
                admin_count=get_admin_count(),
                subtitle=f"{user.name}'s Deletion Request Report",
                api_exists=user_has_api_key(user.id))
        else:
            return abort(404)
def get_options(website=False):
    def get_last(given_options: dict):
        try:
            use_id = list(given_options.keys())[-1] + 1
        except IndexError:
            use_id = 1
        return use_id

    if website:
        if current_user.is_authenticated and current_user.admin is True:
            options_dict = {
                1: {
                    "name": "Website Configuration",
                    "desc": "Configure your website.",
                    "func": "website_settings.web_configuration"
                },
                2: {
                    "name": "Contact Me Configuration",
                    "desc": 'Configure the "Contact Me" page.',
                    "func": "website_settings.contact_configuration"
                },
                3: {
                    "name": "About Me Configuration",
                    "desc": 'Configure the "About Me" page.',
                    "func": "website_settings.about_configuration"
                },
                4: {
                    "name": "Authentication Configuration",
                    "desc": "Configure the website's authentication system.",
                    "func": "website_settings.authentication_configuration"
                },
                5: {
                    "name": "User Database Table",
                    "desc": "Visualize your user database effortlessly.",
                    "func": "website_settings.user_table"
                },
                6: {
                    "name": "API Configuration",
                    "desc": "Configure and manage your API system.",
                    "func": "website_settings.api_configuration"
                },
                7: {
                    "name": "Newsletter Configuration",
                    "desc":
                    "Configure and manage the built-in newsletter functionality.",
                    "func": "website_settings.newsletter_configuration"
                },
                8: {
                    "name": "Website Logs",
                    "desc": "Visualize all of your website logs effortlessly.",
                    "func": "website_settings.logs"
                },
                9: {
                    "name": "Newsletter Subscribers Database",
                    "desc":
                    "Visualize all of your newsletter subscribers effortlessly.",
                    "func": "website_settings.newsletter_subscribers_table"
                }
            }
        else:
            return abort(403)
    else:
        if current_user.is_authenticated:
            options_dict = {}
            if not user_has_api_key(current_user.id):
                options_dict[get_last(options_dict)] = {
                    "name": "Generate API Key",
                    "desc": "Generate an API Key to use our API services.",
                    "func": "api.generate_key"
                }
            if not user_has_deletion_request(current_user.id):
                options_dict[get_last(options_dict)] = {
                    "name": "Delete my Account",
                    "desc": "Request account deletion",
                    "func": "user_operations.request_deletion"
                }

        else:
            return abort(401)

    options = list(options_dict.values())

    return options
Example #4
0
def get_options(website=False):
    def get_last(given_options: dict):
        try:
            use_id = list(given_options.keys())[-1] + 1
        except IndexError:
            use_id = 1
        return use_id

    if website:
        if current_user.is_authenticated and current_user.admin is True:
            options_dict = {
                1: {
                    "name": "Website Configuration",
                    "desc": "Configure your website.",
                    "func": "website_settings.web_configuration"
                },
                2: {
                    "name": "Contact Me Configuration",
                    "desc": 'Configure the "Contact Me" page.',
                    "func": "website_settings.contact_configuration"
                },
                3: {
                    "name": "About Me Configuration",
                    "desc": 'Configure the "About Me" page.',
                    "func": "website_settings.about_configuration"
                },
                4: {
                    "name": "Authentication Configuration",
                    "desc": "Configure the website's authentication system.",
                    "func": "website_settings.authentication_configuration"
                },
                5: {
                    "name": "User Database Table",
                    "desc": "Visualize your user database effortlessly.",
                    "func": "website_settings.user_table"
                },
                6: {
                    "name": "API Configuration",
                    "desc": "Configure and manage your API system.",
                    "func": "website_settings.api_configuration"
                },
                7: {
                    "name": "Newsletter Configuration",
                    "desc":
                    "Configure and manage the built-in newsletter functionality.",
                    "func": "website_settings.newsletter_configuration"
                },
                8: {
                    "name": "Website Logs",
                    "desc": "Visualize all of your website logs effortlessly.",
                    "func": "website_settings.logs"
                },
                9: {
                    "name": "Newsletter Subscribers Database",
                    "desc":
                    "Visualize all of your newsletter subscribers effortlessly.",
                    "func": "website_settings.newsletter_subscribers_table"
                }
            }
        else:
            return abort(403)
    else:
        if current_user.is_authenticated:
            options_dict = {
                1: {
                    "name": "Change Account Password",
                    "desc": "Change your account password.",
                    "func": "login_system.change_password"
                }
            }
            if not user_has_api_key(current_user.id):
                options_dict[get_last(options_dict)] = {
                    "name": "Generate API Key",
                    "desc": "Generate an API Key to use our API services.",
                    "func": "api.generate_key"
                }
            if not current_user.twitter_name:
                options_dict[get_last(options_dict)] = {
                    "name": "Link Twitter Account",
                    "desc": "Link your Twitter account to log in via Twitter"
                    " (Less secure than other providers).",
                    "func": "oauth.link_twitter"
                }
            else:
                options_dict[get_last(options_dict)] = {
                    "name": "Unlink Twitter Account",
                    "desc": "Unlink your Twitter account.",
                    "func": "oauth.unlink_twitter"
                }
            if not current_user.github_id:
                options_dict[get_last(options_dict)] = {
                    "name": "Link GitHub Account",
                    "desc": "Link your GitHub account to log in via GitHub.",
                    "func": "oauth.link_github"
                }
            else:
                options_dict[get_last(options_dict)] = {
                    "name": "Unlink GitHub Account",
                    "desc": "Unlink your GitHub account.",
                    "func": "oauth.unlink_github"
                }
            if not current_user.google_id:
                options_dict[get_last(options_dict)] = {
                    "name": "Link Google Account",
                    "desc": "Link your Google account to log in via Google.",
                    "func": "oauth.link_google"
                }
            else:
                options_dict[get_last(options_dict)] = {
                    "name": "Unlink Google Account",
                    "desc": "Unlink your Google account.",
                    "func": "oauth.unlink_google"
                }
            if not user_has_deletion_request(current_user.id):
                options_dict[get_last(options_dict)] = {
                    "name": "Delete my Account",
                    "desc": "Request account deletion",
                    "func": "user_operations.request_deletion"
                }

        else:
            return abort(401)

    options = list(options_dict.values())

    return options