Skip to content

Commit

Permalink
(#1437) Added show submilestones checkbox
Browse files Browse the repository at this point in the history
  • Loading branch information
k41n committed Aug 15, 2012
1 parent ad9852c commit 817e05d
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 6 deletions.
6 changes: 6 additions & 0 deletions app/controllers/milestones_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ def update_settings
else
@default_show_closed_milestones.update_attribute(:value, "false")
end
@default_show_sub_milestones = MilestonesSettings.find_by_key_and_project_id("default_show_sub_milestones", @project.id)
if params[:default_show_sub_milestones]
@default_show_sub_milestones.update_attribute(:value, "true")
else
@default_show_sub_milestones.update_attribute(:value, "false")
end
redirect_to :controller => 'projects', :action => 'settings', :tab => 'milestones', :id => @project
end

Expand Down
11 changes: 7 additions & 4 deletions app/views/milestones/_milestone.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,13 @@
<% visited_milestones ||= Set.new %>
<% visited_milestones << milestone.id %>
<% unless milestone.children.empty? %>
<% if params[:completed_milestones] %>
<%= render :partial => "milestones/milestone", :collection => milestone.children.reject{|x| visited_milestones.include? x.id}, :locals => {:visited_milestones => visited_milestones} %>
<% else %>
<%= render :partial => "milestones/milestone", :collection => milestone.children.opened.reject{|x| visited_milestones.include? x.id}, :locals => {:visited_milestones => visited_milestones} %>
<% @default_show_sub_milestones = MilestonesSettings.find_or_create_by_project_id_and_key(@project.id, "default_show_sub_milestones") %>
<% if ((@default_show_sub_milestones.enabled? and not params[:hide_sub_milestones] == '1') or (@default_show_sub_milestones.disabled? and params[:show_sub_milestones])) or draw_hr %>
<% if params[:completed_milestones] %>
<%= render :partial => "milestones/milestone", :collection => milestone.children.reject{|x| visited_milestones.include? x.id}, :locals => {:visited_milestones => visited_milestones} %>
<% else %>
<%= render :partial => "milestones/milestone", :collection => milestone.children.opened.reject{|x| visited_milestones.include? x.id}, :locals => {:visited_milestones => visited_milestones} %>
<% end %>
<% end %>
<% end %>
</div>
4 changes: 4 additions & 0 deletions app/views/projects/settings/_milestones.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<% if @project.module_enabled?(:milestones_module) %>
<% @default_show_milestones = MilestonesSettings.find_or_create_by_project_id_and_key(@project.id, "default_show_milestones") %>
<% @default_show_closed_milestones = MilestonesSettings.find_or_create_by_project_id_and_key(@project.id, "default_show_closed_milestones") %>
<% @default_show_sub_milestones = MilestonesSettings.find_or_create_by_project_id_and_key(@project.id, "default_show_sub_milestones") %>
<h2><%= t(:milestone_settings) %></h2>
<% form_tag update_settings_milestones_path do %>
<%= hidden_field_tag :project_id, @project.id %>
Expand All @@ -10,6 +11,9 @@
<%= label_tag :default_show_closed_milestones, t(:default_show_closed_milestones),{:style=>'width: 300px; display: inline-block'} %>
<%= check_box_tag :default_show_closed_milestones, 0, (@default_show_closed_milestones.value == "true") %>
<br/>
<%= label_tag :default_show_sub_milestones, t(:default_show_sub_milestones),{:style=>'width: 300px; display: inline-block'} %>
<%= check_box_tag :default_show_sub_milestones, 0, (@default_show_sub_milestones.value == "true") %>
<br/>
<%= submit_tag t(:update) %>
<% end %>
<% logger.info "Calling all_milestones" %>
Expand Down
8 changes: 8 additions & 0 deletions app/views/versions/index.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
<% @default_show_milestones = MilestonesSettings.find_or_create_by_project_id_and_key(@project.id, "default_show_milestones") %>
<% @default_show_closed_milestones = MilestonesSettings.find_or_create_by_project_id_and_key(@project.id, "default_show_closed_milestones") %>
<% @default_show_sub_milestones = MilestonesSettings.find_or_create_by_project_id_and_key(@project.id, "default_show_sub_milestones") %>

<h3><%= t(:versions) %></h3>
<% if @versions.empty? %>
Expand Down Expand Up @@ -87,6 +88,13 @@
<% else %>
<label for="completed_milestones"><%= check_box_tag "completed_milestones", 1, params[:completed_milestones] %> <%= l(:label_show_completed_milestones) %></label>
<% end %>
<br/>
<% if @default_show_sub_milestones.enabled? %>
<label for="show_sub_milestones"><%= check_box_tag "show_sub_milestones", 1, params[:hide_sub_milestones] != '1', :onclick => 'show_sub_milestones_changed()' %> <%= l(:label_show_sub_milestones) %></label>
<%= hidden_field_tag "hide_sub_milestones", params[:hide_sub_milestones] %>
<% else %>
<label for="show_sub_milestones"><%= check_box_tag "show_sub_milestones", 1, params[:show_sub_milestones] %> <%= l(:label_show_sub_milestones) %></label>
<% end %>
<% end %>
<% if @project.descendants.active.any? %>
<%= hidden_field_tag 'with_subprojects', 0 %>
Expand Down
15 changes: 13 additions & 2 deletions assets/javascripts/milestones.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,6 @@ function remove_fields(link)
function show_milestones_changed()
{
var val = $('show_milestones').checked;
console.log(val);
if (val == '1')
{
$('hide_milestones').value = '0';
Expand All @@ -226,7 +225,6 @@ function show_milestones_changed()
function show_hidden_milestones_changed()
{
var val = $('show_completed_milestones').checked;
console.log(val);
if (val == '1')
{
$('hide_completed_milestones').value = '0';
Expand All @@ -237,6 +235,19 @@ function show_hidden_milestones_changed()
}
}

function show_sub_milestones_changed()
{
var val = $('show_sub_milestones').checked;
if (val == '1')
{
$('hide_sub_milestones').value = '0';
}
else
{
$('hide_sub_milestones').value = '1';
}
}

function move_selected_to_assigned()
{
move('available_projects', 'milestone_assigned_projects');
Expand Down
2 changes: 2 additions & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,5 @@ en:
planned_date_set_to_actual: Planned date has been set to actual
actual_not_found: No actual due date, nothing to do
label_roadmap_no_issues_for_milestone: No issues for this milestone
default_show_sub_milestones: Show sub-milestones on the Roadmap
label_show_sub_milestones: Show sub-milestones
9 changes: 9 additions & 0 deletions db/migrate/008_add_default_show_sub_milestones_setting.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class AddDefaultShowSubMilestonesSetting < ActiveRecord::Migration
def self.up
MilestonesSettings.create(:key => "default_show_sub_milestones", :value => "false")
end

def self.down
MilestonesSettings.find_by_key("default_show_sub_milestones").delete
end
end

0 comments on commit 817e05d

Please sign in to comment.