Esempio n. 1
0
    def get_admin(cls, agent_id):
        agnet_objs = cls.objects.prefetch_related('channel', 'server', 'server_group').filter(id=agent_id)
        agnet_obj = agnet_objs[0]
        admin = Admin()
        admin.id = -1
        admin.alias = agnet_obj.alias
        admin.username = agnet_obj.username
        admin.last_ip = agnet_obj.last_ip
        admin.login_count = agnet_obj.login_count
        admin.last_ip = agnet_obj.last_ip
        admin.create_time = agnet_obj.create_time
        admin.last_time = agnet_obj.last_time
        admin.session_key = agnet_obj.session_key

        menu_resouces = Role.objects.get(name="渠道").get_resource('menu')

        admin.set_resource('menu', menu_resouces)
        admin.set_resource('channel', agnet_obj.channel)
        admin.set_resource('agent', agnet_objs)

        # 如果勾选了分区 即有分区下的所有服务器权限

        from models.server import Server
        agent_servers = Server.objects.filter(Q(group__id__in=agnet_obj.server_group.all()) \
                                              | Q(id__in=agnet_obj.server.all())
                                              ).distinct()

        admin.set_resource('server', agent_servers)
        admin.set_resource('server_group', agnet_obj.server_group)
        return admin
Esempio n. 2
0
def admin_edit(request, admin_id=0):
    '''管理员编辑
    '''
    admin_id = admin_id or int(request.REQUEST.get('id', '0'))
    if admin_id:
        model = request.admin.get_manageable_admin().get(id=admin_id)
        model.password = ''
    else:
        model = Admin()
        model.id = admin_id
    return render_to_response('system/admin_edit.html', locals())
Esempio n. 3
0
# -*- coding: utf8 -*-
from flask import Flask
from werkzeug.security import generate_password_hash
from models.admin import Admin
from init import create_app
from models import db, generate_id


app = create_app(Flask(__name__))


with app.app_context():
    with db.auto_commit():
        # 创建一个超级管理员
        user = Admin()
        user.account = 'super'
        user.password = generate_password_hash('123456')
        user.id = generate_id(u'超级管理员')
        user.auth = 2
        db.session.add(user)