|
1 |
| -from flask import Blueprint, request, render_template, redirect, url_for, flash, session, jsonify |
| 1 | +from flask import (Blueprint, request, render_template, redirect, |
| 2 | + url_for,flash, session, jsonify) |
2 | 3 | from . import db
|
3 | 4 | from werkzeug.security import generate_password_hash, check_password_hash
|
4 | 5 | import json
|
@@ -426,3 +427,37 @@ def add_saving_goal():
|
426 | 427 | db.session.commit()
|
427 | 428 | return redirect(url_for('main.dashboard'))
|
428 | 429 |
|
| 430 | +@main.route('/calendar') |
| 431 | +def calendar(): |
| 432 | + if 'user_id' not in session: |
| 433 | + flash('Por favor, faça login para acessar essa página.', 'warning') |
| 434 | + return redirect(url_for('main.login')) |
| 435 | + return render_template('calendar.html') |
| 436 | + |
| 437 | +@main.route('/api/events') |
| 438 | +def api_events(): |
| 439 | + from .models import Expense, Revenue, Account |
| 440 | + user_id = session.get('user_id') |
| 441 | + if not user_id: |
| 442 | + return jsonify([]) |
| 443 | + |
| 444 | + expenses = Expense.query.join(Account).filter(Account.user_id == user_id).all() |
| 445 | + revenues = Revenue.query.join(Account).filter(Account.user_id == user_id).all() |
| 446 | + |
| 447 | + events = [] |
| 448 | + |
| 449 | + for expense in expenses: |
| 450 | + events.append({ |
| 451 | + 'title': f"Despesa: {expense.amount}", |
| 452 | + 'start': expense.expense_date.strftime('%Y-%m-%d'), |
| 453 | + 'color': 'red' |
| 454 | + }) |
| 455 | + |
| 456 | + for revenue in revenues: |
| 457 | + events.append({ |
| 458 | + 'title': f"Receita: {revenue.amount}", |
| 459 | + 'start': revenue.revenue_date.strftime('%Y-%m-%d'), |
| 460 | + 'color': 'green' |
| 461 | + }) |
| 462 | + |
| 463 | + return jsonify(events) |
0 commit comments