Пример #1
0
 def post(self, id: int):
     activity = Activity.query.filter_by(
         id=id).first_or_404('Activity not found')
     Visit.set_visit(ip=request.remote_addr,
                     visitable_id=activity.id,
                     visitable_type='search_activity')
     return {"message": "Activity by name clicked."}, 200
    def get(self,slug: str):
        newsletter = Newsletter.query.filter_by(slug=slug).first_or_404("Newsletter not found")
        # set visit if ip not found
        Visit.set_visit(ip=request.remote_addr,visitable_id=newsletter.id,visitable_type='view_newsletter')
        data = _newsletter_schema.dump(newsletter)
        data['seen'] = Visit.get_seen_activity(visit_type='view_newsletter',visit_id=newsletter.id)

        return data, 200
Пример #3
0
    def get(self,slug: str):
        activity = Activity.query.filter_by(slug=slug).first_or_404('Activity not found')
        Visit.set_visit(ip=request.remote_addr,visitable_id=activity.id,visitable_type='view_activity')
        data = _activity_schema.dump(activity)
        # get wishlist,seen,discussion data
        data['seen'] = Visit.get_seen_activity(visit_type='view_activity',visit_id=activity.id)
        data['wishlist'] = Wishlist.query.filter_by(activity_id=activity.id).count()
        data['discussion'] = Comment.query.filter(Comment.commentable_id == activity.id,
                                            Comment.commentable_type == 'activity').count()

        if (current_user := get_jwt_identity()):
            data['love'] = True if Wishlist.check_wishlist(data['id'],current_user) else False
Пример #4
0
    def get(self):
        _activity_card_schema = ActivitySchema(exclude=("min_person","information","image2","image3","image4","description","duration",
                                                "pickup","include","created_at","updated_at","category"))

        visits = Visit.visit_popular_by(visit_type='view_activity',limit=5)
        raw_activity = [Activity.query.get(index) for index,value in visits]
        # if user login extract data and show wishlist on card
        data = _activity_card_schema.dump(raw_activity,many=True)
        if (current_user := get_jwt_identity()):
            for activity in data:
                activity['love'] = True if Wishlist.check_wishlist(activity['id'],current_user) else False
    def get(self, slug: str):
        property_db = Property.filter_by_slug(slug)
        # set visit if ip not found
        Visit.set_visit(ip=request.remote_addr,
                        visitable_id=property_db.id,
                        visitable_type='view_property')
        data = _property_schema.dump(property_db)
        data['seen'] = Visit.get_seen_activity(visit_type='view_property',
                                               visit_id=property_db.id)
        # get similar listing random data
        similar_listing = Property.load_similar_listing_random(
            type_id=property_db.type_id)
        data['similar_listing'] = _property_schema.dump(similar_listing,
                                                        many=True)

        if (current_user := get_jwt_identity()):
            data['love'] = True if User.check_wishlist(data['id'],
                                                       current_user) else False
            for similar_listing in data['similar_listing']:
                similar_listing['love'] = True if User.check_wishlist(
                    similar_listing['id'], current_user) else False
    def get(self):
        limit = request.args.get('limit',default=3,type=int)

        data = list()
        for value in Visit.visit_popular_by(visit_type='view_property',limit=limit):
            index, visitor = value
            try:
                property_db = Property.query.get(index)
                data.append({'name': property_db.name,'slug': property_db.slug, 'visitor': visitor})
            except Exception:
                delete_data = Visit.query.filter_by(visitable_id=index).all()
                [x.delete_from_db() for x in delete_data]

        return data, 200
    def get(self):
        limit = request.args.get('limit',default=3,type=int)

        data = list()
        for value in Visit.visit_popular_by(visit_type='view_newsletter',limit=limit):
            index, visitor = value
            try:
                newsletter = Newsletter.query.get(index)
                result = {
                    'id': newsletter.id,
                    'title': newsletter.title,
                    'slug': newsletter.slug,
                    'thumbnail': newsletter.thumbnail,
                    'created_at': str(newsletter.created_at),
                    'updated_at': str(newsletter.updated_at)
                }
                data.append(result)
            except Exception:
                delete_data = Visit.query.filter_by(visitable_id=index).all()
                [x.delete_from_db() for x in delete_data]

        return data, 200
Пример #8
0
 def get(self):
     _activity_name_schema = ActivitySchema(only=("name", ))
     visits = Visit.visit_popular_by(visit_type='search_activity', limit=6)
     raw_activity = [Activity.query.get(index) for index, value in visits]
     return _activity_name_schema.dump(raw_activity, many=True), 200
 def get(self):
     year = request.args.get('year',default=None,type=int)
     return Visit.total_visitors(year=year), 200