Make API banned_by / approved_by mutually exclusive.

This also fixes an API bug where banned_by was always true if you don't
have moderator permission for a thing.
This commit is contained in:
Max Goodman
2013-01-16 14:16:58 -08:00
parent 0a0d3fe1c6
commit fcedf701ee

View File

@@ -191,9 +191,12 @@ class ThingJsonTemplate(JsonTemplate):
return thing.reported
ban_info = getattr(thing, "ban_info", {})
if attr == "banned_by":
return ban_info.get("banner") if ban_info.get('moderator_banned') else True
banner = (ban_info.get("banner")
if ban_info.get('moderator_banned')
else True)
return banner if thing._spam else None
elif attr == "approved_by":
return ban_info.get("unbanner")
return ban_info.get("unbanner") if not thing._spam else None
return getattr(thing, attr, None)