From bdd8a4d05b5ed49c8cf3fab2d425f2907455c433 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Tue, 19 Nov 2013 19:05:53 +0000 Subject: [PATCH] stoa-api: allow custom fields since their privacy is not customizable --- plugins/stoa/controllers/stoa_plugin_controller.rb | 11 ----------- plugins/stoa/lib/stoa_plugin/person_fields.rb | 17 +++++++++++++++-- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/plugins/stoa/controllers/stoa_plugin_controller.rb b/plugins/stoa/controllers/stoa_plugin_controller.rb index 7eedbf3..b4248c5 100644 --- a/plugins/stoa/controllers/stoa_plugin_controller.rb +++ b/plugins/stoa/controllers/stoa_plugin_controller.rb @@ -42,15 +42,4 @@ class StoaPluginController < PublicController end end - private - - def selected_fields(kind, user) - fields = FIELDS[kind] || FIELDS['essential'] - return fields.reject { |field| !FIELDS['essential'].include?(field) } unless user.person.public_profile - fields.reject do |field| - !user.person.public_fields.include?(field) && - !FIELDS['essential'].include?(field) - end - end - end diff --git a/plugins/stoa/lib/stoa_plugin/person_fields.rb b/plugins/stoa/lib/stoa_plugin/person_fields.rb index e30273f..7b0a014 100644 --- a/plugins/stoa/lib/stoa_plugin/person_fields.rb +++ b/plugins/stoa/lib/stoa_plugin/person_fields.rb @@ -1,10 +1,11 @@ module StoaPlugin::PersonFields HEAVY = %w[image_base64] FILTER = %w[image] - EXTRA = %w[tags] + EXTRA = %w[tags communities] + CUSTOM = %w[first_name surname homepage image_base64 tags communities] ESSENTIAL = %w[username email nusp] - AVERAGE = ESSENTIAL + %w[name first_name surname address homepage communities] + AVERAGE = ESSENTIAL + %w[name first_name surname address homepage] FULL = (AVERAGE + Person.fields + HEAVY + EXTRA - FILTER).uniq COMPLETE = FULL - HEAVY @@ -15,4 +16,16 @@ module StoaPlugin::PersonFields 'full' => FULL, 'complete' => COMPLETE } + + private + + def selected_fields(kind, user) + fields = FIELDS[kind] || FIELDS['essential'] + return fields.reject { |field| !FIELDS['essential'].include?(field) } unless user.person.public_profile + fields.reject do |field| + !user.person.public_fields.include?(field) && + !FIELDS['essential'].include?(field) && + !CUSTOM.include?(field) + end + end end -- libgit2 0.21.2