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