prevent deletion of WP Users segment in Segments listing

This commit is contained in:
Jonathan Labreuille
2016-05-20 18:35:40 +02:00
parent 8c56c8da5e
commit d10a29598d
3 changed files with 22 additions and 2 deletions

View File

@ -190,4 +190,24 @@ class Segment extends Model {
static function getPublic() {
return self::getPublished()->where('type', 'default')->orderByAsc('name');
}
static function bulkTrash($orm) {
return parent::bulkAction($orm, function($ids) {
parent::rawExecute(join(' ', array(
'UPDATE `'.self::$_table.'`',
'SET `deleted_at`=NOW()',
'WHERE `id` IN ('.rtrim(str_repeat('?,', count($ids)), ',').')',
'AND `type` = "default"'
)), $ids);
});
}
static function bulkDelete($orm) {
return parent::bulkAction($orm, function($ids) {
// delete segments (only default)
Segment::whereIn('id', $ids)
->where('type', 'default')
->deleteMany();
});
}
}