Added button to reactivate bounced users

This commit is contained in:
Dominique Da Silva 2019-11-02 18:51:14 +00:00
parent ba7eac64c8
commit 5e395d2ac2
2 changed files with 36 additions and 1 deletions

View file

@ -393,6 +393,7 @@ router.get('/subscription/:id/edit/:cid', passport.csrfProtection, (req, res) =>
subscription.customFields = fields.getRow(fieldList, subscription, false, true);
subscription.useEditor = true;
subscription.isSubscribed = subscription.status === 1;
subscription.isBounced = subscription.status === 3;
let tzfound = false;
subscription.timezones = moment.tz.names().map(tz => {
@ -463,6 +464,31 @@ router.post('/subscription/unsubscribe', passport.parseForm, passport.csrfProtec
});
});
router.post('/subscription/reactivate', passport.parseForm, passport.csrfProtection, (req, res) => {
lists.get(req.body.list, (err, list) => {
if (err || !list) {
req.flash('danger', err && err.message || err || _('Could not find list with specified ID'));
return res.redirect('/lists');
}
subscriptions.get(list.id, req.body.cid, (err, subscription) => {
if (err || !subscription) {
req.flash('danger', err && err.message || err || _('Could not find subscriber with specified ID'));
return res.redirect('/lists/view/' + list.id);
}
subscriptions.changeStatus(list.id, subscription.id, false, subscriptions.Status.SUBSCRIBED, (err, found) => {
if (err) {
req.flash('danger', err && err.message || err || _('Could not reactivate user'));
return res.redirect('/lists/subscription/' + list.id + '/edit/' + subscription.cid);
}
req.flash('success', util.format(_('%s was successfully reactivated from your list'), subscription.email));
res.redirect('/lists/view/' + list.id);
});
});
});
});
router.post('/subscription/delete', passport.parseForm, passport.csrfProtection, (req, res) => {
lists.get(req.body.list, (err, list) => {
if (err || !list) {

View file

@ -17,6 +17,12 @@
<input type="hidden" name="cid" value="{{cid}}">
</form>
<form method="post" class="delete-form" id="subscriber-unbounce" action="/lists/subscription/reactivate">
<input type="hidden" name="_csrf" value="{{csrfToken}}">
<input type="hidden" name="list" value="{{list.id}}">
<input type="hidden" name="cid" value="{{cid}}">
</form>
<form method="post" id="subscriber-blacklist" action="/blacklist/ajax/add">
<input type="hidden" name="_csrf" value="{{csrfToken}}">
<input type="hidden" name="email" value="{{email}}">
@ -173,10 +179,13 @@
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="pull-right">
<button type="submit" form="subscriber-blacklist" class="btn btn-danger"><span class="glyphicon glyphicon-ban-circle"></span>{{#translate}}Blacklist{{/translate}}</button>
<button type="submit" form="subscriber-blacklist" class="btn btn-danger"><span class="glyphicon glyphicon-ban-circle"></span> {{#translate}}Blacklist{{/translate}}</button>
{{#if isSubscribed}}
<button type="submit" form="subscriber-unsubscribe" class="btn btn-default"><i class="glyphicon glyphicon-ban-circle"></i> {{#translate}}Unsubscribe{{/translate}}</button>
{{/if}}
{{#if isBounced}}
<button type="submit" form="subscriber-unbounce" class="btn btn-default"><i class="glyphicon glyphicon-ok"></i> {{#translate}}Unbounce{{/translate}}</button>
{{/if}}
<button type="submit" form="subscriber-delete" class="btn btn-danger"><i class="glyphicon glyphicon-remove"></i> {{#translate}}Delete Subscription{{/translate}}</button>
</div>