123456789101112131415161718192021222324252627282930313233 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- module CanUniqName
- extend ActiveSupport::Concern
- # methods defined here are going to extend the class, not the instance of it
- class_methods do
- =begin
- generate uniq name (will check name of model and generates _1 sequenze)
- Used as before_update callback, no own use needed
- name = Model.generate_uniq_name('some name')
- returns
- result = 'some name_X'
- =end
- def generate_uniq_name(name)
- return name if !exists?(name: name)
- (1..100).each do |counter|
- name = "#{name}_#{counter}"
- break if !exists?(name: name)
- end
- name
- end
- end
- end
|