Browse Source

Fixes #4405 - The word "action" is not a reserved word in object attributes.

Rolf Schmidt 2 years ago
parent
commit
83192b695d

+ 1 - 1
app/models/object_manager/attribute.rb

@@ -889,7 +889,7 @@ is certain attribute used by triggers, overviews or schedulers
     end
 
     # do not allow model method names as attributes
-    reserved_words = %w[destroy true false integer select drop create alter index table varchar blob date datetime timestamp url icon initials avatar permission validate subscribe unsubscribe translate search _type _doc _id id]
+    reserved_words = %w[destroy true false integer select drop create alter index table varchar blob date datetime timestamp url icon initials avatar permission validate subscribe unsubscribe translate search _type _doc _id id action]
     if name.match?(%r{^(#{reserved_words.join('|')})$})
       errors.add(:name, "#{name} is a reserved word! (1)")
     end

+ 1 - 1
spec/models/object_manager/attribute_spec.rb

@@ -60,7 +60,7 @@ RSpec.describe ObjectManager::Attribute, type: :model do
       end.to raise_error(ActiveRecord::RecordInvalid, 'Validation failed: Name attribute is a reserved word! (2)')
     end
 
-    %w[destroy true false integer select drop create alter index table varchar blob date datetime timestamp url icon initials avatar permission validate subscribe unsubscribe translate search _type _doc _id id].each do |reserved_word|
+    %w[destroy true false integer select drop create alter index table varchar blob date datetime timestamp url icon initials avatar permission validate subscribe unsubscribe translate search _type _doc _id id action].each do |reserved_word|
       it "rejects Zammad reserved word '#{reserved_word}'" do
         expect do
           described_class.add attributes_for :object_manager_attribute_text, name: reserved_word