kit_cms 2.3.16 → 2.3.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. data/app/assets/images/kit/toolbar/bold.png +0 -0
  2. data/app/assets/images/kit/toolbar/formatted.png +0 -0
  3. data/app/assets/images/kit/toolbar/image.png +0 -0
  4. data/app/assets/images/kit/toolbar/link.png +0 -0
  5. data/app/assets/images/kit/toolbar/list.png +0 -0
  6. data/app/assets/images/kit/toolbar/numbered_list.png +0 -0
  7. data/app/assets/images/kit/toolbar/preview.png +0 -0
  8. data/app/assets/images/kit/toolbar/quote.png +0 -0
  9. data/app/assets/images/kit/toolbar/redo.png +0 -0
  10. data/app/assets/images/kit/toolbar/underline.png +0 -0
  11. data/app/assets/images/kit/toolbar/undo.png +0 -0
  12. data/app/assets/images/kit/toolbar/video.png +0 -0
  13. data/app/assets/javascripts/codemirror/editor.js +183 -0
  14. data/app/assets/javascripts/codemirror/markdown.js +475 -0
  15. data/app/assets/javascripts/jquery.contextmenu.js +7 -7
  16. data/app/assets/javascripts/kit/kit.js +0 -1
  17. data/app/assets/javascripts/kit/markdown.js +1 -37
  18. data/app/assets/javascripts/kit/tree.js +18 -10
  19. data/app/assets/javascripts/kit/utilities.js +1 -1
  20. data/app/assets/stylesheets/codemirror/editor.css +3 -3
  21. data/app/assets/stylesheets/codemirror/theme.css +76 -1
  22. data/app/assets/stylesheets/kit/calendar.css +58 -97
  23. data/app/assets/stylesheets/kit/cms/cms.css +19 -0
  24. data/app/assets/stylesheets/kit/cms/dsc_tree.css +4 -0
  25. data/app/assets/stylesheets/kit/forums.css +30 -0
  26. data/app/assets/stylesheets/kit/kit.css +0 -1
  27. data/app/controllers/admin/dashboard_controller.rb +11 -2
  28. data/app/controllers/admin/page_templates_controller.rb +14 -1
  29. data/app/controllers/admin/user_controller.rb +2 -3
  30. data/app/controllers/category_controller.rb +5 -6
  31. data/app/controllers/form_controller.rb +1 -1
  32. data/app/controllers/forum_controller.rb +2 -2
  33. data/app/controllers/kit_controller.rb +2 -2
  34. data/app/controllers/pages_controller.rb +24 -0
  35. data/app/controllers/user/passwords_controller.rb +2 -0
  36. data/app/controllers/user/registrations_controller.rb +1 -4
  37. data/app/controllers/user/sessions_controller.rb +2 -0
  38. data/app/controllers/user/unlocks_controller.rb +2 -0
  39. data/app/controllers/user_controller.rb +1 -1
  40. data/app/helpers/calendar_helper.rb +4 -1
  41. data/app/helpers/kit_helper.rb +3 -3
  42. data/app/mailers/notification.rb +3 -3
  43. data/app/models/activity.rb +5 -2
  44. data/app/models/calendar.rb +1 -1
  45. data/app/models/category.rb +18 -4
  46. data/app/models/experiment.rb +2 -0
  47. data/app/models/form_submission.rb +2 -2
  48. data/app/models/html_asset.rb +3 -0
  49. data/app/models/mapping.rb +1 -0
  50. data/app/models/user.rb +1 -1
  51. data/app/views/admin/blocks/_form.html.haml +1 -1
  52. data/app/views/admin/dashboard/user_comments.html.haml +19 -8
  53. data/app/views/admin/experiments/show.html.haml +1 -1
  54. data/app/views/admin/form/_form.html.haml +8 -0
  55. data/app/views/admin/page_templates/_form.html.haml +1 -1
  56. data/app/views/admin/views/_form.html.haml +4 -4
  57. data/app/views/calendar/_calendar_scripts.js.erb +2 -2
  58. data/app/views/calendar/_month.html.haml +58 -27
  59. data/app/views/category/_select_options.html.erb +1 -1
  60. data/app/views/form/_show.html.haml +9 -1
  61. data/app/views/forum/_add_post.html.haml +3 -2
  62. data/app/views/forum/_mod_thread.js.erb +2 -2
  63. data/app/views/forum/_post_scripts.js.erb +1 -2
  64. data/app/views/forum/thread.html.haml +4 -0
  65. data/app/views/layouts/_application.html.erb +1 -0
  66. data/app/views/layouts/minimal.html.erb +2 -2
  67. data/app/views/notification/form_submission.text.erb +2 -0
  68. data/app/views/pages/_form.html.haml +7 -8
  69. data/app/views/pages/_page_scripts.js.erb +1 -3
  70. data/app/views/pages/_page_template_script.js.erb +28 -0
  71. data/app/views/pages/cookie_text.html.haml +1 -1
  72. data/app/views/pages/info.html.erb +2 -2
  73. data/app/views/pages/page_template.html.haml +40 -0
  74. data/app/views/utility/_cm_editor.html.erb +34 -5
  75. data/app/views/utility/_cm_toolbar_markdown.html.haml +49 -0
  76. data/config/initializers/devise_extender.rb +9 -0
  77. data/config/initializers/html_assets.rb +4 -0
  78. data/config/initializers/quiet_asserts.rb +1 -1
  79. data/config/routes.rb +2 -0
  80. metadata +21 -3
@@ -35,6 +35,9 @@ class HtmlAsset < ActiveRecord::Base
35
35
  end
36
36
 
37
37
  def write_to_file
38
+ parent = File.join(Rails.root, "public", "kit", self.file_type)
39
+ FileUtils.mkdir_p(parent) unless File.exists?(parent)
40
+
38
41
  path = File.join(Rails.root, "public", "kit", self.file_type, self.kit_name)
39
42
  dir = File.join(Rails.root, "public", "kit", self.file_type)
40
43
  found = false
@@ -1,3 +1,4 @@
1
1
  class Mapping < ActiveRecord::Base
2
+ attr_accessible :source_url, :target_url, :is_asset, :user_id, :status_code, :is_active, :params_url, :is_page, :system_id, :is_asset, :hidden
2
3
  belongs_to :user
3
4
  end
@@ -117,7 +117,7 @@ class User < KitIndexed
117
117
 
118
118
  after_create :welcome_message
119
119
 
120
- validates :display_name, :uniqueness=>{:scope=>:system_id}
120
+ validates :display_name, :uniqueness=>{:scope=>:system_id}, :allow_blank => true
121
121
  validates :email, :presence=>true, :uniqueness=>{:scope=>:system_id}
122
122
  validates :password, :presence=>true, :confirmation=>true, :on=>:create
123
123
  validates_confirmation_of :password, :on=>:create
@@ -24,7 +24,7 @@
24
24
  %a(name='editor')
25
25
  %p
26
26
  = f.label :body
27
- = cm_editor('html', :block, :body, f)
27
+ = cm_editor('xml', :block, :body, f)
28
28
  %p
29
29
  = kit_submit "Save"
30
30
  = kit_submit "Save And Edit Again"
@@ -1,7 +1,6 @@
1
1
  - content_for :page_scripts do
2
2
 
3
3
  function updated(id, moderated, visible) {
4
- console.debug(moderated + " " + visible);
5
4
  var mod;
6
5
  var nmod;
7
6
  var vis;
@@ -25,8 +24,6 @@
25
24
  vnmod = 0;
26
25
  }
27
26
 
28
- console.debug(id + ", " + moderated + ", " + visible + ", " + mod + ", " + nmod + "," + vis + ", " + vnmod);
29
-
30
27
  $('#mod_link_' + id + ' a').text(mod).attr('href', '/admin/dashboard/user_comment/' + id + '?comment[is_moderated]='+nmod);
31
28
 
32
29
  $('#vis_link_' + id + ' a').text(vis).attr('href', '/admin/dashboard/user_comment/' + id + '?comment[is_visible]='+vnmod);
@@ -57,18 +54,32 @@
57
54
  %th(width='200') User
58
55
  %th Moderated
59
56
  %th Visible
57
+ %th Delete
60
58
  - @comments.each do |comment|
61
- %tr
59
+ %tr(class="comment_#{comment.id}")
62
60
  %td
63
61
  = link_to comment.url, comment.url
64
62
  %td
65
63
  = link_to_if comment.user_id!=0, comment.user_email, "/admin/user/#{comment.user_id}"
66
64
  %td(id="mod_link_#{comment.id}")
67
- = link_to comment.is_moderated? ? 'Yes' : 'No', "/admin/dashboard/user_comment/#{comment.id}?comment[is_moderated]=#{comment.is_moderated? ? 0 : 1}", :method=>:post, :remote=>true
65
+ = icon_to comment.is_moderated? ? 'Yes' : 'No', "/admin/dashboard/user_comment/#{comment.id}?comment[is_moderated]=#{comment.is_moderated? ? 0 : 1}", false, :method=>:post, :remote=>true
68
66
  %td(id="vis_link_#{comment.id}")
69
- = link_to comment.is_visible? ? 'Yes' : 'No', "/admin/dashboard/user_comment/#{comment.id}?comment[is_visible]=#{comment.is_visible? ? 0 : 1}", :method=>:post, :remote=>true
70
- %tr
71
- %td(colspan="4")
67
+ = icon_to comment.is_visible? ? 'Yes' : 'No', "/admin/dashboard/user_comment/#{comment.id}?comment[is_visible]=#{comment.is_visible? ? 0 : 1}", false, :method=>:post, :remote=>true
68
+ %td(id="delete_link_#{comment.id}")
69
+ = icon_to "Delete", "/admin/dashboard/user_comment/#{comment.id}?delete=1", false, :method=>:post, :remote=>true, :confirm=>"Are you sure?"
70
+ %tr(class="comment_#{comment.id}")
71
+ %td(colspan="5")
72
+ .info
73
+ Name:
74
+ = comment.user_name
75
+ .info
76
+ Email:
77
+ = comment.user_email
78
+ .info
79
+ URL:
80
+ = link_to comment.user_url, comment.user_url
81
+ %br
72
82
  = field_reveal(comment.body, 200)
83
+ %hr
73
84
 
74
85
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  %p
46
46
  %label End Date
47
- = @experiment.end_date.to_s(:short)
47
+ = @experiment.end_date.to_s(:short) rescue ''
48
48
 
49
49
  %p
50
50
  %label Goal
@@ -52,6 +52,14 @@
52
52
  .field_help
53
53
  Include new and updated entries in system activity log
54
54
 
55
+ - if @form.respond_to?(:layout)
56
+ %li.advanced
57
+ = f.label "Layout"
58
+ = f.select :layout, options_from_collection_for_select(Layout.sys(_sid).order(:name).all, 'name', 'name')
59
+
60
+ .field_help
61
+ The layout to use for this form when rendering it as a page.
62
+
55
63
  %li.advanced
56
64
  = f.label "Stylesheets"
57
65
  = f.text_field :stylesheets
@@ -43,7 +43,7 @@
43
43
  If this template has an equivalent version for mobile devices, select it here. As such, practically this is mutually exclusive with the "For mobile devices" option above.
44
44
  %p
45
45
  = f.label :body
46
- = cm_editor('html', :page_template, :body, f)
46
+ = cm_editor('xml', :page_template, :body, f)
47
47
  .field_help
48
48
  The content of the template.
49
49
  %p
@@ -11,17 +11,17 @@
11
11
 
12
12
  %p
13
13
  = f.label :body
14
- = f.text_area :body
14
+ = cm_editor("html", :view, :body, f, nil, :height=>"400px")
15
15
 
16
16
  %p
17
17
  = f.label :header
18
- = f.text_area :header
18
+ = cm_editor("html", :view, :header, f, nil, :height=>"120px")
19
19
  .field_help
20
20
  Optional
21
21
 
22
22
  %p
23
23
  = f.label :footer
24
- = f.text_area :footer
24
+ = cm_editor("html", :view, :footer, f, nil, :height=>"120px")
25
25
  .field_help
26
26
  Optional
27
27
 
@@ -50,7 +50,7 @@
50
50
 
51
51
  %p
52
52
  = f.label :layout_id
53
- = f.select :layout_id, options_from_collection_for_select(Layout.order(:name).all, :id, :name, @view.layout_id)
53
+ = f.select :layout_id, options_from_collection_for_select(Layout.sys(_sid).order(:name).all, :id, :name, @view.layout_id)
54
54
  .field_help
55
55
  Only used if rendering this view as a whole page. Not used if rendering the view in another page
56
56
 
@@ -4,7 +4,7 @@ function month_show_day(day) {
4
4
  $('#day_' + i).hide();
5
5
  }
6
6
  $('#day_' + day).show().find('li').show();
7
- $('li.selected').removeClass('selected');
7
+ $('table td.selected').removeClass('selected');
8
8
  $('#box_' + day).addClass('selected');
9
9
  }
10
10
 
@@ -12,7 +12,7 @@ function month_show_entry(day, entry) {
12
12
  month_show_day(day);
13
13
  $('#day_' + day + " li").hide();
14
14
  $('.entry_' + entry).show();
15
- $('li.selected').removeClass('selected');
15
+ $('table td.selected').removeClass('selected');
16
16
  $('#box_' + day).addClass('selected');
17
17
  }
18
18
 
@@ -75,18 +75,32 @@
75
75
  .next
76
76
  = link_to "&gt;".html_safe, current_path_with_new_params("month=#{next_month}&year=#{next_year}&srid=#{params[:srid]}&etid=#{params[:etid]}")
77
77
 
78
- - if options[:show_days]
79
- .clear
80
- %ol.titles.clearfix
81
- - for day in ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] do
82
- %li
83
- = day
84
- .clear
85
- %br
86
- %ol.grid.clearfix
78
+
79
+ %table(class="#{mini ? 'mini' : 'full'}")
80
+ %tr.titles
81
+ - if options[:show_days]
82
+ %th.monday Monday
83
+ %th.tuesday Tuesday
84
+ %th.wednesday Wednesday
85
+ %th.thursday Thursday
86
+ %th.friday Friday
87
+ %th.saturday Saturday
88
+ %th.sunday Sunday
89
+
90
+ - row = 1
91
+ - col = 0
92
+
87
93
  - entries.keys.sort.each do |key|
88
94
  - days = entries[key]
89
- %li(id="box_#{key}" rel='#{key}' class="date_box #{date.strftime("%A").downcase if key==1} #{'today' if (date+(key-1).days).to_date==Date.today}")
95
+ - col += 1
96
+ = "<tr>".html_safe if col==1
97
+
98
+ - if col==1 && row==1
99
+ - while col < Date.new(date.year, date.month, 1).wday
100
+ = "<td class='pad'>&nbsp;</td>".html_safe
101
+ - col += 1
102
+
103
+ %td(id="box_#{key}" rel="#{key}" class="date_box #{date.strftime("%A").downcase if key==1} #{'today' if (date+(key-1).days).to_date==Date.today}")
90
104
  - if mini
91
105
  = key
92
106
  - else
@@ -94,23 +108,40 @@
94
108
  - if days.size==0 || mini
95
109
  &nbsp;
96
110
  - else
97
- %div
98
- - cnt = 0
99
- - days.each do |entry|
100
- - cnt += 1
101
- %p
102
- - if cnt>3
103
- - if Preference.get_cached(_sid, 'calendar_show_event_count')=='true'
104
- - cnt = days.size
105
- .event_count
106
- = "#{cnt}"
107
-
108
- = link_to_function "more...", "month_show_day(#{key})"
109
- - break
110
- - else
111
- = "*" unless entry.approved_at
112
- = link_to_function truncate(entry.name, :length=>20), "month_show_entry(#{key}, #{entry.id})"
113
- .clear
111
+ - cnt = 0
112
+ - days.each do |entry|
113
+ - cnt += 1
114
+ %p
115
+ - if cnt>3
116
+ - if Preference.get_cached(_sid, 'calendar_show_event_count')=='true'
117
+ - cnt = days.size
118
+ .event_count
119
+ = "#{cnt}"
120
+
121
+ = link_to_function "more...", "month_show_day(#{key})"
122
+ - break
123
+ - else
124
+ = "*" unless entry.approved_at
125
+ = link_to_function truncate(entry.name, :length=>20), "month_show_entry(#{key}, #{entry.id})"
126
+
127
+
128
+ - if col==7
129
+ = "</tr>".html_safe
130
+ - col = 0
131
+ - row += 1
132
+ - need_close = false
133
+ - if col > 0
134
+ - while col < 7
135
+ = "<td class='pad'>&nbsp;</td>".html_safe
136
+ - col += 1
137
+ - need_close = true
138
+
139
+ = "</tr>".html_safe if need_close
140
+
141
+
142
+
143
+
144
+ .clear
114
145
 
115
146
  - unless mini
116
147
  .details
@@ -1 +1 @@
1
- <% @categories.each do |cat| -%><option value="<%= cat.id %>"><%= cat.path %></option><% end -%>
1
+ <% @categories.each do |cat| -%><option value="<%= cat.id %>"><%= cat.path.strip %></option><% end -%>
@@ -1,12 +1,15 @@
1
+ - first_field = nil
1
2
  - content_for :page_scripts do
2
3
  $(document).ready(function() {
3
4
 
4
5
  - form.form_fields.each do |field|
6
+ - first_field = field
5
7
  - next unless field.form_field_type.html_options.not_blank?
6
8
  - field.form_field_type.html_options.split('|').each do |hh|
7
9
  $('#field_#{field.id}').attr('#{hh.split('=')[0]}', #{hh.split('=')[1]});
8
10
  $('#form_#{form.id}').validate();
9
- $('#field_#{form.form_fields.first.id}').focus();
11
+ - if first_field
12
+ $('#field_#{first_field.id}').focus();
10
13
  });
11
14
 
12
15
  %div(class="#{form.klass}")
@@ -14,6 +17,11 @@
14
17
  .form-title
15
18
  = form.title
16
19
 
20
+ - if first_field == nil && (is_admin? || (current_user && form.user_id==current_user.id) )
21
+ This form has no fields. Go to the
22
+ = link_to "form in the dashboard", "/admin/form/#{form.id}/fields"
23
+ to add some. Normal users will not see this message.
24
+
17
25
  - if show_body
18
26
  .body
19
27
  = form.body.html_safe
@@ -34,7 +34,9 @@
34
34
  #body
35
35
  %label(label_for='post_body')
36
36
  = t "forum.post_body"
37
- = form.text_area :body
37
+ .post_box(style="border: thin #AAA solid; margin-bottom: 10px;")
38
+ = f.text_area :body
39
+ = cm_editor('markdown', :topic_post, :body, form, nil, {:theme=>"neat", :dont_show_mode=>true, :dont_show_line_numbers=>true, :height=>300, :show_toolbar=>true}) if Preference.get_cached(_sid, "use_markdown_editor")=="true"
38
40
 
39
41
  - formatting = kit_snippet('Forum Post Formatting Help')
40
42
  - if formatting.not_blank?
@@ -43,7 +45,6 @@
43
45
 
44
46
  #submit
45
47
  = link_to_function t("forum.submit_post"), "send_this_form();", :class=>"action"
46
- = link_to_function t("forum.preview_post"), "$('#body .markItUpButton9').mouseup();", :class=>"action"
47
48
  .display_name
48
49
  Posting as &quot;
49
50
  = current_user.display_name if current_user && current_user.display_name
@@ -43,8 +43,8 @@ function edit_post(thread_id, post_id) {
43
43
  body.append('<div id="popup_form"></div>');
44
44
  div = $('#popup_form');
45
45
 
46
- div.append('Post: <textarea style="width:95%;" rows="18" id="topic_post_body_mod"></textarea>');
47
- markdown_editor('#topic_post_body_mod');
46
+ div.append('Post: <textarea style="width:95%;" rows="18" id="topic_post_body_mod"></textarea>');
47
+ // TODO: Markdown editor
48
48
  div.append('Comment: <textarea style="width:95%;" rows="6" id="comment"></textarea>');
49
49
  div.append('<br/><input type="button" onClick="save_edit();" value="Save"/>');
50
50
  $('#topic_post_body_mod').load("/forums/post/"+post_id);
@@ -14,7 +14,6 @@ $(document).ready(function() {
14
14
  show_post();
15
15
  <% end %>
16
16
 
17
- markdown_editor('#topic_post_body');
18
17
  });
19
18
 
20
19
  var editing_id = null;
@@ -28,9 +27,9 @@ function user_edit_post(post_id) {
28
27
  div = $('#popup_form');
29
28
 
30
29
  div.append('Post: <textarea style="width:95%;" rows="18" id="topic_post_body_edit"></textarea>');
30
+ // TODO Markdown editor
31
31
  div.append('<br/><input type="button" onClick="user_save_edit();" value="Save"/>');
32
32
  $('#topic_post_body_edit').load("/forums/post/"+post_id);
33
- markdown_editor('#topic_post_body_edit');
34
33
  editing_id = post_id;
35
34
  }
36
35
 
@@ -2,6 +2,10 @@
2
2
  - content_for :page_scripts do
3
3
  = render :partial=>"mod_thread", :formats=>[:js]
4
4
 
5
+ - content_for :head do
6
+ = javascript_include_tag "codemirror/editor"
7
+ = stylesheet_link_tag "codemirror/editor"
8
+
5
9
  #forums
6
10
  = render(:partial=>"introduction")
7
11
  .titles(class='clearfix')
@@ -0,0 +1 @@
1
+ <%= yield %>
@@ -3,9 +3,9 @@
3
3
  <head>
4
4
  <title><%= yield :title %></title>
5
5
  <!-- layout: minimal -->
6
-
6
+
7
+ <%= stylesheet_link_tag "kit/cms" %>
7
8
  <%= render :partial=>'/layouts/cms-common', :locals=>{:include_menu=>true} %>
8
- <%= stylesheet_link_tag "kit_admin" %>
9
9
 
10
10
  <%= csrf_meta_tag %>
11
11
 
@@ -3,3 +3,5 @@ The following form has been submitted:
3
3
  <% @sub.form_submission_fields.each do |field| %>
4
4
  <%= field.form_field.name %>: <%= field.value %>
5
5
  <% end %>
6
+
7
+ View online: <%= "#{Preference.get_cached(@sid, 'host')}/admin/forms/#{@sub.form_id}/browse?id=#{@sub.id}" %>
@@ -19,7 +19,7 @@
19
19
  = render :partial=>"google_preview"
20
20
 
21
21
  - simple_mode = pref('advanced_mode')!='advanced'
22
-
22
+ - advanced_mode = !simple_mode
23
23
 
24
24
  #pageinfo.cms_form(style="margin-bottom: 10px;")
25
25
  = form_for @page do |f|
@@ -32,15 +32,14 @@
32
32
  = f.hidden_field :copy_of
33
33
 
34
34
  - if @page.new_record?
35
- - category_visible = !simple_mode || @page.category_id==nil || @page.errors[:name]
35
+ - category_visible = advanced_mode || params[:cat_id]==nil || @page.errors[:name].size>0
36
36
  %li(class='select optional more_options' id='article_category_input' style="#{'display: none;' unless category_visible}")
37
37
  %label(for='article_category_id') Category
38
- = text_field_tag "category_filter", '', {"data-focus"=>has_cat ? '':'special'}
39
- - cat_options = page.category_id ? "<option value='#{page.category.id}'>#{page.category.path}</option>" : options_from_collection_for_select(Category.order('name').sys(_sid).all, :id, :name)
40
- = select_tag "page[category_id]", cat_options.html_safe
41
- %br
42
- .field_help
43
- Enter any part of the name of the desired category
38
+ - cat_options = options_from_collection_for_select(Category.order('path').sys(_sid).all, :id, :path, @page.category_id || params[:cat_id])
39
+ = select_tag "page[category_id]", cat_options.html_safe, :style=>"width: 542px;"
40
+ %span.category_filter
41
+ = icon_to_function "Filter Categories", "$('.category_filter input').show().focus(); $('.category_filter a').hide();", false
42
+ = text_field_tag "category_filter", '', {"data-focus"=>has_cat ? '':'special', :style=>"width: 100px; display: none;"}
44
43
  #category_warning
45
44
  - else
46
45
  %script(type='text/javascript')
@@ -29,8 +29,7 @@ $('input#page_title').change(function() {
29
29
  }
30
30
  });
31
31
 
32
- $('#category_filter').bind('keydown', function () {
33
- if ($(this).val().length>0) {
32
+ $('#category_filter').bind('keyup', function () {
34
33
  $('#wait').show();
35
34
  $.ajax({type:"POST",
36
35
  url:"/category/select_options",
@@ -39,7 +38,6 @@ $('#category_filter').bind('keydown', function () {
39
38
  $('#wait').hide();
40
39
  },
41
40
  data:"type=page&search="+$(this).val()});
42
- }
43
41
  });
44
42
 
45
43
  $('#category_filter').focus();
@@ -0,0 +1,28 @@
1
+ var current_page_template_id = <%= current %>;
2
+
3
+ $(document).ready(function() {
4
+ $('#page_page_template_id').on('change', function() {
5
+ $('#error_explanation').hide();
6
+ var template_id = $('#page_page_template_id').val();
7
+ if (template_id == current_page_template_id) {
8
+ return;
9
+ }
10
+ $.get('/admin/page_templates/' + template_id + "/mapping", null, function(data) {
11
+ var options = '<option></option>';
12
+ $.each(data, function(index, value) {
13
+ options = options + "<option value='" + value + "'>";
14
+ options = options + value + "</option>";
15
+ });
16
+
17
+ $('.field_select').html($(options));
18
+ $('.field_select').each(function () {
19
+ var select = $(this);
20
+ var data_name = select.attr('data-name');
21
+ select.find('option').each(function() {
22
+ this.selected = (this.value == data_name);
23
+ });
24
+ });
25
+ $('ul#mapping').show();
26
+ });
27
+ });
28
+ });