redmine_extensions 0.0.39 → 0.1.01

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/redmine_extensions/redmine_extensions.js +30 -59
  3. data/app/controllers/easy_settings_controller.rb +1 -1
  4. data/app/helpers/redmine_extensions/application_helper.rb +108 -65
  5. data/app/helpers/redmine_extensions/rendering_helper.rb +5 -0
  6. data/app/presenters/easy_query_adapter_presenter.rb +50 -0
  7. data/app/views/common/_collapsible_module_layout.html.erb +13 -0
  8. data/app/views/easy_entity_assignments/_assignments_container.html.erb +10 -15
  9. data/app/views/easy_entity_assignments/_query_index.html.erb +2 -10
  10. data/app/views/easy_queries/_easy_query_tile.html.erb +7 -0
  11. data/app/views/easy_settings/edit.html.erb +1 -1
  12. data/config/routes.rb +3 -7
  13. data/lib/generators/redmine_extensions/entity/templates/_form.html.erb.erb +1 -1
  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 +16 -16
  18. data/lib/generators/redmine_extensions/entity/templates/index.api.rsb.erb +5 -5
  19. data/lib/generators/redmine_extensions/entity/templates/index.html.erb.erb +4 -4
  20. data/lib/generators/redmine_extensions/entity/templates/mail_added.html.erb.erb +1 -1
  21. data/lib/generators/redmine_extensions/entity/templates/mail_added.text.erb.erb +2 -2
  22. data/lib/generators/redmine_extensions/entity/templates/mail_updated.text.erb.erb +2 -2
  23. data/lib/generators/redmine_extensions/entity/templates/migration.rb.erb +9 -9
  24. data/lib/generators/redmine_extensions/entity/templates/new.html.erb.erb +16 -16
  25. data/lib/generators/redmine_extensions/entity/templates/query.rb.erb +1 -1
  26. data/lib/generators/redmine_extensions/entity/templates/routes.rb.erb +12 -12
  27. data/lib/generators/redmine_extensions/entity/templates/show.html.erb.erb +37 -37
  28. data/lib/redmine_extensions/easy_query_adapter.rb +107 -88
  29. data/lib/redmine_extensions/easy_query_helpers/outputs.rb +69 -0
  30. data/lib/redmine_extensions/engine.rb +11 -1
  31. data/lib/redmine_extensions/query_output.rb +41 -25
  32. data/lib/redmine_extensions/query_outputs/list_output.rb +14 -0
  33. data/lib/redmine_extensions/query_outputs/tile_output.rb +19 -0
  34. data/lib/redmine_extensions/redmine_patches/patches.rb +2 -3
  35. data/lib/redmine_extensions/version.rb +1 -1
  36. data/spec/redmine/bin/about +0 -0
  37. data/spec/redmine/bin/bundle +0 -0
  38. data/spec/redmine/bin/rails +0 -0
  39. data/spec/redmine/bin/rake +0 -0
  40. data/spec/redmine/extra/svn/reposman.rb +0 -0
  41. data/spec/redmine/public/dispatch.fcgi.example +0 -0
  42. data/spec/redmine/script/about +0 -0
  43. data/spec/redmine/script/rails +0 -0
  44. metadata +1978 -1972
  45. data/lib/redmine_extensions/query_outputs/table_output.rb +0 -18
@@ -4,8 +4,8 @@ module RedmineExtensions
4
4
  attr_accessor :query
5
5
  delegate :options, to: :query
6
6
 
7
- def self.register_output(name, klass, options={})
8
- registered_outputs[name] = klass
7
+ def self.register_output(klass, options={})
8
+ registered_outputs[klass.key.to_sym] = klass
9
9
  end
10
10
 
11
11
  def self.registered_outputs
@@ -19,45 +19,56 @@ module RedmineExtensions
19
19
  end
20
20
 
21
21
  def self.available_output_klasses_for(query)
22
- result = []
23
- registered_outputs.each do |name, output|
24
- result << output if output.available_for?(query)
25
- end
26
- result
22
+ registered_outputs.select do |name, output|
23
+ output.available_for?(query)
24
+ end.values
27
25
  end
28
26
 
29
27
  def self.output_klass_for(output)
30
28
  registered_outputs[output.to_sym]
31
29
  end
32
30
 
31
+ def self.key
32
+ self.name.split('::').last.sub(/Output$/, '').underscore
33
+ end
34
+
33
35
 
34
36
  # Take query and decide if it is possible to render it by this output
35
37
  def self.available_for?(query)
36
- true
38
+ query.class > Query
37
39
  end
38
40
 
39
- def initialize(query_presenter)
41
+ def initialize(query_presenter, outputs=nil)
40
42
  @query = query_presenter
43
+ @outputs = outputs || query_presenter.outputs
44
+ end
45
+
46
+ def data_partial
47
+ 'easy_queries/easy_query_'+key
48
+ end
49
+
50
+ def order
51
+ 10
41
52
  end
42
53
 
43
- def render_data;
44
- raise NotImplemented
54
+ def render_data
55
+ h.render partial: data_partial, locals: variables
45
56
  end
46
57
 
47
58
  def key
48
- self.class.name.split('::').last.sub(/Output$/, '').underscore
59
+ self.class.key
49
60
  end
50
61
 
51
62
  def label
52
- h.l('label_easy_query_output.'+key)
63
+ h.l('label_easy_query_output.'+key, default: key.humanize)
53
64
  end
54
65
 
55
66
  def enabled?
56
- query.outputs.output_enabled?(key)
67
+ @outputs.output_enabled?(key)
57
68
  end
58
69
 
59
70
  def variables
60
- options.merge(easy_query: @query, output: self)
71
+ options.reverse_merge(query: @query, output: self)
61
72
  end
62
73
 
63
74
  def header
@@ -68,31 +79,36 @@ module RedmineExtensions
68
79
  def render_edit_box(style=:check_box, options={})
69
80
  raise 'Style of edit box is not allowed' unless [:check_box, :radio_button].include?(style)
70
81
 
71
- box_id = "#{options[:modul_uniq_id]}_output_#{key}"
82
+ box_id = "#{query.modul_uniq_id}output_#{key}"
72
83
 
73
- options[:class] ||= "#{options[:modul_uniq_id]}content_switch"
84
+
85
+ options[:class] = "#{options[:class]} #{query.modul_uniq_id}output_switch #{query.modul_uniq_id}content_switch"
86
+ options[:enabled] = enabled? unless options.key?(:enabled)
74
87
  r = ''
75
- r << h.send("#{style}_tag" , "#{options[:block_name]}[output]", key, enabled?, id: box_id, class: options[:class])
76
- r << h.label_tag(box_id, h.l('label_easy_query_output.' + key), :class => 'inline')
77
- r
88
+ r << h.send("#{style}_tag" , query.block_name.blank? ? 'outputs[]' : "#{query.block_name}[outputs][]", key, options[:enabled], id: box_id, class: options[:class])
89
+ r << h.label_tag(box_id, h.l('label_my_page_issue_output.' + key), :class => 'inline')
90
+ r.html_safe
78
91
  end
79
92
 
80
- def render_edit
93
+ def render_edit(action='edit')
81
94
  h.content_tag(:fieldset, class: "easy-query-filters-field #{key}_settings", style: ('display: none;' unless enabled? )) do
82
- h.content_tag(:legend, label) +
83
- h.render(self.edit_form, query: query, modul_uniq_id: query.modul_uniq_id, action: 'edit')
95
+ h.content_tag(:legend, label) + render_edit_form(action)
84
96
  end
85
97
  end
86
98
 
99
+ def render_edit_form(action='edit')
100
+ h.render(self.edit_form, options.reverse_merge(query: query, modul_uniq_id: query.modul_uniq_id, block_name: query.block_name, action: action, page_module: query.page_module))
101
+ end
102
+
87
103
  def edit_form
88
104
  'easy_queries/form_'+key+'_settings'
89
105
  end
90
106
 
91
107
  def h
92
- @query.h
108
+ @outputs.view_context
93
109
  end
94
110
 
95
111
  end
96
112
  end
97
113
  # alias for convinience
98
- EasyQueryOutput = RedmineExtensions::QueryOutput
114
+ # EasyQueryOutput = RedmineExtensions::QueryOutput
@@ -0,0 +1,14 @@
1
+ module RedmineExtensions
2
+ module QueryOutputs
3
+ class ListOutput < RedmineExtensions::QueryOutput
4
+
5
+ def self.key
6
+ 'list'
7
+ end
8
+
9
+ def render_period_header
10
+ end
11
+
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,19 @@
1
+ module RedmineExtensions
2
+ module QueryOutputs
3
+ class TileOutput < RedmineExtensions::QueryOutput
4
+
5
+ def self.key
6
+ 'tile'
7
+ end
8
+
9
+ def entity
10
+ options[:entity]
11
+ end
12
+
13
+ def render_entity_tile(referenced_entity)
14
+ referenced_entity.to_s
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -1,5 +1,4 @@
1
- require 'active_support/dependencies'
2
- patch_path = File.join(File.dirname(__FILE__), '**', '*_patch.rb')
1
+ patch_path = File.join(File.dirname(__FILE__), '**', '*.rb')
3
2
  Dir.glob(patch_path).each do |file|
4
- require file
3
+ require_dependency file
5
4
  end
@@ -1,3 +1,3 @@
1
1
  module RedmineExtensions
2
- VERSION = '0.0.39'
2
+ VERSION = '0.1.01'
3
3
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes