mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
core: 添加加域成功提示 (#87)
This commit is contained in:
1 parent
5bbce72a68
commit
acf533cdba
6 files changed
+19
-4
No files matched your search
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "hydrooj",
|
"name": "hydrooj",
|
||||||
"version": "2.21.10",
|
"version": "2.21.11",
|
||||||
"bin": "bin/hydrooj.js",
|
"bin": "bin/hydrooj.js",
|
||||||
"main": "dist/loader.js",
|
"main": "dist/loader.js",
|
||||||
"typings": "dist/loader.d.ts",
|
"typings": "dist/loader.d.ts",
|
||||||
|
|||||||
@@ -256,6 +256,11 @@ class DomainJoinApplicationsHandler extends ManageHandler {
|
|||||||
class DomainJoinHandler extends Handler {
|
class DomainJoinHandler extends Handler {
|
||||||
joinSettings: any;
|
joinSettings: any;
|
||||||
|
|
||||||
|
constructor(ctx) {
|
||||||
|
super(ctx);
|
||||||
|
this.noCheckPermView = true;
|
||||||
|
}
|
||||||
|
|
||||||
async prepare() {
|
async prepare() {
|
||||||
const r = await domain.getRoles(this.domain);
|
const r = await domain.getRoles(this.domain);
|
||||||
const roles = r.map((role) => role._id);
|
const roles = r.map((role) => role._id);
|
||||||
@@ -283,7 +288,7 @@ class DomainJoinHandler extends Handler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
await domain.setUserRole(this.domain._id, this.user._id, this.joinSettings.role);
|
await domain.setUserRole(this.domain._id, this.user._id, this.joinSettings.role);
|
||||||
this.response.redirect = this.url('domain_main');
|
this.response.redirect = this.url('domain_main', { query: { notification: 'Successfully joined domain.' } });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import superagent from 'superagent';
|
|||||||
import { PassThrough } from 'stream';
|
import { PassThrough } from 'stream';
|
||||||
import { PermissionError, InvalidTokenError, RemoteOnlineJudgeError } from '../error';
|
import { PermissionError, InvalidTokenError, RemoteOnlineJudgeError } from '../error';
|
||||||
import { Logger } from '../logger';
|
import { Logger } from '../logger';
|
||||||
|
import { logAndReturn } from '../utils';
|
||||||
import { ProblemAdd } from '../lib/ui';
|
import { ProblemAdd } from '../lib/ui';
|
||||||
import { PERM } from '../model/builtin';
|
import { PERM } from '../model/builtin';
|
||||||
import token from '../model/token';
|
import token from '../model/token';
|
||||||
@@ -12,7 +13,6 @@ import {
|
|||||||
Handler, Types, Route, post,
|
Handler, Types, Route, post,
|
||||||
} from '../service/server';
|
} from '../service/server';
|
||||||
import storage from '../service/storage';
|
import storage from '../service/storage';
|
||||||
import { logAndReturn } from '../utils';
|
|
||||||
|
|
||||||
const logger = new Logger('remote');
|
const logger = new Logger('remote');
|
||||||
|
|
||||||
|
|||||||
@@ -381,6 +381,7 @@ export class Handler extends HandlerCommon {
|
|||||||
|
|
||||||
csrfToken: string;
|
csrfToken: string;
|
||||||
loginMethods: any;
|
loginMethods: any;
|
||||||
|
noCheckPermView: boolean;
|
||||||
__param: Record<string, ParamOption[]>;
|
__param: Record<string, ParamOption[]>;
|
||||||
|
|
||||||
constructor(ctx: Koa.Context) {
|
constructor(ctx: Koa.Context) {
|
||||||
@@ -424,6 +425,7 @@ export class Handler extends HandlerCommon {
|
|||||||
this.session = {};
|
this.session = {};
|
||||||
const xff = system.get('server.xff');
|
const xff = system.get('server.xff');
|
||||||
if (xff) this.request.ip = this.request.headers[xff.toLowerCase()] || this.request.ip;
|
if (xff) this.request.ip = this.request.headers[xff.toLowerCase()] || this.request.ip;
|
||||||
|
this.noCheckPermView = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line class-methods-use-this
|
// eslint-disable-next-line class-methods-use-this
|
||||||
@@ -494,6 +496,7 @@ export class Handler extends HandlerCommon {
|
|||||||
icon: global.Hydro.lib[key].icon,
|
icon: global.Hydro.lib[key].icon,
|
||||||
text: global.Hydro.lib[key].text,
|
text: global.Hydro.lib[key].text,
|
||||||
}));
|
}));
|
||||||
|
if (!this.noCheckPermView) this.checkPerm(PERM.PERM_VIEW);
|
||||||
}
|
}
|
||||||
|
|
||||||
async finish() {
|
async finish() {
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import { AutoloadPage } from 'vj/misc/Page';
|
||||||
|
import Notification from 'vj/components/notification/index';
|
||||||
|
|
||||||
|
export default new AutoloadPage('notificationPage', () => {
|
||||||
|
const text = new URL(window.location.href).searchParams.get('notification');
|
||||||
|
if (text) new Notification(text).show();
|
||||||
|
});
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@hydrooj/ui-default",
|
"name": "@hydrooj/ui-default",
|
||||||
"version": "4.5.8",
|
"version": "4.5.9",
|
||||||
"author": "undefined <i@undefined.moe>",
|
"author": "undefined <i@undefined.moe>",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"main": "hydro.js",
|
"main": "hydro.js",
|
||||||
|
|||||||
Reference in new issue
Block a user