diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2016-07-11 23:10:10 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-11 23:10:10 +1200 |
commit | 817360eee7dba57cf8b58e858f7acf60f27b5e68 (patch) | |
tree | 570ad7697e70a1b1d2ca6c2f5c38d204235e46cf | |
parent | 063ca2ff893a3db3977a42ea960787b067c549db (diff) | |
parent | fe9ab15104d36a5d8d01375f9540d59a835bce5e (diff) | |
download | trackermap-server-817360eee7dba57cf8b58e858f7acf60f27b5e68.tar.gz trackermap-server-817360eee7dba57cf8b58e858f7acf60f27b5e68.tar.bz2 trackermap-server-817360eee7dba57cf8b58e858f7acf60f27b5e68.zip |
Merge pull request #2097 from Abyss777/master
Fix from in mail notifications
-rw-r--r-- | src/org/traccar/notification/NotificationMail.java | 16 | ||||
-rw-r--r-- | web/app/view/AttributesController.js | 9 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/org/traccar/notification/NotificationMail.java b/src/org/traccar/notification/NotificationMail.java index 443018221..944200f2f 100644 --- a/src/org/traccar/notification/NotificationMail.java +++ b/src/org/traccar/notification/NotificationMail.java @@ -87,9 +87,15 @@ public final class NotificationMail { boolean auth = Boolean.parseBoolean((String) object.getAttributes().get("mail.smtp.auth")); result.put("mail.smtp.auth", auth); - result.put("mail.smtp.username", object.getAttributes().get("mail.smtp.username")); - result.put("mail.smtp.password", object.getAttributes().get("mail.smtp.password")); - result.put("mail.smtp.from", object.getAttributes().get("mail.smtp.from")); + if (object.getAttributes().containsKey("mail.smtp.username")) { + result.put("mail.smtp.username", object.getAttributes().get("mail.smtp.username")); + } + if (object.getAttributes().containsKey("mail.smtp.password")) { + result.put("mail.smtp.password", object.getAttributes().get("mail.smtp.password")); + } + if (object.getAttributes().containsKey("mail.smtp.from")) { + result.put("mail.smtp.from", object.getAttributes().get("mail.smtp.from")); + } } return result; } @@ -115,6 +121,10 @@ public final class NotificationMail { mailMessage = new MimeMessage(mailSession); + if (mailServerProperties.getProperty("mail.smtp.from") != null) { + mailMessage.setFrom(new InternetAddress(mailServerProperties.getProperty("mail.smtp.from"))); + } + mailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress( Context.getDataManager().getUser(userId).getEmail())); mailMessage.setSubject(NotificationFormatter.formatTitle(userId, event, position)); diff --git a/web/app/view/AttributesController.js b/web/app/view/AttributesController.js index 3028e41eb..2a9e71849 100644 --- a/web/app/view/AttributesController.js +++ b/web/app/view/AttributesController.js @@ -40,17 +40,22 @@ Ext.define('Traccar.view.AttributesController', { store.addListener('add', function (store, records, index, eOpts) { for (i = 0; i < records.length; i++) { this.getView().record.get('attributes')[records[i].get('name')] = records[i].get('value'); - this.getView().record.dirty = true; } + this.getView().record.dirty = true; }, this); store.addListener('update', function (store, record, operation, modifiedFieldNames, details, eOpts) { if (operation === Ext.data.Model.EDIT) { + if (record.modified.name !== record.get('name')) { + delete this.getView().record.get('attributes')[record.modified.name]; + } this.getView().record.get('attributes')[record.get('name')] = record.get('value'); this.getView().record.dirty = true; } }, this); store.addListener('remove', function (store, records, index, isMove, eOpts) { - delete this.getView().record.get('attributes')[records[index].get('name')]; + for (var i = 0; i < records.length; i++) { + delete this.getView().record.get('attributes')[records[i].get('name')]; + } this.getView().record.dirty = true; }, this); |