aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-07-18 16:52:31 -0700
committerAnton Tananaev <anton@traccar.org>2022-07-18 16:52:31 -0700
commit8bc3c8c7d2c762ec00bfb1960dcd02171b7312a6 (patch)
tree5f26a6e5f252803ccde9eaffe42b7d5a19990db2 /src/main/java/org/traccar
parentcf2583cec5f6b9c92730bdcdc5805944ff0bfa59 (diff)
downloadtrackermap-server-8bc3c8c7d2c762ec00bfb1960dcd02171b7312a6.tar.gz
trackermap-server-8bc3c8c7d2c762ec00bfb1960dcd02171b7312a6.tar.bz2
trackermap-server-8bc3c8c7d2c762ec00bfb1960dcd02171b7312a6.zip
Disable email change (fix #3878)
Diffstat (limited to 'src/main/java/org/traccar')
-rw-r--r--src/main/java/org/traccar/api/security/PermissionsService.java6
-rw-r--r--src/main/java/org/traccar/model/Server.java11
-rw-r--r--src/main/java/org/traccar/model/User.java15
-rw-r--r--src/main/java/org/traccar/model/UserRestrictions.java1
4 files changed, 30 insertions, 3 deletions
diff --git a/src/main/java/org/traccar/api/security/PermissionsService.java b/src/main/java/org/traccar/api/security/PermissionsService.java
index a3e7a182f..a494c0257 100644
--- a/src/main/java/org/traccar/api/security/PermissionsService.java
+++ b/src/main/java/org/traccar/api/security/PermissionsService.java
@@ -166,13 +166,17 @@ public class PermissionsService {
|| before.getDeviceReadonly() != after.getDeviceReadonly()
|| before.getDisabled() != after.getDisabled()
|| before.getLimitCommands() != after.getLimitCommands()
- || before.getDisableReports() != after.getDisableReports()) {
+ || before.getDisableReports() != after.getDisableReports()
+ || before.getFixedEmail() != after.getFixedEmail()) {
if (userId == after.getId()) {
checkAdmin(userId);
} else {
checkUser(userId, after.getId());
}
}
+ if (before.getFixedEmail() && !before.getEmail().equals(after.getEmail())) {
+ checkAdmin(userId);
+ }
}
public <T extends BaseModel> void checkPermission(
diff --git a/src/main/java/org/traccar/model/Server.java b/src/main/java/org/traccar/model/Server.java
index e39da1b16..9e248e7bb 100644
--- a/src/main/java/org/traccar/model/Server.java
+++ b/src/main/java/org/traccar/model/Server.java
@@ -177,6 +177,17 @@ public class Server extends ExtendedModel implements UserRestrictions {
this.disableReports = disableReports;
}
+ private boolean fixedEmail;
+
+ @Override
+ public boolean getFixedEmail() {
+ return fixedEmail;
+ }
+
+ public void setFixedEmail(boolean fixedEmail) {
+ this.fixedEmail = fixedEmail;
+ }
+
private String poiLayer;
public String getPoiLayer() {
diff --git a/src/main/java/org/traccar/model/User.java b/src/main/java/org/traccar/model/User.java
index 9dd84ad14..0aa67168f 100644
--- a/src/main/java/org/traccar/model/User.java
+++ b/src/main/java/org/traccar/model/User.java
@@ -232,8 +232,6 @@ public class User extends ExtendedModel implements UserRestrictions {
this.limitCommands = limitCommands;
}
- private String poiLayer;
-
private boolean disableReports;
@Override
@@ -245,6 +243,19 @@ public class User extends ExtendedModel implements UserRestrictions {
this.disableReports = disableReports;
}
+ private boolean fixedEmail;
+
+ @Override
+ public boolean getFixedEmail() {
+ return fixedEmail;
+ }
+
+ public void setFixedEmail(boolean fixedEmail) {
+ this.fixedEmail = fixedEmail;
+ }
+
+ private String poiLayer;
+
public String getPoiLayer() {
return poiLayer;
}
diff --git a/src/main/java/org/traccar/model/UserRestrictions.java b/src/main/java/org/traccar/model/UserRestrictions.java
index 2e4e5e363..1fcc5682e 100644
--- a/src/main/java/org/traccar/model/UserRestrictions.java
+++ b/src/main/java/org/traccar/model/UserRestrictions.java
@@ -20,4 +20,5 @@ public interface UserRestrictions {
boolean getDeviceReadonly();
boolean getLimitCommands();
boolean getDisableReports();
+ boolean getFixedEmail();
}