Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions app/models/recurring_task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ class RecurringTask < ActiveRecord::Base

belongs_to :issue, :foreign_key => 'current_issue_id'
has_one :project, :through => :issue

attr_accessible :id, :current_issue_id, :interval_number, :interval_modifier, :interval_unit, :fixed_schedule # list all fields that you want to be accessible here

# these are the flags used in the database to denote the interval
# the actual text displayed to the user is controlled in the language file
Expand Down Expand Up @@ -41,7 +43,7 @@ class RecurringTask < ActiveRecord::Base
# for older Rails compatibility
# validates_presence_of :interval_localized_name #41
validates_presence_of :interval_unit
validates_presence_of :interval_modifier, :if => "interval_unit == INTERVAL_MONTH"
validates_presence_of :interval_modifier, :if => "interval_unit == RecurringTask::INTERVAL_MONTH"

validates_presence_of :interval_number

Expand All @@ -53,7 +55,7 @@ class RecurringTask < ActiveRecord::Base
validates_inclusion_of :interval_modifier,
:in => RecurringTask::MONTH_MODIFIERS_LOCALIZED.keys,
:message => "#{l(:error_invalid_modifier)} '%{value}' (Validation)",
:if => "interval_unit == INTERVAL_MONTH"
:if => "interval_unit == RecurringTask::INTERVAL_MONTH"

validates_numericality_of :interval_number, :only_integer => true, :greater_than => 0
# cannot validate presence of issue if want to use other features; requiring presence of fixed_schedule requires it to be true
Expand Down Expand Up @@ -247,7 +249,7 @@ def recur_issue_if_needed!
new_issue.due_date = next_scheduled_recurrence #41 previous_date_for_recurrence + recurrence_pattern
new_issue.start_date = new_issue.due_date
new_issue.done_ratio = 0
new_issue.status = IssueStatus.default # issue status is NOT automatically new, default is whatever the default status for new issues is
new_issue.status = issue.tracker.default_status # issue status is NOT automatically new, default is whatever the default status for new issues is
new_issue.save!
puts "Recurring #{issue.id}: #{issue.subj_date}, created #{new_issue.id}: #{new_issue.subj_date}"

Expand Down
4 changes: 2 additions & 2 deletions app/views/issues/_show_recurrence.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<% end %>
<p><strong><%= l(:field_recurrence).pluralize(2) %></strong></p>
<% if issue.recurs? %>
<table class="list">
<table class="list" style="border-width: 0;">
<tbody>
<% issue.recurring_tasks.each do |rt| %>
<tr>
Expand Down Expand Up @@ -47,4 +47,4 @@
<% end %>
</td>
</tr>
-->
-->
2 changes: 1 addition & 1 deletion app/views/recurring_tasks/_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<%= content_tag :div, :id => "interval_modifier_block", :style => modifier_display do -%>
<p><%= f.select 'interval_modifier', rt.get_modifiers_descriptions.collect{|k,v| [v, k]} %></p>
<% end -%>
<p><%= f.check_box :fixed_schedule, :checked => true %></p>
<p><%= f.check_box :fixed_schedule %></p>
</div>
<%= f.submit %>
<%= link_to l(:button_cancel), :back %>
Expand Down
16 changes: 8 additions & 8 deletions config/routes.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# resources :recurring_tasks

# admin view
match 'recurring_tasks', :to => 'recurring_tasks#index'
match 'recurring_tasks', :to => 'recurring_tasks#index', :as => :index_recurring_tasks, :via => 'get'

# project view
match 'projects/:project_id/recurring_tasks', :to => 'recurring_tasks#index', :as => :recurring_tasks
match 'projects/:project_id/recurring_tasks/new(/:issue_id)', :to => 'recurring_tasks#new', :as => :new_recurring_task
match 'projects/:project_id/recurring_tasks/create', :to => 'recurring_tasks#create'
match 'projects/:project_id/recurring_tasks/:id', :to => 'recurring_tasks#show', :as => :recurring_task
match 'projects/:project_id/recurring_tasks/:id/edit', :to => 'recurring_tasks#edit', :as => :edit_recurring_task
match 'projects/:project_id/recurring_tasks/:id/update', :to => 'recurring_tasks#update'
match 'projects/:project_id/recurring_tasks/:id/destroy', :to => 'recurring_tasks#destroy', :as => :destroy_recurring_task
match 'projects/:project_id/recurring_tasks', :to => 'recurring_tasks#index', :as => :recurring_tasks, :via => 'get'
match 'projects/:project_id/recurring_tasks/new(/:issue_id)', :to => 'recurring_tasks#new', :as => :new_recurring_task, :via => 'get'
match 'projects/:project_id/recurring_tasks/create', :to => 'recurring_tasks#create', :via => 'post'
match 'projects/:project_id/recurring_tasks/:id', :to => 'recurring_tasks#show', :as => :recurring_task, :via => 'get'
match 'projects/:project_id/recurring_tasks/:id/edit', :to => 'recurring_tasks#edit', :as => :edit_recurring_task, :via => 'get'
match 'projects/:project_id/recurring_tasks/:id/update', :to => 'recurring_tasks#update', :via => [:get, :post, :patch]
match 'projects/:project_id/recurring_tasks/:id/destroy', :to => 'recurring_tasks#destroy', :as => :destroy_recurring_task, :via => [:post, :delete]