예제 #1
0
파일: user.py 프로젝트: CodeBall/Eorzea
def profile(username):
    user = UserService.get_user_by_username(username)
    if not user:
        abort(404)
    categories = CategoryService.get_categories()
    user = UserService.get_user_by_id(user.id)

    active_items = ItemService.get_active_items(user.id)
    active_item_count = len(active_items) if active_items else 0

    success_trade_items = ItemService.get_success_trade_items(user.id)
    success_trade_count = len(
        success_trade_items) if success_trade_items else 0

    trade_item_list = TradeService.get_trades_by_user_is(user.id)
    trade_item_count = len(trade_item_list) if trade_item_list else 0

    if current_user.id == user.id:
        collect_item_list = CollectionService.get_item_list_by_user_id(user.id)
        collect_item_count = len(collect_item_list) if collect_item_list else 0
    else:
        collect_item_count = 0

    return render_template('user/profile.html',
                           user=user,
                           categories=categories,
                           active_item_count=active_item_count,
                           success_trade_count=success_trade_count,
                           trade_item_count=trade_item_count,
                           collect_item_count=collect_item_count)
예제 #2
0
 def validate_username(self, field):
     user = UserService.get_user_by_username(field.data)
     if user:
         raise ValidationError("Username has been used")