aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-03-09 21:48:59 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2016-03-09 21:48:59 +1300
commitc22cc6982a18eb3601fdc8fb8447b5a2ba73690a (patch)
treed14626b34d4121abf59c9e54b23ca99688112d18
parent1750a8b5353a69f3b1805757f3b31150260d45f8 (diff)
downloadtrackermap-server-c22cc6982a18eb3601fdc8fb8447b5a2ba73690a.tar.gz
trackermap-server-c22cc6982a18eb3601fdc8fb8447b5a2ba73690a.tar.bz2
trackermap-server-c22cc6982a18eb3601fdc8fb8447b5a2ba73690a.zip
Implement group editing dialog
-rw-r--r--debug.xml2
-rw-r--r--src/org/traccar/database/PermissionsManager.java1
-rw-r--r--web/app/view/GroupDialog.js36
-rw-r--r--web/app/view/GroupsController.js32
-rw-r--r--web/l10n/en.json1
5 files changed, 55 insertions, 17 deletions
diff --git a/debug.xml b/debug.xml
index 2266a1eea..ce7c3190a 100644
--- a/debug.xml
+++ b/debug.xml
@@ -14,7 +14,7 @@
<entry key='web.path'>web</entry>
<entry key='web.debug'>true</entry>
<entry key='web.console'>true</entry>
- <entry key='web.timeout'>10000</entry>
+ <entry key='web.timeout'>30000</entry>
<entry key='geocoder.enable'>true</entry>
<entry key='geocoder.type'>nominatim</entry>
diff --git a/src/org/traccar/database/PermissionsManager.java b/src/org/traccar/database/PermissionsManager.java
index 5d6430764..022691b1b 100644
--- a/src/org/traccar/database/PermissionsManager.java
+++ b/src/org/traccar/database/PermissionsManager.java
@@ -59,6 +59,7 @@ public class PermissionsManager {
public final void refresh() {
users.clear();
+ groupPermissions.clear();
devicePermissions.clear();
try {
server = dataManager.getServer();
diff --git a/web/app/view/GroupDialog.js b/web/app/view/GroupDialog.js
new file mode 100644
index 000000000..a34e33aa0
--- /dev/null
+++ b/web/app/view/GroupDialog.js
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2016 Anton Tananaev (anton.tananaev@gmail.com)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+Ext.define('Traccar.view.GroupDialog', {
+ extend: 'Traccar.view.BaseEditDialog',
+
+ requires: [
+ 'Traccar.view.BaseEditDialogController'
+ ],
+
+ controller: 'baseEditDialog',
+ title: Strings.groupDialog,
+
+ items: {
+ xtype: 'form',
+ items: [{
+ xtype: 'textfield',
+ name: 'name',
+ fieldLabel: Strings.sharedName,
+ allowBlank: false
+ }]
+ }
+});
diff --git a/web/app/view/GroupsController.js b/web/app/view/GroupsController.js
index 619e0c50e..34b259658 100644
--- a/web/app/view/GroupsController.js
+++ b/web/app/view/GroupsController.js
@@ -23,25 +23,26 @@ Ext.define('Traccar.view.GroupsController', {
},
onAddClick: function () {
- /*var user, dialog;
- user = Ext.create('Traccar.model.User');
- dialog = Ext.create('Traccar.view.UserDialog');
- dialog.down('form').loadRecord(user);
- dialog.show();*/
+ var group, dialog;
+ group = Ext.create('Traccar.model.Group');
+ group.store = this.getView().getStore();
+ dialog = Ext.create('Traccar.view.GroupDialog');
+ dialog.down('form').loadRecord(group);
+ dialog.show();
},
onEditClick: function () {
- /*var user, dialog;
- user = this.getView().getSelectionModel().getSelection()[0];
- dialog = Ext.create('Traccar.view.UserDialog');
- dialog.down('form').loadRecord(user);
- dialog.show();*/
+ var group, dialog;
+ group = this.getView().getSelectionModel().getSelection()[0];
+ dialog = Ext.create('Traccar.view.GroupDialog');
+ dialog.down('form').loadRecord(group);
+ dialog.show();
},
onRemoveClick: function () {
- /*var user = this.getView().getSelectionModel().getSelection()[0];
+ var group = this.getView().getSelectionModel().getSelection()[0];
Ext.Msg.show({
- title: Strings.settingsUser,
+ title: Strings.groupDialog,
message: Strings.sharedRemoveConfirm,
buttons: Ext.Msg.YESNO,
buttonText: {
@@ -49,19 +50,18 @@ Ext.define('Traccar.view.GroupsController', {
no: Strings.sharedCancel
},
fn: function (btn) {
- var store = Ext.getStore('Users');
+ var store = Ext.getStore('Groups');
if (btn === 'yes') {
- store.remove(user);
+ store.remove(group);
store.sync();
}
}
- });*/
+ });
},
onSelectionChange: function (selected) {
var disabled = selected.length > 0;
this.lookupReference('toolbarEditButton').setDisabled(disabled);
this.lookupReference('toolbarRemoveButton').setDisabled(disabled);
- this.lookupReference('userDevicesButton').setDisabled(disabled);
}
});
diff --git a/web/l10n/en.json b/web/l10n/en.json
index 259d54b1a..715dce3a7 100644
--- a/web/l10n/en.json
+++ b/web/l10n/en.json
@@ -34,6 +34,7 @@
"deviceLastUpdate": "Last Update",
"deviceCommand": "Command",
"deviceFollow": "Follow",
+ "groupDialog": "Group",
"settingsTitle": "Settings",
"settingsUser": "Account",
"settingsGroups": "Groups",