add tasks driectly from tracker

This commit is contained in:
2026-02-11 13:29:51 +01:00
parent a5a56923ab
commit 05398bdfd6
2 changed files with 194 additions and 21 deletions

42
app.py
View File

@@ -148,11 +148,15 @@ def add_activity():
name = request.form['name']
color = request.form.get('color', '#3498db')
# Parse subcategories
subcats_str = request.form.get('subcategories_data', '')
subcategories = [s.strip() for s in subcats_str.split(',') if s.strip()]
activity_id = db.activities.insert_one({
'user_id': get_user_id(),
'name': name,
'color': color,
'subcategories': []
'subcategories': subcategories
}).inserted_id
# Add optional default tasks (Revised from list input)
@@ -427,6 +431,42 @@ def create_task():
db.tasks.insert_one(task_doc)
return redirect(url_for('tasks'))
@app.route('/create_task_quick', methods=['POST'])
def create_task_quick():
if not is_logged_in(): return jsonify({'error': 'auth'}), 401
name = request.form['name']
activity_id = request.form.get('activity_id')
subcategory = request.form.get('subcategory', '')
# Check if there is an active time entry to link immediately
current_entry = db.time_entries.find_one({
'user_id': get_user_id(),
'end_time': None
})
task_doc = {
'user_id': get_user_id(),
'name': name,
'status': 'open',
'is_template': False,
'source': 'manual-quick',
'created_at': datetime.now(),
'comments': [],
'subcategory': subcategory,
'activity_id': ObjectId(activity_id) if activity_id else None,
# If we have an active entry matching this activity, link it for this session
'time_entry_id': current_entry['_id'] if current_entry and str(current_entry['activity_id']) == activity_id else None
}
new_id = db.tasks.insert_one(task_doc).inserted_id
return jsonify({
'status': 'success',
'task_id': str(new_id),
'name': name
})
@app.route('/task/<task_id>', methods=['GET', 'POST'])
def task_detail(task_id):
if not is_logged_in(): return redirect(url_for('login'))