Introduction of Room assignments
This commit is contained in:
parent
b5ac492414
commit
7a90189927
21 changed files with 707 additions and 130 deletions
Binary file not shown.
|
|
@ -4,7 +4,7 @@
|
|||
<div class="panel panel-default drop-shadow">
|
||||
<div class="panel-heading">Cameras</div>
|
||||
<div class="panel-body">
|
||||
<p>This is a list of cameras connected to this node.</p>
|
||||
<p>This is a list of all cameras connected to this server.</p>
|
||||
|
||||
<table class="table table-hover table-condensed">
|
||||
<thead>
|
||||
|
|
@ -33,6 +33,7 @@
|
|||
data-target="#cameraModal"
|
||||
data-action="modify_camera"
|
||||
data-id="{{.getId()}}"
|
||||
data-room-id="{{.getRoom().getId()}}"
|
||||
data-name="{{.getName()}}"
|
||||
data-type="{{.getType()}}"
|
||||
{{#.getDeviceConfigurator().getConfiguration()}}
|
||||
|
|
@ -75,6 +76,16 @@
|
|||
<div class="modal-body">
|
||||
<input type="hidden" id="action" name="action">
|
||||
<input type="hidden" id="id" name="id">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Located in room:</label>
|
||||
<select class="form-control" name="room-id">
|
||||
<option value=""></option>
|
||||
{{#rooms}}
|
||||
<option value="{{.getId()}}">{{.getName()}} (id: {{.getId()}})</option>
|
||||
{{/rooms}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Name:</label>
|
||||
<input type="text" class="form-control" name="name">
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import se.hal.intf.HalDatabaseUpgrader;
|
|||
* The DB upgrade class for Hal-NVR plugin
|
||||
*/
|
||||
public class NVRDatabaseUpgrader extends HalDatabaseUpgrader {
|
||||
private static final int REFERENCE_DB_VERSION = 1;
|
||||
private static final int REFERENCE_DB_VERSION = 2;
|
||||
private static final String REFERENCE_DB_PATH = HalContext.RESOURCE_ROOT + "/resource/hal-nvr-reference.db";
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,8 +30,10 @@ import se.hal.intf.HalWebPage;
|
|||
import se.hal.page.HalAlertManager;
|
||||
import se.hal.plugin.nvr.CameraControllerManager;
|
||||
import se.hal.plugin.nvr.struct.Camera;
|
||||
import se.hal.struct.Room;
|
||||
import se.hal.util.ClassConfigurationFacade;
|
||||
import se.hal.struct.User;
|
||||
import se.hal.util.RoomValueProvider;
|
||||
import zutil.ObjectUtil;
|
||||
import zutil.db.DBConnection;
|
||||
import zutil.io.file.FileUtil;
|
||||
|
|
@ -73,12 +75,27 @@ public class CameraConfigWebPage extends HalWebPage {
|
|||
// Save new input
|
||||
if (request.containsKey("action")){
|
||||
int id = (ObjectUtil.isEmpty(request.get("id")) ? -1 : Integer.parseInt(request.get("id")));
|
||||
Camera camera;
|
||||
int roomId = (ObjectUtil.isEmpty(request.get("room-id")) ? -1 : Integer.parseInt(request.get("room-id")));
|
||||
|
||||
Camera camera = null;
|
||||
Room room = (roomId >= 0 ? Room.getRoom(db, roomId) : null);
|
||||
|
||||
if (id >= 0) {
|
||||
// Read in requested id
|
||||
camera = Camera.getCamera(db, id);
|
||||
|
||||
if (camera == null) {
|
||||
logger.warning("Unknown camera id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown camera id: " + id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
}
|
||||
|
||||
switch(request.get("action")) {
|
||||
case "create_camera":
|
||||
logger.info("Creating new camera: " + request.get("name"));
|
||||
camera = new Camera();
|
||||
camera.setRoom(room);
|
||||
camera.setName(request.get("name"));
|
||||
camera.setType(request.get("type"));
|
||||
camera.setUser(localUser);
|
||||
|
|
@ -91,9 +108,9 @@ public class CameraConfigWebPage extends HalWebPage {
|
|||
break;
|
||||
|
||||
case "modify_camera":
|
||||
camera = Camera.getCamera(db, id);
|
||||
if (camera != null) {
|
||||
logger.info("Modifying camera: " + camera.getName());
|
||||
logger.info("Modifying camera(id: " + camera.getId() + "): " + camera.getName());
|
||||
camera.setRoom(room);
|
||||
camera.setName(request.get("name"));
|
||||
camera.setType(request.get("type"));
|
||||
camera.setUser(localUser);
|
||||
|
|
@ -102,26 +119,17 @@ public class CameraConfigWebPage extends HalWebPage {
|
|||
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully saved camera: " + camera.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown camera id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown camera id: " + id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
|
||||
case "remove_camera":
|
||||
camera = Camera.getCamera(db, id);
|
||||
if (camera != null) {
|
||||
logger.info("Removing camera: " + camera.getName());
|
||||
logger.info("Removing camera(id: " + camera.getId() + "): " + camera.getName());
|
||||
CameraControllerManager.getInstance().deregister(camera);
|
||||
camera.delete(db);
|
||||
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.SUCCESS, "Successfully removed camera: " + camera.getName(), MessageTTL.ONE_VIEW));
|
||||
} else {
|
||||
logger.warning("Unknown camera id: " + id);
|
||||
HalAlertManager.getInstance().addAlert(new UserMessage(
|
||||
MessageLevel.ERROR, "Unknown camera id: " + id, MessageTTL.ONE_VIEW));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -129,6 +137,7 @@ public class CameraConfigWebPage extends HalWebPage {
|
|||
|
||||
// Output
|
||||
Templator tmpl = new Templator(FileUtil.find(TEMPLATE));
|
||||
tmpl.set("rooms", Room.getRooms(db));
|
||||
tmpl.set("cameras", Camera.getCameras(db));
|
||||
tmpl.set("availableCameraConfigClasses", CameraControllerManager.getInstance().getAvailableDeviceConfigs());
|
||||
tmpl.set("availableCameraObjectConfig", cameraConfigurations);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue