X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9b976ee4d3e0c58eaa81f28f13dc4d112dbf804b..4a1735427d84743f6c2f3576263fdcae397cf9e9:/services/api/app/models/arvados_model.rb diff --git a/services/api/app/models/arvados_model.rb b/services/api/app/models/arvados_model.rb index a369292fb3..c909e47cef 100644 --- a/services/api/app/models/arvados_model.rb +++ b/services/api/app/models/arvados_model.rb @@ -145,7 +145,7 @@ class ArvadosModel < ApplicationRecord super(permit_attribute_params(raw_params), *args) end - def update_attributes raw_params={}, *args + def update raw_params={}, *args super(self.class.permit_attribute_params(raw_params), *args) end @@ -156,7 +156,7 @@ class ArvadosModel < ApplicationRecord end def self.searchable_columns operator - textonly_operator = !operator.match(/[<=>]/) + textonly_operator = !operator.match(/[<=>]/) && !operator.in?(['in', 'not in']) self.columns.select do |col| case col.type when :string, :text @@ -464,6 +464,7 @@ class ArvadosModel < ApplicationRecord end end + return self if sql_conds == nil self.where(sql_conds, user_uuids: all_user_uuids.collect{|c| c["target_uuid"]}, permission_link_classes: ['permission']) @@ -938,8 +939,6 @@ class ArvadosModel < ApplicationRecord # hook. def fill_container_defaults_after_find fill_container_defaults - set_attribute_was('runtime_constraints', runtime_constraints) - set_attribute_was('scheduling_parameters', scheduling_parameters) clear_changes_information end @@ -950,6 +949,10 @@ class ArvadosModel < ApplicationRecord # value in the database to an implicit zero/false value in an update # request. def fill_container_defaults + # Make sure this is correctly sorted by key, because we merge in + # whatever is in the database on top of it, this will be the order + # that gets used downstream rather than the order the keys appear + # in the database. self.runtime_constraints = { 'API' => false, 'cuda' => { @@ -957,6 +960,7 @@ class ArvadosModel < ApplicationRecord 'driver_version' => '', 'hardware_capability' => '', }, + 'keep_cache_disk' => 0, 'keep_cache_ram' => 0, 'ram' => 0, 'vcpus' => 0, @@ -965,6 +969,7 @@ class ArvadosModel < ApplicationRecord 'max_run_time' => 0, 'partitions' => [], 'preemptible' => false, + 'supervisor' => false, }.merge(attributes['scheduling_parameters'] || {}) end