Esempio n. 1
0
def edit(item, id):
    if isloggedin() == True:
        db = get_db()
        uf = userfactory.Userfactory()
        user = uf.getuser(db, session['currentuserid'])
        item = item.lower()
        if item == 'room':
            rgf = roomgroupfactory.Roomgroupfactory()
            roomgroups = rgf.getroomgroups(db)
            rf = roomfactory.RoomFactory()
            room = rf.get_room(db, id)
            df = devicefactory.DeviceFactory()
            available_devices = df.get_available_devices(db, room)
            return render_template('addeditroom.html',
                                   user=user,
                                   roomgroups=roomgroups,
                                   room=room,
                                   available_devices=available_devices)
        elif item == 'roomgroup':
            pass
        elif item == 'device':
            dgf = devicegroupfactory.DeviceGroupFactory()
            devicegroups = dgf.get_devicegroups(db)
            df = devicefactory.DeviceFactory()
            device = df.get_device(db, id)
            return render_template('addeditdevice.html',
                                   user=user,
                                   devicegroups=devicegroups,
                                   device=device)
        elif item == 'user':
            edituser = uf.getuser(db, id)
            ugf = usergroupfactory.UserGroupFactory()
            usergroups = ugf.get_user_groups(db)
            return render_template('addedituser.html',
                                   user=user,
                                   edituser=edituser,
                                   usergroups=usergroups)
        elif item == 'devicegroup':
            dgf = devicegroupfactory.DeviceGroupFactory()
            devicegroup = dgf.get_devicegroup(db, id)
            return render_template('addeditdevicegroup.html',
                                   user=user,
                                   devicegroup=devicegroup)
    else:
        error = 'Not authorised'
        return render_template('home.html', error=error)
Esempio n. 2
0
def save_device_group(db):
    if 'save' in request.form:
        name = request.form['name']
        devicegroupid = request.form['devicegroupid']

        dgf = devicegroupfactory.DeviceGroupFactory()
        if devicegroupid == '':
            devicegroupid = dgf.create(db, name)
        else:
            dgf.update(db, devicegroupid, name)
        return device_group_list()
    else:
        return device_group_list()
Esempio n. 3
0
def device_group_list():
    if isloggedin() == True:
        uf = userfactory.Userfactory()
        db = get_db()
        user = uf.getuser(db, session['currentuserid'])
        dgf = devicegroupfactory.DeviceGroupFactory()
        devicegroups = dgf.get_devicegroups(db)
        return render_template('devicegrouplist.html',
                               user=user,
                               devicegroups=devicegroups)
    else:
        error = 'Not authorised'
        return render_template('home.html', error=error)
Esempio n. 4
0
def device_action(action, id):
    if isloggedin() == True:
        db = get_db()
        action = action.lower()

        if 'devicegroup' in action:
            dgf = devicegroupfactory.DeviceGroupFactory()
            devicegroup = dgf.get_devicegroup(db, id)
            if 'devicegroup_on' in action:
                devicegroup.on()
            elif 'devicegroup_off' in action:
                devicegroup.off()
        else:
            df = devicefactory.DeviceFactory()
            device = df.get_device(db, id)
            if action == 'pair':
                device.pair(db)
            elif action == 'unpair':
                device.unpair(db)
            elif action == 'on':
                device.on()
            elif action == 'off':
                device.off()
            elif action == 'dim_on':
                device.dim_on()
            elif action == 'dim_off':
                device.dim_off()
            elif action == 'dim_up':
                device.dim_up()
            elif action == 'dim_down':
                device.dim_down()
            elif 'dim_set_' in action:
                device.dim_set(action)

        return show_home()
    else:
        error = 'Not authorised'
        return render_template('home.html', error=error)
Esempio n. 5
0
def show_home():
    # init_db()
    #init_defaultdata()
    #init_testdata()
    db = get_db()
    rf = roomfactory.RoomFactory()
    rooms = rf.get_rooms(db)
    lin = None
    if 'currentuserid' in session:
        lin = session['currentuserid']
    else:
        lin = False
    if lin == True:
        uf = userfactory.Userfactory()
        dgf = devicegroupfactory.DeviceGroupFactory()
        user = uf.getuser(db, session['currentuserid'])
        devicegroups = dgf.get_devicegroups(db)
        return render_template('home.html',
                               rooms=rooms,
                               user=user,
                               devicegroups=devicegroups)
    else:
        return render_template('welcome.html', user=None)
Esempio n. 6
0
def delete(item, id):
    if isloggedin() == True:
        db = get_db()
        item = item.lower()
        if item == 'room':
            rf = roomfactory.RoomFactory()
            rf.delete_room(db, id)
            return room_list()
        elif item == 'roomgroup':
            pass
        elif item == 'device':
            df = devicefactory.DeviceFactory()
            df.delete(db, id)
            return device_list()
        elif item == 'user':
            return user_list()
        elif item == 'devicegroup':
            dgf = devicegroupfactory.DeviceGroupFactory()
            dgf.delete(db, id)
            return device_group_list()

    else:
        error = 'Not authorised'
        return render_template('home.html', error=error)