mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-23 02:35:49 +08:00
fix: support "Email or Phone" in signup table
This commit is contained in:
parent
5315f16a48
commit
f95ce13b82
@ -68,7 +68,7 @@ func (c *ApiController) GetCerts() {
|
|||||||
// GetGlobalCerts
|
// GetGlobalCerts
|
||||||
// @Title GetGlobalCerts
|
// @Title GetGlobalCerts
|
||||||
// @Tag Cert API
|
// @Tag Cert API
|
||||||
// @Description get globle certs
|
// @Description get global certs
|
||||||
// @Success 200 {array} object.Cert The Response object
|
// @Success 200 {array} object.Cert The Response object
|
||||||
// @router /get-global-certs [get]
|
// @router /get-global-certs [get]
|
||||||
func (c *ApiController) GetGlobalCerts() {
|
func (c *ApiController) GetGlobalCerts() {
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import {Button, Form, Input, Result} from "antd";
|
import {Button, Form, Input, Radio, Result, Row} from "antd";
|
||||||
import * as Setting from "../Setting";
|
import * as Setting from "../Setting";
|
||||||
import * as AuthBackend from "./AuthBackend";
|
import * as AuthBackend from "./AuthBackend";
|
||||||
import * as ProviderButton from "./ProviderButton";
|
import * as ProviderButton from "./ProviderButton";
|
||||||
@ -71,6 +71,7 @@ class SignupPage extends React.Component {
|
|||||||
applicationName: (props.applicationName ?? props.match?.params?.applicationName) ?? null,
|
applicationName: (props.applicationName ?? props.match?.params?.applicationName) ?? null,
|
||||||
email: "",
|
email: "",
|
||||||
phone: "",
|
phone: "",
|
||||||
|
emailOrPhoneMode: "",
|
||||||
countryCode: "",
|
countryCode: "",
|
||||||
emailCode: "",
|
emailCode: "",
|
||||||
phoneCode: "",
|
phoneCode: "",
|
||||||
@ -360,7 +361,8 @@ class SignupPage extends React.Component {
|
|||||||
<RegionSelect onChange={(value) => {this.setState({region: value});}} />
|
<RegionSelect onChange={(value) => {this.setState({region: value});}} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
);
|
);
|
||||||
} else if (signupItem.name === "Email") {
|
} else if (signupItem.name === "Email" || signupItem.name === "Phone" || signupItem.name === "Email or Phone" || signupItem.name === "Phone or Email") {
|
||||||
|
const renderEmailItem = () => {
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
@ -406,7 +408,9 @@ class SignupPage extends React.Component {
|
|||||||
}
|
}
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
} else if (signupItem.name === "Phone") {
|
};
|
||||||
|
|
||||||
|
const renderPhoneItem = () => {
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Form.Item label={signupItem.label ? signupItem.label : i18next.t("general:Phone")} required={required}>
|
<Form.Item label={signupItem.label ? signupItem.label : i18next.t("general:Phone")} required={required}>
|
||||||
@ -484,6 +488,49 @@ class SignupPage extends React.Component {
|
|||||||
}
|
}
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (signupItem.name === "Email") {
|
||||||
|
return renderEmailItem();
|
||||||
|
} else if (signupItem.name === "Phone") {
|
||||||
|
return renderPhoneItem();
|
||||||
|
} else if (signupItem.name === "Email or Phone" || signupItem.name === "Phone or Email") {
|
||||||
|
let emailOrPhoneMode = this.state.emailOrPhoneMode;
|
||||||
|
if (emailOrPhoneMode === "") {
|
||||||
|
emailOrPhoneMode = signupItem.name === "Email or Phone" ? "Email" : "Phone";
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<React.Fragment>
|
||||||
|
<Row style={{marginTop: "30px", marginBottom: "20px"}} >
|
||||||
|
<Radio.Group style={{width: "400px"}} buttonStyle="solid" onChange={e => {
|
||||||
|
this.setState({
|
||||||
|
emailOrPhoneMode: e.target.value,
|
||||||
|
});
|
||||||
|
}} value={emailOrPhoneMode}>
|
||||||
|
{
|
||||||
|
signupItem.name === "Email or Phone" ? (
|
||||||
|
<React.Fragment>
|
||||||
|
<Radio.Button value={"Email"}>{i18next.t("general:Email")}</Radio.Button>
|
||||||
|
<Radio.Button value={"Phone"}>{i18next.t("general:Phone")}</Radio.Button>
|
||||||
|
</React.Fragment>
|
||||||
|
) : (
|
||||||
|
<React.Fragment>
|
||||||
|
<Radio.Button value={"Phone"}>{i18next.t("general:Phone")}</Radio.Button>
|
||||||
|
<Radio.Button value={"Email"}>{i18next.t("general:Email")}</Radio.Button>
|
||||||
|
</React.Fragment>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</Radio.Group>
|
||||||
|
</Row>
|
||||||
|
{
|
||||||
|
emailOrPhoneMode === "Email" ? renderEmailItem() : renderPhoneItem()
|
||||||
|
}
|
||||||
|
</React.Fragment>
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
} else if (signupItem.name === "Password") {
|
} else if (signupItem.name === "Password") {
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
|
@ -81,10 +81,12 @@ class SignupTable extends React.Component {
|
|||||||
{name: "Affiliation", displayName: i18next.t("user:Affiliation")},
|
{name: "Affiliation", displayName: i18next.t("user:Affiliation")},
|
||||||
{name: "Country/Region", displayName: i18next.t("user:Country/Region")},
|
{name: "Country/Region", displayName: i18next.t("user:Country/Region")},
|
||||||
{name: "ID card", displayName: i18next.t("user:ID card")},
|
{name: "ID card", displayName: i18next.t("user:ID card")},
|
||||||
{name: "Email", displayName: i18next.t("general:Email")},
|
|
||||||
{name: "Password", displayName: i18next.t("general:Password")},
|
{name: "Password", displayName: i18next.t("general:Password")},
|
||||||
{name: "Confirm password", displayName: i18next.t("signup:Confirm")},
|
{name: "Confirm password", displayName: i18next.t("signup:Confirm")},
|
||||||
|
{name: "Email", displayName: i18next.t("general:Email")},
|
||||||
{name: "Phone", displayName: i18next.t("general:Phone")},
|
{name: "Phone", displayName: i18next.t("general:Phone")},
|
||||||
|
{name: "Email or Phone", displayName: i18next.t("general:Email or Phone")},
|
||||||
|
{name: "Phone or Email", displayName: i18next.t("general:Phone or Email")},
|
||||||
{name: "Invitation code", displayName: i18next.t("application:Invitation code")},
|
{name: "Invitation code", displayName: i18next.t("application:Invitation code")},
|
||||||
{name: "Agreement", displayName: i18next.t("signup:Agreement")},
|
{name: "Agreement", displayName: i18next.t("signup:Agreement")},
|
||||||
{name: "Text 1", displayName: i18next.t("signup:Text 1")},
|
{name: "Text 1", displayName: i18next.t("signup:Text 1")},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user