[Git][noosfero/noosfero][master-1.x] Merge branch 'refactors-query-results-viewing' into 'master'
Rodrigo Souto
gitlab at mg.gitlab.com
Fri Jun 22 12:14:02 BRT 2018
Rodrigo Souto pushed to branch master-1.x at Noosfero / noosfero
Commits:
6be2d60e by Rodrigo Souto at 2018-06-22T15:13:59Z
Merge branch 'refactors-query-results-viewing' into 'master'
Refactors query results viewing
See merge request noosfero/noosfero!1536
(cherry picked from commit c260d44105f16b1dec79010ccb4bde9cf858032f)
a6d4b195 Refactors query results viewing
47d56765 Fixes query results viewing
0c4be3c7 Merge branch 'master' of https://gitlab.com/noosfero/noosfero into refactors-query-results-viewing
- - - - -
2 changed files:
- plugins/custom_forms/lib/custom_forms_plugin/form.rb
- plugins/custom_forms/test/unit/custom_forms_plugin/form_test.rb
Changes:
=====================================
plugins/custom_forms/lib/custom_forms_plugin/form.rb
=====================================
@@ -143,16 +143,21 @@ class CustomFormsPlugin::Form < ApplicationRecord
alias_attribute :result_access, :access_result_options
def show_results_for(person)
- result_access.blank? ||
+ (result_access.blank?) ||
(result_access == 'public') ||
- ((result_access == 'public_after_ends') && ending.present? &&
- (ending < DateTime.now)) ||
- ((result_access == 'private') && (person == profile ||
- person.in?(profile.admins) ||
- person.in?(profile.environment.admins)))
+ (
+ result_access == 'public_after_ends' &&
+ ((ending.present? && (ending < DateTime.now)) || can_view?(person))
+ ) ||
+ ((result_access == 'private') && can_view?(person))
end
private
+ def can_view?(person)
+ (person == profile ||
+ person.in?(profile.admins) ||
+ person.in?(profile.environment.admins))
+ end
def period_range
errors.add(:base, _('The time range selected is invalid.')) if ending < begining
=====================================
plugins/custom_forms/test/unit/custom_forms_plugin/form_test.rb
=====================================
@@ -436,15 +436,20 @@ class CustomFormsPlugin::FormTest < ActiveSupport::TestCase
form = CustomFormsPlugin::Form.new(profile: profile, name: 'Form 1')
form.access_result_options = nil
+ form.save!
+
assert form.show_results_for(nil)
form.access_result_options = 'public'
+ form.save!
+
assert form.show_results_for(nil)
end
should 'only show results if it is public and form is closed' do
form = CustomFormsPlugin::Form.new(profile: profile, name: 'Form 1')
form.access_result_options = 'public_after_ends'
+ form.save!
form.ending = nil
refute form.show_results_for(nil)
@@ -461,6 +466,7 @@ class CustomFormsPlugin::FormTest < ActiveSupport::TestCase
random = create_user('random').person
form = CustomFormsPlugin::Form.new(profile: person, name: 'Form 1')
form.access_result_options = 'private'
+ form.save!
assert form.show_results_for(person)
refute form.show_results_for(random)
@@ -471,6 +477,7 @@ class CustomFormsPlugin::FormTest < ActiveSupport::TestCase
person2 = create_user('admin').person
form = CustomFormsPlugin::Form.new(profile: profile, name: 'Form 1')
form.access_result_options = 'private'
+ form.save!
refute form.show_results_for(person1)
refute form.show_results_for(person2)
@@ -542,6 +549,4 @@ class CustomFormsPlugin::FormTest < ActiveSupport::TestCase
assert_includes scope, f2
assert_includes scope, f3
end
-
-
end
View it on GitLab: https://gitlab.com/noosfero/noosfero/commit/6be2d60e52eac00656602e89701e1893df527f3e
--
View it on GitLab: https://gitlab.com/noosfero/noosfero/commit/6be2d60e52eac00656602e89701e1893df527f3e
You're receiving this email because of your account on gitlab.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20180622/255c9894/attachment-0001.html>
More information about the Noosfero-dev
mailing list