Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-25 18:50:27 +01:00
update profile update action fields
Dieser Commit ist enthalten in:
Ursprung
3c8dc540c8
Commit
ae87e383d2
4 geänderte Dateien mit 18 neuen und 4 gelöschten Zeilen
|
@ -82,9 +82,18 @@ export default Component.extend({
|
||||||
const controller = getOwner(this).lookup('controller:admin-wizard');
|
const controller = getOwner(this).lookup('controller:admin-wizard');
|
||||||
let content = controller[`${activeType}s`];
|
let content = controller[`${activeType}s`];
|
||||||
|
|
||||||
|
// you can't select the current field in the field context
|
||||||
if (activeType === 'wizardField' && this.options.context === 'field') {
|
if (activeType === 'wizardField' && this.options.context === 'field') {
|
||||||
const currentField = controller.currentField;
|
content = content.filter(field => field.id !== controller.currentField.id);
|
||||||
content = content.filter(field => field.id !== currentField.id);
|
}
|
||||||
|
|
||||||
|
// updating usernames or emails via actions is not supported
|
||||||
|
if (activeType === 'userField' &&
|
||||||
|
this.options.context === 'action' &&
|
||||||
|
this.inputType === 'association' &&
|
||||||
|
this.selectorType === 'key') {
|
||||||
|
|
||||||
|
content = content.filter(userField => ['username','email'].indexOf(userField.id) === -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return content;
|
return content;
|
||||||
|
|
|
@ -32,6 +32,7 @@ function camelCase(string) {
|
||||||
|
|
||||||
const userProperties = [
|
const userProperties = [
|
||||||
'name',
|
'name',
|
||||||
|
'username',
|
||||||
'email',
|
'email',
|
||||||
'avatar',
|
'avatar',
|
||||||
'date_of_birth',
|
'date_of_birth',
|
||||||
|
|
|
@ -274,8 +274,12 @@ class CustomWizard::Action
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def profile_excluded_fields
|
||||||
|
['username', 'email'].freeze
|
||||||
|
end
|
||||||
|
|
||||||
def allowed_profile_fields
|
def allowed_profile_fields
|
||||||
CustomWizard::Mapper.user_fields +
|
CustomWizard::Mapper.user_fields.select { |f| profile_excluded_fields.exclude?(f) } +
|
||||||
profile_url_fields +
|
profile_url_fields +
|
||||||
['avatar']
|
['avatar']
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class CustomWizard::Mapper
|
class CustomWizard::Mapper
|
||||||
attr_accessor :inputs, :data, :user
|
attr_accessor :inputs, :data, :user
|
||||||
|
|
||||||
USER_FIELDS = ['name', 'email', 'date_of_birth', 'title', 'locale', 'trust_level']
|
USER_FIELDS = ['name', 'username', 'email', 'date_of_birth', 'title', 'locale', 'trust_level']
|
||||||
PROFILE_FIELDS = ['location', 'website', 'bio_raw']
|
PROFILE_FIELDS = ['location', 'website', 'bio_raw']
|
||||||
|
|
||||||
def self.user_fields
|
def self.user_fields
|
||||||
|
|
Laden …
In neuem Issue referenzieren