def thing_attr(self, thing, attr): from r2.models import Subsciteit if attr == "has_mail": if c.user_is_loggedin and thing._id == c.user._id: return bool(c.have_messages) return None if attr == "has_mod_mail": if c.user_is_loggedin and thing._id == c.user._id: return bool(c.have_mod_messages) return None if attr == "is_mod": return bool(Subsciteit.reverse_moderator_ids(thing)) return ThingJsonTemplate.thing_attr(self, thing, attr)
def moderator_messages(user): from r2.models import Subsciteit sr_ids = Subsciteit.reverse_moderator_ids(user) def multi_load_tree(sr_ids): srs = Subsciteit._byID(sr_ids, return_dict = False) res = {} for sr in srs: trees = subsciteit_messages_nocache(sr) if trees: res[sr._id] = trees return res res = sgm(g.permacache, sr_ids, miss_fn = multi_load_tree, prefix = sr_messages_key("")) return sorted(chain(*res.values()), key = tree_sort_fn, reverse = True)