示例#1
0
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
示例#2
0
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)