46 lines
No EOL
1.5 KiB
Python
46 lines
No EOL
1.5 KiB
Python
"""
|
|
Lots Routes - GMAO Collège
|
|
Gestion des lots de maintenance
|
|
"""
|
|
from flask import Blueprint, render_template, request, flash, redirect, url_for
|
|
from flask_login import login_required
|
|
from app_new.extensions import db
|
|
from ..core.models.maintenance import Lot, LotTask
|
|
from ..core.models.company import Company
|
|
|
|
lots_bp = Blueprint('lots', __name__)
|
|
|
|
@lots_bp.route('/')
|
|
@login_required
|
|
def index():
|
|
"""Liste des lots."""
|
|
lots = Lot.query.order_by(Lot.name).all()
|
|
return render_template('lots/index.html', lots=lots)
|
|
|
|
@lots_bp.route('/<int:id>')
|
|
@login_required
|
|
def detail(id):
|
|
"""Détail d'un lot."""
|
|
from app_new.core.models.equipment import Equipment
|
|
lot = Lot.query.get_or_404(id)
|
|
# Récupérer les équipements de ce lot
|
|
equipments = Equipment.query.filter_by(lot_id=id).order_by(Equipment.name).all()
|
|
return render_template('lots/detail.html', lot=lot, equipments=equipments)
|
|
|
|
@lots_bp.route('/<int:id>/edit')
|
|
@login_required
|
|
def edit(id):
|
|
"""Modifier un lot (formulaire)."""
|
|
lot = Lot.query.get_or_404(id)
|
|
# TODO: formulaire d'édition
|
|
flash("Fonctionnalité en cours de développement", "info")
|
|
return redirect(url_for('lots.detail', id=id))
|
|
|
|
@lots_bp.route('/<int:id>/delete', methods=['POST'])
|
|
@login_required
|
|
def delete(id):
|
|
"""Supprimer un lot."""
|
|
lot = Lot.query.get_or_404(id)
|
|
# TODO: suppression avec déplacement vers corbeille
|
|
flash("Fonctionnalité en cours de développement", "info")
|
|
return redirect(url_for('lots.index')) |