Files
notytex/templates/config/general.html

169 lines
9.2 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "base.html" %}
{% block title %}Configuration générale - Notytex{% endblock %}
{% block content %}
<div class="space-y-8">
<!-- Breadcrumb -->
<nav class="flex" aria-label="Breadcrumb">
<ol class="flex items-center space-x-4">
<li>
<a href="{{ url_for('config.index') }}" class="text-gray-400 hover:text-gray-500">
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z" clip-rule="evenodd"/>
</svg>
<span class="sr-only">Configuration</span>
</a>
</li>
<li>
<div class="flex items-center">
<svg class="w-5 h-5 text-gray-400" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"/>
</svg>
<span class="ml-4 text-sm font-medium text-gray-500">Configuration générale</span>
</div>
</li>
</ol>
</nav>
<!-- En-tête -->
<div class="bg-gradient-to-r from-blue-600 to-indigo-600 text-white rounded-xl p-8 shadow-lg">
<div class="flex items-center justify-between">
<div>
<h1 class="text-3xl font-bold mb-2">🏫 Configuration générale</h1>
<p class="text-xl opacity-90">Paramètres système et contexte de l'application</p>
</div>
<div class="hidden md:block">
<div class="w-20 h-20 bg-white/20 rounded-full flex items-center justify-center">
<svg class="w-10 h-10" fill="currentColor" viewBox="0 0 20 20">
<path d="M3 4a1 1 0 011-1h12a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V4zM3 10a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H4a1 1 0 01-1-1v-6zM14 9a1 1 0 00-1 1v6a1 1 0 001 1h2a1 1 0 001-1v-6a1 1 0 00-1-1h-2z"/>
</svg>
</div>
</div>
</div>
</div>
<!-- Formulaire de configuration -->
<div class="bg-white rounded-lg shadow-md">
<form method="POST" action="{{ url_for('config.update_general') }}" class="p-8 space-y-6">
<!-- Section Contexte -->
<div class="border-b border-gray-200 pb-6">
<h3 class="text-lg font-medium text-gray-900 mb-4">📅 Contexte scolaire</h3>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<label for="school_year" class="block text-sm font-medium text-gray-700 mb-2">
Année scolaire
</label>
<input
type="text"
id="school_year"
name="school_year"
value="{{ school_year }}"
pattern="^\d{4}-\d{4}$"
placeholder="2024-2025"
class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
required
>
<p class="mt-1 text-xs text-gray-500">Format attendu : YYYY-YYYY</p>
</div>
</div>
</div>
<!-- Section Évaluations -->
<div class="pb-6">
<h3 class="text-lg font-medium text-gray-900 mb-4">🎯 Configuration des évaluations</h3>
<div class="space-y-4">
<div>
<label for="default_grading_system" class="block text-sm font-medium text-gray-700 mb-2">
Système de notation par défaut
</label>
<select
id="default_grading_system"
name="default_grading_system"
class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
>
<option value="notes" {% if default_grading_system == 'notes' %}selected{% endif %}>
Points (notation classique)
</option>
<option value="score" {% if default_grading_system == 'score' %}selected{% endif %}>
Compétences (échelle 0-3)
</option>
</select>
<p class="mt-1 text-xs text-gray-500">
Système utilisé par défaut lors de la création d'exercices
</p>
</div>
</div>
</div>
<!-- Actions -->
<div class="flex justify-between items-center pt-6 border-t border-gray-200">
<a
href="{{ url_for('config.index') }}"
class="inline-flex items-center px-4 py-2 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"
>
<svg class="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M7.707 14.707a1 1 0 01-1.414 0L2.586 11H13a1 1 0 110 2H2.586l3.707 3.707a1 1 0 01-1.414 1.414l-5-5a1 1 0 010-1.414l5-5a1 1 0 011.414 1.414L2.586 9H13a1 1 0 110 2H7.707z" clip-rule="evenodd"/>
</svg>
Retour
</a>
<div class="flex space-x-3">
<button
type="button"
onclick="resetForm()"
class="inline-flex items-center px-4 py-2 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"
>
<svg class="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z" clip-rule="evenodd"/>
</svg>
Réinitialiser
</button>
<button
type="submit"
class="inline-flex items-center px-6 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"
>
<svg class="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"/>
</svg>
Enregistrer
</button>
</div>
</div>
</form>
</div>
<!-- Informations système -->
<div class="bg-gray-50 rounded-lg p-6">
<h3 class="text-lg font-medium text-gray-900 mb-4"> Informations système</h3>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4 text-sm">
<div>
<span class="font-medium text-gray-600">Version :</span>
<span class="text-gray-900">Notytex 1.0</span>
</div>
<div>
<span class="font-medium text-gray-600">Type de base :</span>
<span class="text-gray-900">SQLite</span>
</div>
<div>
<span class="font-medium text-gray-600">Configuration :</span>
<span class="text-gray-900">Base de données SQLite</span>
</div>
</div>
</div>
</div>
<script>
function resetForm() {
if (confirm('Êtes-vous sûr de vouloir réinitialiser le formulaire ?')) {
document.getElementById('school_year').value = '2025-2026';
document.getElementById('default_grading_system').value = 'competences';
}
}
</script>
{% endblock %}