Fix error

parent 2e96f7c5
...@@ -1817,7 +1817,26 @@ def reports(): ...@@ -1817,7 +1817,26 @@ def reports():
except Exception as e: except Exception as e:
logger.error(f"Reports page error: {str(e)}") logger.error(f"Reports page error: {str(e)}")
flash('Error loading reports', 'error') flash('Error loading reports', 'error')
return render_template('main/reports.html', reports=[], pagination=None, client_ids=[]) return render_template('main/reports.html',
clients=[],
pagination=None,
client_data=[],
totals={
'total_payin': 0.0,
'total_payout': 0.0,
'total_balance': 0.0,
'cap_balance': 0.0
},
filters={
'client_id': '',
'date_range': 'today',
'start_date': '',
'end_date': '',
'start_time': '',
'end_time': '',
'sort_by': 'sync_timestamp',
'sort_order': 'desc'
})
@csrf.exempt @csrf.exempt
@bp.route('/reports/<int:sync_id>') @bp.route('/reports/<int:sync_id>')
...@@ -2527,5 +2546,11 @@ def client_report_detail(client_id): ...@@ -2527,5 +2546,11 @@ def client_report_detail(client_id):
except Exception as e: except Exception as e:
logger.error(f"Client report detail error: {str(e)}") logger.error(f"Client report detail error: {str(e)}")
flash('Error loading client report details', 'error') flash('Error loading client report details', 'error')
return redirect(url_for('main.reports')) return redirect(url_for('main.reports',
client_id=client_id_filter if 'client_id_filter' in locals() else '',
date_range=date_range_filter if 'date_range_filter' in locals() else 'today',
start_date=start_date_filter if 'start_date_filter' in locals() else '',
end_date=end_date_filter if 'end_date_filter' in locals() else '',
start_time=start_time_filter if 'start_time_filter' in locals() else '',
end_time=end_time_filter if 'end_time_filter' in locals() else ''))
return redirect(url_for('main.sync_logs')) return redirect(url_for('main.sync_logs'))
\ No newline at end of file
...@@ -13,9 +13,9 @@ ...@@ -13,9 +13,9 @@
<i class="fas fa-download"></i> Export <i class="fas fa-download"></i> Export
</button> </button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a class="dropdown-item" href="{{ url_for('main.reports', export='csv', **filters) }}">Export as CSV</a></li> <li><a class="dropdown-item" href="{{ url_for('main.reports', export='csv', client_id=filters.client_id, date_range=filters.date_range, start_date=filters.start_date, end_date=filters.end_date, start_time=filters.start_time, end_time=filters.end_time, sort_by=filters.sort_by, sort_order=filters.sort_order) }}">Export as CSV</a></li>
<li><a class="dropdown-item" href="{{ url_for('main.reports', export='xlsx', **filters) }}">Export as Excel</a></li> <li><a class="dropdown-item" href="{{ url_for('main.reports', export='xlsx', client_id=filters.client_id, date_range=filters.date_range, start_date=filters.start_date, end_date=filters.end_date, start_time=filters.start_time, end_time=filters.end_time, sort_by=filters.sort_by, sort_order=filters.sort_order) }}">Export as Excel</a></li>
<li><a class="dropdown-item" href="{{ url_for('main.reports', export='pdf', **filters) }}">Export as PDF</a></li> <li><a class="dropdown-item" href="{{ url_for('main.reports', export='pdf', client_id=filters.client_id, date_range=filters.date_range, start_date=filters.start_date, end_date=filters.end_date, start_time=filters.start_time, end_time=filters.end_time, sort_by=filters.sort_by, sort_order=filters.sort_order) }}">Export as PDF</a></li>
</ul> </ul>
</div> </div>
</div> </div>
...@@ -165,7 +165,7 @@ ...@@ -165,7 +165,7 @@
{{ "{:,.2f}".format(client.cap_balance) }} {{ "{:,.2f}".format(client.cap_balance) }}
</td> </td>
<td> <td>
<a href="{{ url_for('main.client_report_detail', client_id=client.client_id, **filters) }}" class="btn btn-sm btn-info"> <a href="{{ url_for('main.client_report_detail', client_id=client.client_id, date_range=filters.date_range, start_date=filters.start_date, end_date=filters.end_date, start_time=filters.start_time, end_time=filters.end_time) }}" class="btn btn-sm btn-info">
<i class="fas fa-eye"></i> Details <i class="fas fa-eye"></i> Details
</a> </a>
</td> </td>
...@@ -181,7 +181,7 @@ ...@@ -181,7 +181,7 @@
<ul class="pagination justify-content-center"> <ul class="pagination justify-content-center">
{% if pagination.has_prev %} {% if pagination.has_prev %}
<li class="page-item"> <li class="page-item">
<a class="page-link" href="{{ url_for('main.reports', page=pagination.prev_num, **filters) }}">Previous</a> <a class="page-link" href="{{ url_for('main.reports', page=pagination.prev_num, client_id=filters.client_id, date_range=filters.date_range, start_date=filters.start_date, end_date=filters.end_date, start_time=filters.start_time, end_time=filters.end_time, sort_by=filters.sort_by, sort_order=filters.sort_order) }}">Previous</a>
</li> </li>
{% endif %} {% endif %}
...@@ -191,7 +191,7 @@ ...@@ -191,7 +191,7 @@
<li class="page-item active"><span class="page-link">{{ page_num }}</span></li> <li class="page-item active"><span class="page-link">{{ page_num }}</span></li>
{% else %} {% else %}
<li class="page-item"> <li class="page-item">
<a class="page-link" href="{{ url_for('main.reports', page=page_num, **filters) }}">{{ page_num }}</a> <a class="page-link" href="{{ url_for('main.reports', page=page_num, client_id=filters.client_id, date_range=filters.date_range, start_date=filters.start_date, end_date=filters.end_date, start_time=filters.start_time, end_time=filters.end_time, sort_by=filters.sort_by, sort_order=filters.sort_order) }}">{{ page_num }}</a>
</li> </li>
{% endif %} {% endif %}
{% else %} {% else %}
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
{% if pagination.has_next %} {% if pagination.has_next %}
<li class="page-item"> <li class="page-item">
<a class="page-link" href="{{ url_for('main.reports', page=pagination.next_num, **filters) }}">Next</a> <a class="page-link" href="{{ url_for('main.reports', page=pagination.next_num, client_id=filters.client_id, date_range=filters.date_range, start_date=filters.start_date, end_date=filters.end_date, start_time=filters.start_time, end_time=filters.end_time, sort_by=filters.sort_by, sort_order=filters.sort_order) }}">Next</a>
</li> </li>
{% endif %} {% endif %}
</ul> </ul>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment