def get(self):
        """
        GET request handler that displays the homepage.

        GET request handler that renders the application home page for
        non-authenticated visitors and redirects authenticated users to the
        profile sync user page. 
        """
        # Check to see if user is authenticated
        cur_user = users.get_current_user()
        if cur_user:

            # If the user is valid and logged in
            if util.check_email(cur_user.email()):
                self.redirect("/sync_user")
                return

            flash_message = account_facade.get_flash_message(cur_user.email())

        else:

            flash_message = None

        # Render page
        template = jinja_environment.get_template("home.html")
        content = template.render(
            {
                "login_url": users.create_login_url("/sync_user"),
                "flash_message": flash_message
            }
        )
        self.response.out.write(content)
def get_standard_template_dict():
    """
    Generate a dictionary of template values common to all inner app pages.

    Generate a dictionary of template values common to all pages outside of
    account mechanics (registration, login, etc).

    @return: Dictionary of common template values.
    @rtype: dict
    """
    cur_user = users.get_current_user()
    cur_user_info = models.UserInfo.get_for_user(cur_user)
    std_template_vals = {
        "user": cur_user,
        "logout_url": users.create_logout_url(constants.HOME_URL),
        "is_reviewer": cur_user_info.is_reviewer,
        "is_admin": cur_user_info.is_admin,
        "flash_message": account_facade.get_flash_message(cur_user.email())
    }
    if cur_user_info.is_reviewer:
        std_template_vals["users"] = account_facade.get_account_listing()
        std_template_vals["updated_users"] = \
            account_facade.get_updated_portfolios(cur_user)
    return std_template_vals