def orders_overview(): filters_, order_by, limit, page = utilities.get_filters_order_by_limit_page( 'orders', {}, { 'column': 'clickbank_orders.timestamp', 'direction': 'desc', }, 10, 1) form = filters.orders(**filters_) query = form.apply(g.mysql.query(models.order).join(models.customer)) pager = classes.pager(query.count(), limit, page) return render_template( 'administrators/views/orders_overview.html', form=form, order_by=order_by, orders=query.order_by('%(column)s %(direction)s' % order_by).all()[pager.prefix:pager.suffix], pager=pager, )
def visitors_overview(): filters_, order_by, limit, page = utilities.get_filters_order_by_limit_page( 'visitors', {}, { 'column': 'timestamp', 'direction': 'desc', }, 10, 1 ) form = filters.visitors(**filters_) query = form.apply(g.mysql.query(models.visitor)) pager = classes.pager(query.count(), limit, page) return render_template( 'administrators/views/visitors_overview.html', form=form, order_by=order_by, pager=pager, visitors=query.order_by('%(column)s %(direction)s' % order_by).all()[pager.prefix:pager.suffix], )
def get_profiles_and_pager(filter, order_by, limit, page): filter['category'] = filter['category'].strip() filter['location'] = filter['location'].strip() filter['likes_maximum'] = int( filter['likes_maximum']) if filter['likes_maximum'] else 0 filter['likes_minimum'] = int( filter['likes_minimum']) if filter['likes_minimum'] else 0 filter['discussions_maximum'] = float( filter['discussions_maximum'] ) if filter['discussions_maximum'] else 0.00 filter['discussions_minimum'] = float( filter['discussions_minimum'] ) if filter['discussions_minimum'] else 0.00 filter['name'] = filter['name'].strip() filter['profile_id'] = int( filter['profile_id']) if filter['profile_id'] else 0 query = g.postgresql.query(models.profile) if g.plan in ['Free']: page = 1 filter['profile_id'] = 0 if filter['category']: query = query.filter( models.profile.categories_primary.ilike( '%%%(category)s%%' % { 'category': filter['category'], })) if filter['location']: query = query.filter( models.profile.location.ilike('%%%(location)s%%' % { 'location': filter['location'], })) if filter['likes_maximum']: query = query.filter( models.profile.numbers_likes <= filter['likes_maximum'], ) if filter['likes_minimum']: query = query.filter( models.profile.numbers_likes >= filter['likes_minimum'], ) if filter['discussions_maximum']: query = query.filter( models.profile.numbers_discussions_relative <= filter['discussions_maximum'], ) if filter['discussions_minimum']: query = query.filter( models.profile.numbers_discussions_relative >= filter['discussions_minimum'], ) if filter['name']: query = query.filter( models.profile.name.ilike('%%%(name)s%%' % { 'name': filter['name'], })) profile = g.postgresql.query(models.profile, ).get( filter['profile_id']) if filter['profile_id'] else None if profile: query = query.filter( models.profile.id != profile.id, models.profile.description.op('~')(profile.get_keywords()), models.profile.location == profile.location, ) pager = classes.pager(query.count(), limit, page) return query.order_by( '%(column)s %(direction)s' % { 'column': order_by['column'] if order_by['column'] in [column[0] for column in columns] else 'id', 'direction': order_by['direction'] if order_by['direction'] in [direction[0] for direction in directions] else 'asc' })[pager.prefix:pager.suffix], pager
def get_profiles_and_pager(filter, order_by, limit, page): filter['category'] = filter['category'].strip() filter['location'] = filter['location'].strip() filter['likes_maximum'] = int( filter['likes_maximum'] ) if filter['likes_maximum'] else 0 filter['likes_minimum'] = int( filter['likes_minimum'] ) if filter['likes_minimum'] else 0 filter['discussions_maximum'] = float( filter['discussions_maximum'] ) if filter['discussions_maximum'] else 0.00 filter['discussions_minimum'] = float( filter['discussions_minimum'] ) if filter['discussions_minimum'] else 0.00 filter['name'] = filter['name'].strip() filter['profile_id'] = int( filter['profile_id'] ) if filter['profile_id'] else 0 query = g.postgresql.query(models.profile) if g.plan in ['Free']: page = 1 filter['profile_id'] = 0 if filter['category']: query = query.filter(models.profile.categories_primary.ilike( '%%%(category)s%%' % { 'category': filter['category'], } )) if filter['location']: query = query.filter( models.profile.location.ilike('%%%(location)s%%' % { 'location': filter['location'], }) ) if filter['likes_maximum']: query = query.filter( models.profile.numbers_likes <= filter['likes_maximum'], ) if filter['likes_minimum']: query = query.filter( models.profile.numbers_likes >= filter['likes_minimum'], ) if filter['discussions_maximum']: query = query.filter( models.profile.numbers_discussions_relative <= filter['discussions_maximum'], ) if filter['discussions_minimum']: query = query.filter( models.profile.numbers_discussions_relative >= filter['discussions_minimum'], ) if filter['name']: query = query.filter(models.profile.name.ilike('%%%(name)s%%' % { 'name': filter['name'], })) profile = g.postgresql.query( models.profile, ).get(filter['profile_id']) if filter['profile_id'] else None if profile: query = query.filter( models.profile.id != profile.id, models.profile.description.op('~')(profile.get_keywords()), models.profile.location == profile.location, ) pager = classes.pager(query.count(), limit, page) return query.order_by('%(column)s %(direction)s' % { 'column': order_by['column'] if order_by['column'] in [column[0] for column in columns] else 'id', 'direction': order_by['direction'] if order_by['direction'] in [direction[0] for direction in directions] else 'asc' })[pager.prefix:pager.suffix], pager