Пример #1
0
def user_per_modfiy():
    """
    用户信息修改
    :return:
    """
    id = request.values.get('id', -1, type=int)
    new_perm = request.values.get('newperm')
    try:
        user_info = User.query.filter(User.id == id).one()
        if user_info:
            if new_perm == "suamdin":
                User.query.filter(User.id == id).update({User.permissions: 80})
            elif new_perm == "admin":
                User.query.filter(User.id == id).update({User.permissions: 70})
            elif new_perm == "ptman":
                User.query.filter(User.id == id).update({User.permissions: 10})
            else:
                per_modfiy_status = {
                    'status': 500,
                    'message': 'Server Error'
                }
                return json.dumps(per_modfiy_status)
            db.session.commit()
            per_modfiy_status = {
                'status': 1,
                'message': 'success'
            }
            eventlog("[用户信息修改]")
            return json.dumps(per_modfiy_status)
    except Exception as e:
        per_modfiy_status = {
            'status': 500,
            'message': 'Server Error'
        }
        return json.dumps(per_modfiy_status)
Пример #2
0
def admin_query_list():
    """
    后台ajax查询
    :return:
    """
    page = request.args.get('page', 1, type=int)
    request.script_root = url_for('indexview.index', _external=True)
    campusname = b64decode(unquote(request.args.get('campusname', "", type=str)))
    buildname = b64decode(unquote(request.args.get('buildname', "", type=str)))
    devinfo = Dev_DeviceStatus.query.filter(
        Dev_DeviceStatus.DeviceCondition != "N",
        (Dev_DeviceStatus.Campus.like("%" + campusname + "%"), "")[campusname is None],
        (Dev_DeviceStatus.Location.like("%" + buildname + "%"), "")[buildname is None]
    ).order_by(Dev_DeviceStatus.Campus.desc())
    paginateion = devinfo.paginate(
        page, per_page=Setting().pagination
    )
    count = devinfo.count()
    posts = paginateion.items
    campus = Dev_Campus.query.all()
    eventlog(
        "[查询校区/楼宇]" + campusname + buildname + " 第" + str(page) + "页"
    )
    result = {
        'posts': posts,
        'count': count,
        'pagination': paginateion,
        'campus': campus,
        'campusname': campusname.decode('utf-8'),
        'buildname': buildname.decode('utf-8')
    }
    return result
Пример #3
0
def user_delete():
    """
    删除用户
    :return:
    """
    id = request.values.get("array_id")
    try:
        for one in json.loads(id):
            user_info = User.query.filter(User.id == one)
            if user_info:
                user_info.delete()
                eventlog("[尝试删除用户] " + str(one))
        db.session.commit()
        user_del_status = {
            'status': 1,
            'message': 'success'
                    }
        eventlog("[删除用户成功]")
        return json.dumps(user_del_status)
    except Exception as e:
        user_del_status = {
            'status': 500,
            'message': 'Server Error'
        }
        return json.dumps(user_del_status)
Пример #4
0
def dev_devdown():
    """
    设备下架功能
    :return:
    """
    try:
        dev_id = request.values.get("array_id")
        for one in json.loads(dev_id.encode("utf-8")):
            device = Dev_DeviceInfo.query.filter(
                Dev_DeviceInfo.DeviceID == one)
            if device:
                for each_Row in device:
                    device_Condition = each_Row.DeviceCondition
                    if device_Condition != "N":
                        device.update({Dev_DeviceInfo.DeviceCondition: "N"})
                        Dev_DeviceStatus.query.filter(
                            Dev_DeviceStatus.DeviceModel == one).update(
                                {Dev_DeviceStatus.DeviceCondition: "N"})
                    else:
                        pass
            db.session.commit()
            DCondition_result = {'status': 1, 'message': 'ok'}
        eventlog("[下架设备] " + str(dev_id))
        LVRNumRefresh()
        return json.dumps(DCondition_result)
    except Exception as e:
        print(e)
        DCondition_result = {'status': 500, 'message': 'Server Error'}
        return json.dumps(DCondition_result)
Пример #5
0
def admin_query_serach():
    """
    后台搜索
    :return:
    """
    request.script_root = url_for('indexview.index', _external=True)
    page = request.args.get('page', 1, type=int)
    word = request.args.get('keyword', "", type=str)
    serach = unquote(b64decode(word)).decode('utf-8')
    serp = qserach(serach)
    paginateion = serp.paginate(
        page, per_page=Setting().pagination
    )
    count = serp.count()
    posts = paginateion.items
    eventlog(
        "[搜索]" + serach.encode('utf-8') + " 第" + str(page) + "页"
    )
    result = {
        'posts': posts,
        'count': count,
        'pagiation': paginateion,
        'keyword': serach
    }
    return result
Пример #6
0
def dvr_list_get():
    """
    dvr分类查询
    :return:
    """
    page = request.args.get('page', 1, type=int)
    request.script_root = url_for('indexview.index', _external=True)
    devtype = b64decode(unquote(request.args.get('devtype', "", type=str)))
    devonline = unquote(request.args.get('devonline', "", type=str))
    if devonline == "5piv":
        devonline = "Y"
    elif devonline == "5ZCm":
        devonline = "N"
    devinfo = dvrselectsql(devtype, devonline)
    pagination = devinfo.paginate(page, per_page=Setting().pagination)
    count = devinfo.count()
    datas = pagination.items
    dev_types = DevDevType.query.all()
    result = {
        'datas': datas,
        'count': count,
        'pagination': pagination,
        'devtype': dev_types,
        'devtypebname': devtype.decode('utf-8'),
        'devostatus': devonline
    }
    eventlog("[访问设备管理分类查询页面] " + str(devtype) + str(devonline))
    return result
Пример #7
0
def serach():
    """
    搜索页面
    :return: serach.html模板搜索页面
    """
    page = request.args.get('page', 1, type=int)
    word = request.args.get('keyword', "", type=str)
    serach = unquote(b64decode(word)).decode('utf-8')
    serp = Dev_DeviceStatus.query.filter(
        Dev_DeviceStatus.DeviceCondition != "N",
        (Dev_DeviceStatus.Campus.like("%" + serach + "%"), "")[serach is None]
        | (Dev_DeviceStatus.Location.like("%" + serach + "%"),
           "")[serach is None] |
        (Dev_DeviceStatus.RoomNo.like("%" + serach + "%"), "")[serach is None]
        | (Dev_DeviceStatus.HostName.like("%" + serach + "%"),
           "")[serach is None] |
        (Dev_DeviceStatus.LAA.like("%" + serach + "%"), "")[serach is None] |
        (Dev_DeviceStatus.HigherlinkIP.like("%" + serach + "%"),
         "")[serach is None] |
        (Dev_DeviceStatus.HigherlinkPort.like("%" + serach + "%"),
         "")[serach is None] |
        (Dev_DeviceStatus.DeviceModel.like("%" + serach + "%"),
         "")[serach is None]).order_by(Dev_DeviceStatus.Campus.desc())
    paginateion = serp.paginate(page, per_page=Setting().pagination)
    count = serp.count()
    posts = paginateion.items
    eventlog("[搜索]" + serach.encode('utf-8') + " 第" + str(page) + "页")
    return render_template('serach.html',
                           posts=posts,
                           count=count,
                           pagination=paginateion,
                           keyword=serach)
Пример #8
0
def dev_devdel():
    """
    删除设备功能
    :return:
    """
    try:
        dev_id = request.values.get("array_id")
        for one in json.loads(dev_id.encode("utf-8")):
            device = Dev_DeviceInfo.query.filter(
                Dev_DeviceInfo.DeviceID == one)

            if device.one().DeviceCondition == "Y":
                delete_status = {'status': 2, 'message': '删除前请先下架设备'}
                return json.dumps(delete_status)
            else:
                DevinDStatus = Dev_DeviceStatus.query.filter(
                    Dev_DeviceStatus.DeviceModel == one)
                if DevinDStatus:
                    DevinDStatus.delete()
                device.delete()
                db.session.commit()
                delete_status = {'status': 1, 'message': 'success'}
        eventlog("[删除设备] " + str(dev_id))
        LVRNumRefresh()
        return json.dumps(delete_status)
    except Exception as e:
        delete_status = {'status': 500, 'message': 'error'}
        return json.dumps(delete_status)
Пример #9
0
def user_create():
    """
    创建用户
    :return:
    """
    form = CreateUser()
    if request.method == 'POST':
        if form.validate_on_submit():
            user = User.query.filter_by(
                username=form.username.data
            ).first()
            pwd = request.values.get("pwd")
            if user:
                flash(u"用户名已存在,请更换用户名", "user_error")
            else:
                permissions = form.permission.data
                if permissions == 'ptman':
                    user_permission = 10
                elif permissions == 'admin':
                    user_permission = 70
                elif permissions == 'suadmin':
                    user_permission = 80
                else:
                    abort(500)
                newuser = User(
                    username=form.username.data,password=md5s(None, pwd),permissions=user_permission
                )
                db.session.add(newuser)
                db.session.commit()
                flash(u"新用户创建成功")
                eventlog("[创建用户]")
                return 0
    return form
Пример #10
0
def LVR_Device_Info(LVRNo):
    """
    根据弱电间编号查询设备信息
    :param LVRNo: 弱电间编号
    :return: json结果
    """
    Device_Array = []
    try:

        Device_INFO = Dev_DeviceStatus.query.filter(
            Dev_DeviceStatus.RoomNo == LVRNo)
        for each_Device_INFO in Device_INFO:
            DeviceModel = each_Device_INFO.DeviceModel
            Device = Dev_DeviceInfo.query.filter(
                Dev_DeviceInfo.DeviceID == DeviceModel).one()
            Device_JSON = {}
            Device_JSON["DeviceName"] = Device.DeviceName
            Device_JSON["DeviceCategory"] = Device.DeviceCategory
            Device_JSON["DeviceSN"] = Device.DeviceSN
            Device_JSON["HostName"] = each_Device_INFO.HostName
            Device_JSON["LAA"] = each_Device_INFO.LAA
            Device_JSON["HigherlinkIP"] = each_Device_INFO.HigherlinkIP
            Device_JSON["HigherlinkPordwt"] = each_Device_INFO.HigherlinkPort
            Device_JSON["DeviceModel"] = each_Device_INFO.DeviceModel
            Device_JSON["DeviceCondition"] = each_Device_INFO.DeviceCondition
            Device_Array.append(Device_JSON)
        eventlog("[根据弱电间编号查询设备信息] " + str(LVRNo))
        return json.dumps(Device_Array)
    except Exception as e:
        print(e)
        pass
Пример #11
0
def notice_list():
    """
    通知公告列表
    :return:
    """
    page = request.values.get('page', 1, type=int)
    aname = request.values.get('aname', "", type=str)
    b64aname = b64decode(unquote(aname))
    cuser = request.values.get('cuser', "", type=str)
    b64cuser = b64decode(unquote(cuser))
    cdata = request.values.get('cdata', "", type=str)
    notices = Dev_Note.query.filter(
        (Dev_Note.articlename.like("%" + b64aname + "%"), "")[aname is None],
        (Dev_Note.createuser.like("%" + b64cuser + "%"), "")[cuser is None],
        (Dev_Note.createdate.like("%" + cdata + "%"), "")[cdata is None])
    paginateion = notices.paginate(page, per_page=Setting().pagination)
    posts = paginateion.items
    count = notices.count()
    eventlog("[查看通知公告列表页] " + "第" + str(page) + "页")
    result = {
        'posts': posts,
        'count': count,
        'pagination': paginateion,
        'page': page
    }
    return result
Пример #12
0
def dvr_add_post():
    """
    增加设备功能
    :return:
    """
    dvrdatas = request.get_json()
    for each_dvrinfo in dvrdatas:
        devname = each_dvrinfo['name']
        devtype = each_dvrinfo['type']
        devserial = each_dvrinfo['serial']
        devid = each_dvrinfo['id']
        devputaway = each_dvrinfo['putaway']
        devcampus = each_dvrinfo['campus']
        devlvr = each_dvrinfo['lvr']
        devbuild = each_dvrinfo['build']
        devhostname = each_dvrinfo['hostname']
        devaddr = each_dvrinfo['addr']
        devip = each_dvrinfo['ip']
        devport = each_dvrinfo['port']
        devinfo_db = Dev_DeviceInfo(devname, devtype, devserial, devputaway,
                                    devid)
        devstatus_db = Dev_DeviceStatus(devcampus, devbuild, devlvr,
                                        devhostname, devaddr, devip, devport,
                                        devserial, devputaway)
        db.session.add(devinfo_db)
        if devputaway == "Y":
            db.session.add(devstatus_db)
        else:
            pass
        db.session.commit()
    status = {'status': 200}
    LVRNumRefresh()
    eventlog("[新增设备]")
    return jsonify(status)
Пример #13
0
def logviews():
    """
    操作日志界面
    :return: 返回数据查询结果并构建相应页面
    """
    if request.method == "GET":
        page = request.values.get('page', 1, type=int)
        uname = request.values.get('username', "", type=str)
        username = b64decode(unquote(uname))
        catsname = request.values.get('cats', "", type=str)
        cats = b64decode(unquote(catsname))
        date = request.values.get('date', "", type=str)
        logdata = Dev_Loging.query.filter(
            (Dev_Loging.UserName.like("%" + username + "%"), "")[username is None],
            (Dev_Loging.Date.like("%" + date + "%"), "")[date is None],
            (Dev_Loging.Log.like("%" + cats + "%"), "")[cats is None]
        )
        paginateion = logdata.paginate(
            page, per_page=Setting().pagination
        )
        posts = paginateion.items
        count = logdata.count()
        eventlog("[查看日志]" + " 第" + str(page) +"页")
        return render_template(
            '/admin/log.html', posts=posts, count=count, pagination=paginateion,
            page=page, username=uname, cats=catsname, date=date,
            thuname=username.decode('utf-8'), thcats=cats.decode('utf-8')
        )
    elif request.method == "POST":
        cleancode = request.values.get('logcode', 'None', type=str)
        if cleancode == "all":
            return emptylog()
        else:
            page = request.values.get('page', 1, type=int)
            uname = request.values.get('username', "", type=str)
            username = b64decode(unquote(uname))
            catsname = request.values.get('cats', "", type=str)
            cats = b64decode(unquote(catsname))
            date = request.values.get('date', "", type=str)
            logdata = Dev_Loging.query.filter(
                (Dev_Loging.UserName.like("%" + username + "%"), "")[username is None],
                (Dev_Loging.Date.like("%" + date + "%"), "")[date is None],
                (Dev_Loging.Log.like("%" + cats + "%"), "")[cats is None]
            )
            paginateion = logdata.paginate(
                page, per_page=Setting().pagination
            )
            posts = paginateion.items
            count = logdata.count()
            eventlog("[查看日志]" + " 第" + str(page) + "页")
            return render_template(
                '/admin/log.html', posts=posts, count=count, pagination=paginateion,
                page=page, username=uname, cats=catsname, date=date,
                thuname=username.decode('utf-8'), thcats=cats.decode('utf-8')
            )
Пример #14
0
def notice_modfiy_get(id):
    """
    修改公告
    :param id: 公告id
    :return:
    """
    eventlog("[访问修改公告页面 公告id: " + str(id) + "]")
    note = Dev_Note.query.filter(Dev_Note.id == id).one()
    notename = note.articlename
    notecontent = note.article
    result = {'notename': notename, 'notecontent': notecontent}
    return result
Пример #15
0
def index():
    """首页函数"""
    eventlog(
        "[访问首页]"
    )
    page = request.args.get('page', 1, type=int)
    request.script_root = url_for('indexview.index', _external=True)
    count = Dev_DeviceStatus.query.count()
    pagination = Dev_DeviceStatus.query.filter(Dev_DeviceStatus.DeviceCondition != "N").order_by(Dev_DeviceStatus.Campus.desc()).paginate(
        page, per_page=Setting().page_index
    )
    posts = pagination.items
    campus = Dev_Campus.query.all()
    return render_template('index.html', posts=posts, count=count, pagination=pagination, campus=campus)
Пример #16
0
def notice_delete(id):
    """
    删除公告
    :param id:
    :return:
    """
    delstatus = {"status": 1, "message": "success"}
    notice = Dev_Note.query.filter(Dev_Note.id == id)
    if not notice:
        delstatus['status'] = 404
        delstatus['message'] = "Not Found"
        return json.dumps(delstatus)
    notice.delete()
    db.session.commit()
    eventlog("[删除公告 公告id: " + str(id) + "]")
    return json.dumps(delstatus)
Пример #17
0
def admin_userindex():
    """
    用户管理
    :return:
    """
    page = request.args.get('page', 1 ,type=int)
    ulevel = request.args.get('level', "", type=str)
    if ulevel == "all":
        upkey = ""
    elif ulevel == "su":
        upkey = 80
    elif ulevel == "admin":
        upkey = 70
    elif ulevel == "ordman":
        upkey = 10
    else:
        upkey = ""
    request.script_root = url_for('indexview.index', _external=True)
    if upkey == "":
        pagination = User.query.order_by(User.id.asc()).paginate(
            page, per_page=Setting().pagination
        )
        count = User.query.count()
    else:
        pagination = User.query.filter(
            User.permissions == upkey
        ).order_by(User.id.asc()).paginate(
            page, per_page=Setting().pagination
        )
        count = User.query.filter(
            User.permissions == upkey
        ).count()
    posts = pagination.items
    suadmin_count = User.query.filter(User.permissions == 80).count()
    admin_count = User.query.filter(User.permissions == 70).count()
    ord_count = User.query.filter(User.permissions == 10).count()
    result = {
        'posts': posts,
        'count': count,
        'pagination': pagination,
        'all_count': count,
        'suadmin_count': suadmin_count,
        'admin_count': admin_count,
        'user_count': ord_count
    }
    eventlog("[访问用户信息页面]")
    return result
Пример #18
0
def notecreate():
    """
    通知公告创建页面
    :return:
    """
    if request.method == 'GET':
        eventlog("[访问创建公告页面]")
        notename = ""
        notecontent = ""
        return render_template(
            '/admin/notecreate.html',
            name=notename,
            editorcontent=notecontent,
            operation=u"创建公告"
        )
    if request.method == 'POST':
        id = notice_create_post()
        return redirect(url_for('adminbg.notecreate_id', id=id))
Пример #19
0
def login():
    """登录函数,处理登录页面,使用login.html模板"""
    if request.method == 'POST':
        user = User.query.filter_by(
            username=request.form['username'],
            password=md5s(None, request.form['password'])).first()
        if user:
            login_user(user)
            eventlog("[登录成功]")
            params = request.args.get('next')
            if params:
                return redirect(params)
            return redirect(url_for('indexview.index'))
        else:
            flash(u"登录失败!")
            logonlog(
                "", "[登录失败] " + str(request.form['username']) + " " +
                str(request.form['password']))
    form = LoginForm()
    return render_template('login.html', form=form)
Пример #20
0
def dvr_manage_get():
    """
    dvr管理页面路由逻辑
    :return:
    """
    page = request.args.get('page', 1, type=int)
    request.script_root = url_for('indexview.index', _external=True)
    count = Dev_DeviceInfo.query.count()
    pagination = Dev_DeviceInfo.query.order_by(
        Dev_DeviceInfo.ID.asc()).paginate(page, per_page=Setting().pagination)
    datas = pagination.items
    devtype = DevDevType.query.all()
    result = {
        'datas': datas,
        'count': count,
        'pagination': pagination,
        'devtype': devtype
    }
    eventlog("[访问设管理页面]")
    return result
Пример #21
0
def dvr_search_get():
    """
    dvr搜索路由逻辑
    :return:
    """
    request.script_root = url_for('indexview.index', _external=True)
    page = request.args.get('page', 1, type=int)
    word = request.args.get('keyword', "", type=str)
    serach = unquote(b64decode(word)).decode('utf-8')
    serp = dvrsearchsql(serach)
    pagination = serp.paginate(page, per_page=Setting().pagination)
    count = serp.count()
    datas = pagination.items
    eventlog("[管理后台设备信息 搜索]" + serach.encode('utf-8') + " 第" + str(page) + "页")
    result = {
        'datas': datas,
        'count': count,
        'pagination': pagination,
        'keyword': serach
    }
    return result
Пример #22
0
def sysmanage():
    """
    系统设置页面
    :return: 返回数据查询结果并构建相应页面
    """
    eventlog("[访问系统设置]")
    default_value = ""
    if request.method == 'POST':
        pagesize = request.form.get('syspagen', 1)
        pagesize_index = request.form.get('syspageindex', 1)
        if pagesize.isdigit():
            optionsupdate('pagination', int(pagesize))
            optionsupdate('pagination_index', int(pagesize_index))
            flash(u"修改完成", 'success')
            eventlog("[修改系统设置]")
        else:
            session.pop('_flashes', None)
            flash(u"分页条数输入有误,请检查输入", 'danger')
    syspagn = Setting().pagination
    syspage_index = Setting().page_index
    return render_template('/admin/sysmanage.html', syspagn=syspagn, syspageindex=syspage_index)
Пример #23
0
def dvr_search_post():
    """
    dvr搜索ajax处理
    :return:
    """
    pagenum = request.values.get('pagenum', None, type=int)
    count = request.values.get('count', None, type=int)
    word = request.values.get('keyword', None, type=str)
    search = b64decode(unquote(word)).decode('utf-8')
    serp = dvrsearchsql(search)
    page_num = ((count / Setting().pagination + pagenum),
                0)[count / Setting().pagination == 0]
    paginateion = serp.paginate(page_num, per_page=Setting().pagination)
    serachresult = []
    hasnext = {'next': paginateion.has_next}
    for serachone in paginateion.items:
        jsonlist = serachone.to_json()
        jsonlist.update(hasnext)
        serachresult.append(jsonlist)
    eventlog("[ajax加载搜索页面下一页]" + search.encode('utf-8') + " 第" +
             str(page_num) + "页")
    return jsonify(serachresult)
Пример #24
0
def eventdel(id):
    """
    删除待办事项
    :param id: 待办事项id
    :return:
    """

    delstatus = {
        "status": 1,
        "message": "success"
    }
    event = DevPEvents.query.filter(
        DevPEvents.id == id
    )
    if not event:
        delstatus['status'] = 404
        delstatus['message'] = "Not Found"
        return json.dumps(delstatus)
    event.delete()
    db.session.commit()
    eventlog("[删除待办事项 id: " + str(id) + "]")
    return json.dumps(delstatus)
Пример #25
0
def indexlist():
    """根据校区/楼宇进行查询"""
    page = request.args.get('page', 1, type=int)
    campusname = b64decode(unquote(request.args.get('campusname', "", type=str)))
    buildname = b64decode(unquote(request.args.get('buildname', "", type=str)))
    devinfo = Dev_DeviceStatus.query.filter(
        Dev_DeviceStatus.DeviceCondition != "N",
        (Dev_DeviceStatus.Campus.like("%" + campusname + "%"), "")[campusname is None],
        (Dev_DeviceStatus.Location.like("%" + buildname + "%"), "")[buildname is None]
    ).order_by(Dev_DeviceStatus.Campus.desc())
    paginateion = devinfo.paginate(
        page, per_page=Setting().page_index
    )
    count = devinfo.count()
    posts = paginateion.items
    campus = Dev_Campus.query.all()
    eventlog(
        "[查询校区/楼宇]" + campusname + buildname + " 第" + str(page) + "页"
    )
    return render_template(
        "list.html", posts=posts, count=count, pagination=paginateion, campus=campus,
        ctitle=campusname.decode('utf-8'), btitle=buildname.decode('utf-8')
    )
Пример #26
0
def dev_m_post(jsondata):
    """
    修改设备信息功能
    :param jsondata:
    :return:
    """
    id_array = jsondata['idarray'][0]
    id = jsondata["id"]
    newid = id_array["id"]
    name = id_array["name"]
    serial = id_array["serial"]
    type = id_array["type"]
    try:
        device = Dev_DeviceInfo.query.filter(Dev_DeviceInfo.DeviceID == id)

        if device.count():
            device.update({
                Dev_DeviceInfo.DeviceName: name,
                Dev_DeviceInfo.DeviceID: newid,
                Dev_DeviceInfo.DeviceSN: serial,
                Dev_DeviceInfo.DeviceCategory: type
            })

        device_status = Dev_DeviceStatus.query.filter(
            Dev_DeviceStatus.DeviceModel == id)

        if device_status.count():
            device_status.update({Dev_DeviceStatus.DeviceModel: newid})

        db.session.commit()
        result = {'status': 1, 'message': "ok"}
        eventlog("[修改设备信息] " + str(id))
        LVRNumRefresh()
        return json.dumps(result)
    except Exception as e:
        result = {'status': 0, 'message': "Error"}
        return json.dumps(result)
Пример #27
0
def notecreate_id(id):
    """
    通知公告修改页面
    :return:
    """
    if request.method == 'GET':
        try:
            eventlog("[访问修改公告页面 公告id: " + str(id) + "]")
            result = notice_modfiy_get(id)
            return render_template(
                '/admin/notecreate.html',
                name=result['notename'],
                editorcontent=result['notecontent'],
                operation=u"编辑公告"
            )
        except Exception as e:
            abort(500)
    if request.method == 'POST':

        try:
            note = notice_modfiy_post(id)
            return redirect(url_for('adminbg.notecreate_id', id=note))
        except Exception as e:
            abort(500)
Пример #28
0
def user_pwd_modfiy():
    """
    修改密码
    :return:
    """
    id = request.values.get("id", type=int)
    pwd = request.values.get("pwd", type=str)
    user_info = User.query.filter(User.id == id).first()
    if user_info:
        new_pwd = md5s(None, pwd)
        user_info.password = new_pwd
        db.session.commit()
        su_pwd_status = {
            'status': 1,
            'message': 'success'
        }
        eventlog("[修改密码] " + str(id))
        return json.dumps(su_pwd_status)
    else:
        su_pwd_status = {
            'status': 404,
            'message': '用户未找到'
        }
        return json.dumps(su_pwd_status)
Пример #29
0
def userinfo(username):
    """
    用户信息
    :param username:
    :return:
    """
    lastlogin = Dev_Loging.query.filter(
        Dev_Loging.UserName == username, Dev_Loging.Log.like("%登录成功%")).order_by(
        Dev_Loging.Date.desc()).first()
    if lastlogin:
        logindate = lastlogin.Date
        ip = lastlogin.IP
    else:
        logindate = ""
        ip = ""
    userdb = User.query.filter(User.username == username).first()
    permission = userdb.permissions
    if permission == 80:
        per = u"超级管理员"
    elif permission == 70:
        per = u"管理员"
    elif permission == 10:
        per = u"普通用户"
    else:
        per = u"非法用户"
    form = ChangePwd()
    if request.method == 'POST':
        if form.validate_on_submit():
            user = User.query.filter_by(
                username=username, password=md5s(None, form.oldpwd.data)
            ).first()
            if user:
                newpwd = form.newpwd.data
                user.password = md5s(None, newpwd)
                db.session.commit()
                session.pop('_flashes', None)
                flash(u"密码修改成功,请重新登陆。")
                eventlog(u"[修改密码成功] 跳转到登陆页面")
                return redirect(url_for('loginview.login'))
            else:
                session.pop('_flashes', None)
                flash(u"旧密码错误")
                eventlog(u"[修改密码失败] 旧密码验证失败")
    eventlog(u"[访问个人资料页面]" + username)
    notice = noticeindexlist()
    pevent = peventsindexlist(username)
    return render_template(
        "/user/userinfo.html", username=username, date=logindate, ip=ip, permission=per, form=form,
        note=notice, pevent=pevent
    )
Пример #30
0
def dev_devup(jsondata):
    """
    设备上架功能
    :param jsondata:
    :return:
    """
    if jsondata["op"] == 'get':
        count = 0
        try:
            campus = dev_getCampus()
            dvrtype = dev_getType()
            dev_id = jsondata["idarray"]
            result_array = []
            for one in dev_id:
                deviceinStatus = Dev_DeviceStatus.query.filter(
                    Dev_DeviceStatus.DeviceModel == one)
                if deviceinStatus.count():
                    statusResult = deviceinStatus.one()
                    if statusResult.DeviceCondition == "Y":
                        continue
                    deviceinInfo = Dev_DeviceInfo.query.filter(
                        Dev_DeviceInfo.DeviceID == one).one()
                    infoResult = deviceinInfo
                    count += 1
                    result = {
                        'count': count,
                        'statusResult': statusResult,
                        'infoResult': infoResult
                    }
                    result_array.append(result)
                else:
                    count += 1
                    deviceinInfo = Dev_DeviceInfo.query.filter(
                        Dev_DeviceInfo.DeviceID == one).one()
                    infoResult = deviceinInfo
                    result = {
                        'count': count,
                        'statusResult': '',
                        'infoResult': infoResult
                    }
                    result_array.append(result)
            return result_array, campus, dvrtype
        except Exception as e:
            print(e)
            result = {"status": 404, "message": "Error"}
            return json.dumps(result)
    elif jsondata["op"] == 'post':
        idarray = jsondata["idarray"]
        result = {"status": 0, "message": "Error"}
        for each_dev in idarray:
            dev_id = each_dev["id"]
            DevS_Campus = each_dev["campus"]
            DevS_Location = each_dev["build"]
            DevS_RoomNo = each_dev["lvr"]
            DevS_HostName = each_dev["hostname"]
            DevS_LAA = each_dev["addr"]
            DevS_IP = each_dev["ip"]
            DevS_Port = each_dev["port"]
            DevS_ID = dev_id
            deviceinStatus = Dev_DeviceStatus.query.filter(
                Dev_DeviceStatus.DeviceModel == dev_id)
            if deviceinStatus.count():
                deviceinStatus.update({
                    Dev_DeviceStatus.Campus: DevS_Campus,
                    Dev_DeviceStatus.Location: DevS_Location,
                    Dev_DeviceStatus.RoomNo: DevS_RoomNo,
                    Dev_DeviceStatus.HostName: DevS_HostName,
                    Dev_DeviceStatus.LAA: DevS_LAA,
                    Dev_DeviceStatus.HigherlinkIP: DevS_IP,
                    Dev_DeviceStatus.HigherlinkPort: DevS_Port,
                    Dev_DeviceStatus.DeviceCondition: "Y"
                })
                deviceinInfo = Dev_DeviceInfo.query.filter(
                    Dev_DeviceInfo.DeviceID == dev_id)
                deviceinInfo.update({Dev_DeviceInfo.DeviceCondition: "Y"})
                db.session.commit()
                result = {'status': 1, 'message': "ok"}
            else:
                DevS_DB = Dev_DeviceStatus(DevS_Campus, DevS_Location,
                                           DevS_RoomNo, DevS_HostName,
                                           DevS_LAA, DevS_IP, DevS_Port,
                                           DevS_ID, "Y")
                deviceinInfo = Dev_DeviceInfo.query.filter(
                    Dev_DeviceInfo.DeviceID == dev_id)
                deviceinInfo.update({Dev_DeviceInfo.DeviceCondition: "Y"})
                db.session.add(DevS_DB)
                db.session.commit()
                result = {'status': 1, 'message': "ok"}
        eventlog("[上架设备] " + str(dev_id))
        LVRNumRefresh()
        return json.dumps(result)