Пример #1
0
def adduser():
    ret_data = dict()
    try:
        if request.method == 'POST':
            userlevel = User.get_fromid(current_user.get_id()).level

            if (int(userlevel) == int(User.ADMINLEVEL)):

                userid = request.form['userid']
                email = request.form['email']
                password = request.form['password']
                level = request.form['level']

                if (User.newuser(userid, email, password, int(level))):
                    ret_data['result'] = True

                    ### Add event logging
                    message = 'added new user, userid-' + userid + ', email-' + email
                    LogController.addEventLogging(userid=current_user.get_id(),
                                                  detail=message)

                else:
                    ret_data['result'] = False
                    ret_data[
                        'reason'] = 'error happened in adding user to dynamodb'
            else:
                ret_data['result'] = False
                ret_data['reason'] = 'user level is restricetd'
    except:
        pass
    return jsonify(ret_data)
Пример #2
0
def deluser():
    ret_data = dict()
    try:
        if request.method == 'POST':
            userlevel = User.get_fromid(current_user.get_id()).level
            if (int(userlevel) == int(User.ADMINLEVEL)):
                userid = request.form['userid']
                email = request.form['email']

                if (User.deluser(userid, email)):
                    ret_data['result'] = True

                    ### add event log
                    message = 'deleted user, userid-' + userid + ', email-' + email
                    LogController.addEventLogging(userid=current_user.get_id(),
                                                  detail=message)

                else:
                    ret_data['result'] = False
                    ret_data['reason'] = 'error in deleting user'
            else:
                ret_data['result'] = False
                ret_data['reason'] = 'user level is restricetd'
    except:
        pass

    return jsonify(ret_data)
Пример #3
0
def addsite():
    ret_data = dict()
    #if request.method == "GET":
    if request.method == "POST":
        userlevel = User.get_fromid(current_user.get_id()).level
        if (int(userlevel) == int(User.ADMINLEVEL)):

            sitename = request.form['sitename']
            longitude = request.form['longitude']
            latitude = request.form['latitude']

            if (ChargingSite.add_site(sitename, longitude, latitude) == True):
                ret_data['result'] = True
                message = 'new site operation: site name is ' + sitename
                LogController.addEventLogging(userid=current_user.get_id(),
                                              detail=message)
            else:
                ret_data['result'] = False
                ret_data['reason'] = 'adding new site is failed'
        else:
            ret_data['result'] = False
            ret_data['reason'] = 'user level is restricetd'
    else:
        ret_data['result'] = False
    return jsonify(ret_data)
Пример #4
0
def delstation():
    ret_data = dict()
    if request.method == "POST":
        userlevel = User.get_fromid(current_user.get_id()).level
        if (int(userlevel) == int(User.ADMINLEVEL)):
            sitename = request.form['sitename']
            stationName = request.form['shadowName']
            site = ChargingSite.get_site(sitename)
            if (site == None):
                ret_data['result'] = False
                ret_data['reason'] = 'sitename is invalid'
                print(json.dumps(ret_data))
            else:
                if (site.del_station(stationName) == True):
                    ret_data['result'] = True

                    message = 'delete station ' + stationName
                    message += ' in ' + sitename
                    LogController.addEventLogging(userid=current_user.get_id(),
                                                  detail=message)
                else:
                    ret_data['result'] = False
                    ret_data['reason'] = 'station is invalid or database error'
        else:
            ret_data['result'] = False
            ret_data['reason'] = 'user level is restricetd'
    else:
        ret_data['result'] = False
    return jsonify(ret_data)
Пример #5
0
def maindash():
    print('maindash is arrived')
    userlevel = User.get_fromid(current_user.get_id()).level
    print(userlevel)
    return render_template('maindash.html',
                           username=current_user.get_id(),
                           userlevel=str(userlevel))
Пример #6
0
def login_page():
    if request.method == 'POST':
        user = User.get(request.form['usermail'])
        if user and User.hash_pass(request.form['password']) == user.password:
            login_user(user, remember=True)

            ### user login timeout interval
            user.generate_auth_token(TOKENTIMEOUTINTERVAL)

            # send response
            userdata = dict()
            userdata['user_id'] = user.id
            userdata['email'] = user.email
            userdata['level'] = user.level
            return jsonify(userdata)

        else:
            return jsonify(None)
    return render_template("login.html")
Пример #7
0
def delsite():
    ret_data = dict()
    if request.method == "POST":
        userlevel = User.get_fromid(current_user.get_id()).level
        if (int(userlevel) == int(User.ADMINLEVEL)):
            sitename = request.form['sitename']
            if (ChargingSite.del_site(sitename) == True):
                ret_data['result'] = True
                message = 'delete site: site name is ' + sitename
                LogController.addEventLogging(userid=current_user.get_id(),
                                              detail=message)
            else:
                ret_data['result'] = False
                ret_data['reason'] = 'delete site is failed'
        else:
            ret_data['result'] = False
            ret_data['reason'] = 'user level is restricetd'
    else:
        ret_data['result'] = False
    return jsonify(ret_data)
Пример #8
0
def updatesite():
    ret_data = dict()
    if request.method == 'POST':
        userlevel = User.get_fromid(current_user.get_id()).level
        if (int(userlevel) == int(User.ADMINLEVEL)):

            sitename = request.form['sitename']
            site = ChargingSite.get_site(sitename)

            if (site != None):
                message = ''
                message += 'update site information, site:'
                message += sitename

                if ('serialnumber' in request.form):
                    serialnumber = request.form['serialnumber']
                    message += ', SerialNumber from '
                    message += site.serialNumber
                    message += ' to '
                    message += serialnumber
                else:
                    serialnumber = None

                if ('longitude' in request.form):
                    longitude = request.form['longitude']

                    message += ', longitude from '
                    message += site.longitude
                    message += ' to '
                    message += longitude
                else:
                    longitude = None

                if ('latitude' in request.form):
                    latitude = request.form['latitude']

                    message += ', latitude from '
                    message += site.latitude
                    message += ' to '
                    message += latitude

                else:
                    latitude = None

                if ('supply' in request.form):
                    supply = request.form['supply']
                    message += ', supply from '
                    message += str(site.supply)
                    message += ' to '
                    message += supply
                else:
                    supply = None

                if (ChargingSite.update_site(sitename, serialnumber, longitude,
                                             latitude, supply)):
                    ret_data['result'] = True

                    LogController.addEventLogging(userid=current_user.get_id(),
                                                  detail=message)

                    ### enable socket emit to all client
                    enablesocket()

                else:
                    ret_data['result'] = False
                    ret_data['reason'] = 'Failed to update'
            else:
                ret_data['result'] = False
                ret_data['reason'] = 'sitename does not exist'
        else:
            ret_data['result'] = False
            ret_data['reason'] = 'user level is restricetd'
    else:
        ret_data['result'] = False
    return jsonify(ret_data)
Пример #9
0
def updatestation():
    ret_data = dict()
    try:
        if request.method == 'POST':
            userlevel = User.get_fromid(current_user.get_id()).level
            if (int(userlevel) == int(User.ADMINLEVEL)):

                sitename = request.form['sitename']
                shadowName = request.form['shadowName']

                site = ChargingSite.get_site(sitename)

                if (site == None):
                    ret_data['result'] = False
                    ret_data['reason'] = 'sitename is invalid'
                else:
                    message = ''
                    message += 'update station information, site:'
                    message += sitename

                    message += ', station:'
                    message += shadowName

                    if ('serialNumber' in request.form):
                        serialNumber = request.form['serialNumber']
                        message += ', SerialNumber:'
                        message += serialNumber
                    else:
                        serialNumber = None

                    if ('charge_max' in request.form):
                        charge_max = int(request.form['charge_max'])
                        message += ', charge_max:'
                        message += str(charge_max)
                    else:
                        charge_max = None

                    if ('activate' in request.form):
                        activate = util.str_to_bool(request.form['activate'])
                        message += ', activate:'
                        message += request.form['activate']
                    else:
                        activate = None

                    if ('present_power' in request.form):
                        present_power = int(request.form['present_power'])
                        message += ', present_power:'
                        message += str(present_power)
                    else:
                        present_power = None

                    if (site.update_station(shadowName, serialNumber,
                                            charge_max, present_power,
                                            activate)):
                        ret_data['result'] = True
                        LogController.addEventLogging(
                            userid=current_user.get_id(), detail=message)
                    else:
                        ret_data['result'] = False
                        ret_data[
                            'reason'] = 'station is invalid or database error'
            else:
                ret_data['result'] = False
                ret_data['reason'] = 'user level is restricetd'
        else:
            ret_data['result'] = False
    except:
        print('error')

    print(json.dumps(ret_data))
    return jsonify(ret_data)
Пример #10
0
def getuser():
    return User.getuserlist()
Пример #11
0
def usermanager():
    userlevel = User.get_fromid(current_user.get_id()).level
    return render_template('usermanager.html',
                           username=current_user.get_id(),
                           userlevel=str(userlevel))
Пример #12
0
def evenlogview():
    userlevel = User.get_fromid(current_user.get_id()).level
    return render_template('evenlogview.html',
                           username=current_user.get_id(),
                           userlevel=str(userlevel))
Пример #13
0
def load_user(user_id):
    print(user_id)
    user = User.get_fromid(user_id)
    return User.verify_auth_token(user.token)
Пример #14
0
            else:
                ret_data['result'] = False
                ret_data['reason'] = 'delete site is failed'
        else:
            ret_data['result'] = False
            ret_data['reason'] = 'user level is restricetd'
    else:
        ret_data['result'] = False
    return jsonify(ret_data)


@app.route('/restricted')
def restricted_page():
    user_id = (current_user.get_id() or 'No User Logged In')
    return render_template('restricted.html', user_id=user_id)


if __name__ == '__main__':
    try:
        ChargingSite.load_Siteinfo()
        User.getUserDataFromDynamoDB()
        app.config["REMEMBER_COOKIE_DURATION"] = timedelta(hours=1)

        #Tell the login manager where to redirect users to display the login page
        login_manager.login_view = '/login/'

        #Setup the login manager.
        login_manager.setup_app(app)
        socketio.run(app, debug=False, host='0.0.0.0', port=80)
    except KeyboardInterrupt:
        print('program ended')