feat: add personal ics feeds for assigned tasks

This commit is contained in:
2026-04-13 11:34:14 +02:00
parent 96b979a878
commit 07ab0461e9
8 changed files with 129 additions and 2 deletions

View File

@@ -45,6 +45,7 @@ def _save_avatar(file_storage) -> str:
@bp.route("", methods=["GET", "POST"])
@login_required
def index():
current_user.ensure_calendar_feed_token()
form = SettingsProfileForm(original_email=current_user.email, obj=current_user)
admin_form = AdminUserForm(prefix="admin")
quick_task_config_form = QuickTaskConfigForm(prefix="quickconfig")
@@ -80,6 +81,7 @@ def index():
quick_task_config=quick_task_config,
users=User.query.order_by(User.is_admin.desc(), User.name.asc()).all(),
earned_badges=earned_badges_for_user(current_user.id),
calendar_feed_url=url_for("main.calendar_feed", token=current_user.calendar_feed_token, _external=True),
push_ready=push_enabled(),
has_subscription=bool(subscriptions),
settings_tabs=_settings_tabs(),
@@ -87,6 +89,16 @@ def index():
)
@bp.route("/calendar-feed/regenerate", methods=["POST"])
@login_required
def regenerate_calendar_feed():
current_user.calendar_feed_token = None
current_user.ensure_calendar_feed_token()
db.session.commit()
flash("Dein persönlicher Kalender-Link wurde neu erzeugt.", "success")
return redirect(url_for("settings.index"))
@bp.route("/badges")
@login_required
def badges():