33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'app/models/permission.rb', line 33
def self.save_row_data(row, base_path)
image_base_path = base_path + "images/"
row..each{ |cell| row[cell] = row[cell].to_s.strip }
return if row[:user].blank? || row[:feature].blank?
error_object = Usman::ErrorHash.new
user = User.find_by_username(row[:user])
unless user
summary = "User '#{row[:user]}' doesn't exist"
error_object.errors << { summary: summary }
return error_object
end
feature = Feature.find_by_name(row[:feature])
unless feature
summary = "Feature '#{row[:feature]}' doesn't exist"
error_object.errors << { summary: summary }
return error_object
end
permission = Permission.where("user_id = ? AND feature_id = ?", user.id, feature.id).first || Permission.new
permission.user = user
permission.feature = feature
permission.can_create = row[:can_create]
permission.can_read = row[:can_read]
permission.can_update = row[:can_update]
permission.can_delete = row[:can_delete]
if permission.valid?
permission.save!
else
summary = "Error while saving permission: #{user.name} - #{feature.name}"
details = "Error! #{permission.errors.full_messages.to_sentence}"
error_object.errors << { summary: summary, details: details }
end
return error_object
end
|