update admin panel users
This commit is contained in:
parent
26b2b64371
commit
4be4d21514
5 changed files with 133 additions and 7 deletions
|
@ -26,3 +26,26 @@ class ControllerManageUsers:
|
|||
'total': models.Users.select().count(),
|
||||
'items': models.Users.select()
|
||||
}
|
||||
|
||||
def item_get(self, user_id):
|
||||
return models.Users.select().where(models.Users.id == user_id)[0]
|
||||
|
||||
|
||||
class ControllerManageUsersDetails:
|
||||
def exists(self, user_id):
|
||||
if models.UsersDetails.select().where(models.UsersDetails.user == user_id).count() == 0:
|
||||
return False
|
||||
return True
|
||||
|
||||
def item_get(self, user_id):
|
||||
return models.UsersDetails.select().where(models.UsersDetails.user == user_id)[0]
|
||||
|
||||
|
||||
class ControllerManageUsersBalance:
|
||||
def exists(self, user_id):
|
||||
if models.UsersBalance.select().where(models.UsersBalance.user == user_id).count() == 0:
|
||||
return False
|
||||
return True
|
||||
|
||||
def item_get(self, user_id):
|
||||
return models.UsersBalance.select().where(models.UsersBalance.user == user_id)[0]
|
||||
|
|
|
@ -12,6 +12,9 @@ from app import models
|
|||
from app.cloud.controllers.common import special_match
|
||||
from app.cloud.controllers.common import ControllerMessagesEmail
|
||||
from app.cloud.controllers.administrators import ControllerAdministrators
|
||||
from app.cloud.controllers.users.manage import ControllerManageUsers
|
||||
from app.cloud.controllers.users.manage import ControllerManageUsersDetails
|
||||
from app.cloud.controllers.users.manage import ControllerManageUsersBalance
|
||||
|
||||
|
||||
viewAdministrator = Blueprint('administrator', __name__, url_prefix='/administrator')
|
||||
|
@ -83,13 +86,31 @@ def users():
|
|||
# auth user
|
||||
if not ControllerAdministrators().auth(session['admin_email'], session['admin_password']):
|
||||
return redirect(url_for("administrator.logout"))
|
||||
# формируем массив со списком пользователей
|
||||
users_items = {
|
||||
'total': models.Users.select().count(),
|
||||
'items': models.Users.select()
|
||||
}
|
||||
#
|
||||
return render_template('administrator/users/index.html', users=users_items)
|
||||
return render_template(
|
||||
'administrator/users/index.html',
|
||||
users=ControllerManageUsers().items_get()
|
||||
)
|
||||
|
||||
|
||||
@viewAdministrator.route('/users/details/<uuid:user_id>')
|
||||
def user_details(user_id):
|
||||
# check session
|
||||
if not ControllerAdministrators().check_session():
|
||||
return redirect(url_for("administrator.logout"))
|
||||
# auth user
|
||||
if not ControllerAdministrators().auth(session['admin_email'], session['admin_password']):
|
||||
return redirect(url_for("administrator.logout"))
|
||||
# check exists user by uuid
|
||||
if not ControllerManageUsers().exists_by_id(user_id):
|
||||
return redirect(url_for('administrator.users'))
|
||||
#
|
||||
return render_template(
|
||||
'administrator/users/details.html',
|
||||
user_account=ControllerManageUsers().item_get(user_id),
|
||||
user_details=ControllerManageUsersDetails().item_get(user_id),
|
||||
user_balance=ControllerManageUsersBalance().item_get(user_id),
|
||||
)
|
||||
|
||||
|
||||
@viewAdministrator.route('/rules/')
|
||||
|
|
|
@ -55,6 +55,8 @@ class Ips(PgSQLModel):
|
|||
ipv6 = CharField()
|
||||
ipv4_gateway = CharField()
|
||||
ipv6_gateway = CharField()
|
||||
# 0 - free
|
||||
# 1 - used
|
||||
status = IntegerField()
|
||||
|
||||
|
||||
|
@ -100,6 +102,9 @@ class UsersBalanceTransactions(PgSQLModel):
|
|||
amount = FloatField(default=0, null=False)
|
||||
created = DateTimeField(default=datetime.datetime.now)
|
||||
notified = IntegerField(null=False, default=0)
|
||||
# success
|
||||
# process
|
||||
# fail
|
||||
status = TextField(null=False)
|
||||
|
||||
|
||||
|
@ -115,6 +120,12 @@ class Containers(PgSQLModel):
|
|||
user = ForeignKeyField(Users)
|
||||
ipv4 = CharField()
|
||||
ipv6 = CharField()
|
||||
# 0
|
||||
# 1
|
||||
# 2
|
||||
# 3
|
||||
# 4
|
||||
# 5
|
||||
status = IntegerField()
|
||||
|
||||
|
||||
|
|
71
app/templates/administrator/users/details.html
Normal file
71
app/templates/administrator/users/details.html
Normal file
|
@ -0,0 +1,71 @@
|
|||
{% extends 'administrator/_layout.auth.html' %}
|
||||
|
||||
{% block title %}User details{% endblock %}
|
||||
|
||||
{% block subtitle %}User details{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h4>Account</h4>
|
||||
<table class="table table-border">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td>{{ user_account['id'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Email</td>
|
||||
<td>{{ user_account['email'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Status</td>
|
||||
<td>{{ user_account['status'] }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Details</h4>
|
||||
<a href="">Edit</a>
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>First name</td>
|
||||
<td>{{ user_details['fname'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last name</td>
|
||||
<td>{{ user_details['lname'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Address</td>
|
||||
<td>{{ user_details['address'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>City</td>
|
||||
<td>{{ user_details['city'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Country</td>
|
||||
<td>{{ user_details['country'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>State</td>
|
||||
<td>{{ user_details['state'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ZIP code</td>
|
||||
<td>{{ user_details['zipcode'] }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Balance</h4>
|
||||
<a href="">Add money</a>
|
||||
<table class="table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Balance</td>
|
||||
<td>{{ user_balance['balance'] }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4>Transactions history</h4>
|
||||
...
|
||||
{% endblock %}
|
|
@ -24,7 +24,7 @@
|
|||
<td>{{ user.email }}</td>
|
||||
<td>{{ user.status }}</td>
|
||||
<td>
|
||||
<a href="#myModal" id="myModal">Edit</a>
|
||||
<a href="{{ url_for('administrator.user_details', user_id=user.id) }}">Edit</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
Loading…
Add table
Reference in a new issue