Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
MBetterd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mbetter
MBetterd
Commits
ccb5153f
Commit
ccb5153f
authored
Feb 01, 2026
by
Stefy Lanza (nextime / spora )
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix error
parent
2e96f7c5
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
9 deletions
+34
-9
routes.py
app/main/routes.py
+27
-2
reports.html
app/templates/main/reports.html
+7
-7
No files found.
app/main/routes.py
View file @
ccb5153f
...
@@ -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
app/templates/main/reports.html
View file @
ccb5153f
...
@@ -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>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment