first push message
This commit is contained in:
@@ -0,0 +1,267 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Flow 3: Subscription Plans Page -->
|
||||
<template id="subscription_plans" name="Subscription Plans">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap" class="subscription-plans-page">
|
||||
<div class="container py-5">
|
||||
<!-- Header -->
|
||||
<div class="row mb-5">
|
||||
<div class="col-12 text-center">
|
||||
<h1 class="display-4 mb-3">Choose Your Plan</h1>
|
||||
<p class="lead">Upgrade to continue using your instance after the trial ends</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Current Plan Info -->
|
||||
<div t-if="subscription" class="row mb-5">
|
||||
<div class="col-12">
|
||||
<div class="alert alert-info">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<strong>Current Plan:</strong>
|
||||
<span t-if="subscription.is_trial" class="badge bg-warning">
|
||||
Free Trial
|
||||
</span>
|
||||
<span t-else="" class="badge bg-success">
|
||||
Premium
|
||||
</span>
|
||||
<t t-if="subscription.days_remaining">
|
||||
- <span t-esc="subscription.days_remaining"/> days remaining
|
||||
</t>
|
||||
</div>
|
||||
<div>
|
||||
<strong>Instance:</strong>
|
||||
<span t-if="subscription.active_database_id"
|
||||
t-esc="subscription.active_database_id.subdomain"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Plans Grid -->
|
||||
<div class="row justify-content-center">
|
||||
<t t-foreach="plans" t-as="plan" t-key="plan.id">
|
||||
<div class="col-md-4 mb-4">
|
||||
<div class="card h-100 plan-card" t-attf-class="#{'border-primary plan-featured' if plan.plan_code == '1_year' else ''}">
|
||||
<!-- Featured Badge -->
|
||||
<t t-if="plan.plan_code == '1_year'">
|
||||
<div class="position-absolute top-0 start-50 translate-middle">
|
||||
<span class="badge bg-primary px-3 py-2">Best Value</span>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<div class="card-header text-center py-4">
|
||||
<h3 class="mb-0" t-esc="plan.name"/>
|
||||
<div class="mt-3">
|
||||
<span class="display-4 fw-bold text-primary">
|
||||
<t t-esc="currency.symbol"/>
|
||||
<t t-esc="plan.price"/>
|
||||
</span>
|
||||
<span class="text-muted">
|
||||
/<t t-if="plan.plan_code == '3_months'">3 months</t>
|
||||
<t t-elif="plan.plan_code == '6_months'">6 months</t>
|
||||
<t t-else="">year</t>
|
||||
</span>
|
||||
</div>
|
||||
<div class="mt-2 text-muted">
|
||||
<small>Save <t t-esc="int((1 - plan.price / (plan.duration_months * 10)) * 100)"/>% vs monthly</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<ul class="list-unstyled">
|
||||
<li class="mb-3">
|
||||
<i class="fa fa-check text-success me-2"/>
|
||||
<strong t-esc="plan.max_apps"/> Apps Included
|
||||
</li>
|
||||
<li class="mb-3">
|
||||
<i class="fa fa-check text-success me-2"/>
|
||||
<strong t-esc="plan.max_users"/> User(s)
|
||||
</li>
|
||||
<li class="mb-3">
|
||||
<i class="fa fa-check text-success me-2"/>
|
||||
<t t-esc="plan.max_storage_mb"/> MB Storage
|
||||
</li>
|
||||
<li class="mb-3">
|
||||
<i class="fa fa-check text-success me-2"/>
|
||||
Email Support
|
||||
</li>
|
||||
<li class="mb-3">
|
||||
<i class="fa fa-check text-success me-2"/>
|
||||
Automatic Backups
|
||||
</li>
|
||||
<t t-if="plan.plan_code == '1_year'">
|
||||
<li class="mb-3">
|
||||
<i class="fa fa-star text-warning me-2"/>
|
||||
Priority Support
|
||||
</li>
|
||||
</t>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-footer text-center py-4 bg-transparent">
|
||||
<form t-attf-action="/subscription/checkout" method="post">
|
||||
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
|
||||
<input type="hidden" name="plan_id" t-att-value="plan.id"/>
|
||||
|
||||
<!-- Payment Method Selection -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Payment Method:</label>
|
||||
<div class="btn-group w-100" role="group">
|
||||
<input type="radio" class="btn-check" name="payment_method"
|
||||
id="aba_{{plan.id}}" value="aba" checked="checked"/>
|
||||
<label class="btn btn-outline-primary" t-att-for="aba_{{plan.id}}">
|
||||
<i class="fa fa-university me-1"/>ABA
|
||||
</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="payment_method"
|
||||
id="stripe_{{plan.id}}" value="stripe"/>
|
||||
<label class="btn btn-outline-primary" t-att-for="stripe_{{plan.id}}">
|
||||
<i class="fa fa-cc-stripe me-1"/>Stripe
|
||||
</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="payment_method"
|
||||
id="paypal_{{plan.id}}" value="paypal"/>
|
||||
<label class="btn btn-outline-primary" t-att-for="paypal_{{plan.id}}">
|
||||
<i class="fa fa-paypal me-1"/>PayPal
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-lg w-100">
|
||||
<i class="fa fa-credit-card me-2"/>
|
||||
Subscribe Now
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
|
||||
<!-- Money Back Guarantee -->
|
||||
<div class="row mt-5">
|
||||
<div class="col-12 text-center">
|
||||
<div class="alert alert-success d-inline-block">
|
||||
<i class="fa fa-shield me-2"/>
|
||||
<strong>30-Day Money Back Guarantee</strong> - Not satisfied? Get a full refund within 30 days.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Subscription Success Page -->
|
||||
<template id="subscription_success" name="Subscription Success">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap" class="subscription-success-page">
|
||||
<div class="container py-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8 text-center">
|
||||
<div class="card border-success">
|
||||
<div class="card-body py-5">
|
||||
<i class="fa fa-check-circle fa-5x text-success mb-4"/>
|
||||
<h1 class="display-4 mb-3">Payment Successful!</h1>
|
||||
<p class="lead mb-4">
|
||||
Thank you for subscribing. Your account has been upgraded to Premium.<br/>
|
||||
You now have access to all premium features.
|
||||
</p>
|
||||
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-6 mb-3">
|
||||
<div class="card bg-light">
|
||||
<div class="card-body">
|
||||
<h5>
|
||||
<i class="fa fa-calendar me-2"/>Subscription Details
|
||||
</h5>
|
||||
<p class="mb-1">
|
||||
<strong>Plan:</strong>
|
||||
<span t-if="subscription.subscription_plan_id"
|
||||
t-esc="subscription.subscription_plan_id.name"/>
|
||||
</p>
|
||||
<p class="mb-1">
|
||||
<strong>Valid Until:</strong>
|
||||
<span t-if="subscription.subscription_end_date"
|
||||
t-esc="subscription.subscription_end_date.strftime('%Y-%m-%d')"/>
|
||||
</p>
|
||||
<p class="mb-0">
|
||||
<strong>Payment Reference:</strong>
|
||||
<span t-if="subscription.payment_reference"
|
||||
t-esc="subscription.payment_reference"/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<div class="card bg-light">
|
||||
<div class="card-body">
|
||||
<h5>
|
||||
<i class="fa fa-gift me-2"/>What's Included
|
||||
</h5>
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li><i class="fa fa-check text-success me-2"/>Full Feature Access</li>
|
||||
<li><i class="fa fa-check text-success me-2"/>Priority Support</li>
|
||||
<li><i class="fa fa-check text-success me-2"/>Automatic Backups</li>
|
||||
<li><i class="fa fa-check text-success me-2"/>99.9% Uptime SLA</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-5">
|
||||
<a t-if="subscription.active_database_id"
|
||||
t-attf-href="https://{{subscription.active_database_id.full_domain}}"
|
||||
class="btn btn-success btn-lg me-3" target="_blank">
|
||||
<i class="fa fa-external-link me-2"/>Go to Your Instance
|
||||
</a>
|
||||
<a href="/web" class="btn btn-outline-primary btn-lg">
|
||||
<i class="fa fa-dashboard me-2"/>Dashboard
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<small class="text-muted">
|
||||
A receipt has been sent to <strong t-if="subscription" t-esc="subscription.user_email"/>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Trial Expired Page -->
|
||||
<template id="trial_expired" name="Trial Expired">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap" class="trial-expired-page">
|
||||
<div class="container py-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8 text-center">
|
||||
<div class="card border-warning">
|
||||
<div class="card-body py-5">
|
||||
<i class="fa fa-exclamation-circle fa-5x text-warning mb-4"/>
|
||||
<h2 class="mb-3">Trial Period Expired</h2>
|
||||
<p class="lead mb-4">
|
||||
Your 15-day free trial has ended.<br/>
|
||||
Upgrade now to continue using your instance and keep all your data.
|
||||
</p>
|
||||
<a href="/subscription/upgrade" class="btn btn-primary btn-lg">
|
||||
<i class="fa fa-arrow-up me-2"/>Upgrade to Premium
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
</odoo>
|
||||
@@ -0,0 +1,390 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<!-- Flow 1: Trial Signup Page -->
|
||||
<template id="trial_signup_page" name="Free Trial - App Selection">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap" class="trial-signup-page oe_structure">
|
||||
<div class="container py-5">
|
||||
<!-- Header -->
|
||||
<div class="row mb-5">
|
||||
<div class="col-12 text-center">
|
||||
<h1 class="display-4 mb-3">Start Your Free 15-Day Trial</h1>
|
||||
<p class="lead">No credit card required • Select up to 10 apps • Get started in 60 seconds</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form id="trial-registration-form" t-attf-action="/trial/register" method="post">
|
||||
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
|
||||
|
||||
<div class="row">
|
||||
<!-- Left Column: App Selection -->
|
||||
<div class="col-lg-8">
|
||||
<div class="card mb-4">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h3 class="mb-0"><i class="fa fa-th me-2"/>Step 1: Select Your Apps</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="text-muted mb-4">Choose the apps you want to try (Maximum 10 apps)</p>
|
||||
|
||||
<!-- Sales Category -->
|
||||
<div class="mb-4">
|
||||
<h4 class="h5 mb-3 text-primary">Sales & CRM</h4>
|
||||
<div class="row">
|
||||
<t t-foreach="apps" t-as="app" t-key="app['name']">
|
||||
<t t-if="app['category'] == 'sales'">
|
||||
<div class="col-md-6 col-lg-4 mb-3">
|
||||
<div class="app-selection-card card h-100"
|
||||
t-att-data-app="app['technical_name']">
|
||||
<div class="card-body text-center p-3">
|
||||
<i t-attf-class="fa #{app['icon']} fa-2x mb-2 text-primary"/>
|
||||
<h6 class="card-title mb-1" t-esc="app['name']"/>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent text-center">
|
||||
<div class="form-check form-switch d-inline-block">
|
||||
<input class="form-check-input app-checkbox"
|
||||
type="checkbox"
|
||||
t-att-id="'app_' + app['technical_name']"
|
||||
t-att-name="'selected_apps'"
|
||||
t-att-value="app['name']"
|
||||
t-att-data-technical="app['technical_name']"/>
|
||||
<label class="form-check-label"
|
||||
t-att-for="'app_' + app['technical_name']">
|
||||
Select
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Finance Category -->
|
||||
<div class="mb-4">
|
||||
<h4 class="h5 mb-3 text-success">Finance & Accounting</h4>
|
||||
<div class="row">
|
||||
<t t-foreach="apps" t-as="app" t-key="app['name']">
|
||||
<t t-if="app['category'] == 'finance'">
|
||||
<div class="col-md-6 col-lg-4 mb-3">
|
||||
<div class="app-selection-card card h-100"
|
||||
t-att-data-app="app['technical_name']">
|
||||
<div class="card-body text-center p-3">
|
||||
<i t-attf-class="fa #{app['icon']} fa-2x mb-2 text-success"/>
|
||||
<h6 class="card-title mb-1" t-esc="app['name']"/>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent text-center">
|
||||
<div class="form-check form-switch d-inline-block">
|
||||
<input class="form-check-input app-checkbox"
|
||||
type="checkbox"
|
||||
t-att-id="'app_' + app['technical_name']"
|
||||
t-att-name="'selected_apps'"
|
||||
t-att-value="app['name']"
|
||||
t-att-data-technical="app['technical_name']"/>
|
||||
<label class="form-check-label"
|
||||
t-att-for="'app_' + app['technical_name']">
|
||||
Select
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Services Category -->
|
||||
<div class="mb-4">
|
||||
<h4 class="h5 mb-3 text-info">Services & Projects</h4>
|
||||
<div class="row">
|
||||
<t t-foreach="apps" t-as="app" t-key="app['name']">
|
||||
<t t-if="app['category'] == 'services'">
|
||||
<div class="col-md-6 col-lg-4 mb-3">
|
||||
<div class="app-selection-card card h-100"
|
||||
t-att-data-app="app['technical_name']">
|
||||
<div class="card-body text-center p-3">
|
||||
<i t-attf-class="fa #{app['icon']} fa-2x mb-2 text-info"/>
|
||||
<h6 class="card-title mb-1" t-esc="app['name']"/>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent text-center">
|
||||
<div class="form-check form-switch d-inline-block">
|
||||
<input class="form-check-input app-checkbox"
|
||||
type="checkbox"
|
||||
t-att-id="'app_' + app['technical_name']"
|
||||
t-att-name="'selected_apps'"
|
||||
t-att-value="app['name']"
|
||||
t-att-data-technical="app['technical_name']"/>
|
||||
<label class="form-check-label"
|
||||
t-att-for="'app_' + app['technical_name']">
|
||||
Select
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Marketing Category -->
|
||||
<div class="mb-4">
|
||||
<h4 class="h5 mb-3 text-warning">Marketing & Website</h4>
|
||||
<div class="row">
|
||||
<t t-foreach="apps" t-as="app" t-key="app['name']">
|
||||
<t t-if="app['category'] == 'marketing'">
|
||||
<div class="col-md-6 col-lg-4 mb-3">
|
||||
<div class="app-selection-card card h-100"
|
||||
t-att-data-app="app['technical_name']">
|
||||
<div class="card-body text-center p-3">
|
||||
<i t-attf-class="fa #{app['icon']} fa-2x mb-2 text-warning"/>
|
||||
<h6 class="card-title mb-1" t-esc="app['name']"/>
|
||||
</div>
|
||||
<div class="card-footer bg-transparent text-center">
|
||||
<div class="form-check form-switch d-inline-block">
|
||||
<input class="form-check-input app-checkbox"
|
||||
type="checkbox"
|
||||
t-att-id="'app_' + app['technical_name']"
|
||||
t-att-name="'selected_apps'"
|
||||
t-att-value="app['name']"
|
||||
t-att-data-technical="app['technical_name']"/>
|
||||
<label class="form-check-label"
|
||||
t-att-for="'app_' + app['technical_name']">
|
||||
Select
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Selected Apps Counter -->
|
||||
<div class="alert alert-info mt-3">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<i class="fa fa-info-circle me-2"/>
|
||||
<span id="selected-count">0</span> / 10 apps selected
|
||||
</div>
|
||||
<div id="selected-apps-tags" class="d-flex gap-2 flex-wrap">
|
||||
<!-- Tags will be added here dynamically -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Right Column: Registration Form -->
|
||||
<div class="col-lg-4">
|
||||
<div class="card mb-4 sticky-top" style="top: 20px;">
|
||||
<div class="card-header bg-success text-white">
|
||||
<h3 class="mb-0"><i class="fa fa-user me-2"/>Step 2: Your Information</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label">Email Address <span class="text-danger">*</span></label>
|
||||
<input type="email" class="form-control" id="email" name="email" required="required"
|
||||
placeholder="your.email@company.com"/>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="name" class="form-label">Full Name <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="name" name="name" required="required"
|
||||
placeholder="John Doe"/>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="company_name" class="form-label">Company Name <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="company_name" name="company_name" required="required"
|
||||
placeholder="Your Company Ltd."/>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="phone" class="form-label">Phone Number</label>
|
||||
<input type="tel" class="form-control" id="phone" name="phone"
|
||||
placeholder="+855 12 345 678"/>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="country_id" class="form-label">Country</label>
|
||||
<select class="form-select" id="country_id" name="country_id">
|
||||
<option value="">Select Country</option>
|
||||
<t t-foreach="countries" t-as="country" t-key="country.id">
|
||||
<option t-att-value="country.id" t-esc="country.name"/>
|
||||
</t>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="alert alert-warning mt-3">
|
||||
<small>
|
||||
<i class="fa fa-shield-alt me-1"/>
|
||||
By registering, you agree to our Terms of Service and Privacy Policy
|
||||
</small>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-success btn-lg w-100 mt-3" id="submit-trial-btn">
|
||||
<i class="fa fa-rocket me-2"/>Start Free Trial
|
||||
</button>
|
||||
|
||||
<div class="text-center mt-3">
|
||||
<small class="text-muted">
|
||||
<i class="fa fa-clock me-1"/> Setup takes 30-60 seconds
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Email Verification Page -->
|
||||
<template id="email_verification_page" name="Email Verification">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap" class="email-verification-page">
|
||||
<div class="container py-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8 text-center">
|
||||
<div class="card">
|
||||
<div class="card-body py-5">
|
||||
<i class="fa fa-envelope-open-o fa-5x text-primary mb-4"/>
|
||||
<h2 class="mb-3">Verify Your Email</h2>
|
||||
<p class="lead mb-4">
|
||||
We've sent a verification link to your email address.<br/>
|
||||
Please check your inbox and click the link to continue.
|
||||
</p>
|
||||
<div class="alert alert-info">
|
||||
<p class="mb-2"><strong>Didn't receive the email?</strong></p>
|
||||
<button type="button" class="btn btn-link" id="resend-verification">
|
||||
Click here to resend
|
||||
</button>
|
||||
</div>
|
||||
<a href="/trial" class="btn btn-outline-secondary mt-3">
|
||||
<i class="fa fa-arrow-left me-2"/>Back to Trial Signup
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Provisioning Success Page -->
|
||||
<template id="provisioning_success" name="Provisioning Success">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap" class="provisioning-success-page">
|
||||
<div class="container py-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-10">
|
||||
<div class="card border-success">
|
||||
<div class="card-body text-center py-5">
|
||||
<i class="fa fa-check-circle fa-5x text-success mb-4"/>
|
||||
<h1 class="display-4 mb-3">Your Trial is Ready!</h1>
|
||||
<p class="lead mb-4">
|
||||
Your database has been successfully created and configured.<br/>
|
||||
You can now start using your selected applications.
|
||||
</p>
|
||||
|
||||
<div class="row mt-5">
|
||||
<div class="col-md-6 mb-3">
|
||||
<div class="card bg-light">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<i class="fa fa-link me-2"/>Your Instance URL
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
<a t-attf-href="https://{{provisioning_result.database_url}}"
|
||||
class="btn btn-primary btn-lg" target="_blank">
|
||||
<t t-esc="provisioning_result.database_url"/>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 mb-3">
|
||||
<div class="card bg-light">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<i class="fa fa-key me-2"/>Admin Credentials
|
||||
</h5>
|
||||
<p class="card-text">
|
||||
<strong>Login:</strong> <t t-esc="provisioning_result.admin_login"/><br/>
|
||||
<strong>Password:</strong> <t t-esc="provisioning_result.admin_password"/>
|
||||
</p>
|
||||
<small class="text-muted">
|
||||
<i class="fa fa-info-circle"/>
|
||||
These credentials have been sent to your email
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="alert alert-info mt-4">
|
||||
<h5 class="alert-heading">
|
||||
<i class="fa fa-gift me-2"/>15-Day Free Trial Activated
|
||||
</h5>
|
||||
<p>
|
||||
You have full access to all features for the next 15 days.<br/>
|
||||
No credit card required during the trial period.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<a t-attf-href="https://{{provisioning_result.database_url}}"
|
||||
class="btn btn-success btn-lg me-3" target="_blank">
|
||||
<i class="fa fa-external-link me-2"/>Launch Your Instance
|
||||
</a>
|
||||
<a href="/subscription/upgrade" class="btn btn-outline-primary btn-lg">
|
||||
<i class="fa fa-arrow-up me-2"/>Upgrade Now
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Provisioning Failed Page -->
|
||||
<template id="provisioning_failed" name="Provisioning Failed">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap" class="provisioning-failed-page">
|
||||
<div class="container py-5">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8 text-center">
|
||||
<div class="card border-danger">
|
||||
<div class="card-body py-5">
|
||||
<i class="fa fa-exclamation-triangle fa-5x text-danger mb-4"/>
|
||||
<h2 class="mb-3">Provisioning Failed</h2>
|
||||
<p class="lead mb-4">
|
||||
We encountered an issue while creating your database.<br/>
|
||||
Please try again or contact support.
|
||||
</p>
|
||||
<div class="alert alert-danger">
|
||||
<strong>Error:</strong>
|
||||
<t t-esc="provisioning_result.get('error', 'Unknown error')"/>
|
||||
</div>
|
||||
<a href="/trial" class="btn btn-primary btn-lg">
|
||||
<i class="fa fa-refresh me-2"/>Try Again
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user