Exemple #1
0
    def post(self):
        name = self.request_string("name")
        description = self.request_string("description")
        full_description = self.request_string("full_description")
        points = self.request_int("points", default = -1)
        badge_category = self.request_int("badge_category", default = -1)
        icon_src = self.request_string("icon_src", default="")

        # Create custom badge
        if CustomBadgeType.insert(name, description, full_description, points, badge_category, icon_src):

            util_badges.all_badges(bust_cache=True)
            util_badges.all_badges_dict(bust_cache=True)

            self.redirect("/badges/custom/award")
            return

        self.redirect("/badges/custom/create?failed=1")
Exemple #2
0
def badge_notifications():
    user_badges = badges.UserBadgeNotifier.pop_for_current_user()

    all_badges_dict = util_badges.all_badges_dict()
    for user_badge in user_badges:
        user_badge.badge = all_badges_dict.get(user_badge.badge_name)

    user_badges = filter(lambda user_badge: user_badge.badge is not None, user_badges)

    if len(user_badges) > 1:
        user_badges = sorted(user_badges, reverse=True, key=lambda user_badge: user_badge.badge.points)[:badges.UserBadgeNotifier.NOTIFICATION_LIMIT]

    return {"user_badges": user_badges}
Exemple #3
0
def badge_notifications_html(user_badges):
    all_badges_dict = util_badges.all_badges_dict()
    for user_badge in user_badges:
        user_badge.badge = all_badges_dict.get(user_badge.badge_name)
        if user_badge.badge:
            user_badge.badge.is_owned = True

    user_badges = filter(lambda user_badge: user_badge.badge is not None, user_badges)

    if len(user_badges) > 1:
        user_badges = sorted(user_badges, reverse=True, key=lambda user_badge: user_badge.badge.points)[:badges.UserNotifier.NOTIFICATION_LIMIT]

    context = {"user_badges": user_badges}

    return shared_jinja.get().render_template("badges/notifications.html", **context)
Exemple #4
0
def badge_notifications_html(user_badges):
    all_badges_dict = util_badges.all_badges_dict()
    for user_badge in user_badges:
        user_badge.badge = all_badges_dict.get(user_badge.badge_name)
        if user_badge.badge:
            user_badge.badge.is_owned = True

    user_badges = filter(lambda user_badge: user_badge.badge is not None, user_badges)

    if len(user_badges) > 1:
        user_badges = sorted(user_badges, reverse=True, key=lambda user_badge: user_badge.badge.points)[:badges.UserNotifier.NOTIFICATION_LIMIT]

    context = {"user_badges": user_badges}

    return shared_jinja.get().render_template("badges/notifications.html", **context)
Exemple #5
0
def badge_notifications():
    user_badges = badges.UserBadgeNotifier.pop_for_current_user()

    all_badges_dict = util_badges.all_badges_dict()
    for user_badge in user_badges:
        user_badge.badge = all_badges_dict.get(user_badge.badge_name)

    user_badges = filter(lambda user_badge: user_badge.badge is not None,
                         user_badges)

    if len(user_badges) > 1:
        user_badges = sorted(user_badges,
                             reverse=True,
                             key=lambda user_badge: user_badge.badge.points
                             )[:badges.UserBadgeNotifier.NOTIFICATION_LIMIT]

    return {"user_badges": user_badges}