openproject-token 5.0.0 → 5.1.0
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/lib/open_project/token/plans.rb +46 -3
- data/lib/open_project/token/version.rb +1 -1
- data/lib/open_project/token.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24a0ac03322b7a1471a9b638111f18d7a038e3171fb1e9156e6b7d04d0503053
|
4
|
+
data.tar.gz: 47d565cc5231417c67dc9db5639bdb8eecb8e12203c7f43cc9e789ff3c66df23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c50b946dd44364c974f326fd3c4987f0edd9ad1c04a123bf8242af1e2556923f68f12e90032a58376c2a3e867f1a73b421b8ea81f94d61afd7de67c0020a88d6
|
7
|
+
data.tar.gz: 1a8d2af2edaf6587af2791fd414b9446e41a2f9fb7b66a17b76c1a8b60956182dbe0da6c7c8d67f2a0753ffc22ed914e80f869a8272c31e3de96f9b0201377db
|
@@ -21,18 +21,61 @@ module OpenProject
|
|
21
21
|
readonly_work_packages
|
22
22
|
sso_auth_providers
|
23
23
|
team_planner_view
|
24
|
-
two_factor_authentication
|
25
24
|
virus_scanning
|
26
25
|
work_package_query_relation_columns
|
27
26
|
work_package_sharing
|
27
|
+
].freeze
|
28
|
+
|
29
|
+
BASIC_PLAN_FEATURES = %i[
|
30
|
+
baseline_comparison
|
31
|
+
board_view
|
32
|
+
conditional_highlighting
|
33
|
+
custom_actions
|
34
|
+
custom_field_hierarchies
|
35
|
+
date_alerts
|
36
|
+
define_custom_style
|
37
|
+
edit_attribute_groups
|
38
|
+
gantt_pdf_export
|
39
|
+
grid_widget_wp_graph
|
40
|
+
placeholder_users
|
41
|
+
readonly_work_packages
|
42
|
+
team_planner_view
|
43
|
+
work_package_query_relation_columns
|
44
|
+
].freeze
|
45
|
+
|
46
|
+
PROFESSIONAL_PLAN_FEATURES = %i[
|
47
|
+
one_drive_sharepoint_file_storage
|
48
|
+
work_package_sharing
|
28
49
|
work_package_subject_generation
|
29
50
|
].freeze
|
30
51
|
|
52
|
+
PREMIUM_PLAN_FEATURES = %i[
|
53
|
+
customize_life_cycle
|
54
|
+
ldap_groups
|
55
|
+
project_list_sharing
|
56
|
+
sso_auth_providers
|
57
|
+
].freeze
|
58
|
+
|
59
|
+
CORPORATE_PLAN_FEATURES = %i[
|
60
|
+
virus_scanning
|
61
|
+
].freeze
|
62
|
+
|
31
63
|
FEATURES_PER_PLAN = {
|
32
|
-
|
64
|
+
# old plan that is used for all plans that do not have a plan set
|
65
|
+
legacy_enterprise: LEGACY_ENTERPRISE_PLAN_FEATURES,
|
66
|
+
|
67
|
+
# new plans
|
68
|
+
basic: BASIC_PLAN_FEATURES,
|
69
|
+
professional: PROFESSIONAL_PLAN_FEATURES + BASIC_PLAN_FEATURES,
|
70
|
+
premium: PREMIUM_PLAN_FEATURES + PROFESSIONAL_PLAN_FEATURES + BASIC_PLAN_FEATURES,
|
71
|
+
corporate: CORPORATE_PLAN_FEATURES + PREMIUM_PLAN_FEATURES + PROFESSIONAL_PLAN_FEATURES + BASIC_PLAN_FEATURES
|
33
72
|
}.freeze
|
34
73
|
|
35
|
-
|
74
|
+
# Current plan names, sorted by inheritance
|
75
|
+
ACTIVE_PLAN_NAMES = %i[basic professional premium corporate].freeze
|
76
|
+
|
77
|
+
# All available plan names
|
78
|
+
AVAILABLE_PLAN_NAMES = %i[legacy_enterprise] + ACTIVE_PLAN_NAMES
|
36
79
|
|
37
80
|
# default plan that is assigned to a token if no plan is given (especially legacy tokens)
|
38
81
|
DEFAULT_PLAN = :legacy_enterprise
|
data/lib/open_project/token.rb
CHANGED
@@ -47,6 +47,12 @@ module OpenProject
|
|
47
47
|
rescue Armor::ParseError
|
48
48
|
raise ImportError, "Token value could not be parsed."
|
49
49
|
end
|
50
|
+
|
51
|
+
def lowest_plan_for(feature)
|
52
|
+
OpenProject::Token::ACTIVE_PLAN_NAMES.detect do |plan|
|
53
|
+
OpenProject::Token::FEATURES_PER_PLAN[plan].include?(feature)
|
54
|
+
end
|
55
|
+
end
|
50
56
|
end
|
51
57
|
|
52
58
|
include ActiveModel::Validations
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openproject-token
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenProject GmbH
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-03-25 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: activemodel
|