end
new.private_reload(uuid)
end
+ def self.order(*args)
+ ArvadosResourceList.new(self).order(*args)
+ end
def self.where(*args)
ArvadosResourceList.new(self).where(*args)
end
%w(uuid owner created_at
modified_at modified_by_user modified_by_client
).each do |attr|
- self.send(attr + '=', resp[attr.to_sym])
+ if self.respond_to? "#{attr}=".to_sym
+ self.send(attr + '=', resp[attr.to_sym])
+ end
end
self
end
def editable?
- (current_user and
+ (current_user and current_user.is_active and
(current_user.is_admin or
current_user.uuid == self.owner))
end
def attribute_editable?(attr)
if "created_at modified_at modified_by_user modified_by_client updated_at".index(attr.to_s)
false
- elsif "uuid owner".index(attr.to_s)
- current_user and current_user.is_admin
+ elsif not (current_user.andand.is_active)
+ false
+ elsif "uuid owner".index(attr.to_s) or current_user.is_admin
+ current_user.is_admin
else
- current_user and current_user.uuid == owner
+ current_user.uuid == self.owner or current_user.uuid == self.uuid
end
end