When creating or editing items from a project detail tab, users now return to that project's tab instead of the entity's own page. Edit links pass from_project param; forms include hidden field. Reassigning to a different project redirects to the new project. Decisions/meetings create from project context inserts junction rows. File uploads from project context redirect back to project files tab. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
105 lines
5.4 KiB
HTML
105 lines
5.4 KiB
HTML
{% extends "base.html" %}
|
|
{% block content %}
|
|
<div class="page-header">
|
|
<h1 class="page-title">{{ page_title }}</h1>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<form method="post" action="{{ '/meetings/' ~ item.id ~ '/edit' if item else '/meetings/create' }}">
|
|
<div class="form-grid">
|
|
<div class="form-group full-width">
|
|
<label class="form-label">Title *</label>
|
|
<input type="text" name="title" class="form-input" required
|
|
value="{{ item.title if item else '' }}">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Date *</label>
|
|
<input type="date" name="meeting_date" class="form-input" required
|
|
value="{{ item.meeting_date if item else '' }}">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Status</label>
|
|
<select name="status" class="form-select">
|
|
<option value="scheduled" {{ 'selected' if item and item.status == 'scheduled' }}>Scheduled</option>
|
|
<option value="completed" {{ 'selected' if item and item.status == 'completed' }}>Completed</option>
|
|
<option value="cancelled" {{ 'selected' if item and item.status == 'cancelled' }}>Cancelled</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Start Time</label>
|
|
<input type="datetime-local" name="start_at" class="form-input"
|
|
value="{{ item.start_at.strftime('%Y-%m-%dT%H:%M') if item and item.start_at else '' }}">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">End Time</label>
|
|
<input type="datetime-local" name="end_at" class="form-input"
|
|
value="{{ item.end_at.strftime('%Y-%m-%dT%H:%M') if item and item.end_at else '' }}">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Location</label>
|
|
<input type="text" name="location" class="form-input" placeholder="Zoom, Google Meet, Room..."
|
|
value="{{ item.location if item and item.location else '' }}">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Priority</label>
|
|
<select name="priority" class="form-select">
|
|
<option value="">None</option>
|
|
<option value="1" {{ 'selected' if item and item.priority == 1 }}>Critical</option>
|
|
<option value="2" {{ 'selected' if item and item.priority == 2 }}>High</option>
|
|
<option value="3" {{ 'selected' if item and item.priority == 3 }}>Normal</option>
|
|
<option value="4" {{ 'selected' if item and item.priority == 4 }}>Low</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Series (Parent Meeting)</label>
|
|
<select name="parent_id" class="form-select">
|
|
<option value="">None</option>
|
|
{% for m in parent_meetings %}
|
|
<option value="{{ m.id }}" {{ 'selected' if item and item.parent_id and item.parent_id|string == m.id|string }}>
|
|
{{ m.title }} ({{ m.meeting_date }})
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group full-width">
|
|
<label class="form-label">Agenda</label>
|
|
<textarea name="agenda" class="form-textarea" rows="4">{{ item.agenda if item and item.agenda else '' }}</textarea>
|
|
</div>
|
|
|
|
{% if item %}
|
|
<div class="form-group full-width">
|
|
<label class="form-label">Transcript</label>
|
|
<textarea name="transcript" class="form-textarea" rows="6">{{ item.transcript if item and item.transcript else '' }}</textarea>
|
|
</div>
|
|
|
|
<div class="form-group full-width">
|
|
<label class="form-label">Meeting Notes</label>
|
|
<textarea name="notes_body" class="form-textarea" rows="6">{{ item.notes_body if item and item.notes_body else '' }}</textarea>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="form-group">
|
|
<label class="form-label">Tags</label>
|
|
<input type="text" name="tags" class="form-input" placeholder="tag1, tag2, ..."
|
|
value="{{ item.tags|join(', ') if item and item.tags else '' }}">
|
|
</div>
|
|
</div>
|
|
|
|
{% if prefill_project_id is defined and prefill_project_id %}<input type="hidden" name="project_id" value="{{ prefill_project_id }}">{% endif %}
|
|
{% if from_project is defined and from_project %}<input type="hidden" name="from_project" value="{{ from_project }}">{% endif %}
|
|
<div class="form-actions">
|
|
<button type="submit" class="btn btn-primary">{{ 'Save Changes' if item else 'Create Meeting' }}</button>
|
|
<a href="{{ '/projects/' ~ from_project ~ '?tab=meetings' if from_project is defined and from_project else ('/projects/' ~ prefill_project_id ~ '?tab=meetings' if prefill_project_id is defined and prefill_project_id else ('/meetings/' ~ item.id if item else '/meetings')) }}" class="btn btn-secondary">Cancel</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{% endblock %}
|