redmine_extensions 0.6.3 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -32
- data/Rakefile +0 -8
- data/app/assets/javascripts/redmine_extensions/blocking.js +0 -2
- data/app/assets/javascripts/redmine_extensions/blocking_namespace.js +1 -2
- data/app/assets/javascripts/redmine_extensions/blocking_render.js +1 -27
- data/app/assets/javascripts/redmine_extensions/redmine_extensions.js +1 -33
- data/config/routes.rb +0 -7
- data/lib/redmine_extensions/easy_settings.rb +5 -5
- data/lib/redmine_extensions/engine.rb +12 -32
- data/lib/redmine_extensions/hooks.rb +6 -35
- data/lib/redmine_extensions/version.rb +1 -1
- data/lib/redmine_extensions.rb +5 -2
- data/spec/spec_helper.rb +10 -2
- metadata +3 -75
- data/app/assets/javascripts/redmine_extensions/blocking_schedule.js +0 -280
- data/app/assets/javascripts/redmine_extensions/event_bus.js +0 -61
- data/app/assets/stylesheets/redmine_extensions/application.css +0 -15
- data/lib/generators/redmine_extensions/entity/USAGE +0 -11
- data/lib/generators/redmine_extensions/entity/entity_generator.rb +0 -418
- data/lib/generators/redmine_extensions/entity/templates/_form.html.erb.erb +0 -51
- data/lib/generators/redmine_extensions/entity/templates/_list.html.erb.erb +0 -70
- data/lib/generators/redmine_extensions/entity/templates/_sidebar.html.erb.erb +0 -9
- data/lib/generators/redmine_extensions/entity/templates/app/models/%model_name_underscored%_query.rb.tt +0 -42
- data/lib/generators/redmine_extensions/entity/templates/app/views/%model_name_pluralize_underscored%/_%model_name_underscored%.api.rsb.tt +0 -18
- data/lib/generators/redmine_extensions/entity/templates/app/views/%model_name_pluralize_underscored%/_form.html.erb.tt +0 -62
- data/lib/generators/redmine_extensions/entity/templates/app/views/%model_name_pluralize_underscored%/edit.html.erb.tt +0 -8
- data/lib/generators/redmine_extensions/entity/templates/app/views/%model_name_pluralize_underscored%/new.html.erb.tt +0 -8
- data/lib/generators/redmine_extensions/entity/templates/context_menu.html.erb.erb +0 -20
- data/lib/generators/redmine_extensions/entity/templates/controller.rb.erb +0 -208
- data/lib/generators/redmine_extensions/entity/templates/custom_field.rb.erb +0 -11
- data/lib/generators/redmine_extensions/entity/templates/easy_query.rb.erb +0 -37
- data/lib/generators/redmine_extensions/entity/templates/edit.html.erb.erb +0 -19
- data/lib/generators/redmine_extensions/entity/templates/edit.js.erb.erb +0 -18
- data/lib/generators/redmine_extensions/entity/templates/en.yml.erb +0 -16
- data/lib/generators/redmine_extensions/entity/templates/entity_attribute_helper_patch.rb.erb +0 -10
- data/lib/generators/redmine_extensions/entity/templates/helper.rb.erb +0 -3
- data/lib/generators/redmine_extensions/entity/templates/hooks.rb.erb +0 -5
- data/lib/generators/redmine_extensions/entity/templates/index.api.rsb.erb +0 -3
- data/lib/generators/redmine_extensions/entity/templates/index.html.erb.erb +0 -30
- data/lib/generators/redmine_extensions/entity/templates/index.js.erb.erb +0 -12
- data/lib/generators/redmine_extensions/entity/templates/mail_added.html.erb.erb +0 -1
- data/lib/generators/redmine_extensions/entity/templates/mail_added.text.erb.erb +0 -2
- data/lib/generators/redmine_extensions/entity/templates/mail_updated.html.erb.erb +0 -1
- data/lib/generators/redmine_extensions/entity/templates/mail_updated.text.erb.erb +0 -2
- data/lib/generators/redmine_extensions/entity/templates/mailer.rb.erb +0 -41
- data/lib/generators/redmine_extensions/entity/templates/migration.rb.erb +0 -16
- data/lib/generators/redmine_extensions/entity/templates/model.rb.erb +0 -143
- data/lib/generators/redmine_extensions/entity/templates/new.html.erb.erb +0 -19
- data/lib/generators/redmine_extensions/entity/templates/new.js.erb.erb +0 -18
- data/lib/generators/redmine_extensions/entity/templates/query.rb.erb +0 -67
- data/lib/generators/redmine_extensions/entity/templates/routes.rb.erb +0 -15
- data/lib/generators/redmine_extensions/entity/templates/show.api.rsb.erb +0 -1
- data/lib/generators/redmine_extensions/entity/templates/show.html.erb.erb +0 -50
- data/lib/generators/redmine_extensions/entity/templates/show.js.erb.erb +0 -12
- data/lib/generators/redmine_extensions/entity/templates/spec/controllers/%model_name_underscored%_controller_spec.rb.tt +0 -94
- data/lib/generators/redmine_extensions/entity/templates/spec/factories.rb.erb +0 -11
- data/lib/generators/redmine_extensions/entity/templates/spec/requests/%model_name_underscored%_spec.rb.tt +0 -19
- data/lib/generators/redmine_extensions/plugin/USAGE +0 -13
- data/lib/generators/redmine_extensions/plugin/plugin_generator.rb +0 -74
- data/lib/generators/redmine_extensions/plugin/templates/Gemfile.erb +0 -1
- data/lib/generators/redmine_extensions/plugin/templates/after_init.rb.erb +0 -23
- data/lib/generators/redmine_extensions/plugin/templates/en.yml.erb +0 -3
- data/lib/generators/redmine_extensions/plugin/templates/gitkeep.erb +0 -0
- data/lib/generators/redmine_extensions/plugin/templates/hooks.rb.erb +0 -5
- data/lib/generators/redmine_extensions/plugin/templates/init.rb.erb +0 -20
- data/lib/generators/redmine_extensions/plugin/templates/internals.rb.erb +0 -4
- data/lib/generators/redmine_extensions/plugin/templates/issue_patch.example.erb +0 -30
- data/lib/generators/redmine_extensions/plugin/templates/issues_controller_patch.example.erb +0 -30
- data/lib/generators/redmine_extensions/plugin/templates/issues_helper_patch.example.erb +0 -30
- data/lib/generators/redmine_extensions/plugin/templates/javascript.js +0 -1
- data/lib/generators/redmine_extensions/plugin/templates/routes.rb.erb +0 -0
- data/lib/generators/redmine_extensions/plugin/templates/stylesheet.css +0 -3
- data/lib/redmine_extensions/core_ext/date_range.rb +0 -152
- data/lib/redmine_extensions/core_ext/object.rb +0 -19
- data/lib/redmine_extensions/core_ext/string.rb +0 -5
- data/lib/redmine_extensions/core_ext.rb +0 -3
- data/lib/redmine_extensions/deprecator.rb +0 -11
- data/lib/redmine_extensions/migration.rb +0 -9
- data/lib/redmine_extensions/patch_manager.rb +0 -440
- data/lib/redmine_extensions/rails_patches/route_set_generator_patch.rb +0 -10
- data/lib/redmine_extensions/redmine_patches/controllers/application_controller_patch.rb +0 -65
- data/lib/redmine_extensions/redmine_patches/models/custom_field_patch.rb +0 -11
- data/lib/redmine_extensions/redmine_patches/models/project_patch.rb +0 -10
- data/lib/tasks/redmine_extensions_tasks.rake +0 -4
- data/spec/init_rails.rb +0 -13
@@ -1,30 +0,0 @@
|
|
1
|
-
module <%= plugin_title %>
|
2
|
-
module IssuesControllerPatch
|
3
|
-
|
4
|
-
def self.included(base)
|
5
|
-
base.extend(ClassMethods)
|
6
|
-
base.send(:include, InstanceMethods)
|
7
|
-
|
8
|
-
base.class_eval do
|
9
|
-
|
10
|
-
alias_method_chain :index, :<%= plugin_name_underscored %>
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
module InstanceMethods
|
16
|
-
|
17
|
-
def index_with_<%= plugin_name_underscored %>
|
18
|
-
index_without_<%= plugin_name_underscored %>
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
module ClassMethods
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
RedmineExtensions::PatchManager.register_controller_patch 'IssuesController', '<%= plugin_title %>::IssuesControllerPatch'
|
@@ -1,30 +0,0 @@
|
|
1
|
-
module <%= plugin_title %>
|
2
|
-
module IssuesHelperPatch
|
3
|
-
|
4
|
-
def self.included(base)
|
5
|
-
base.extend(ClassMethods)
|
6
|
-
base.send(:include, InstanceMethods)
|
7
|
-
|
8
|
-
base.class_eval do
|
9
|
-
|
10
|
-
alias_method_chain :issue_heading, :<%= plugin_name_underscored %>
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
module InstanceMethods
|
16
|
-
|
17
|
-
def issue_heading_with_<%= plugin_name_underscored %>(issue)
|
18
|
-
issue_heading_without_<%= plugin_name_underscored %>(issue)
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
module ClassMethods
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
RedmineExtensions::PatchManager.register_helper_patch 'IssuesHelper', '<%= plugin_title %>::IssuesHelperPatch'
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require_self
|
File without changes
|
@@ -1,152 +0,0 @@
|
|
1
|
-
module RedmineExtensions
|
2
|
-
class DateRange < Hash
|
3
|
-
|
4
|
-
def self.first_wday
|
5
|
-
case Setting.start_of_week.to_i
|
6
|
-
when 1, 6, 7
|
7
|
-
Setting.start_of_week.to_i
|
8
|
-
else
|
9
|
-
(I18n.t(:general_first_day_of_week).to_i - 1)%7 + 1
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.get_date_range(period_type = '1', period = 'all', from = '', to = '')
|
14
|
-
@free_period = false
|
15
|
-
start_of_week = self.first_wday
|
16
|
-
|
17
|
-
ret = {:from => nil, :to => nil}
|
18
|
-
|
19
|
-
if period_type == '1' || (period_type.nil? && !period.nil?)
|
20
|
-
case period
|
21
|
-
when 'all', 'is_null', 'is_not_null'
|
22
|
-
|
23
|
-
when 'today'
|
24
|
-
ret[:from] = ret[:to] = User.current.today
|
25
|
-
when 'yesterday'
|
26
|
-
ret[:from] = ret[:to] = User.current.today - 1
|
27
|
-
when 'current_week'
|
28
|
-
ret[:from] = User.current.today - (User.current.today.cwday - start_of_week)%7
|
29
|
-
ret[:to] = ret[:from] + 6
|
30
|
-
when 'last_week'
|
31
|
-
ret[:from] = User.current.today - 7 - (User.current.today.cwday - start_of_week)%7
|
32
|
-
ret[:to] = ret[:from] + 6
|
33
|
-
when 'last_2_weeks'
|
34
|
-
ret[:from] = User.current.today - 14 - (User.current.today.cwday - start_of_week)%7
|
35
|
-
ret[:to] = ret[:from] + 13
|
36
|
-
when '7_days'
|
37
|
-
ret[:from] = User.current.today - 7
|
38
|
-
ret[:to] = User.current.today
|
39
|
-
when 'current_month'
|
40
|
-
ret[:from] = Date.civil(User.current.today.year, User.current.today.month, 1)
|
41
|
-
ret[:to] = (ret[:from] >> 1) - 1
|
42
|
-
when 'last30_next90'
|
43
|
-
ret[:from] = User.current.today - 30
|
44
|
-
ret[:to] = User.current.today + 90
|
45
|
-
when 'last_month'
|
46
|
-
ret[:from] = Date.civil(User.current.today.year, User.current.today.month, 1) << 1
|
47
|
-
ret[:to] = (ret[:from] >> 1) - 1
|
48
|
-
when '30_days'
|
49
|
-
ret[:from] = User.current.today - 30
|
50
|
-
ret[:to] = User.current.today
|
51
|
-
when '90_days'
|
52
|
-
ret[:from] = User.current.today - 90
|
53
|
-
ret[:to] = User.current.today
|
54
|
-
when 'current_year'
|
55
|
-
ret[:from] = Date.civil(User.current.today.year, 1, 1)
|
56
|
-
ret[:to] = Date.civil(User.current.today.year, 12, 31)
|
57
|
-
when 'last_year'
|
58
|
-
ret[:from] = Date.civil(User.current.today.year - 1, 1, 1)
|
59
|
-
ret[:to] = Date.civil(User.current.today.year - 1, 12, 31)
|
60
|
-
when 'older_than_14_days'
|
61
|
-
ret[:from] = nil
|
62
|
-
ret[:to] = User.current.today - 14
|
63
|
-
when 'older_than_15_days'
|
64
|
-
ret[:from] = nil
|
65
|
-
ret[:to] = User.current.today - 15
|
66
|
-
when 'older_than_31_days'
|
67
|
-
ret[:from] = nil
|
68
|
-
ret[:to] = User.current.today - 31
|
69
|
-
### FUTURE ###
|
70
|
-
when 'tomorrow'
|
71
|
-
ret[:from] = ret[:to] = Date.tomorrow
|
72
|
-
when 'next_week'
|
73
|
-
ret[:from] = User.current.today + 7 - (User.current.today.cwday - start_of_week)%7
|
74
|
-
ret[:to] = ret[:from] + 6
|
75
|
-
when 'next_5_days'
|
76
|
-
ret[:from] = User.current.today
|
77
|
-
ret[:to] = User.current.today + 5
|
78
|
-
when 'next_7_days'
|
79
|
-
ret[:from] = User.current.today
|
80
|
-
ret[:to] = User.current.today + 7
|
81
|
-
when 'next_10_days'
|
82
|
-
ret[:from] = User.current.today
|
83
|
-
ret[:to] = User.current.today + 10
|
84
|
-
when 'next_14_days'
|
85
|
-
ret[:from] = User.current.today
|
86
|
-
ret[:to] = User.current.today + 14
|
87
|
-
when 'next_15_days'
|
88
|
-
ret[:from] = User.current.today
|
89
|
-
ret[:to] = User.current.today + 15
|
90
|
-
when 'next_30_days'
|
91
|
-
ret[:from] = User.current.today
|
92
|
-
ret[:to] = User.current.today + 30
|
93
|
-
when 'next_90_days'
|
94
|
-
ret[:from] = User.current.today
|
95
|
-
ret[:to] = User.current.today + 90
|
96
|
-
when 'next_month'
|
97
|
-
ret[:from] = Date.civil(User.current.today.year, User.current.today.month, 1) >> 1
|
98
|
-
ret[:to] = (ret[:from] >> 1) - 1
|
99
|
-
when 'next_year'
|
100
|
-
ret[:from] = Date.civil(User.current.today.year + 1, 1, 1)
|
101
|
-
ret[:to] = Date.civil(User.current.today.year + 1, 12, 31)
|
102
|
-
### EXTENDED ###
|
103
|
-
when 'to_today'
|
104
|
-
ret[:from] = nil
|
105
|
-
ret[:to] = User.current.today
|
106
|
-
when 'from_tomorrow'
|
107
|
-
ret[:from] = Date.tomorrow
|
108
|
-
ret[:to] = nil
|
109
|
-
when 'after_due_date'
|
110
|
-
ret[:from] = nil
|
111
|
-
ret[:to] = Date.yesterday
|
112
|
-
### FISCAL ###
|
113
|
-
when 'last_fiscal_year'
|
114
|
-
ret[:from] = EasySetting.beginning_of_fiscal_year(User.current.today - 1.year)
|
115
|
-
ret[:to] = EasySetting.end_of_fiscal_year(User.current.today - 1.year)
|
116
|
-
when 'current_fiscal_year'
|
117
|
-
ret[:from] = EasySetting.beginning_of_fiscal_year
|
118
|
-
ret[:to] = EasySetting.end_of_fiscal_year
|
119
|
-
when 'next_fiscal_year'
|
120
|
-
ret[:from] = EasySetting.beginning_of_fiscal_year(User.current.today + 1.year)
|
121
|
-
ret[:to] = EasySetting.end_of_fiscal_year(User.current.today + 1.year)
|
122
|
-
else
|
123
|
-
if respond_to?("hook_#{period}")
|
124
|
-
ret = send("hook_#{period}")
|
125
|
-
else
|
126
|
-
Rails.logger.warn "You must add '#{period}' to 'utils/dateutils' !" if Rails.logger
|
127
|
-
end
|
128
|
-
end
|
129
|
-
elsif period_type == '2' || (period_type.nil? && (!from.nil? || !to.nil?))
|
130
|
-
begin
|
131
|
-
ret[:from] = from.to_s.to_date unless from.blank?
|
132
|
-
rescue
|
133
|
-
end
|
134
|
-
begin
|
135
|
-
ret[:to] = to.to_s.to_date unless to.blank?
|
136
|
-
rescue
|
137
|
-
end
|
138
|
-
@free_period = true
|
139
|
-
end
|
140
|
-
|
141
|
-
ret[:from], ret[:to] = ret[:to], ret[:from] if ret[:from] && ret[:to] && ret[:from] > ret[:to]
|
142
|
-
|
143
|
-
ret
|
144
|
-
end
|
145
|
-
|
146
|
-
def initialize(period_type = '1', period = 'all', from = '', to = '')
|
147
|
-
super()
|
148
|
-
self.merge!(self.class.get_date_range(period_type, period, from, to))
|
149
|
-
end
|
150
|
-
|
151
|
-
end
|
152
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
class Object
|
2
|
-
|
3
|
-
def nested_send(symbol)
|
4
|
-
return __send__(symbol) if respond_to?(symbol)
|
5
|
-
obj = nil
|
6
|
-
symbol.to_s.split('.').each do |part|
|
7
|
-
nested_symbol = part.to_sym
|
8
|
-
if obj
|
9
|
-
break unless obj.respond_to?(nested_symbol)
|
10
|
-
obj = obj.__send__(nested_symbol)
|
11
|
-
else
|
12
|
-
break unless respond_to?(nested_symbol)
|
13
|
-
obj = __send__(nested_symbol)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
obj
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
module RedmineExtensions
|
2
|
-
class Deprecator
|
3
|
-
|
4
|
-
def deprecation_warning(method_name, message, caller_backtrace = nil)
|
5
|
-
caller_backtrace ||= caller(2)
|
6
|
-
message = "#{method_name} is deprecated and will be removed from RedmineExtensions in v1.0"
|
7
|
-
ActiveSupport::Deprecation.warn message, caller_backtrace
|
8
|
-
end
|
9
|
-
|
10
|
-
end
|
11
|
-
end
|