def create_list(): """ Initialize a new, empty list and return the assigned listid. """ list_id = str(uuid_module.uuid4()) time = datetime.utcnow() current_user = flask_security.core.current_user if not current_user.is_authenticated: new_list = Catalist(listid=list_id, created=time, last_visited=time) else: uid = current_user.uid new_list = Catalist(listid=list_id, created=time, last_visited=time, creator=uid) # this code is p inelegant but apparently removing it # causes bugs, so keeping it here. -txz user = User.objects.get(uid=uid) new_list.owners.append(user) new_list.last_visited = time new_list.save() return list_id
def userlists(): """ A page displaying all lists belonging to the user. """ current_user = flask_security.core.current_user cur_user_nat_id = current_user.id # the natively used id for the user, # since we're querying reference fields lists = ( Catalist.objects( db.Q(creator=current_user.uid) | db.Q(owners=current_user.id) | db.Q(editors=current_user.id) | db.Q(viewers=current_user.id) | db.Q(mylisters=current_user.id) ) .only("listid", "title", "last_visited") .all() ) if lists.first() is None: return render_template("home.html", message="Oops! You have no lists saved! " + "Would you like to create one?") lists = lists.order_by("-last_visited").all() return render_template("mylists.html", lists=lists, host=HOSTNAME)