2007-03-30 04:36:52 +00:00
|
|
|
module ProjectsHelper
|
|
|
|
|
|
|
|
def get_listing_sortable_options(list_container_id)
|
|
|
|
{
|
|
|
|
:tag => 'div',
|
|
|
|
:handle => 'handle',
|
|
|
|
:complete => visual_effect(:highlight, list_container_id),
|
|
|
|
:url => order_projects_path
|
|
|
|
}
|
|
|
|
end
|
2011-09-28 13:54:50 +02:00
|
|
|
|
2007-03-30 04:36:52 +00:00
|
|
|
def set_element_visible(id,test)
|
|
|
|
if (test)
|
2008-04-19 19:15:07 +00:00
|
|
|
page.show id
|
|
|
|
else
|
|
|
|
page.hide id
|
|
|
|
end
|
2007-03-30 04:36:52 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def project_next_prev
|
|
|
|
html = ''
|
|
|
|
unless @previous_project.nil?
|
2008-11-30 20:16:57 +01:00
|
|
|
project_name = truncate(@previous_project.name, :length => 40, :omission => "...")
|
2007-03-30 04:36:52 +00:00
|
|
|
html << link_to_project(@previous_project, "« #{project_name}")
|
|
|
|
end
|
|
|
|
html << ' | ' if @previous_project && @next_project
|
|
|
|
unless @next_project.nil?
|
2008-11-30 20:16:57 +01:00
|
|
|
project_name = truncate(@next_project.name, :length => 40, :omission => "...")
|
2007-03-30 04:36:52 +00:00
|
|
|
html << link_to_project(@next_project, "#{project_name} »")
|
|
|
|
end
|
|
|
|
html
|
|
|
|
end
|
2011-09-28 13:54:50 +02:00
|
|
|
|
2008-04-19 19:15:07 +00:00
|
|
|
def project_next_prev_mobile
|
|
|
|
html = ''
|
|
|
|
unless @previous_project.nil?
|
2008-11-30 20:16:57 +01:00
|
|
|
project_name = truncate(@previous_project.name, :length => 40, :omission => "...")
|
2008-04-25 19:06:45 +00:00
|
|
|
html << link_to_project_mobile(@previous_project, "5", "« 5-#{project_name}")
|
2008-04-19 19:15:07 +00:00
|
|
|
end
|
|
|
|
html << ' | ' if @previous_project && @next_project
|
|
|
|
unless @next_project.nil?
|
2008-11-30 20:16:57 +01:00
|
|
|
project_name = truncate(@next_project.name, :length => 40, :omission => "...")
|
2008-04-25 19:06:45 +00:00
|
|
|
html << link_to_project_mobile(@next_project, "6", "6-#{project_name} »")
|
2008-04-19 19:15:07 +00:00
|
|
|
end
|
|
|
|
html
|
|
|
|
end
|
2011-02-09 20:41:34 +01:00
|
|
|
|
|
|
|
def link_to_delete_project(project, descriptor = sanitize(project.name))
|
|
|
|
link_to(
|
|
|
|
descriptor,
|
|
|
|
project_path(project, :format => 'js'),
|
|
|
|
{
|
|
|
|
:id => "delete_project_#{project.id}",
|
2012-01-27 10:55:39 +01:00
|
|
|
:class => "delete_project_button icon",
|
2011-02-09 20:41:34 +01:00
|
|
|
:x_confirm_message => t('projects.delete_project_confirmation', :name => project.name),
|
|
|
|
:title => t('projects.delete_project_title')
|
|
|
|
}
|
|
|
|
)
|
|
|
|
end
|
2011-05-01 12:48:32 +02:00
|
|
|
|
2012-03-21 18:09:20 +01:00
|
|
|
def link_to_edit_project (project, descriptor = sanitize(project.name))
|
|
|
|
link_to(descriptor,
|
|
|
|
url_for({:controller => 'projects', :action => 'edit', :id => project.id}),
|
|
|
|
{
|
|
|
|
:id => "link_edit_#{dom_id(project)}",
|
|
|
|
:class => "project_edit_settings icon"
|
|
|
|
})
|
|
|
|
end
|
|
|
|
|
2011-05-01 12:48:32 +02:00
|
|
|
def summary(project)
|
|
|
|
project_description = ''
|
|
|
|
project_description += sanitize(markdown( project.description )) unless project.description.blank?
|
2011-09-28 13:54:50 +02:00
|
|
|
project_description += content_tag(:p,
|
2011-05-01 12:48:32 +02:00
|
|
|
"#{count_undone_todos_phrase(p)}. " + t('projects.project_state', :state => project.state)
|
|
|
|
)
|
|
|
|
project_description
|
|
|
|
end
|
|
|
|
|
2011-09-15 20:52:24 -04:00
|
|
|
def needsreview_class(item)
|
2011-09-16 23:34:09 -04:00
|
|
|
raise "item must be a Project " unless item.kind_of? Project
|
2011-09-28 13:54:50 +02:00
|
|
|
return item.needs_review?(current_user) ? "needsreview" : "needsnoreview"
|
2011-09-15 20:52:24 -04:00
|
|
|
end
|
|
|
|
|
2007-03-30 04:36:52 +00:00
|
|
|
end
|