introduce service plans
This commit is contained in:
parent
f69f7fb755
commit
70f4a02db9
11 changed files with 362 additions and 20 deletions
|
@ -0,0 +1,23 @@
|
|||
{% extends "admin/change_form.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block extrahead %}
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin/css/hide_inline_header.css' %}" />
|
||||
{% endblock %}
|
||||
|
||||
{% block admin_change_form_document_ready %}
|
||||
{{ block.super }}
|
||||
<script>
|
||||
django.jQuery(document).ready(function($) {
|
||||
// Initialize collapse state for plan inlines
|
||||
$('.plan-inline').addClass('collapsed');
|
||||
|
||||
// Add custom styling to price inline tables
|
||||
$('.price-inline').find('table').addClass('price-table');
|
||||
|
||||
// Add helper text for default plan selection
|
||||
$('.field-is_default').append('<p class="help">Only one plan can be default per service.</p>');
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
|
@ -5,12 +5,12 @@
|
|||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h2 class="card-title mb-4">Show Interest in {{ service.name }}</h2>
|
||||
<h2 class="card-title mb-4">Order {{ service.name }}</h2>
|
||||
|
||||
<div class="mb-4">
|
||||
<h5>Service Details</h5>
|
||||
<p><strong>Provider:</strong> {{ service.cloud_provider.name }}</p>
|
||||
<p><strong>Price:</strong> ${{ service.price }}</p>
|
||||
<p><strong>Plan:</strong> {{ selected_plan.name }}</p>
|
||||
</div>
|
||||
|
||||
{% if messages %}
|
||||
|
|
|
@ -33,17 +33,49 @@
|
|||
<h5>Features</h5>
|
||||
<p>{{ service.features|safe }}</p>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Service Details</h5>
|
||||
<p><strong>Price:</strong> ${{ service.price }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="col-12">
|
||||
<h3 class="mb-4">Plans</h3>
|
||||
<div class="row row-cols-1 row-cols-md-3 g-4">
|
||||
{% for plan in service.plans.all %}
|
||||
<div class="col">
|
||||
<div class="card h-100 {% if plan.is_default %}border-primary{% endif %}">
|
||||
{% if plan.is_default %}
|
||||
<div class="card-header text-primary">
|
||||
Recommended
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">{{ plan.name }}</h5>
|
||||
<div class="card-text mb-3">{{ plan.description|safe }}</div>
|
||||
|
||||
<div class="mb-3">
|
||||
{% for price in plan.prices.all %}
|
||||
<div class="mb-1">
|
||||
<strong>{{ price.currency.symbol }}</strong> {{ price.price }}
|
||||
<small class="text-muted">{{ price.currency.code }}</small>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% if plan.features %}
|
||||
<div class="rich-text-content">
|
||||
{{ plan.features|safe }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<a href="{% url 'services:create_lead' service.slug %}?plan={{ plan.id }}"
|
||||
class="btn btn-primary mt-3">Order</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<a href="{% url 'services:create_lead' service.slug %}" class="btn btn-success">Order</a>
|
||||
<a href="{% url 'services:service_list' %}" class="btn btn-secondary">Back to Services</a>
|
||||
</div>
|
||||
|
|
|
@ -12,17 +12,12 @@
|
|||
<p>We have received your inquiry and our team will contact you shortly.</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<h5>Service Details</h5>
|
||||
<p><strong>Provider:</strong> {{ service.cloud_provider.name }}</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<p class="text-muted">A confirmation email will be sent to your provided email address.</p>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<a href="{% url 'services:service_detail' service.id %}" class="btn btn-primary me-2">
|
||||
<a href="{% url 'services:service_detail' service.slug %}" class="btn btn-primary me-2">
|
||||
Back to Service Details
|
||||
</a>
|
||||
<a href="{% url 'services:service_list' %}" class="btn btn-secondary">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue