From f881c48feab9db954386735ac3f89c9e69fa7ba6 Mon Sep 17 00:00:00 2001 From: Logan Hanks Date: Wed, 21 Sep 2011 15:57:37 -0700 Subject: [PATCH] Add a simpler way to remove flair from a user. --- r2/r2/controllers/api.py | 17 +++++++++++++++++ r2/r2/templates/flairlistrow.html | 1 + 2 files changed, 18 insertions(+) diff --git a/r2/r2/controllers/api.py b/r2/r2/controllers/api.py index b4055bb36..aef7ea9a1 100644 --- a/r2/r2/controllers/api.py +++ b/r2/r2/controllers/api.py @@ -1938,6 +1938,23 @@ class ApiController(RedditController): jquery('input[name="css_class"]').data('saved', css_class) form.set_html('.status', _('saved')) + @validatedForm(VFlairManager(), + VModhash(), + user = VExistingUname("name", allow_deleted=True)) + def POST_deleteflair(self, form, jquery, user): + # Check validation. + if form.has_errors('name', errors.USER_DOESNT_EXIST, errors.NO_USER): + return + c.site.remove_flair(user) + setattr(user, 'flair_%s_text' % c.site._id, None) + setattr(user, 'flair_%s_css_class' % c.site._id, None) + user._commit() + + jquery('#flairrow_%s' % user._id36).remove() + unflair = WrappedUser( + user, include_flair_selector=True).render(style='html') + jquery('.tagline .id-%s' % user._fullname).parent().html(unflair) + @validate(VFlairManager(), VModhash(), flair_csv = nop('flair_csv')) diff --git a/r2/r2/templates/flairlistrow.html b/r2/r2/templates/flairlistrow.html index 8fe53d157..ee763a155 100644 --- a/r2/r2/templates/flairlistrow.html +++ b/r2/r2/templates/flairlistrow.html @@ -42,6 +42,7 @@ from r2.lib.pages import WrappedUser ${utils.error_field(('BAD_CSS_NAME', 'flair_css_class'), 'name')} ${utils.error_field(('TOO_MUCH_FLAIR_CSS', 'flair_css_class'), 'name')} + X