[Git][noosfero/noosfero][master] 4 commits: Refactors query results viewing
Rodrigo Souto
gitlab at mg.gitlab.com
Fri Jun 22 12:12:30 BRT 2018
Rodrigo Souto pushed to branch master at Noosfero / noosfero
Commits:
a6d4b195 by Matheus Richard at 2018-06-15T14:41:52Z
Refactors query results viewing
This allows admins viewing results even though the query is not finished
- - - - -
47d56765 by Matheus Richard at 2018-06-18T12:10:30Z
Fixes query results viewing
- - - - -
0c4be3c7 by Matheus Richard at 2018-06-22T00:59:26Z
Merge branch 'master' of https://gitlab.com/noosfero/noosfero into refactors-query-results-viewing
- - - - -
c260d441 by Rodrigo Souto at 2018-06-22T15:12:26Z
Merge branch 'refactors-query-results-viewing' into 'master'
Refactors query results viewing
See merge request noosfero/noosfero!1536
- - - - -
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
=====================================
@@ -164,16 +164,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/compare/34c660cc4ac6378ed5a1a7ca0c3da0b4f1abfeb9...c260d44105f16b1dec79010ccb4bde9cf858032f
--
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/34c660cc4ac6378ed5a1a7ca0c3da0b4f1abfeb9...c260d44105f16b1dec79010ccb4bde9cf858032f
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/e2cde883/attachment-0001.html>
More information about the Noosfero-dev
mailing list