Newsletters listing

- fixed listing actions on newsletters
This commit is contained in:
Jonathan Labreuille
2015-11-18 14:04:34 +01:00
parent fdbd1245e3
commit 28c61fca0b
5 changed files with 48 additions and 24 deletions

View File

@@ -14,9 +14,17 @@ class Newsletter extends Model {
if(is_string($this->deleted_at) && strlen(trim($this->deleted_at)) === 0) {
$this->set_expr('deleted_at', 'NULL');
}
return parent::save();
}
function delete() {
// delete all relations to segments
NewsletterSegment::where('newsletter_id', $this->id)->deleteMany();
return parent::delete();
}
function segments() {
return $this->has_many_through(
__NAMESPACE__.'\Segment',

View File

@@ -17,7 +17,7 @@ class Segment extends Model {
function delete() {
// delete all relations to subscribers
SubscriberSegment::where('segment_id', $this->id)->deleteMany();
parent::delete();
return parent::delete();
}
function newsletters() {

View File

@@ -101,31 +101,51 @@ class Newsletters {
));
}
function delete($data = array()) {
$newsletter = newsletter::findOne($data['id']);
$confirm_delete = filter_var($data['confirm'], FILTER_VALIDATE_BOOLEAN);
if($newsletter !== false) {
if($confirm_delete) {
$newsletter->delete();
$result = array('newsletters' => 1);
} else {
$newsletter->set_expr('deleted_at', 'NOW()');
$result = array('newsletters' => (int)$newsletter->save());
}
} else {
function restore($id) {
$result = false;
$newsletter = Newsletter::findOne($id);
if($newsletter !== false) {
$result = $newsletter->restore();
}
wp_send_json($result);
}
function restore($id) {
function trash($id) {
$result = false;
$newsletter = Newsletter::findOne($id);
if($newsletter !== false) {
$newsletter->set_expr('deleted_at', 'NULL');
$result = array('newsletters' => (int)$newsletter->save());
} else {
$result = false;
$result = $newsletter->trash();
}
wp_send_json($result);
}
function delete($id) {
$result = false;
$newsletter = Newsletter::findOne($id);
if($newsletter !== false) {
$newsletter->delete();
$result = 1;
}
wp_send_json($result);
}
function duplicate($id) {
$result = false;
$newsletter = Newsletter::findOne($id);
if($newsletter !== false) {
$data = array(
'subject' => sprintf(__('Copy of %s'), $newsletter->subject)
);
$result = $newsletter->duplicate($data)->asArray();
}
wp_send_json($result);
}

View File

@@ -55,7 +55,6 @@ class Segments {
)
->findOne()->asArray();
!d(\ORM::get_last_query());exit;
$item = array_merge($item, $stats);
$item['subscribers_url'] = admin_url(

View File

@@ -166,9 +166,6 @@ config.push(_.extend({}, baseConfig, {
'public.js'
]
},
/*plugins: [
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js'),
],*/
externals: {
'jquery': 'jQuery'
}