X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f8d2097375c2d105b53de18a5ec7afdb7eb36b78..0b4f867ef14af38c07b910643fbe8cc6a93e6bb6:/apps/workbench/app/models/arvados_base.rb diff --git a/apps/workbench/app/models/arvados_base.rb b/apps/workbench/app/models/arvados_base.rb index f905e0db0a..33e107e369 100644 --- a/apps/workbench/app/models/arvados_base.rb +++ b/apps/workbench/app/models/arvados_base.rb @@ -30,8 +30,9 @@ class ArvadosBase < ActiveRecord::Base end end - def initialize raw_params={} + def initialize raw_params={}, create_params={} super self.class.permit_attribute_params(raw_params) + @create_params = create_params @attribute_sortkey ||= { 'id' => nil, 'name' => '000', @@ -305,13 +306,15 @@ class ArvadosBase < ActiveRecord::Base (writable_by.include? current_user.uuid rescue false))) end - def attribute_editable?(attr) + def attribute_editable?(attr, ever=nil) if "created_at modified_at modified_by_user_uuid modified_by_client_uuid updated_at".index(attr.to_s) false elsif not (current_user.andand.is_active) false elsif attr == 'uuid' current_user.is_admin + elsif ever + true else editable? end