redmine_crm 0.0.47 → 0.0.48
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.
- checksums.yaml +4 -4
- data/app/controllers/redmine_crm_controller.rb +21 -0
- data/app/views/redmine_crm/_money.html.erb +44 -0
- data/app/views/redmine_crm/settings.html.erb +10 -0
- data/bitbucket-pipelines.yml +2 -0
- data/config/locales/en.yml +13 -0
- data/config/locales/ru.yml +13 -0
- data/config/routes.rb +5 -0
- data/doc/CHANGELOG +5 -0
- data/lib/redmine_crm.rb +4 -0
- data/lib/redmine_crm/currency.rb +28 -17
- data/lib/redmine_crm/currency/formatting.rb +5 -5
- data/lib/redmine_crm/engine.rb +4 -0
- data/lib/redmine_crm/hooks/views_layouts_hook.rb +11 -0
- data/lib/redmine_crm/money_helper.rb +15 -14
- data/lib/redmine_crm/settings.rb +39 -0
- data/lib/redmine_crm/settings/money.rb +46 -0
- data/lib/redmine_crm/version.rb +1 -1
- data/vendor/assets/images/money.png +0 -0
- data/vendor/assets/javascripts/select2_helpers.js +2 -1
- data/vendor/assets/stylesheets/money.css +3 -0
- metadata +14 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1c034965196dbd50cc840b5655eadcbf75dab04
|
4
|
+
data.tar.gz: fa59b69096a8810670a3aa90b5c6e76d3aa24b2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00fafa577fe756a6d0a4dfc6795816fe745bcf56a2ec0bb20fe15a6e76688d54439772b73ed425ebf4e8fadee90f5b9f92a76a6a3e5f42ef3be20a8ebd90ab73
|
7
|
+
data.tar.gz: 1b087c66d055885d2d1720608526768c37a6cf9bfa62ac5b98c127c139f7ca6290859bc2a8abba0e06fc88a21d3e47da2b7cef8232724d3ccc214b383bfe695b
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class RedmineCrmController < ApplicationController
|
2
|
+
layout 'admin'
|
3
|
+
|
4
|
+
before_action :require_admin
|
5
|
+
require_sudo_mode :settings
|
6
|
+
|
7
|
+
def settings
|
8
|
+
@section = RedmineCrm::Settings::SECTIONS[params[:id]]
|
9
|
+
return render_404 unless @section
|
10
|
+
|
11
|
+
if request.post?
|
12
|
+
setting = params[:settings] ? params[:settings].permit!.to_h : {}
|
13
|
+
RedmineCrm::Settings.apply = setting
|
14
|
+
flash[:notice] = l(:notice_successful_update)
|
15
|
+
redirect_to redmine_crm_settings_path(@section[:id])
|
16
|
+
else
|
17
|
+
@settings = RedmineCrm::Settings.values
|
18
|
+
end
|
19
|
+
@section_tabs = RedmineCrm::Settings::SECTIONS.map { |_n, s| { name: s[:id], partial: s[:partial], label: s[:label] } }
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<p>
|
2
|
+
<label for="cb_settings_disable_taxes"><%= l(:label_redmine_crm_disable_taxes) %></label>
|
3
|
+
<%= hidden_field_tag 'settings[disable_taxes]', '0' %>
|
4
|
+
<%= check_box_tag 'settings[disable_taxes]', 1, RedmineCrm::Settings::Money.disable_taxes?, id: 'cb_settings_disable_taxes' %>
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<span id="tax_data">
|
8
|
+
<p>
|
9
|
+
<label><%= l(:label_redmine_crm_default_tax) %></label>
|
10
|
+
<%= text_field_tag 'settings[default_tax]', RedmineCrm::Settings::Money.default_tax, size: 6, maxlength: 5 %> %
|
11
|
+
</p>
|
12
|
+
|
13
|
+
<p>
|
14
|
+
<label><%= l(:label_redmine_crm_tax_type) %></label>
|
15
|
+
<%= select_tag 'settings[tax_type]', options_for_select([[l(:label_redmine_crm_tax_type_exclusive), RedmineCrm::Settings::Money::TAX_TYPE_EXCLUSIVE],
|
16
|
+
[l(:label_redmine_crm_tax_type_inclusive), RedmineCrm::Settings::Money::TAX_TYPE_INCLUSIVE]],
|
17
|
+
@settings['tax_type']) %>
|
18
|
+
</p>
|
19
|
+
</span>
|
20
|
+
|
21
|
+
<p>
|
22
|
+
<label><%= l(:label_redmine_crm_default_currency) %></label>
|
23
|
+
<%= select_tag 'settings[default_currency]', options_for_select(all_currencies.insert(0, ['', '']), RedmineCrm::Settings::Money.default_currency) %>
|
24
|
+
</p>
|
25
|
+
|
26
|
+
<p>
|
27
|
+
<label><%= l(:label_redmine_crm_major_currencies) %></label>
|
28
|
+
<%= text_field_tag 'settings[major_currencies]', RedmineCrm::Settings::Money.major_currencies.join(', '), size: 40 %>
|
29
|
+
<br>
|
30
|
+
<em class="info"><%= l(:text_comma_separated) %></em>
|
31
|
+
</p>
|
32
|
+
|
33
|
+
<p>
|
34
|
+
<label><%= l(:label_redmine_crm_thousands_delimiter) %></label>
|
35
|
+
<%= select_tag 'settings[thousands_delimiter]', options_for_select([["9 999", " "],
|
36
|
+
["9,999", ","],
|
37
|
+
["9.999", "."]], RedmineCrm::Settings::Money.thousands_delimiter) %>
|
38
|
+
</p>
|
39
|
+
|
40
|
+
<p>
|
41
|
+
<label><%= l(:label_redmine_crm_decimal_separator) %></label>
|
42
|
+
<%= select_tag 'settings[decimal_separator]', options_for_select([["0.00", "."],
|
43
|
+
["0,00", ","]], RedmineCrm::Settings::Money.decimal_separator) %>
|
44
|
+
</p>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<%= title l(:label_redmine_crm_settings) %>
|
2
|
+
|
3
|
+
<div id="settings">
|
4
|
+
<%= form_tag({ action: 'settings', id: @section[:id] }) do %>
|
5
|
+
<div class="box tabular settings">
|
6
|
+
<%= render_tabs @section_tabs %>
|
7
|
+
</div>
|
8
|
+
<%= submit_tag l(:button_apply) %>
|
9
|
+
<% end %>
|
10
|
+
</div>
|
data/bitbucket-pipelines.yml
CHANGED
@@ -30,6 +30,8 @@ pipelines:
|
|
30
30
|
- sed -i "s/'sqlite3'/'sqlite3', '~> 1.3.6'/g" redmine_crm.gemspec
|
31
31
|
- sed -i "s/'mysql2'/'mysql2', '~> 0.4.0'/g" redmine_crm.gemspec
|
32
32
|
- sed -i "s/'pg'/'pg', '~> 0.18.0'/g" redmine_crm.gemspec
|
33
|
+
- sed -i "s/^end/ spec.add_development_dependency 'minitest', '~> 5.11.3'\nend/g" redmine_crm.gemspec
|
34
|
+
- sed -i "s/^end/ spec.add_development_dependency 'sprockets', '~> 3.5.2'\nend/g" redmine_crm.gemspec
|
33
35
|
- bundle install
|
34
36
|
- bundle exec rake test DB=sqlite
|
35
37
|
- bundle exec rake test DB=mysql
|
@@ -0,0 +1,13 @@
|
|
1
|
+
en:
|
2
|
+
label_redmine_crm_settings: Redmine Crm Settings
|
3
|
+
label_redmine_crm_money: Money
|
4
|
+
|
5
|
+
label_redmine_crm_disable_taxes: Disable taxes
|
6
|
+
label_redmine_crm_default_tax: Default tax value
|
7
|
+
label_redmine_crm_tax_type: Tax type
|
8
|
+
label_redmine_crm_tax_type_exclusive: Tax exclusive
|
9
|
+
label_redmine_crm_tax_type_inclusive: Tax inclusive
|
10
|
+
label_redmine_crm_default_currency: Default currency
|
11
|
+
label_redmine_crm_major_currencies: Major currencies
|
12
|
+
label_redmine_crm_thousands_delimiter: Thousands delimiter
|
13
|
+
label_redmine_crm_decimal_separator: Decimal separator
|
@@ -0,0 +1,13 @@
|
|
1
|
+
ru:
|
2
|
+
label_redmine_crm_settings: Настройки Redmine Crm
|
3
|
+
label_redmine_crm_money: Деньги
|
4
|
+
|
5
|
+
label_redmine_crm_disable_taxes: Отключить налоги
|
6
|
+
label_redmine_crm_default_tax: Ставка налога
|
7
|
+
label_redmine_crm_tax_type: Тип налога
|
8
|
+
label_redmine_crm_tax_type_exclusive: Налог добавлен к общей сумме
|
9
|
+
label_redmine_crm_tax_type_inclusive: Налог включен с общую сумму
|
10
|
+
label_redmine_crm_default_currency: Валюта по умолчанию
|
11
|
+
label_redmine_crm_major_currencies: Основные валюты
|
12
|
+
label_redmine_crm_thousands_delimiter: Разделитель разрядов
|
13
|
+
label_redmine_crm_decimal_separator: Десятичный разделитель
|
data/config/routes.rb
ADDED
data/doc/CHANGELOG
CHANGED
@@ -4,6 +4,11 @@ Redmine crm gem - general functions for plugins (tags, vote, viewing, currency)
|
|
4
4
|
Copyright (C) 2011-2019 RedmineUP
|
5
5
|
https://www.redmineup.com/
|
6
6
|
|
7
|
+
== 2019-11-07 v0.0.48
|
8
|
+
|
9
|
+
* Added global money setting
|
10
|
+
* Fixed select2 format
|
11
|
+
|
7
12
|
== 2019-08-26 v0.0.47
|
8
13
|
|
9
14
|
* Fixed bug with tag cloud
|
data/lib/redmine_crm.rb
CHANGED
@@ -2,6 +2,10 @@ require 'active_record'
|
|
2
2
|
require 'action_view'
|
3
3
|
|
4
4
|
require 'redmine_crm/version'
|
5
|
+
require 'redmine_crm/engine'
|
6
|
+
|
7
|
+
require 'redmine_crm/settings'
|
8
|
+
require 'redmine_crm/settings/money'
|
5
9
|
|
6
10
|
require 'redmine_crm/acts_as_list/list'
|
7
11
|
require 'redmine_crm/acts_as_taggable/tag'
|
data/lib/redmine_crm/currency.rb
CHANGED
@@ -33,6 +33,17 @@ module RedmineCrm
|
|
33
33
|
|
34
34
|
class << self
|
35
35
|
|
36
|
+
def add_admin_money_menu
|
37
|
+
return if Redmine::MenuManager.map(:admin_menu).exists?(:redmine_crm_money)
|
38
|
+
|
39
|
+
require 'redmine_crm/hooks/views_layouts_hook'
|
40
|
+
Redmine::MenuManager.map(:admin_menu).push(:redmine_crm_money,
|
41
|
+
{ controller: 'redmine_crm', action: 'settings', id: 'money' },
|
42
|
+
caption: :label_redmine_crm_money,
|
43
|
+
html: { class: 'icon icon-redminecrm-money' })
|
44
|
+
|
45
|
+
end
|
46
|
+
|
36
47
|
# Lookup a currency with given +id+ an returns a +Currency+ instance on
|
37
48
|
# success, +nil+ otherwise.
|
38
49
|
#
|
@@ -190,40 +201,40 @@ module RedmineCrm
|
|
190
201
|
end
|
191
202
|
end
|
192
203
|
|
193
|
-
# @!attribute [r] id
|
204
|
+
# @!attribute [r] id
|
194
205
|
# @return [Symbol] The symbol used to identify the currency, usually THE
|
195
206
|
# lowercase +iso_code+ attribute.
|
196
|
-
# @!attribute [r] priority
|
207
|
+
# @!attribute [r] priority
|
197
208
|
# @return [Integer] A numerical value you can use to sort/group the
|
198
209
|
# currency list.
|
199
|
-
# @!attribute [r] iso_code
|
210
|
+
# @!attribute [r] iso_code
|
200
211
|
# @return [String] The international 3-letter code as defined by the ISO
|
201
212
|
# 4217 standard.
|
202
|
-
# @!attribute [r] iso_numeric
|
213
|
+
# @!attribute [r] iso_numeric
|
203
214
|
# @return [String] The international 3-numeric code as defined by the ISO
|
204
215
|
# 4217 standard.
|
205
|
-
# @!attribute [r] name
|
216
|
+
# @!attribute [r] name
|
206
217
|
# @return [String] The currency name.
|
207
|
-
# @!attribute [r] symbol
|
218
|
+
# @!attribute [r] symbol
|
208
219
|
# @return [String] The currency symbol (UTF-8 encoded).
|
209
|
-
# @!attribute [r] disambiguate_symbol
|
220
|
+
# @!attribute [r] disambiguate_symbol
|
210
221
|
# @return [String] Alternative currency used if symbol is ambiguous
|
211
|
-
# @!attribute [r] html_entity
|
222
|
+
# @!attribute [r] html_entity
|
212
223
|
# @return [String] The html entity for the currency symbol
|
213
|
-
# @!attribute [r] subunit
|
224
|
+
# @!attribute [r] subunit
|
214
225
|
# @return [String] The name of the fractional monetary unit.
|
215
|
-
# @!attribute [r] subunit_to_unit
|
226
|
+
# @!attribute [r] subunit_to_unit
|
216
227
|
# @return [Integer] The proportion between the unit and the subunit
|
217
|
-
# @!attribute [r] decimal_mark
|
228
|
+
# @!attribute [r] decimal_mark
|
218
229
|
# @return [String] The decimal mark, or character used to separate the
|
219
230
|
# whole unit from the subunit.
|
220
|
-
# @!attribute [r] The
|
231
|
+
# @!attribute [r] The
|
221
232
|
# @return [String] character used to separate thousands grouping of the
|
222
233
|
# whole unit.
|
223
|
-
# @!attribute [r] symbol_first
|
234
|
+
# @!attribute [r] symbol_first
|
224
235
|
# @return [Boolean] Should the currency symbol precede the amount, or
|
225
236
|
# should it come after?
|
226
|
-
# @!attribute [r] smallest_denomination
|
237
|
+
# @!attribute [r] smallest_denomination
|
227
238
|
# @return [Integer] Smallest amount of cash possible (in the subunit of
|
228
239
|
# this currency)
|
229
240
|
|
@@ -301,7 +312,7 @@ module RedmineCrm
|
|
301
312
|
end
|
302
313
|
self.id.to_s.downcase == other_currency_id
|
303
314
|
end
|
304
|
-
|
315
|
+
|
305
316
|
private :compare_ids
|
306
317
|
|
307
318
|
# Returns a Fixnum hash value based on the +id+ attribute in order to use
|
@@ -402,7 +413,7 @@ module RedmineCrm
|
|
402
413
|
end
|
403
414
|
|
404
415
|
private
|
405
|
-
|
416
|
+
|
406
417
|
def cache
|
407
418
|
self.class.decimal_places_cache
|
408
419
|
end
|
@@ -436,4 +447,4 @@ module RedmineCrm
|
|
436
447
|
@thousands_separator = data[:thousands_separator]
|
437
448
|
end
|
438
449
|
end
|
439
|
-
end
|
450
|
+
end
|
@@ -4,8 +4,8 @@ module RedmineCrm
|
|
4
4
|
module Formatting
|
5
5
|
def self.included(base)
|
6
6
|
[
|
7
|
-
[:thousands_separator, :delimiter,
|
8
|
-
[:decimal_mark, :separator,
|
7
|
+
[:thousands_separator, :delimiter, RedmineCrm::Settings::Money.thousands_delimiter],
|
8
|
+
[:decimal_mark, :separator, RedmineCrm::Settings::Money.decimal_separator]
|
9
9
|
].each do |method, name, character|
|
10
10
|
define_i18n_method(method, name, character)
|
11
11
|
end
|
@@ -115,9 +115,9 @@ module RedmineCrm
|
|
115
115
|
|
116
116
|
def default_formatting_rules
|
117
117
|
{
|
118
|
-
:
|
119
|
-
:
|
120
|
-
:
|
118
|
+
decimal_mark: RedmineCrm::Settings::Money.decimal_separator || '.',
|
119
|
+
thousands_separator: RedmineCrm::Settings::Money.thousands_delimiter || ',',
|
120
|
+
subunit_to_unit: 100
|
121
121
|
}
|
122
122
|
end
|
123
123
|
|
@@ -1,14 +1,14 @@
|
|
1
1
|
require 'action_view'
|
2
|
+
require 'redmine_crm/settings/money'
|
2
3
|
|
3
4
|
module RedmineCrm
|
4
5
|
module MoneyHelper
|
5
|
-
|
6
6
|
def object_price(obj, price_field = :price, options = {})
|
7
7
|
options.merge!({:symbol => true})
|
8
8
|
price_to_currency(obj.try(price_field), obj.currency, options).to_s if obj.respond_to?(:currency)
|
9
9
|
end
|
10
10
|
|
11
|
-
def prices_collection_by_currency(prices_collection, options={})
|
11
|
+
def prices_collection_by_currency(prices_collection, options = {})
|
12
12
|
return [] if prices_collection.blank? || prices_collection == 0
|
13
13
|
prices = prices_collection
|
14
14
|
prices.reject!{|k, v| v.to_i == 0} if options[:hide_zeros]
|
@@ -18,17 +18,17 @@ module RedmineCrm
|
|
18
18
|
def deal_currency_icon(currency)
|
19
19
|
case currency.to_s.upcase
|
20
20
|
when 'EUR'
|
21
|
-
|
21
|
+
'icon-money-euro'
|
22
22
|
when 'GBP'
|
23
|
-
|
23
|
+
'icon-money-pound'
|
24
24
|
when 'JPY'
|
25
|
-
|
25
|
+
'icon-money-yen'
|
26
26
|
else
|
27
|
-
|
27
|
+
'icon-money-dollar'
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
def collection_for_currencies_select(default_currency =
|
31
|
+
def collection_for_currencies_select(default_currency = RedmineCrm::Settings::Money.default_currency, major_currencies = RedmineCrm::Settings::Money.major_currencies)
|
32
32
|
currencies = []
|
33
33
|
currencies << default_currency.to_s unless default_currency.blank?
|
34
34
|
currencies |= major_currencies
|
@@ -46,17 +46,18 @@ module RedmineCrm
|
|
46
46
|
end.sort{|x, y| x[0] <=> y[0]}
|
47
47
|
end
|
48
48
|
|
49
|
-
def price_to_currency(price, currency=
|
49
|
+
def price_to_currency(price, currency = RedmineCrm::Settings::Money.default_currency, options = {})
|
50
50
|
return '' if price.blank?
|
51
51
|
|
52
|
-
currency =
|
53
|
-
|
52
|
+
currency = 'USD' unless currency.is_a?(String)
|
53
|
+
default_options = {
|
54
|
+
decimal_mark: RedmineCrm::Settings::Money.decimal_separator,
|
55
|
+
thousands_separator: RedmineCrm::Settings::Money.thousands_delimiter
|
56
|
+
}.reject { |_k, v| v.nil? }
|
54
57
|
|
55
|
-
|
56
|
-
price.
|
58
|
+
currency = RedmineCrm::Currency.find(currency)
|
59
|
+
RedmineCrm::Currency.format(price.to_f, currency, default_options.merge(options))
|
57
60
|
end
|
58
|
-
|
59
|
-
|
60
61
|
end
|
61
62
|
end
|
62
63
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module RedmineCrm
|
2
|
+
class Settings
|
3
|
+
SECTIONS = {
|
4
|
+
'money' => { id: :money, label: :label_redmine_crm_money, partial: 'money' }
|
5
|
+
}.freeze
|
6
|
+
|
7
|
+
class << self
|
8
|
+
# Initialize settings before using with this method
|
9
|
+
# @example
|
10
|
+
# RedmineCrm::Settings.initialize_gem_settings
|
11
|
+
def initialize_gem_settings
|
12
|
+
return if Setting.respond_to?(:plugin_redmine_crm)
|
13
|
+
|
14
|
+
Setting.send(:define_setting, 'plugin_redmine_crm', { 'default' => default_settings, 'serialized' => true })
|
15
|
+
end
|
16
|
+
|
17
|
+
# Use apply instead attrs assign because it can rewrite other attributes
|
18
|
+
def apply=(values)
|
19
|
+
Setting.plugin_redmine_crm = Setting.plugin_redmine_crm.merge(values)
|
20
|
+
end
|
21
|
+
|
22
|
+
def values
|
23
|
+
Object.const_defined?('Setting') ? Setting.plugin_redmine_crm : {}
|
24
|
+
end
|
25
|
+
|
26
|
+
def [](value)
|
27
|
+
return Setting.plugin_redmine_crm[value] if Object.const_defined?('Setting')
|
28
|
+
|
29
|
+
nil
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def default_settings
|
35
|
+
{}
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'redmine_crm/settings'
|
2
|
+
|
3
|
+
module RedmineCrm
|
4
|
+
class Settings
|
5
|
+
class Money
|
6
|
+
TAX_TYPE_EXCLUSIVE = 1
|
7
|
+
TAX_TYPE_INCLUSIVE = 2
|
8
|
+
|
9
|
+
class << self
|
10
|
+
def default_currency
|
11
|
+
RedmineCrm::Settings['default_currency'] || 'USD'
|
12
|
+
end
|
13
|
+
|
14
|
+
def major_currencies
|
15
|
+
currencies = RedmineCrm::Settings['major_currencies'].to_s.split(',').select { |c| !c.blank? }.map(&:strip)
|
16
|
+
currencies = %w[USD EUR GBP RUB CHF] if currencies.blank?
|
17
|
+
currencies.compact.uniq
|
18
|
+
end
|
19
|
+
|
20
|
+
def default_tax
|
21
|
+
RedmineCrm::Settings['default_tax'].to_f
|
22
|
+
end
|
23
|
+
|
24
|
+
def tax_type
|
25
|
+
((['1', '2'] & [RedmineCrm::Settings['tax_type'].to_s]).first || TAX_TYPE_EXCLUSIVE).to_i
|
26
|
+
end
|
27
|
+
|
28
|
+
def tax_exclusive?
|
29
|
+
tax_type == TAX_TYPE_EXCLUSIVE
|
30
|
+
end
|
31
|
+
|
32
|
+
def thousands_delimiter
|
33
|
+
([' ', ',', '.'] & [RedmineCrm::Settings['thousands_delimiter']]).first
|
34
|
+
end
|
35
|
+
|
36
|
+
def decimal_separator
|
37
|
+
([',', '.'] & [RedmineCrm::Settings['decimal_separator']]).first
|
38
|
+
end
|
39
|
+
|
40
|
+
def disable_taxes?
|
41
|
+
RedmineCrm::Settings['disable_taxes'].to_i > 0
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/redmine_crm/version.rb
CHANGED
Binary file
|
@@ -100,7 +100,8 @@ function formatStateWithMultiaddress(opt) {
|
|
100
100
|
}
|
101
101
|
|
102
102
|
function formatSelectionWithEmails(opt) {
|
103
|
-
|
103
|
+
email = $.trim(opt.email).length ? ' <' + opt.email + '>' : ''
|
104
|
+
return (opt.text || opt.name || '') + email
|
104
105
|
}
|
105
106
|
|
106
107
|
function transformToSelect2(field, options) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redmine_crm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.48
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RedmineUP
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -92,8 +92,14 @@ files:
|
|
92
92
|
- Gemfile
|
93
93
|
- README.md
|
94
94
|
- Rakefile
|
95
|
+
- app/controllers/redmine_crm_controller.rb
|
96
|
+
- app/views/redmine_crm/_money.html.erb
|
97
|
+
- app/views/redmine_crm/settings.html.erb
|
95
98
|
- bitbucket-pipelines.yml
|
96
99
|
- config/currency_iso.json
|
100
|
+
- config/locales/en.yml
|
101
|
+
- config/locales/ru.yml
|
102
|
+
- config/routes.rb
|
97
103
|
- doc/CHANGELOG
|
98
104
|
- doc/LICENSE.txt
|
99
105
|
- lib/redmine_crm.rb
|
@@ -117,10 +123,12 @@ files:
|
|
117
123
|
- lib/redmine_crm/currency/formatting.rb
|
118
124
|
- lib/redmine_crm/currency/heuristics.rb
|
119
125
|
- lib/redmine_crm/currency/loader.rb
|
126
|
+
- lib/redmine_crm/engine.rb
|
120
127
|
- lib/redmine_crm/helpers/external_assets_helper.rb
|
121
128
|
- lib/redmine_crm/helpers/form_tag_helper.rb
|
122
129
|
- lib/redmine_crm/helpers/tags_helper.rb
|
123
130
|
- lib/redmine_crm/helpers/vote_helper.rb
|
131
|
+
- lib/redmine_crm/hooks/views_layouts_hook.rb
|
124
132
|
- lib/redmine_crm/liquid/drops/issues_drop.rb
|
125
133
|
- lib/redmine_crm/liquid/drops/news_drop.rb
|
126
134
|
- lib/redmine_crm/liquid/drops/projects_drop.rb
|
@@ -130,6 +138,8 @@ files:
|
|
130
138
|
- lib/redmine_crm/liquid/filters/base.rb
|
131
139
|
- lib/redmine_crm/liquid/filters/colors.rb
|
132
140
|
- lib/redmine_crm/money_helper.rb
|
141
|
+
- lib/redmine_crm/settings.rb
|
142
|
+
- lib/redmine_crm/settings/money.rb
|
133
143
|
- lib/redmine_crm/version.rb
|
134
144
|
- redmine_crm.gemspec
|
135
145
|
- test/acts_as_draftable/draft_test.rb
|
@@ -172,10 +182,12 @@ files:
|
|
172
182
|
- test/tags_helper_test.rb
|
173
183
|
- test/test_helper.rb
|
174
184
|
- test/vote_helper_test.rb
|
185
|
+
- vendor/assets/images/money.png
|
175
186
|
- vendor/assets/images/vcard.png
|
176
187
|
- vendor/assets/javascripts/Chart.bundle.min.js
|
177
188
|
- vendor/assets/javascripts/select2.js
|
178
189
|
- vendor/assets/javascripts/select2_helpers.js
|
190
|
+
- vendor/assets/stylesheets/money.css
|
179
191
|
- vendor/assets/stylesheets/select2.css
|
180
192
|
homepage: ''
|
181
193
|
licenses:
|