Alaguraj0361 b9d5617051 Add SaaS multi-tenant models and views for restaurant management
- Introduced `saas.plan` model to define subscription plans with limits and pricing.
- Created `saas.restaurant` model to manage restaurant tenants, including database provisioning and subscription management.
- Implemented views for managing SaaS plans and restaurant tenants, including tree and form views.
- Added security access rights for the new models.
- Developed a backup management view for database backups.
- Updated menu structure to include new SaaS management options.
- Added Docker and deployment configurations for PostgreSQL, Redis, and Odoo services.
- Included scaling guide and backup scripts for production environments.
- Enhanced theme with new images and layout adjustments.
2026-06-19 15:03:51 +05:30

57 lines
3.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Starter Plan -->
<record id="saas_plan_starter" model="saas.plan">
<field name="name">Starter</field>
<field name="max_pos">1</field>
<field name="max_users">5</field>
<field name="price_monthly">49.00</field>
<field name="price_yearly">490.00</field>
</record>
<!-- Professional Plan -->
<record id="saas_plan_professional" model="saas.plan">
<field name="name">Professional</field>
<field name="max_pos">5</field>
<field name="max_users">25</field>
<field name="price_monthly">149.00</field>
<field name="price_yearly">1490.00</field>
</record>
<!-- Enterprise Plan -->
<record id="saas_plan_enterprise" model="saas.plan">
<field name="name">Enterprise</field>
<field name="max_pos">0</field> <!-- 0 represents Unlimited -->
<field name="max_users">0</field>
<field name="price_monthly">299.00</field>
<field name="price_yearly">2990.00</field>
</record>
<!-- Welcome Email Template -->
<record id="saas_welcome_email_template" model="mail.template">
<field name="name">SaaS Welcome Email</field>
<field name="model_id" ref="dine360_saas_master.model_saas_restaurant"/>
<field name="subject">Welcome to your Dine360 Restaurant Platform!</field>
<field name="email_from">{{ object.company_id.email or object.env.user.email_formatted }}</field>
<field name="email_to">{{ object.email }}</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px;">
<p>Hello <t t-out="object.owner_name"/>,</p>
<p>Congratulations! Your Dine360 restaurant tenant <strong><t t-out="object.name"/></strong> has been provisioned successfully.</p>
<p>You can access your dedicated dashboard and POS environment using the link below:</p>
<p style="margin: 20px 0;">
<a t-att-href="'http://' + object.subdomain" style="background-color: #ffb800; color: #ffffff; padding: 10px 20px; text-decoration: none; font-weight: bold; border-radius: 4px;">Go to Dashboard</a>
</p>
<p><strong>Login Details:</strong></p>
<ul>
<li>URL: <t t-out="object.subdomain"/></li>
<li>Username/Email: <t t-out="object.email"/></li>
<li>Temporary Password: <strong><t t-out="ctx.get('temp_password')"/></strong></li>
</ul>
<p style="color: #888888; font-size: 12px; margin-top: 30px;">This is an automated onboarding email. Please change your password upon logging in.</p>
</div>
</field>
</record>
</data>
</odoo>