forked from redbooth/teambox
/
pages_helper.rb
96 lines (79 loc) · 2.67 KB
/
pages_helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
module PagesHelper
def page_primer(project)
return unless project.editable?(current_user)
render :partial => 'pages/primer', :locals => { :project => project }
end
def page_column(project,pages,current_target = nil)
render :partial => 'pages/column', :locals => {
:project => project,
:pages => pages,
:current_target => current_target }
end
def new_page_link(project)
return unless project.editable?(current_user)
link_to content_tag(:span,t('.new_page')), new_project_page_path(project), :class => 'add_button'
end
def page_fields(f)
render :partial => 'pages/fields', :locals => { :f => f }
end
def list_pages(pages,current_target)
render :partial => 'pages/page_sidebar',
:collection => pages,
:as => :page,
:locals => {
:current_target => current_target }
end
def list_pages_with_toc(pages)
render :partial => 'pages/page', :collection => pages
end
def page_link(page)
link_to h(page), project_page_path(page.project,page)
end
def edit_page_link(project,page)
link_to t('common.edit'), edit_project_page_path(project,page)
end
def delete_page_link(project,page)
link_to t('common.delete'), project_page_path(project,page),
:method => :delete,
:class => 'remove',
:confirm => t('confirm.delete_page')
end
def notes_sortable_tag(page)
url = project_page_path(page.project,page)
update_page_tag do |page|
page.notes_sortable(url)
end
end
def notes_sortable(url)
page.sortable('notes', {
:tag => 'div',
:handle => 'img.drag',
:url => url,
:method => :put
})
end
def page_action_links(project,page)
return unless project.editable?(current_user)
render :partial => 'pages/actions',
:locals => {
:project => project,
:page => page }
end
def page_slot_fields(formName=nil, slot=0, before=0)
render :partial => 'pages/slot_fields', :locals => {:formName => formName, :pos_slot => slot, :pos_before => before}
end
def drag_widget_handle(widget)
image_tag('drag.png', :class => 'slot_handle')
end
def page_buttons(project,page)
return unless project.editable?(current_user)
render :partial => 'pages/buttons', :locals => { :project => project, :page => page, :in_bar => false }
end
def page_bar_buttons(project,page)
return unless project.editable?(current_user)
render :partial => 'pages/buttons', :locals => { :project => project, :page => page, :in_bar => true }
end
def insert_widget(widget_id, position, location, view_options={})
page.call "Page.insertWidget", widget_id, position, location, render(view_options)
end
end