13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/models/task.rb', line 13
def self.task(task_name)
base_attributes = { :name => task_name, :user_id => Rtt.current_user.id, :date => Date.today, :rate => (Rtt.current_project.rate if Rtt.current_project.present?) }
if task_name.nil?
existing_task = Task.where(:active => true).first
if existing_task
existing_task
else
base_attributes.merge!(:name => DEFAULT_NAME) if task_name.blank?
Task.create(base_attributes)
end
elsif (existing_task = Task.where(base_attributes).where(Task.arel_table[:start_at].gt(Date.today.beginning_of_day)).first).present?
existing_task
else
Task.create(base_attributes)
end
end
|