redmine_extensions 0.1.10 → 0.1.11

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/redmine_extensions/redmine_extensions.js +9 -6
  3. data/app/assets/javascripts/redmine_extensions/redmine_extensions.js.orig +648 -0
  4. data/app/controllers/easy_settings_controller.rb +1 -1
  5. data/app/helpers/redmine_extensions/application_helper.rb +2 -2
  6. data/app/helpers/redmine_extensions/application_helper.rb.orig +189 -0
  7. data/app/views/common/_closing_modal.html.erb +2 -2
  8. data/app/views/common/_collapsible_module_layout.html.erb +1 -1
  9. data/app/views/common/close_modal.js.erb +4 -4
  10. data/app/views/easy_entity_assignments/_query_index.html.erb.orig +16 -0
  11. data/app/views/easy_settings/edit.html.erb +1 -1
  12. data/config/database.yml +15 -0
  13. data/config/routes.rb +7 -3
  14. data/lib/generators/redmine_extensions/entity/templates/_sidebar.html.erb.erb +8 -8
  15. data/lib/generators/redmine_extensions/entity/templates/context_menu.html.erb.erb +7 -7
  16. data/lib/generators/redmine_extensions/entity/templates/custom_field.rb.erb +7 -7
  17. data/lib/generators/redmine_extensions/entity/templates/edit.html.erb.erb +18 -18
  18. data/lib/generators/redmine_extensions/entity/templates/edit.js.erb.erb +16 -16
  19. data/lib/generators/redmine_extensions/entity/templates/index.api.rsb.erb +5 -5
  20. data/lib/generators/redmine_extensions/entity/templates/index.html.erb.erb +4 -4
  21. data/lib/generators/redmine_extensions/entity/templates/index.js.erb.erb +10 -10
  22. data/lib/generators/redmine_extensions/entity/templates/mail_added.html.erb.erb +1 -1
  23. data/lib/generators/redmine_extensions/entity/templates/mail_added.text.erb.erb +2 -2
  24. data/lib/generators/redmine_extensions/entity/templates/mail_updated.text.erb.erb +2 -2
  25. data/lib/generators/redmine_extensions/entity/templates/migration.rb.erb +9 -9
  26. data/lib/generators/redmine_extensions/entity/templates/new.html.erb.erb +18 -18
  27. data/lib/generators/redmine_extensions/entity/templates/new.js.erb.erb +16 -16
  28. data/lib/generators/redmine_extensions/entity/templates/routes.rb.erb +12 -12
  29. data/lib/generators/redmine_extensions/entity/templates/show.html.erb.erb +37 -37
  30. data/lib/generators/redmine_extensions/entity/templates/show.js.erb.erb +10 -10
  31. data/lib/redmine_extensions/engine.rb +0 -9
  32. data/lib/redmine_extensions/redmine_patches/controllers/issues_controller_patch.rb +9 -0
  33. data/lib/redmine_extensions/version.rb +1 -1
  34. data/lib/redmine_extensions/version.rb.orig +7 -0
  35. data/spec/redmine/bin/about +0 -0
  36. data/spec/redmine/bin/bundle +0 -0
  37. data/spec/redmine/bin/rails +0 -0
  38. data/spec/redmine/bin/rake +0 -0
  39. data/spec/redmine/extra/svn/reposman.rb +0 -0
  40. data/spec/redmine/public/dispatch.fcgi.example +0 -0
  41. data/spec/redmine/script/about +0 -0
  42. data/spec/redmine/script/rails +0 -0
  43. data/spec/support/easy_queries_helpers.rb +0 -0
  44. metadata +1933 -1925
@@ -25,7 +25,7 @@ class EasySettingsController < ApplicationController
25
25
  Setting.send "plugin_#{@plugin.id}=", params[:settings] if params[:settings]
26
26
  if @easy_settings.save
27
27
  flash[:notice] = l(:notice_successful_update)
28
- redirect_back_or_default redmine_extensions_engine.edit_easy_setting_path(@easy_settings)
28
+ redirect_back_or_default edit_easy_setting_path(@easy_settings)
29
29
  else
30
30
  render :edit
31
31
  end
@@ -207,7 +207,7 @@ module RedmineExtensions
207
207
 
208
208
 
209
209
  def autocomplete_field_tag(name, jsonpath_or_array, selected_values, options = {})
210
- options.reverse_merge!({select_first_value: false, show_toggle_button: false, load_immediately: false, preload: true})
210
+ options.reverse_merge!({select_first_value: false, show_toggle_button: false, load_immediately: false, preload: true, multiple: true})
211
211
  options[:id] ||= sanitize_to_id(name)
212
212
 
213
213
  selected_values ||= []
@@ -220,7 +220,7 @@ module RedmineExtensions
220
220
 
221
221
  content_tag(:span, :class => 'easy-multiselect-tag-container') do
222
222
  text_field_tag('', '', (options[:html_options] || {}).merge(id: options[:id])) +
223
- javascript_tag("$('##{options[:id]}').easymultiselect({multiple: true, rootElement: #{options[:rootElement].to_json}, inputName: '#{name}', preload: #{options[:preload]}, source: #{source}, selected: #{selected_values.to_json}, show_toggle_button: #{options[:show_toggle_button]}, select_first_value: #{options[:select_first_value]}, load_immediately: #{options[:load_immediately]}, autocomplete_options: #{(options[:jquery_auto_complete_options]||{}).to_json} });")
223
+ javascript_tag("$('##{options[:id]}').easymultiselect({multiple: #{options[:multiple]}, rootElement: #{options[:rootElement].to_json}, inputName: '#{name}', preload: #{options[:preload]}, source: #{source}, selected: #{selected_values.to_json}, show_toggle_button: #{options[:show_toggle_button]}, select_first_value: #{options[:select_first_value]}, load_immediately: #{options[:load_immediately]}, autocomplete_options: #{(options[:jquery_auto_complete_options]||{}).to_json} });")
224
224
  end
225
225
  end
226
226
 
@@ -0,0 +1,189 @@
1
+ module RedmineExtensions
2
+ module ApplicationHelper
3
+ include RenderingHelper
4
+
5
+ # -------= Hack methods =------
6
+
7
+ def plugin_settings_path(plugin, *attrs)
8
+ if plugin.is_a?(Redmine::Plugin) && (plugin.settings[:only_easy] || plugin.settings[:easy_settings])
9
+ edit_easy_setting_path(plugin, *attrs)
10
+ else
11
+ super
12
+ end
13
+ end
14
+
15
+ # -------= Rendering and presenting methods =-------
16
+
17
+ def present(model, options={}, &block)
18
+ if model.is_a?(RedmineExtensions::BasePresenter)
19
+ presenter = model.update_options(options.merge(view_context: self))
20
+ else
21
+ presenter = RedmineExtensions::BasePresenter.present(model, self, options)
22
+ end
23
+ if block_given?
24
+ yield presenter
25
+ else
26
+ presenter
27
+ end
28
+ end
29
+
30
+ # --- COMMON RENDERING ----
31
+
32
+ # hide elements for issues and users
33
+ def detect_hide_elements(uniq_id, user = nil, default = true)
34
+ return ''.html_safe if uniq_id.blank?
35
+ return 'style="display:none"'.html_safe if !toggle_button_expanded?(uniq_id, user, default)
36
+ end
37
+
38
+ def url_to_entity(entity, options={})
39
+ m = "url_to_#{entity.class.name.underscore}".to_sym
40
+ if respond_to?(m)
41
+ send(m, entity, options)
42
+ else
43
+ nil
44
+ end
45
+ end
46
+
47
+ def render_entity_assignments(entity, target_class, options = {}, &block)
48
+ options ||= {}
49
+ collection_name = options.delete(:collection_name) || target_class.name.pluralize.underscore
50
+
51
+ project = options.delete(:project)
52
+ query_class = options.delete(:query_class)
53
+
54
+ if query_class.nil?
55
+ query_class_name = target_class.name + 'Query'
56
+
57
+ query_class = query_class_name.constantize #if Object.const_defined?(query_class_name)
58
+ end
59
+
60
+ return '' if !query_class || !(query_class < EasyQuery) || !entity.respond_to?(collection_name)
61
+
62
+ query = query_class.new(:name => 'c_query')
63
+ query.project = project
64
+ query.set_entity_scope(entity, collection_name)
65
+ query.column_names = options[:query_column_names] unless options[:query_column_names].blank?
66
+
67
+ entities = query.entities
68
+
69
+ entities_count = entities.size
70
+ options[:entities_count] = entities_count
71
+
72
+ options[:module_name] ||= "entity_#{entity.class.name.underscore}_#{entity.id}_#{collection_name}"
73
+ options[:heading] ||= l("label_#{target_class.name.underscore}_plural", :default => 'Heading')
74
+
75
+ if options[:context_menus_path].nil?
76
+ options[:context_menus_path] = [
77
+ "context_menu_#{collection_name}_path".to_sym,
78
+ "context_menus_#{collection_name}_path".to_sym,
79
+ "#{collection_name}_context_menu_path".to_sym
80
+ ].detect do |m|
81
+ m if respond_to?(m)
82
+ end
83
+ end
84
+
85
+ render(:partial => 'easy_entity_assignments/assignments_container', :locals => {
86
+ :entity => entity,
87
+ :query => query, :target_class => target_class, :project => project,
88
+ :entities => entities, :entities_count => entities_count, :options => options})
89
+ end
90
+
91
+ def entity_css_icon(entity_or_entity_class)
92
+ return '' if entity_or_entity_class.nil?
93
+
94
+ if entity_or_entity_class.is_a?(Class) && entity_or_entity_class.respond_to?(:css_icon)
95
+ entity_or_entity_class.css_icon
96
+ elsif entity_or_entity_class.is_a?(ActiveRecord::Base)
97
+ if entity_or_entity_class.respond_to?(:css_icon)
98
+ entity_or_entity_class.css_icon
99
+ elsif entity_or_entity_class.class.respond_to?(:css_icon)
100
+ entity_or_entity_class.class.css_icon
101
+ else
102
+ "icon icon-#{entity_or_entity_class.class.name.dasherize}"
103
+ end
104
+ else
105
+ "icon icon-#{entity_or_entity_class.class.name.dasherize}"
106
+ end
107
+ end
108
+
109
+ # options:
110
+ # => options[:heading] = text beside of plus button
111
+ # => options[:container_html] = a hash of html attributes
112
+ # => options[:default_button_state] = (true => expanded -), (false => collapsed +)
113
+ # => options[:ajax_call] = make ajax call for saving state (true => ajax call, false => no call, no save)
114
+ # => options[:wrapping_heading_element] = html element outside heading => h3, h4
115
+ def render_toggler(container_uniq_id, user = nil, options={}, &block)
116
+ user ||= User.current
117
+ options[:heading] ||= ''
118
+ options[:heading_links] ||= []
119
+ options[:heading_links] = [options[:heading_links]] if options[:heading_links] && !options[:heading_links].is_a?(Array)
120
+ options[:container_html] ||= {}
121
+ options[:default_button_state] = false #if is_mobile_device?
122
+ options[:default_button_state] = true if options[:default_button_state].nil?
123
+ options[:ajax_call] = true if options[:ajax_call].nil?
124
+
125
+ s = ''
126
+ if !options.key?(:no_heading_button)
127
+ options[:heading] << content_tag(:div, options[:heading_links].join(' ').html_safe, :class => 'module-heading-links') unless options[:heading_links].blank?
128
+ s << render_toggler_header(user, options[:heading].html_safe, container_uniq_id, options)
129
+ end
130
+
131
+ if options[:ajax_call] == false
132
+ expanded = options[:default_button_state]
133
+ else
134
+ expanded = true
135
+ end
136
+
137
+ s << (content_tag(:div, {
138
+ :id => container_uniq_id,
139
+ :style => (expanded ? '' : 'display:none')
140
+ }.merge(options[:container_html]) { |k, o, n| "#{o}; #{n}" }, &block))
141
+ s.html_safe
142
+ end
143
+
144
+ def render_toggler_header(user, content, modul_uniq_id, options={})
145
+ expander_options = options[:expander_options] || {}
146
+ wrapping_heading_element = options[:wrapping_heading_element] || 'h3'
147
+ wrapping_heading_element_classes = (options[:wrapping_heading_element_classes] || '') + ' module-heading'
148
+ wrapping_heading_element_styles = options[:wrapping_heading_element_styles]
149
+ ajax_call = options.delete(:ajax_call) ? 'true' : 'false'
150
+
151
+ html = ''
152
+
153
+ if options[:no_expander]
154
+ html << content_tag(wrapping_heading_element, content, :class => wrapping_heading_element_classes, :style => wrapping_heading_element_styles)
155
+ else
156
+ html << '<div class="module-toggle-button">'
157
+ html << "<div class='group open' >"
158
+ html << content_tag(wrapping_heading_element, content, :class => wrapping_heading_element_classes, :style => wrapping_heading_element_styles, :onclick => "var event = arguments[0] || window.event; if( !$(event.target).hasClass('do_not_toggle') && !$(event.target).parent().hasClass('module-heading-links') ) toggleMyPageModule(this,'#{modul_uniq_id}','#{user.id}', #{ajax_call})")
159
+ html << "<span class='expander #{expander_options[:class]}' onclick=\"toggleMyPageModule($(this),'#{modul_uniq_id}','#{user.id}', #{ajax_call}); return false;\" id=\"expander_#{modul_uniq_id}\">&nbsp;</span>"
160
+ html << '</div></div>'
161
+ end
162
+
163
+ html.html_safe
164
+ end
165
+
166
+ def autocomplete_field_tag(name, jsonpath_or_array, selected_values, options = {})
167
+ options.reverse_merge!({select_first_value: false, show_toggle_button: false, load_immediately: false, preload: true})
168
+ options[:id] ||= sanitize_to_id(name)
169
+
170
+ selected_values ||= []
171
+
172
+ if jsonpath_or_array.is_a?(Array)
173
+ source = jsonpath_or_array.to_json
174
+ else
175
+ source = "'#{jsonpath_or_array}'"
176
+ end
177
+
178
+ content_tag(:span, :class => 'easy-multiselect-tag-container') do
179
+ text_field_tag('', '', (options[:html_options] || {}).merge(id: options[:id])) +
180
+ <<<<<<< HEAD
181
+ javascript_tag("$('##{options[:id]}').easymultiselect({multiple: true, rootElement: #{options[:rootElement].to_json}, inputName: '#{name}', preload: true, source: #{source}, selected: #{selected_values.to_json}, show_toggle_button: #{options[:show_toggle_button]}, select_first_value: #{options[:select_first_value]}, load_immediately: #{options[:load_immediately]}, autocomplete_options: #{(options[:jquery_auto_complete_options]||{}).to_json} });")
182
+ =======
183
+ javascript_tag("$('##{options[:id]}').easymultiselect({multiple: true, rootElement: #{options[:rootElement]}, inputName: '#{name}', preload: #{options[:preload]}, source: #{source}, selected: #{selected_values.to_json}, show_toggle_button: #{options[:show_toggle_button]}, select_first_value: #{options[:select_first_value]}, load_immediately: #{options[:load_immediately]}, autocomplete_options: #{(options[:jquery_auto_complete_options]||{}).to_json} });")
184
+ >>>>>>> 4a3284c... labels
185
+ end
186
+ end
187
+
188
+ end
189
+ end
@@ -1,3 +1,3 @@
1
- <p>
2
- <%= l(:text_modal_is_closing) %>
1
+ <p>
2
+ <%= l(:text_modal_is_closing) %>
3
3
  </p>
@@ -2,7 +2,7 @@
2
2
  <%= content_tag(:div, class: 'module-heading ' + renderer.heading_class, onclick: (renderer.collapsible? && 'EasyToggler.toggle(this.nextElementSibling, event)' || nil)) do %>
3
3
  <%= content_tag(:span, ' ', class: 'expander module-toggler') if renderer.collapsible? %>
4
4
  <%= content_tag(renderer.heading_tag, renderer.heading, class: renderer.icon) %>
5
- <%= content_tag(:span, renderer.heading_links, class: 'module-heading-links') if renderer.heading_links %>
5
+ <%= content_tag(:span, renderer.heading_links, class: 'module-heading-links') if renderer.heading_links.presence %>
6
6
  <% end if renderer.heading.present? %>
7
7
  <div class="module-content" id="<%= renderer.id %>"<%=raw renderer.collapsed? && %q{ style="display:none"} || nil %>>
8
8
  <%= content -%>
@@ -1,5 +1,5 @@
1
- $("#ajax-modal").html("<%= j render(:partial => 'common/closing_modal', :formats => [:html]) %>");
2
- $("#ajax-modal").dialog('option', {
3
- buttons: []
4
- });
1
+ $("#ajax-modal").html("<%= j render(:partial => 'common/closing_modal', :formats => [:html]) %>");
2
+ $("#ajax-modal").dialog('option', {
3
+ buttons: []
4
+ });
5
5
  window.location = "<%= j params[:back_url] %>";
@@ -0,0 +1,16 @@
1
+ <<<<<<< HEAD
2
+ <% query_outputs(query, entities: referenced_entities, options: { hascontextmenu: true, disable_sort: true }).each do |output| %>
3
+ <%= output.render_data %>
4
+ =======
5
+ <% if display_style == :list %>
6
+ <%= render :partial => 'easy_queries/easy_query_entities_list', :locals => {:query => query, :entities => entities, :options => {:hascontextmenu => true, :disable_sort => true} } -%>
7
+ <% elsif display_style == :tile %>
8
+ <div class="easy-entity-cards-container">
9
+ <div class="splitcontent">
10
+ <% entities.each do |referenced_entity| %>
11
+ <%# render_easy_entity_card(referenced_entity, entity, options.merge(:referenced_entities => referenced_entities)) %>
12
+ <% end %>
13
+ </div>
14
+ </div>
15
+ >>>>>>> stable
16
+ <% end %>
@@ -1,4 +1,4 @@
1
- <%= form_for([redmine_extensions_engine, @easy_settings], html: { class: 'form-box easy-setting-plugin-form' }) do |f| %>
1
+ <%= form_for(@easy_settings, html: { class: 'form-box easy-setting-plugin-form' }) do |f| %>
2
2
  <%= hidden_field_tag :back_url, params[:back_url] %>
3
3
 
4
4
  <%= render "easy_settings/#{@easy_settings.plugin.id}", easy_settings: @easy_settings, settings: @settings, form: f %>
@@ -0,0 +1,15 @@
1
+ ---
2
+ test:
3
+ adapter:
4
+ database: test_redmine_8e3d204de2b24cab
5
+ host: 127.0.0.1
6
+ username:
7
+ password:
8
+ encoding: utf8
9
+ development:
10
+ adapter:
11
+ database: redmine_8e3d204de2b24cab
12
+ host: 127.0.0.1
13
+ username:
14
+ password:
15
+ encoding: utf8
@@ -1,7 +1,11 @@
1
+ # Engine routes
1
2
  RedmineExtensions::Engine.routes.draw do
2
-
3
3
  resources :easy_settings, except: :destroy
4
-
5
4
  end
6
5
 
7
- RedmineExtensions::Engine.automount!
6
+ # Redmine routes
7
+ Rails.application.routes.draw do
8
+ mount RedmineExtensions::Engine => '/redmine_extensions'
9
+
10
+ resources :easy_settings, except: :destroy
11
+ end
@@ -1,9 +1,9 @@
1
- <ul>
2
- <%% if @<%= model_name_underscored %> && !@<%= model_name_underscored %>.new_record? %>
3
- <li><%%= link_to l(:button_edit), edit_polymorphic_path([@project, @<%= model_name_underscored %>]), title: l(:button_edit), class: 'icon icon-edit' %></li>
4
- <%% end %>
5
- <%% if @<%= model_name_underscored %>.nil? %>
6
- <li><%%= link_to l(:button_<%= model_name_underscored %>_new), new_polymorphic_path([@project, :<%= model_name_underscored %>]), title: l(:title_<%= model_name_underscored %>_new), class: 'icon icon-add button button-positive' %></li>
7
- <%% end %>
8
- <li><%%= link_to l(:label_<%= model_name_pluralize_underscored %>), polymorphic_path([@project, :<%= model_name_pluralize_underscored %>], set_filter: '1'), title: l(:label_<%= model_name_pluralize_underscored %>), class: 'icon icon-folder button' %></li>
1
+ <ul>
2
+ <%% if @<%= model_name_underscored %> && !@<%= model_name_underscored %>.new_record? %>
3
+ <li><%%= link_to l(:button_edit), edit_polymorphic_path([@project, @<%= model_name_underscored %>]), title: l(:button_edit), class: 'icon icon-edit' %></li>
4
+ <%% end %>
5
+ <%% if @<%= model_name_underscored %>.nil? %>
6
+ <li><%%= link_to l(:button_<%= model_name_underscored %>_new), new_polymorphic_path([@project, :<%= model_name_underscored %>]), title: l(:title_<%= model_name_underscored %>_new), class: 'icon icon-add button button-positive' %></li>
7
+ <%% end %>
8
+ <li><%%= link_to l(:label_<%= model_name_pluralize_underscored %>), polymorphic_path([@project, :<%= model_name_pluralize_underscored %>], set_filter: '1'), title: l(:label_<%= model_name_pluralize_underscored %>), class: 'icon icon-folder button' %></li>
9
9
  </ul>
@@ -1,8 +1,8 @@
1
- <ul>
2
- <%% if @<%= model_name_underscored %> -%>
3
- <li><%%= context_menu_link l(:button_edit), edit_<%= model_name_underscored %>_path(@<%= model_name_underscored %>), class: 'icon icon-edit', disabled: !@can[:edit] %></li>
4
- <%% end %>
5
- <li><%%= context_menu_link l(:button_delete), <%= model_name_pluralize_underscored %>_path(ids: @<%= model_name_underscored %>_ids, back_url: @back), method: :delete, data: {confirm: l(:text_are_you_sure)}, class: 'icon icon-del', disabled: !@can[:delete] %></li>
6
-
7
- <%%= call_hook(:view_<%= model_name_pluralize_underscored %>_context_menu_end, {<%= model_name_underscored %>: @<%= model_name_underscored %>, <%= model_name_pluralize_underscored %>: @<%= model_name_pluralize_underscored %>, can: @can, back: @back, project: @project}) %>
1
+ <ul>
2
+ <%% if @<%= model_name_underscored %> -%>
3
+ <li><%%= context_menu_link l(:button_edit), edit_<%= model_name_underscored %>_path(@<%= model_name_underscored %>), class: 'icon icon-edit', disabled: !@can[:edit] %></li>
4
+ <%% end %>
5
+ <li><%%= context_menu_link l(:button_delete), <%= model_name_pluralize_underscored %>_path(ids: @<%= model_name_underscored %>_ids, back_url: @back), method: :delete, data: {confirm: l(:text_are_you_sure)}, class: 'icon icon-del', disabled: !@can[:delete] %></li>
6
+
7
+ <%%= call_hook(:view_<%= model_name_pluralize_underscored %>_context_menu_end, {<%= model_name_underscored %>: @<%= model_name_underscored %>, <%= model_name_pluralize_underscored %>: @<%= model_name_pluralize_underscored %>, can: @can, back: @back, project: @project}) %>
8
8
  </ul>
@@ -1,7 +1,7 @@
1
- class <%= model_name %>CustomField < CustomField
2
-
3
- def type_name
4
- :label_<%= @model_name_pluralize_underscored %>
5
- end
6
-
7
- end
1
+ class <%= model_name %>CustomField < CustomField
2
+
3
+ def type_name
4
+ :label_<%= @model_name_pluralize_underscored %>
5
+ end
6
+
7
+ end
@@ -1,19 +1,19 @@
1
- <%%= title l(:heading_<%= model_name_underscored %>_edit) %>
2
-
3
- <%%= form_for([@project, @<%= model_name_underscored %>], html: {multipart: <%= acts_as_attachable? %>, id: '<%= model_name_underscored %>_form', class: 'tabular', remote: request.xhr?}) do |f| %>
4
- <%%= error_messages_for @<%= model_name_underscored %> %>
5
-
6
- <div class="box">
7
- <%%= render partial: 'form', locals: {<%= model_name_underscored %>: @<%= model_name_underscored %>} %>
8
- </div>
9
-
10
- <%% if !request.xhr? %>
11
- <p>
12
- <%%= submit_tag l(:button_update), title: l(:button_update) %>
13
- </p>
14
- <%% end %>
15
- <%% end %>
16
- <%% ### PAGE CUSTOMS ########################################################## %>
17
- <%% content_for :sidebar do %>
18
- <%%= render :partial => '<%= model_name_pluralize_underscored %>/sidebar' %>
1
+ <%%= title l(:heading_<%= model_name_underscored %>_edit) %>
2
+
3
+ <%%= form_for([@project, @<%= model_name_underscored %>], html: {multipart: <%= acts_as_attachable? %>, id: '<%= model_name_underscored %>_form', class: 'tabular', remote: request.xhr?}) do |f| %>
4
+ <%%= error_messages_for @<%= model_name_underscored %> %>
5
+
6
+ <div class="box">
7
+ <%%= render partial: 'form', locals: {<%= model_name_underscored %>: @<%= model_name_underscored %>} %>
8
+ </div>
9
+
10
+ <%% if !request.xhr? %>
11
+ <p>
12
+ <%%= submit_tag l(:button_update), title: l(:button_update) %>
13
+ </p>
14
+ <%% end %>
15
+ <%% end %>
16
+ <%% ### PAGE CUSTOMS ########################################################## %>
17
+ <%% content_for :sidebar do %>
18
+ <%%= render :partial => '<%= model_name_pluralize_underscored %>/sidebar' %>
19
19
  <%% end %>
@@ -1,17 +1,17 @@
1
- $("#ajax-modal").html("<%%= j render(:template => '<%= model_name_pluralize_underscored %>/edit', :formats => [:html]) %>");
2
- showModal('ajax-modal');
3
- var submitButton = {
4
- text:"<%=j l(:button_update) -%>",
5
- title:"<%=j l(:button_update) -%>",
6
- click: function() {$(this).find('form').submit()},
7
- 'class': 'button-positive'
8
- }
9
- var closeButton = {
10
- text: "<%=j l(:button_close) -%>",
11
- title: "<%=j l(:button_close) -%>",
12
- click: function() {$(this).dialog('close');},
13
- 'class': 'button'
14
- }
15
- $("#ajax-modal").dialog('option', {
16
- buttons: [closeButton, submitButton]
1
+ $("#ajax-modal").html("<%%= j render(:template => '<%= model_name_pluralize_underscored %>/edit', :formats => [:html]) %>");
2
+ showModal('ajax-modal');
3
+ var submitButton = {
4
+ text:"<%=j l(:button_update) -%>",
5
+ title:"<%=j l(:button_update) -%>",
6
+ click: function() {$(this).find('form').submit()},
7
+ 'class': 'button-positive'
8
+ }
9
+ var closeButton = {
10
+ text: "<%=j l(:button_close) -%>",
11
+ title: "<%=j l(:button_close) -%>",
12
+ click: function() {$(this).dialog('close');},
13
+ 'class': 'button'
14
+ }
15
+ $("#ajax-modal").dialog('option', {
16
+ buttons: [closeButton, submitButton]
17
17
  });
@@ -1,5 +1,5 @@
1
- api.array :<%= model_name_pluralize_underscored %>, api_meta(total_count: @entity_count, offset: @offset, limit: @limit) do
2
- @entities.each do |<%= model_name_underscored %>|
3
- render_api_<%= model_name_underscored %>(api, <%= model_name_underscored %>)
4
- end
5
- end
1
+ api.array :<%= model_name_pluralize_underscored %>, api_meta(total_count: @entity_count, offset: @offset, limit: @limit) do
2
+ @entities.each do |<%= model_name_underscored %>|
3
+ render_api_<%= model_name_underscored %>(api, <%= model_name_underscored %>)
4
+ end
5
+ end
@@ -1,5 +1,5 @@
1
- <%%= render @query %>
2
- <%% ### PAGE CUSTOMS ########################################################## %>
3
- <%% content_for :sidebar do %>
4
- <%%= render :partial => '<%= model_name_pluralize_underscored %>/sidebar' %>
1
+ <%%= render @query %>
2
+ <%% ### PAGE CUSTOMS ########################################################## %>
3
+ <%% content_for :sidebar do %>
4
+ <%%= render :partial => '<%= model_name_pluralize_underscored %>/sidebar' %>
5
5
  <%% end %>