def index(): #commentable campaigns commentable_campaigns = scheduling.get_before(campaigns.Campaign, limit=3) campaign_w_comments = [(x, comments.get_all(x.obj_id(), campaigns.Campaign.coll_name(), limit=3)) for x in commentable_campaigns] verbose_campaign_comments = [] for campaign in campaign_w_comments: campaign_obj = campaign[0] comment_obj = campaign[1] lis_of_comments = [] for c in comment_obj: comment_str = c.comment commentee_user = users.get(c.user_id) lis_of_comments += [(commentee_user.first_name, comment_str)] verbose_campaign_comments += [(campaign_obj, lis_of_comments)] comment_name_form = generate_form(__comment_name_form(), id="comment-name-form") #event campaigns event_campaigns = __event_campaigns() rsvp_form = __rsvp_email_form() form = generate_form(rsvp_form, action="/campaign/rsvp/", method="post", id="rsvp-form") return render_template("demo.html", **{ "commentable": verbose_campaign_comments, "comment_name_form": comment_name_form, "events": event_campaigns, "rsvp_form": form, "is_campaign": True, })
def __event_campaigns(): return scheduling.get_before(campaigns.Campaign, datetime.datetime.utcnow(), limit=3, sort_args=("happening_datetime", pymongo.DESCENDING), find_param_lis=[{ "happening_datetime": {'$ne': None} }])