first commit
This commit is contained in:
commit
e6c52820cd
227 changed files with 16156 additions and 0 deletions
172
Templates/index.html
Normal file
172
Templates/index.html
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
{% extends 'layouts/base.html' %}
|
||||
|
||||
{% block title %}Suite Consultance - Accueil{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="jumbotron bg-light p-5 rounded">
|
||||
<h1 class="display-4">Bienvenue sur Suite Consultance</h1>
|
||||
<p class="lead">Solution complète pour la gestion de client et de prospects</p>
|
||||
<hr class="my-4">
|
||||
<p>Gérer des clients, créer des propositions commerciales et générer des devis en quelques clics.</p>
|
||||
|
||||
<div class="row mt-5">
|
||||
<div class="col-md-4 mb-4">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-users fa-3x text-primary mb-3"></i>
|
||||
<h3 class="card-title">CRM</h3>
|
||||
<p class="card-text">Gérer mes clients et prospects efficacement.</p>
|
||||
<a href="{{ url_for('crm') }}" class="btn btn-primary">Accéder au CRM</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-4">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-file-contract fa-3x text-primary mb-3"></i>
|
||||
<h3 class="card-title">Propositions</h3>
|
||||
<p class="card-text">Créer des propositions commerciales personnalisées.</p>
|
||||
<a href="{{ url_for('propositions') }}" class="btn btn-primary">Gérer les propositions</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 mb-4">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-file-invoice-dollar fa-3x text-primary mb-3"></i>
|
||||
<h3 class="card-title">Devis</h3>
|
||||
<p class="card-text">Générer et suivre mes devis clients.</p>
|
||||
<a href="{{ url_for('devis') }}" class="btn btn-primary">Gérer les devis</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center mt-4">
|
||||
<a href="{{ url_for('generate_test_data') }}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-vial"></i> Générer des données de test
|
||||
</a>
|
||||
</div>
|
||||
</div> <div class="row mt-5">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h5 class="card-title mb-0">Dernières activités</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-group list-group-flush">
|
||||
{% if recent_documents %}
|
||||
{% for doc in recent_documents %}
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<i class="fas {% if doc.type == 'Proposition' %}fa-file-contract{% else %}fa-file-invoice-dollar{% endif %} me-2"></i>
|
||||
{{ doc.type }} pour {{ doc.client }}
|
||||
</div>
|
||||
<span class="badge bg-primary rounded-pill">{{ doc.date|datetime('%d/%m/%Y') }}</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
Aucune activité récente
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h5 class="card-title mb-0">Statistiques</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row text-center mb-4">
|
||||
<div class="col-3">
|
||||
<h3 class="fw-bold text-primary">{{ clients_count }}</h3>
|
||||
<p>Clients</p>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<h3 class="fw-bold text-primary">{{ prospects_count }}</h3>
|
||||
<p>Prospects</p>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<h3 class="fw-bold text-primary">{{ propositions_count }}</h3>
|
||||
<p>Propositions</p>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<h3 class="fw-bold text-primary">{{ devis_count }}</h3>
|
||||
<p>Devis</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if prospect_status %}
|
||||
<h6 class="border-bottom pb-2 mb-3">Statuts des prospects</h6>
|
||||
<div class="row">
|
||||
{% for status, count in prospect_status.items() %}
|
||||
<div class="col-md-4 mb-2 text-center">
|
||||
<span class="badge bg-{{ status|lower == 'nouveau' and 'primary' or (status|lower == 'contacté' and 'info' or (status|lower == 'qualifié' and 'success' or (status|lower == 'proposition' and 'warning' or 'secondary'))) }} mb-2">{{ status }}</span>
|
||||
<h5>{{ count }}</h5>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h5 class="card-title mb-0">Prospects récents</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nom</th>
|
||||
<th>Entreprise</th>
|
||||
<th>Email</th>
|
||||
<th>Statut</th>
|
||||
<th>Dernier contact</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% if recent_prospects %}
|
||||
{% for prospect in recent_prospects %}
|
||||
<tr>
|
||||
<td>{{ prospect.name }}</td>
|
||||
<td>{{ prospect.company }}</td>
|
||||
<td>{{ prospect.email }}</td>
|
||||
<td>
|
||||
<span class="badge bg-{{ prospect.status|lower == 'nouveau' and 'primary' or (prospect.status|lower == 'contacté' and 'info' or (prospect.status|lower == 'qualifié' and 'success' or (prospect.status|lower == 'proposition' and 'warning' or 'secondary'))) }}">
|
||||
{{ prospect.status }}
|
||||
</span>
|
||||
</td>
|
||||
<td>{{ prospect.last_contact|datetime('%d/%m/%Y') if prospect.last_contact else 'N/A' }}</td>
|
||||
<td>
|
||||
<a href="{{ url_for('prospect_details', prospect_id=prospect.id) }}" class="btn btn-sm btn-info" title="Détails">
|
||||
<i class="fas fa-eye"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<tr>
|
||||
<td colspan="6" class="text-center">Aucun prospect récent</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue