from flask import request, jsonify from flask_login import current_user from app import db from app.models import Task, WorkDetail from app.service.logger import log_activity def get_blocks_by_district_controller(): district = request.args.get('district') if not district: return jsonify({'blocks': []}) blocks = ( db.session.query(Task.block_name) .filter(Task.district == district) .distinct() .all() ) return jsonify({'blocks': [b[0] for b in blocks]}) def get_tasks_by_block_controller(): block = request.args.get('block') if not block: return jsonify({'tasks': []}) tasks = ( db.session.query(Task.task_name) .filter(Task.block_name == block) .distinct() .all() ) task_list = [ task[0].strip() .replace(",", "") .replace("(", "") .replace(")", "") .replace(".", "") .replace("&", "") .replace("\n", "") for task in tasks ] log_activity( current_user.username, "Fetch Tasks", f"Fetched tasks for block {block}" ) return jsonify({'tasks': task_list}) def get_villages_for_block(block_name): villages = ( db.session.query(WorkDetail.name_of_village) .filter(WorkDetail.block == block_name) .distinct() .order_by(WorkDetail.name_of_village) .all() ) return [v[0] for v in villages if v[0]] def get_villages_by_block_controller(): block = request.args.get('block') villages = get_villages_for_block(block) log_activity( current_user.username, "Fetch Villages", f"Fetched villages for block {block}" ) return jsonify({'villages': villages})