2015-11-21 09:27:06 +08:00
|
|
|
import EmailPreview from 'admin/models/email-preview';
|
2016-11-24 06:46:57 +08:00
|
|
|
import { popupAjaxError } from 'discourse/lib/ajax-error';
|
2015-11-21 09:27:06 +08:00
|
|
|
|
2015-08-12 00:27:07 +08:00
|
|
|
export default Ember.Controller.extend({
|
2013-06-04 04:12:24 +08:00
|
|
|
|
2016-11-24 06:46:57 +08:00
|
|
|
emailEmpty: Em.computed.empty('email'),
|
|
|
|
sendEmailDisabled: Em.computed.or('emailEmpty', 'sendingEmail'),
|
|
|
|
showSendEmailForm: Em.computed.notEmpty('model.html_content'),
|
2016-11-25 04:38:22 +08:00
|
|
|
htmlEmpty: Em.computed.empty('model.html_content'),
|
|
|
|
|
|
|
|
iframeSrc: function() {
|
|
|
|
return ('data:text/html;charset=utf-8,' + encodeURI(this.get('model.html_content')));
|
|
|
|
}.property('model.html_content'),
|
2016-11-24 06:46:57 +08:00
|
|
|
|
2013-09-17 02:08:55 +08:00
|
|
|
actions: {
|
2015-08-16 17:51:31 +08:00
|
|
|
refresh() {
|
|
|
|
const model = this.get('model');
|
2013-09-17 02:08:55 +08:00
|
|
|
|
2015-08-16 18:01:04 +08:00
|
|
|
this.set('loading', true);
|
2016-11-25 04:05:33 +08:00
|
|
|
this.set('sentEmail', false);
|
2015-11-21 09:27:06 +08:00
|
|
|
EmailPreview.findDigest(this.get('lastSeen'), this.get('username')).then(email => {
|
2013-09-17 02:08:55 +08:00
|
|
|
model.setProperties(email.getProperties('html_content', 'text_content'));
|
2015-08-16 17:51:31 +08:00
|
|
|
this.set('loading', false);
|
2013-09-17 02:08:55 +08:00
|
|
|
});
|
|
|
|
},
|
|
|
|
|
2015-08-16 17:51:31 +08:00
|
|
|
toggleShowHtml() {
|
2013-09-17 02:08:55 +08:00
|
|
|
this.toggleProperty('showHtml');
|
2016-11-24 06:46:57 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
sendEmail() {
|
|
|
|
this.set('sendingEmail', true);
|
|
|
|
this.set('sentEmail', false);
|
|
|
|
|
|
|
|
const self = this;
|
|
|
|
|
|
|
|
EmailPreview.sendDigest(this.get('lastSeen'), this.get('username'), this.get('email')).then(result => {
|
|
|
|
if (result.errors) {
|
|
|
|
bootbox.alert(result.errors);
|
|
|
|
} else {
|
|
|
|
self.set('sentEmail', true);
|
|
|
|
}
|
|
|
|
}).catch(popupAjaxError).finally(function() {
|
|
|
|
self.set('sendingEmail', false);
|
|
|
|
});
|
2013-09-17 02:08:55 +08:00
|
|
|
}
|
2013-06-04 04:12:24 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
});
|