$system_group
end
+ def all_users_group_uuid
+ [Server::Application.config.uuid_prefix,
+ Group.uuid_prefix,
+ 'fffffffffffffff'].join('-')
+ end
+
+ def all_users_group
+ if not $all_users_group
+ act_as_system_user do
+ ActiveRecord::Base.transaction do
+ $all_users_group = Group.
+ where(uuid: all_users_group_uuid).first_or_create do |g|
+ g.update_attributes(name: "All users",
+ description: "All users",
+ group_class: "role")
+ end
+ end
+ end
+ end
+ $all_users_group
+ end
+
def act_as_system_user
if block_given?
- user_was = Thread.current[:user]
- Thread.current[:user] = system_user
- begin
+ act_as_user system_user do
yield
- ensure
- Thread.current[:user] = user_was
end
else
Thread.current[:user] = system_user
end
end
+ def act_as_user user
+ user_was = Thread.current[:user]
+ Thread.current[:user] = user
+ begin
+ yield
+ ensure
+ Thread.current[:user] = user_was
+ end
+ end
+
def anonymous_group
if not $anonymous_group
act_as_system_user do