# coding: utf-8 from flask import Blueprint, flash, g, redirect, render_template, request, session, url_for from SWSCloudCore.controllers.administrators import ControllerAdministrators from SWSCloudCore.controllers.billing import ControllerBilling from SWSCloudCore.controllers.users.manage import ControllerManageUsers from SWSCloudCore.controllers.users.manage import ControllerManageUsersBalance from SWSCloudCore.controllers.users.manage import ControllerManageUsersDetails from SWSCloudAdministrator.Administrator.common import requires_login view_administrator_users = Blueprint('administrator_users', __name__, url_prefix='/administrator/users') @view_administrator_users.route('/') @requires_login def users(): # return render_template( 'administrator/users/index.html', users=ControllerManageUsers().items_get()) @view_administrator_users.route('/details/.html') @requires_login def user_details(user_id): # check exists user by uuid if not ControllerManageUsers().exists_by_id(user_id): return redirect(url_for('administrator_users.users')) # if not ControllerBilling().exists(user_id): ControllerBilling().create(user_id, g.settings.get('bonus', 0)) 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)) @view_administrator_users.route('/credit_increase.html', methods=['POST']) @requires_login def user_credits_add(): user_id = request.form.get('user_id') __amount = request.form.get('amount') try: amount = float(__amount) except: flash(u'Amount mast have type INT (123) or FLOAT (123.2)') return redirect(url_for('administrator_users.user_details', user_id=user_id)) # check exists user by uuid if not ControllerManageUsers().exists_by_id(user_id): return redirect(url_for('administrator_users.users')) # if not ControllerBilling().exists(user_id): ControllerBilling().create(user_id, g.settings.get('bonus', 0)) ControllerBilling().increase(user_id, amount) return redirect(url_for('administrator_users.user_details', user_id=user_id))