mirror of
https://github.com/flarum/framework.git
synced 2025-02-22 07:33:43 +08:00
Merge pull request #1330 from clarkwinkelmann/signup-fields-locking
Prevent editing fields in sign up modal according to identification data
This commit is contained in:
commit
64b30faa39
@ -60,6 +60,10 @@ export default class SignUpModal extends Modal {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isProvided(field) {
|
||||||
|
return this.props.identificationFields && this.props.identificationFields.indexOf(field) !== -1;
|
||||||
|
}
|
||||||
|
|
||||||
body() {
|
body() {
|
||||||
return [
|
return [
|
||||||
this.props.token ? '' : <LogInButtons/>,
|
this.props.token ? '' : <LogInButtons/>,
|
||||||
@ -69,14 +73,14 @@ export default class SignUpModal extends Modal {
|
|||||||
<input className="FormControl" name="username" type="text" placeholder={extractText(app.translator.trans('core.forum.sign_up.username_placeholder'))}
|
<input className="FormControl" name="username" type="text" placeholder={extractText(app.translator.trans('core.forum.sign_up.username_placeholder'))}
|
||||||
value={this.username()}
|
value={this.username()}
|
||||||
onchange={m.withAttr('value', this.username)}
|
onchange={m.withAttr('value', this.username)}
|
||||||
disabled={this.loading} />
|
disabled={this.loading || this.isProvided('username')} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="Form-group">
|
<div className="Form-group">
|
||||||
<input className="FormControl" name="email" type="email" placeholder={extractText(app.translator.trans('core.forum.sign_up.email_placeholder'))}
|
<input className="FormControl" name="email" type="email" placeholder={extractText(app.translator.trans('core.forum.sign_up.email_placeholder'))}
|
||||||
value={this.email()}
|
value={this.email()}
|
||||||
onchange={m.withAttr('value', this.email)}
|
onchange={m.withAttr('value', this.email)}
|
||||||
disabled={this.loading || (this.props.token && this.props.email)} />
|
disabled={this.loading || this.isProvided('email')} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{this.props.token ? '' : (
|
{this.props.token ? '' : (
|
||||||
|
@ -104,7 +104,13 @@ class AuthenticationResponseFactory
|
|||||||
$token = AuthToken::generate($identification);
|
$token = AuthToken::generate($identification);
|
||||||
$token->save();
|
$token->save();
|
||||||
|
|
||||||
$payload = array_merge($identification, $suggestions, ['token' => $token->id]);
|
$payload = array_merge(
|
||||||
|
$identification,
|
||||||
|
$suggestions,
|
||||||
|
['token' => $token->id],
|
||||||
|
// List of the fields that can't be edited during sign up
|
||||||
|
['identificationFields' => array_keys($identification)]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $payload;
|
return $payload;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user