﻿# fix_routes.py
import re

# Read the file
with open('app/routes.py', 'r', encoding='utf-8') as f:
    content = f.read()

# Find where to insert (before @app.route('/payouts'))
insert_pos = content.find("@app.route('/payouts')")

# The new route with proper indentation
new_route = """
    @app.route('/contracts/<int:contract_id>/ratings')
    @login_required
    def view_ratings(contract_id):
        '''View ratings for a completed contract'''
        from app.models.contract import Contract
        from app.models.rating import Rating
        from app.models.user import User

        contract = Contract.query.get_or_404(contract_id)

        if current_user.id not in [contract.contractor_id, contract.worker_id]:
            flash('You do not have access to view these ratings.', 'error')
            return redirect(url_for('dashboard'))

        ratings = Rating.query.filter_by(contract_id=contract_id).all()

        reviews = []
        for rating in ratings:
            reviewer = User.query.get(rating.rater_id)
            reviewee = User.query.get(rating.rated_id)

            reviews.append({
                'reviewer': reviewer,
                'reviewee': reviewee,
                'overall_rating': rating.overall_score,
                'quality_rating': rating.quality_score,
                'communication_rating': rating.communication_score,
                'reliability_rating': rating.reliability_score,
                'professionalism_rating': rating.professionalism_score,
                'safety_rating': rating.professionalism_score,
                'comment': rating.review_text,
                'would_work_again': True
            })

        return render_template('contracts/ratings.html',
                             contract=contract,
                             reviews=reviews)

    """

# Insert the new route
new_content = content[:insert_pos] + new_route + content[insert_pos:]

# Write back
with open('app/routes.py', 'w', encoding='utf-8') as f:
    f.write(new_content)

print(" Added view_ratings route successfully")
