refact: use repositories patterns for classes
This commit is contained in:
		| @@ -1,8 +1,8 @@ | ||||
| from flask import Blueprint, render_template, redirect, url_for, flash, request, jsonify, current_app | ||||
| from models import db, ClassGroup | ||||
| from models import db | ||||
| from forms import AssessmentForm | ||||
| from services import AssessmentService | ||||
| from repositories import AssessmentRepository | ||||
| from repositories import AssessmentRepository, ClassRepository | ||||
| from utils import handle_db_errors, ValidationError | ||||
|  | ||||
| bp = Blueprint('assessments', __name__, url_prefix='/assessments') | ||||
| @@ -11,6 +11,7 @@ bp = Blueprint('assessments', __name__, url_prefix='/assessments') | ||||
| @handle_db_errors | ||||
| def list(): | ||||
|     assessment_repo = AssessmentRepository() | ||||
|     class_repo = ClassRepository() | ||||
|      | ||||
|     # Récupérer les paramètres de filtrage | ||||
|     trimester_filter = request.args.get('trimester', '') | ||||
| @@ -30,7 +31,7 @@ def list(): | ||||
|     total_assessments = assessment_repo.find_by_filters() | ||||
|      | ||||
|     # Récupérer toutes les classes pour le filtre | ||||
|     classes = ClassGroup.query.order_by(ClassGroup.name.asc()).all() | ||||
|     classes = class_repo.find_for_form_choices() | ||||
|      | ||||
|     return render_template('assessments.html',  | ||||
|                          assessments=assessments,  | ||||
| @@ -115,8 +116,10 @@ def _handle_unified_assessment_request(form, assessment=None, is_edit=False): | ||||
| @handle_db_errors | ||||
| def edit(id): | ||||
|     assessment_repo = AssessmentRepository() | ||||
|     class_repo = ClassRepository() | ||||
|     assessment = assessment_repo.get_with_full_details_or_404(id) | ||||
|     form = AssessmentForm(obj=assessment) | ||||
|     form.populate_class_choices(class_repo) | ||||
|      | ||||
|     result = _handle_unified_assessment_request(form, assessment, is_edit=True) | ||||
|     if result: | ||||
| @@ -163,7 +166,9 @@ def edit(id): | ||||
| @handle_db_errors | ||||
| def new(): | ||||
|     from app_config import config_manager | ||||
|     class_repo = ClassRepository() | ||||
|     form = AssessmentForm() | ||||
|     form.populate_class_choices(class_repo) | ||||
|      | ||||
|     result = _handle_unified_assessment_request(form, is_edit=False) | ||||
|     if result: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user