20 Commits
Author SHA1 Message Date
westfarn 0ba6710faa Update company_site/financial/templates/financial/subscription_new.html for Stripe invoices (#23)
CI / test (pull_request) Successful in 13s
Unit Tests / test (pull_request) Successful in 11s
2026-07-31 12:01:59 -07:00
westfarn 70181ceda1 Update company_site/financial/templates/financial/subscription_detail.html for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn ea382cf4ba Update company_site/financial/templates/financial/invoices.html for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 2332caca08 Update company_site/financial/templates/financial/invoice_new.html for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 5596a87cc7 Update company_site/financial/templates/financial/invoice_detail.html for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 3fc73cbf56 Update company_site/financial/templates/emails/invoice_pay_link.txt for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 8630eb7755 Update company_site/financial/templates/emails/invoice_pay_link.html for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn cd41c75920 Update company_site/financial/stripe_billing.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 67acda869a Update company_site/financial/migrations/0016_billing_invoices_subscriptions.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn c66bfa39f0 Update company_site/financial/invoice_views.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 25bf9c6193 Update company_site/financial/urls.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 16eac8a9e8 Update company_site/financial/tests.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 8b33a179cb Update company_site/financial/templates/financial/index.html for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 1033d28e09 Update company_site/financial/models.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn e70ea3fb96 Update company_site/financial/forms.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 88ee85dda3 Update company_site/financial/admin.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 7ca7721511 Update company_site/company_site/settings/base.py for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn 358231af2e Update .env.prod.example for Stripe invoices (#23) 2026-07-31 12:01:59 -07:00
westfarn eb84d01c03 Add admin Stripe invoices and recurring customer subscriptions.
Closes #23: one-off hosted invoices, monthly Checkout subscriptions, pay-link email, and webhook status sync for admins.
2026-07-31 12:01:59 -07:00
westfarn 05aa0b96b1 Remove file hosting service page and references (#25)
Unit Tests / test (push) Successful in 12s
## Summary
- Closes #21
- Remove retired file hosting marketing page, nav/home cards, SEO/sitemap entries, and unused images
- Permanently redirect `/file_hosting` → home so inbound links and search results do not 404

## Test plan
- [x] `python manage.py test public` passes
- [ ] Visit `/file_hosting` → 301 to home
- [ ] Confirm Services nav has no Hosting entry
- [ ] Confirm home page has no File Hosting card
- [ ] Confirm `sitemap.xml` / page metadata omit file hostingReviewed-on: #25
2026-07-31 11:40:54 -07:00
11 changed files with 7 additions and 114 deletions
-8
View File
@@ -63,13 +63,6 @@ PUBLIC_PAGE_ENTRIES = (
"0.7",
"Custom workstation and server builds optimized for AI and ML workloads.",
),
(
"file_hosting",
"File Hosting",
"monthly",
"0.7",
"Managed file hosting and storage for teams that need reliable data access.",
),
(
"web_design",
"Web Design and Hosting",
@@ -104,7 +97,6 @@ SERVICE_URL_NAMES = frozenset({
"ai_sensor",
"ai_education",
"computers",
"file_hosting",
"web_design",
})
Binary file not shown.

Before

Width:  |  Height:  |  Size: 843 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

+1 -2
View File
@@ -69,7 +69,7 @@
<li><a href="{% url 'public_index' %}"
class="{% if request.resolver_match.url_name == 'public_index' %}active{% endif %}">Home</a></li>
<li class="dropdown">
<button type="button" class="nav-dropdown-trigger{% if request.resolver_match.url_name in 'forward_deployed,ai_education,ai_sensor,bot,chat,computers,file_hosting,ml_model,web_design' %} active{% endif %}"
<button type="button" class="nav-dropdown-trigger{% if request.resolver_match.url_name in 'forward_deployed,ai_education,ai_sensor,bot,chat,computers,ml_model,web_design' %} active{% endif %}"
id="services-menu-button" aria-expanded="false" aria-haspopup="true" aria-controls="services-menu">Services</button>
<ul class="dropdown-content" id="services-menu" role="menu" aria-labelledby="services-menu-button">
<li><a href="{% url 'forward_deployed' %}">Forward-Deployed AI</a></li>
@@ -79,7 +79,6 @@
<li><a href="{% url 'ai_sensor' %}">Sensors</a></li>
<li><a href="{% url 'ai_education' %}">Education</a></li>
<li><a href="{% url 'computers' %}">Hardware</a></li>
<li><a href="{% url 'file_hosting' %}">Hosting</a></li>
<li><a href="{% url 'web_design' %}">Web Design</a></li>
</ul>
</li>
@@ -1,90 +0,0 @@
{% extends "base.html" %}
{% load static %}
{% block title %}File Hosting - AI ML Operations, LLC{% endblock %}
{% block meta_description %}Secure, scalable, and reliable file hosting with weekly backups by AI ML Operations, LLC.
Protect your data with our advanced storage solutions.{% endblock %}
{% block content %}
<!-- Hero Section -->
<div class="hero-section" style="height: 40vh; min-height: 300px;">
<div class="hero-content">
<h1 class="hero-title">File Hosting</h1>
<p class="hero-subtitle">Secure, Scalable, and Reliable File Storage with Weekly Backups</p>
</div>
</div>
<!-- About File Hosting Section -->
<div class="section">
<div class="container">
<h2 class="section-title">About Our File Hosting Service</h2>
<p style="text-align: center; max-width: 800px; margin: 0 auto; color: var(--text-muted); font-size: 1.1rem;">
At AI ML Operations, we provide secure and scalable file hosting solutions tailored to your business needs. Our
platform ensures your data is always accessible, protected, and backed up with weekly backups for added peace of
mind. Whether you're storing critical business documents, media files, or large datasets, our file hosting service
is designed to meet your requirements with reliability and efficiency.
</p>
</div>
</div>
<!-- Features Section -->
<div class="section" style="background: var(--surface-color);">
<div class="container">
<h2 class="section-title">What We Offer</h2>
<div class="card-grid">
<div class="card" style="text-align: center;">
<h5 class="card-title">Secure Storage</h5>
<p class="card-text">Your files are stored securely with advanced encryption protocols.</p>
</div>
<div class="card" style="text-align: center;">
<h5 class="card-title">Weekly Backups</h5>
<p class="card-text">Automatic weekly backups to ensure your data is always safe.</p>
</div>
<div class="card" style="text-align: center;">
<h5 class="card-title">Scalable Solutions</h5>
<p class="card-text">Easily scale your storage as your business grows.</p>
</div>
</div>
</div>
</div>
<!-- Benefits Section -->
<div class="section">
<div class="container">
<h2 class="section-title">Why Choose Us?</h2>
<div class="card-grid">
<div class="card">
<img src="{% static 'public/img/file_hosting/card-1.jpg' %}" alt="Data Security"
style="width: 100%; border-radius: 8px; margin-bottom: 1rem;">
<span class="card-title">Data Security</span>
<p class="card-text">Advanced encryption and access controls to protect your files.</p>
</div>
<div class="card">
<img src="{% static 'public/img/file_hosting/card-2.jpg' %}" alt="Reliability"
style="width: 100%; border-radius: 8px; margin-bottom: 1rem;">
<span class="card-title">Reliability</span>
<p class="card-text">99.9% uptime guarantee for uninterrupted access to your files.</p>
</div>
<div class="card">
<img src="{% static 'public/img/file_hosting/card-3.jpg' %}" alt="Easy Management"
style="width: 100%; border-radius: 8px; margin-bottom: 1rem;">
<span class="card-title">Easy Management</span>
<p class="card-text">User-friendly interface for seamless file management.</p>
</div>
</div>
</div>
</div>
<!-- Call to Action Section -->
<div class="section" style="text-align: center;">
<div class="container">
<h2 class="section-title">Ready to Secure Your Files?</h2>
<p class="hero-subtitle" style="margin-bottom: 2rem;">Contact us today to get started with our file hosting service.
</p>
<a href="{% url 'contact' %}" class="btn"
data-tianji-event="service_cta" data-tianji-event-page="file_hosting" data-tianji-event-action="get_started">Get Started</a>
</div>
</div>
{% endblock %}
@@ -53,10 +53,6 @@
<h3>Web Design</h3>
<p>Elevate your online presence with captivating web design that blends creativity with functionality. Our expert designers craft visually stunning websites that engage your audience and drive conversions, ensuring a seamless user experience across all devices.</p>
</div>
<div class="col-4">
<h3>File Hosting</h3>
<p>Securely store and share your files with ease using our reliable file hosting platform. With robust encryption and flexible access controls, you can confidently manage your data, collaborate seamlessly, and streamline your workflow.</p>
</div>
<div class="col-4">
<h3>App Virtualization</h3>
<p>Transform your software delivery with our app virtualization solutions, enabling seamless access to applications from any device, anywhere. Experience enhanced flexibility, scalability, and security as we optimize your IT infrastructure for the digital age.</p>
@@ -219,12 +219,6 @@
<p class="card-text">Servers and workstations for compute, storage, and local inference workloads.</p>
</a>
<a href="{% url 'file_hosting' %}" class="card"
data-tianji-event="service_click" data-tianji-event-service="File Hosting">
<span class="card-title">File Hosting</span>
<p class="card-text">Secure, scalable file hosting to store and share your data.</p>
</a>
</div>
</div>
</div>
+6 -1
View File
@@ -1,4 +1,5 @@
from django.urls import path
from django.views.generic import RedirectView
from . import seo, views
@@ -12,7 +13,11 @@ urlpatterns = [
path("computer", views.computers, name="computers"),
path("web_design", views.web_design, name="web_design"),
path("ai_sensor", views.ai_sensor, name="ai_sensor"),
path("file_hosting", views.file_hosting, name="file_hosting"),
# Permanent redirect: product retired; keep URL for inbound links/search results.
path(
"file_hosting",
RedirectView.as_view(pattern_name="public_index", permanent=True),
),
path("bot_creation", views.bot, name="bot"),
path("forward-deployed-ai", views.forward_deployed, name="forward_deployed"),
path("ml_model", views.ml_model, name="ml_model"),
-3
View File
@@ -66,9 +66,6 @@ def web_design(request):
def ai_sensor(request):
return render(request, "public/ai_sensor.html", {})
def file_hosting(request):
return render(request, "public/file_hosting.html", {})
def bot(request):
return render(request, "public/bot.html", {})