1
0
mirror of https://github.com/flarum/core.git synced 2025-07-30 21:20:24 +02:00

Implement hard deletion and rename soft delete to hide

This commit is contained in:
Toby Zerner
2015-02-12 14:35:24 +10:30
parent c33697654a
commit 36787bcf45
18 changed files with 90 additions and 50 deletions

View File

@@ -21,8 +21,8 @@ export default Ember.Component.extend(FadeIn, HasItemLists, UseComposer, {
tagName: 'article',
classNames: ['post', 'post-comment'],
classNameBindings: [
'post.isHidden:deleted',
'post.isEdited:edited',
'post.isHidden:is-hidden',
'post.isEdited:is-edited',
'revealContent:reveal-content'
],
itemLists: ['controls', 'header', 'footer'],
@@ -35,7 +35,7 @@ export default Ember.Component.extend(FadeIn, HasItemLists, UseComposer, {
populateControls: function(items) {
if (this.get('post.isHidden')) {
this.addActionItem(items, 'restore', 'Restore', 'reply', 'post.canEdit');
this.addActionItem(items, 'delete', 'Delete', 'times', 'post.canDelete');
this.addActionItem(items, 'delete', 'Delete Forever', 'times', 'post.canDelete');
} else {
this.addActionItem(items, 'edit', 'Edit', 'pencil', 'post.canEdit');
this.addActionItem(items, 'hide', 'Delete', 'times', 'post.canEdit');
@@ -88,8 +88,8 @@ export default Ember.Component.extend(FadeIn, HasItemLists, UseComposer, {
var post = this.get('post');
post.setProperties({
isHidden: true,
deleteTime: new Date,
deleteUser: this.get('session.user')
hideTime: new Date,
hideUser: this.get('session.user')
});
post.save();
},
@@ -98,10 +98,16 @@ export default Ember.Component.extend(FadeIn, HasItemLists, UseComposer, {
var post = this.get('post');
post.setProperties({
isHidden: false,
deleteTime: null,
deleteUser: null
hideTime: null,
hideUser: null
});
post.save();
},
delete: function() {
var post = this.get('post');
post.destroyRecord();
this.sendAction('postRemoved', post);
}
}
});

View File

@@ -288,6 +288,10 @@ export default Ember.Component.extend({
loadRange: function(start, end, backwards) {
this.get('stream').loadRange(start, end, backwards);
},
postRemoved: function(post) {
this.sendAction('postRemoved', post);
}
}
});