Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
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)