24 lines
No EOL
1.1 KiB
Python
24 lines
No EOL
1.1 KiB
Python
from flask import render_template
|
|
from flask_login import login_required, current_user
|
|
from app.routes import dashboard_bp
|
|
from app.models import File, Share
|
|
from datetime import datetime
|
|
|
|
@dashboard_bp.route('/')
|
|
@login_required
|
|
def index():
|
|
# Get some stats for the dashboard
|
|
total_files = File.query.filter_by(user_id=current_user.id, is_folder=False).count()
|
|
total_folders = File.query.filter_by(user_id=current_user.id, is_folder=True).count()
|
|
recent_files = File.query.filter_by(user_id=current_user.id, is_folder=False).order_by(File.updated_at.desc()).limit(5).all()
|
|
active_shares = Share.query.filter_by(user_id=current_user.id).filter(
|
|
(Share.expires_at > datetime.now()) | (Share.expires_at.is_(None))
|
|
).count()
|
|
|
|
return render_template('dashboard.html',
|
|
title='Dashboard',
|
|
total_files=total_files,
|
|
total_folders=total_folders,
|
|
recent_files=recent_files,
|
|
active_shares=active_shares,
|
|
now=datetime.now()) |