From ce1cbd5e8cee8b655288e371df50e323a4cefffa Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Sun, 4 Feb 2018 16:42:02 +0800 Subject: [PATCH] Update user custom field handling --- .../templates/components/wizard-custom-action.hbs | 3 ++- config/locales/client.en.yml | 1 + lib/builder.rb | 10 ++++------ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/assets/javascripts/discourse/templates/components/wizard-custom-action.hbs b/assets/javascripts/discourse/templates/components/wizard-custom-action.hbs index d8130b8f..7567160c 100644 --- a/assets/javascripts/discourse/templates/components/wizard-custom-action.hbs +++ b/assets/javascripts/discourse/templates/components/wizard-custom-action.hbs @@ -180,6 +180,7 @@ valueContent=profileFields keyContent=availableFields noneValue='admin.wizard.action.update_profile.profile_field' - optionalCustom=true}} + optionalCustom=true + inputValue='admin.wizard.action.update_profile.custom_field'}} {{/if}} diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 38911b54..5ea2fa15 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -105,6 +105,7 @@ en: update_profile: label: "Update Profile" profile_field: "Profile Field" + custom_field: "User Custom Field" post_builder: checkbox: "Post Builder" label: "Builder" diff --git a/lib/builder.rb b/lib/builder.rb index 54a51898..58610a9e 100644 --- a/lib/builder.rb +++ b/lib/builder.rb @@ -82,8 +82,7 @@ class CustomWizard::Builder attribute = update['value'] custom_field = update['value_custom'] if custom_field - name = custom_field.split('.').try(:last) || nil - params[:value] = UserCustomField.where(user_id: @wizard.user.id, name: name).pluck(:value) + params[:value] = UserCustomField.where(user_id: @wizard.user.id, name: custom_field).pluck(:value) elsif UserProfile.column_names.include? attribute params[:value] = UserProfile.find_by(user_id: @wizard.user.id).send(attribute) elsif User.column_names.include? attribute @@ -294,12 +293,11 @@ class CustomWizard::Builder a['profile_updates'].each do |pu| value = pu['value'] - custom_value = pu['value_custom'] + custom_field = pu['value_custom'] key = pu['key'] - if custom_value - name = custom_value.split('.').try(:last) || nil - custom_fields[name] = data[key] + if custom_field + custom_fields[custom_field] = data[key] else attributes[value.to_sym] = data[key] end