@@ -186,7 +186,7 class Project < ActiveRecord::Base | |||||
186 | else |
|
186 | else | |
187 | statement_by_role = {} |
|
187 | statement_by_role = {} | |
188 | unless options[:member] |
|
188 | unless options[:member] | |
189 | role = user.logged? ? Role.non_member : Role.anonymous |
|
189 | role = user.builtin_role | |
190 | if role.allowed_to?(permission) |
|
190 | if role.allowed_to?(permission) | |
191 | statement_by_role[role] = "#{Project.table_name}.is_public = #{connection.quoted_true}" |
|
191 | statement_by_role[role] = "#{Project.table_name}.is_public = #{connection.quoted_true}" | |
192 | end |
|
192 | end |
@@ -442,6 +442,15 class User < Principal | |||||
442 | @membership_by_project_id[project_id] |
|
442 | @membership_by_project_id[project_id] | |
443 | end |
|
443 | end | |
444 |
|
444 | |||
|
445 | # Returns the user's bult-in role | |||
|
446 | def builtin_role | |||
|
447 | if logged? | |||
|
448 | @role_non_member ||= Role.non_member | |||
|
449 | else | |||
|
450 | @role_anonymous ||= Role.anonymous | |||
|
451 | end | |||
|
452 | end | |||
|
453 | ||||
445 | # Return user's roles for project |
|
454 | # Return user's roles for project | |
446 | def roles_for_project(project) |
|
455 | def roles_for_project(project) | |
447 | roles = [] |
|
456 | roles = [] | |
@@ -453,12 +462,10 class User < Principal | |||||
453 | if membership |
|
462 | if membership | |
454 | roles = membership.roles |
|
463 | roles = membership.roles | |
455 | else |
|
464 | else | |
456 | @role_non_member ||= Role.non_member |
|
465 | roles << builtin_role | |
457 | roles << @role_non_member |
|
|||
458 | end |
|
466 | end | |
459 | else |
|
467 | else | |
460 | @role_anonymous ||= Role.anonymous |
|
468 | roles << builtin_role | |
461 | roles << @role_anonymous |
|
|||
462 | end |
|
469 | end | |
463 | roles |
|
470 | roles | |
464 | end |
|
471 | end |
General Comments 0
You need to be logged in to leave comments.
Login now