MailboxBackend: fix redirections
This commit is contained in:
parent
74f7d92437
commit
6478d77733
|
@ -105,7 +105,7 @@ export default class MailboxBackendController extends Controller {
|
||||||
const domain = MailDomain.create(req.body);
|
const domain = MailDomain.create(req.body);
|
||||||
await domain.save();
|
await domain.save();
|
||||||
req.flash('success', `Domain ${domain.name} successfully added with owner ${(await domain.owner.get())?.name}`);
|
req.flash('success', `Domain ${domain.name} successfully added with owner ${(await domain.owner.get())?.name}`);
|
||||||
res.redirect(Controller.route('backend-mailboxes'));
|
res.redirect(Controller.route('backend-edit-domain', domain.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async getEditDomain(req: Request, res: Response): Promise<void> {
|
protected async getEditDomain(req: Request, res: Response): Promise<void> {
|
||||||
|
@ -134,7 +134,7 @@ export default class MailboxBackendController extends Controller {
|
||||||
await domain.save();
|
await domain.save();
|
||||||
|
|
||||||
req.flash('success', `Domain ${domain.name} updated successfully.`);
|
req.flash('success', `Domain ${domain.name} updated successfully.`);
|
||||||
res.redirect(Controller.route('backend-mailboxes'));
|
res.redirect(Controller.route('backend-edit-domain', domain.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async postRemoveDomain(req: Request, res: Response): Promise<void> {
|
protected async postRemoveDomain(req: Request, res: Response): Promise<void> {
|
||||||
|
@ -147,7 +147,7 @@ export default class MailboxBackendController extends Controller {
|
||||||
// Don't delete that domain if it still has identities
|
// Don't delete that domain if it still has identities
|
||||||
if ((await domain.identities.get()).length > 0) {
|
if ((await domain.identities.get()).length > 0) {
|
||||||
req.flash('error', `This domain still has identities. Please remove all of these first (don't forget to rename mailboxes).`);
|
req.flash('error', `This domain still has identities. Please remove all of these first (don't forget to rename mailboxes).`);
|
||||||
res.redirect(Controller.route('backend-mailboxes'));
|
res.redirect(Controller.route('backend-edit-domain', domain.id));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ export default class MailboxBackendController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
req.flash('success', 'Mail identity ' + await identity.toEmail() + ' successfully created.');
|
req.flash('success', 'Mail identity ' + await identity.toEmail() + ' successfully created.');
|
||||||
res.redirect(Controller.route('backend-mailbox', req.params.id));
|
res.redirect(Controller.route('backend-mailbox', user.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async postDeleteMailIdentity(req: Request, res: Response): Promise<void> {
|
protected async postDeleteMailIdentity(req: Request, res: Response): Promise<void> {
|
||||||
|
@ -195,15 +195,16 @@ export default class MailboxBackendController extends Controller {
|
||||||
.first();
|
.first();
|
||||||
if (!identity) throw new NotFoundHttpError('Mail identity', req.url);
|
if (!identity) throw new NotFoundHttpError('Mail identity', req.url);
|
||||||
|
|
||||||
const user = await identity.user.get();
|
const user = identity.user.getOrFail();
|
||||||
if (user?.as(UserMailIdentityComponent).main_mail_identity_id === identity.id) {
|
if (!user) throw new NotFoundHttpError('Mail identity owner', req.url);
|
||||||
|
if (user.as(UserMailIdentityComponent).main_mail_identity_id === identity.id) {
|
||||||
req.flash('error', `Cannot delete this user's mailbox identity.`);
|
req.flash('error', `Cannot delete this user's mailbox identity.`);
|
||||||
res.redirect(Controller.route('backend-mailbox', req.params.id));
|
res.redirect(Controller.route('backend-mailbox', user.id));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await identity.delete();
|
await identity.delete();
|
||||||
req.flash('success', 'Identity ' + await identity.toEmail() + ' successfully deleted.');
|
req.flash('success', 'Identity ' + await identity.toEmail() + ' successfully deleted.');
|
||||||
res.redirect(Controller.route('backend-mailbox', req.params.id));
|
res.redirect(Controller.route('backend-mailbox', user.id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue