Example #1
0
    def post_favourites(user_id):
        # Get the user or return 404 not found
        user = User.query.get_or_404(user_id)
        # Get the data
        data = request.get_json()

        # Check that there is data
        if not data:
            abort(400)

        # Check that the data has the correct fields
        if not (('movie_tv_id' in data and isinstance(data['movie_tv_id'], int)
                 and data['movie_tv_id']) or
                ('media_type' in data and isinstance(data['media_type'], str)
                 and data['media_type'])):
            abort(400)

        print(data)
        try:
            favourite = Favourite(data['movie_tv_id'], data['media_type'])
            user.favourites.append(favourite)
            favourite.insert()
            return jsonify({
                "success": True,
                "status_code": 200,
                "favourite": favourite.format()
            })
        except Exception as e:
            print('Error ', e)
            abort(422)
Example #2
0
def view_favourite_toggle(request):
    """AJAX"""

    # login is required here
    if not (request.user and request.user.is_authenticated()):
        return HttpResponseNotFound()

    result = "0"

    if request.method == "POST":
        key_id = request.POST.get("key_id", None)
        if key_id:
            event = Event.get_by_id(int(key_id, 10))
            if not event:
                return HttpResponseNotFound()

            # check this favourite exists and toggle it
            fav = Favourite.all().filter("event =", event).filter("user ="******"1"

    return HttpResponse(result)
Example #3
0
    def add(self, song_id):
        song = Song.objects.get(id=song_id)
        user = User.objects.get(id=self.user_id)

        favourite = Favourite(Song=song, User=user)
        favourite.save()

        return song_id
Example #4
0
    def add(self, song_id):
        song = Song.objects.get(id=song_id)
        user = User.objects.get(id=self.user_id)

        favourite = Favourite(
            Song=song,
            User=user
        )
        favourite.save()

        return song_id
Example #5
0
def addfav (request):
	if request.method == "POST":
		identifier = request.POST.get('identifier')
		user = request.user.username
		hotel = Hotel.objects.get(id=identifier)
		user = User.objects.get(username=user)
		favourite = Favourite(user=user, hotel=hotel)
		favourite.save()
		return HttpResponseRedirect("/alojamientos/"+str(hotel.id))
	else:
		template = get_template('notfound.html')
		return HttpResponseNotFound(template.render())
Example #6
0
def fav(bid):
    if current_user.is_anonymous():
        flash(u'请先登录帐号,再收藏小说', 'error')
        return (
            redirect(url_for('login', target=url_for('book', bid=bid)))
        )
    else:
        action = request.form.get('action', 'fav')
        refer = request.form.get('refer', '')
        if action == 'fav':
            Favourite.add(current_user.id, bid)
        else:
            Favourite.remove(current_user.id, bid)
        if refer == 'user_page':
            return redirect(url_for('user', uid=current_user.id))
        return redirect(url_for('book', bid=bid))
Example #7
0
def serialise_events_for_query(
    query, user=None, facebook=False, provide_favourite_state=False, provide_rsvp_state=False
):
    """ only shows active events!
    """

    contents = ""

    query.filter("active =", True)
    query.filter("moderated =", True)

    for e in query:
        if e.name and e.location and e.type:
            if facebook is True:
                absolute_url = e.get_facebook_url()
            else:
                absolute_url = e.get_absolute_url()

            contents_list = [
                "[" + e.country.key().name() + "] " + prepare_for_csv(e.name),
                e.type,
                # numeric value out of type string
                str(e.fields()["type"].make_value_from_form(e.type)),
                # sorting needs nice arranged format...
                e.date_start.strftime("%Y-%m-%d (%a) at %H:%M%Z"),
                e.date_end.strftime("%Y-%m-%d (%a) at %H:%M%Z"),
                # e.date_end.strftime('%a %d %b %Y at %H:%M%Z'),
                # e.date_end.isoformat(' '),
                e.recurrent,
                e.location.__str__(),
                absolute_url,
                str(e.key().id()),
                str(e.featured_priority),
                str(int(e.free)),
            ]

            if provide_favourite_state:
                if user and user.is_authenticated():
                    is_fav = Favourite.all().filter("event =", e).filter("user ="******"event =", e).filter("user ="******",")
            contents += "\n"

    return contents
Example #8
0
    def post(self):
        data = request.get_json()
        print("data:",data) 

        rec = Favourite(user_id = data["user_id"],
                        post_id = data["post_id"],
                        created_date = datetime.datetime.now())
        db.session.add(rec)
        db.session.commit()

        return { "message": "{} is your favourite post".format(data["post_id"]),
                "code": 200}
Example #9
0
def view_event_show(request, key_id):
    key_id = int(key_id, 10)
    if request.user.is_authenticated():
        event = get_object_or_404(Event, id=key_id)
        fav = Favourite.all().filter("event =", event).filter("user ="******"is_fav": fav}
    return object_detail(request, Event.all(), object_id=key_id, extra_context=extra_context)
Example #10
0
def book(bid):
    is_faved = False
    if not current_user.is_anonymous():
        is_faved = Favourite.is_faved(current_user.id, bid)

    book = Book.get(bid)
    if not book:
        abort(404)
    chapters = Chapter.query.filter_by(book_id=bid)
    last_twelve_chapters = chapters.order_by(Chapter.id.desc()).limit(12)
    first_six_chapters = chapters.limit(6).all()
    first_six_chapters.reverse()
    return render_template('book.html', **locals())
Example #11
0
def bookmark(pid):

    user = g.user
    if Favourite.query.filter_by(id=str(user.id) + ':' + str(pid)).first():
        flash('The post was already in your collection.')

    else:
        fav = Favourite(user.id, pid)
        db.session.add(fav)
        db.session.commit()
        flash('The post was added in your collection.')

    return redirect(url_for('list_post'))
def add_favourite(plant_id):
    if Favourite.query.filter_by(plant_id=plant_id).one_or_none():
        flash("You have already added that plant to your favourites list.", category="warning")
        return redirect(request.referrer)
    if not check_logged_in():
        return redirect(url_for('users.login'))
    if session.get('user_id') is not None:
        favourite = Favourite(session['user_id'], plant_id)
        db.session.add(favourite)
        db.session.commit()
        flash("Plant added to favourites list!", category="success")
        return redirect(request.referrer)
    else:
        return redirect(url_for('users.login'))
Example #13
0
def add_favourite(uid, rid):
    """
    Inserts a row into the Favourite table.

    Args:
        uid: A user ID that corresponds to a user in the User table. A integer.
        rid: A restaurant ID that corresponds to a restaurant in the Restaurant
          table. A integer.

    Returns:
        None.
    """
    fav = Favourite(uid=uid, rid=rid)
    db.session.add(fav)
    db.session.commit()