Update params nesting

This commit is contained in:
Urban Rotnik 2019-12-10 08:41:09 +01:00
parent dd9880f030
commit b68aadf506
5 changed files with 11 additions and 18 deletions

View file

@ -9,7 +9,7 @@ $.fn.dataTable.render.editRowName = function(formId, cell) {
<input class="form-control editing" <input class="form-control editing"
form="${formId}" form="${formId}"
type="text" type="text"
name="repository_row_name" name="repository_row[name]"
value="${text}" value="${text}"
data-type="RowName"> data-type="RowName">
</div> </div>

View file

@ -6,7 +6,7 @@ $.fn.dataTable.render.newRowName = function(formId, $cell) {
<input class="form-control editing" <input class="form-control editing"
form="${formId}" form="${formId}"
type="text" type="text"
name="repository_row_name" name="repository_row[name]"
value="" value=""
data-type="RowName"> data-type="RowName">
</div> </div>

View file

@ -35,11 +35,12 @@ class RepositoryAssetValue < ApplicationRecord
def update_data!(new_data, user) def update_data!(new_data, user)
destroy! && return if new_data == '-1' destroy! && return if new_data == '-1'
if new_data[:direct_upload_token] if new_data.is_a?(Hash) && new_data[:file_data]
asset.file.attach(new_data[:direct_upload_token])
else
asset.file.attach(io: StringIO.new(Base64.decode64(new_data[:file_data].split(',')[1])), asset.file.attach(io: StringIO.new(Base64.decode64(new_data[:file_data].split(',')[1])),
filename: new_data[:filename]) filename: new_data[:filename])
else
# new_data is direct_upload_token
asset.file.attach(new_data)
end end
asset.last_modified_by = user asset.last_modified_by = user
@ -48,19 +49,18 @@ class RepositoryAssetValue < ApplicationRecord
end end
def self.new_with_payload(payload, attributes) def self.new_with_payload(payload, attributes)
raise ArgumentError, 'Payload needs to be a hash' unless payload.is_a?(Hash)
value = new(attributes) value = new(attributes)
team = value.repository_cell.repository_column.repository.team team = value.repository_cell.repository_column.repository.team
value.asset = Asset.create!(created_by: value.created_by, last_modified_by: value.created_by, team: team) value.asset = Asset.create!(created_by: value.created_by, last_modified_by: value.created_by, team: team)
if payload[:direct_upload_token] if payload.is_a?(Hash) && payload[:file_data]
value.asset.file.attach(payload[:direct_upload_token])
elsif payload[:file_data]
value.asset.file.attach( value.asset.file.attach(
io: StringIO.new(Base64.decode64(payload[:file_data].split(',')[1])), io: StringIO.new(Base64.decode64(payload[:file_data].split(',')[1])),
filename: payload[:filename] filename: payload[:filename]
) )
else
# payload is direct_upload_token
value.asset.file.attach(payload)
end end
value.asset.post_process_file(team) value.asset.post_process_file(team)

View file

@ -58,11 +58,7 @@ describe RepositoryAssetValue, type: :model do
} }
end end
let(:new_file_with_direct_upload_token) do let(:new_file_with_direct_upload_token) { 'Token' }
{
direct_upload_token: 'someUrl'
}
end
context 'when update data' do context 'when update data' do
# context 'when has direct_upload_token' do # context 'when has direct_upload_token' do

View file

@ -119,9 +119,6 @@ describe RepositoryRows::UpdateRepositoryRowService do
end end
context 'when service does not succeed' do context 'when service does not succeed' do
context 'when cell value update fails' do
end
context 'when updates repository_row and cell, but fails' do context 'when updates repository_row and cell, but fails' do
let(:params) do let(:params) do
{ {