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);
|
||||
await domain.save();
|
||||
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> {
|
||||
|
@ -134,7 +134,7 @@ export default class MailboxBackendController extends Controller {
|
|||
await domain.save();
|
||||
|
||||
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> {
|
||||
|
@ -147,7 +147,7 @@ export default class MailboxBackendController extends Controller {
|
|||
// Don't delete that domain if it still has identities
|
||||
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).`);
|
||||
res.redirect(Controller.route('backend-mailboxes'));
|
||||
res.redirect(Controller.route('backend-edit-domain', domain.id));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -185,7 +185,7 @@ export default class MailboxBackendController extends Controller {
|
|||
}
|
||||
|
||||
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> {
|
||||
|
@ -195,15 +195,16 @@ export default class MailboxBackendController extends Controller {
|
|||
.first();
|
||||
if (!identity) throw new NotFoundHttpError('Mail identity', req.url);
|
||||
|
||||
const user = await identity.user.get();
|
||||
if (user?.as(UserMailIdentityComponent).main_mail_identity_id === identity.id) {
|
||||
const user = identity.user.getOrFail();
|
||||
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.`);
|
||||
res.redirect(Controller.route('backend-mailbox', req.params.id));
|
||||
res.redirect(Controller.route('backend-mailbox', user.id));
|
||||
return;
|
||||
}
|
||||
|
||||
await identity.delete();
|
||||
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