Files
2026-05-07 11:09:06 -04:00

77 lines
3.7 KiB
HTML

{% extends "admin/layouts/base.html" %}
{% block title %}{{ 'Edit' if mode == 'edit' else 'New Tenant' }}{% endblock %}
{% block content %}
<div class="row justify-content-center">
<div class="col-md-7">
<div class="card shadow-sm">
<div class="card-header"><h5 class="mb-0">{{ 'Edit Tenant' if mode == 'edit' else 'New Tenant' }}</h5></div>
<div class="card-body">
{% if error %}<div class="alert alert-danger py-2">{{ error }}</div>{% endif %}
<form method="POST" novalidate>
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<div class="mb-3">
<label class="form-label">Business Name</label>
<input type="text" class="form-control" name="name"
value="{{ tenant.name if tenant else '' }}" required>
</div>
{% if mode == 'create' %}
<div class="mb-3">
<label class="form-label">Slug <small class="text-muted">(URL-friendly, e.g. my-salon)</small></label>
<input type="text" class="form-control" name="slug" pattern="[a-z0-9\-]+"
placeholder="lowercase-letters-and-hyphens" required>
</div>
{% endif %}
<div class="mb-3">
<label class="form-label">Owner Email</label>
<input type="email" class="form-control" name="owner_email"
value="{{ tenant.owner_email if tenant else '' }}" required>
</div>
<div class="mb-3">
<label class="form-label">Plan</label>
<select class="form-select" name="plan_id" required>
<option value="">— Select a plan —</option>
{% for p in plans %}
<option value="{{ p.id }}" {{ 'selected' if tenant and tenant.plan_id == p.id }}>
{{ p.name }} (${{ "%.2f"|format(p.price_monthly) }}/mo)
</option>
{% endfor %}
</select>
</div>
{% if mode == 'create' %}
<div class="mb-3">
<label class="form-label">Trial Duration (days)</label>
<input type="number" class="form-control" name="trial_days" value="14" min="0" max="90">
</div>
<hr>
<h6 class="fw-semibold mb-3">Owner Account Password</h6>
<div class="mb-3">
<label class="form-label">Password</label>
<input type="password" class="form-control" name="owner_password" autocomplete="new-password" required>
<div class="form-text">Min 10 chars, uppercase, lowercase, digit.</div>
</div>
<div class="mb-3">
<label class="form-label">Confirm Password</label>
<input type="password" class="form-control" name="confirm_password" autocomplete="new-password" required>
</div>
{% else %}
<div class="mb-3">
<label class="form-label">Subscription Expires At</label>
<input type="datetime-local" class="form-control" name="subscription_expires_at"
value="{{ tenant.subscription_expires_at.strftime('%Y-%m-%dT%H:%M') if tenant and tenant.subscription_expires_at else '' }}">
</div>
<div class="form-check form-switch mb-3">
<input class="form-check-input" type="checkbox" name="is_demo" value="1" id="is_demo"
{{ 'checked' if tenant and tenant.is_demo }}>
<label class="form-check-label" for="is_demo">Demo tenant (read-only)</label>
</div>
{% endif %}
<div class="d-flex gap-2">
<button type="submit" class="btn btn-dark">Save</button>
<a href="{{ url_for('tenants.index') }}" class="btn btn-outline-secondary">Cancel</a>
</div>
</form>
</div>
</div>
</div>
</div>
{% endblock %}