redmineup 1.1.4 → 1.1.7
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/.gitignore +1 -0
- data/README.md +74 -153
- data/app/assets/stylesheets/redmineup.css +476 -0
- data/app/views/redmineup/_additional_assets.html.erb +1 -0
- data/config/locales/en.yml +1 -0
- data/config/locales/ru.yml +1 -0
- data/config/routes.rb +2 -0
- data/doc/CHANGELOG +50 -26
- data/doc/active-record-mixins.md +156 -0
- data/doc/assets-money-and-utilities.md +71 -0
- data/doc/tagging-and-select2.md +108 -0
- data/lib/redmineup/acts_as_taggable/tag.rb +12 -2
- data/lib/redmineup/acts_as_taggable/up_acts_as_taggable.rb +8 -6
- data/lib/redmineup/engine.rb +12 -2
- data/lib/redmineup/helpers/datetime_helper.rb +23 -0
- data/lib/redmineup/helpers/external_assets_helper.rb +11 -5
- data/lib/redmineup/helpers/form_tag_helper.rb +42 -0
- data/lib/redmineup/helpers/tags_helper.rb +39 -3
- data/lib/redmineup/hooks/views_layouts_hook.rb +1 -5
- data/lib/redmineup/patches/auto_completes_controller_patch.rb +19 -0
- data/lib/redmineup/patches/compatibility/user_patch.rb +3 -3
- data/lib/redmineup/version.rb +1 -1
- data/lib/redmineup.rb +1 -0
- data/test/acts_as_taggable/tag_test.rb +12 -9
- data/test/tags_helper_view_test.rb +41 -0
- data/test/test_helper.rb +2 -1
- metadata +11 -2
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
SELECT2 (from select2.css)
|
|
3
|
+
============================================================ */
|
|
4
|
+
.select2-container {
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
display: inline-block;
|
|
7
|
+
margin: 0;
|
|
8
|
+
position: relative;
|
|
9
|
+
vertical-align: middle;
|
|
10
|
+
}
|
|
11
|
+
.select2-container .select2-selection--single {
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
display: block;
|
|
15
|
+
height: 28px;
|
|
16
|
+
user-select: none;
|
|
17
|
+
-webkit-user-select: none;
|
|
18
|
+
}
|
|
19
|
+
.select2-container .select2-selection--single .select2-selection__rendered {
|
|
20
|
+
display: block;
|
|
21
|
+
padding-left: 8px;
|
|
22
|
+
padding-right: 20px;
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
text-overflow: ellipsis;
|
|
25
|
+
white-space: nowrap;
|
|
26
|
+
}
|
|
27
|
+
.select2-container .select2-selection--single .select2-selection__clear {
|
|
28
|
+
position: relative;
|
|
29
|
+
}
|
|
30
|
+
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
|
31
|
+
padding-right: 8px;
|
|
32
|
+
padding-left: 20px;
|
|
33
|
+
}
|
|
34
|
+
.select2-container .select2-selection--multiple {
|
|
35
|
+
box-sizing: border-box;
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
display: block;
|
|
38
|
+
min-height: 24px;
|
|
39
|
+
user-select: none;
|
|
40
|
+
-webkit-user-select: none;
|
|
41
|
+
}
|
|
42
|
+
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
|
43
|
+
/*display: inline-block;*/
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
padding-left: 8px;
|
|
46
|
+
text-overflow: ellipsis;
|
|
47
|
+
white-space: nowrap;
|
|
48
|
+
}
|
|
49
|
+
.select2-container .select2-search--inline {
|
|
50
|
+
float: left;
|
|
51
|
+
}
|
|
52
|
+
.select2-container .select2-search--inline .select2-search__field {
|
|
53
|
+
box-sizing: border-box;
|
|
54
|
+
border: none;
|
|
55
|
+
font-size: 100%;
|
|
56
|
+
margin-top: 2px;
|
|
57
|
+
padding: 0;
|
|
58
|
+
}
|
|
59
|
+
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
|
|
60
|
+
-webkit-appearance: none;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.select2-dropdown {
|
|
64
|
+
background-color: white;
|
|
65
|
+
border: 1px solid #aaa;
|
|
66
|
+
border-radius: 4px;
|
|
67
|
+
box-sizing: border-box;
|
|
68
|
+
display: block;
|
|
69
|
+
position: absolute;
|
|
70
|
+
left: -100000px;
|
|
71
|
+
width: 100%;
|
|
72
|
+
z-index: 1051;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.select2-results {
|
|
76
|
+
display: block;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.select2-results__options {
|
|
80
|
+
list-style: none;
|
|
81
|
+
margin: 0;
|
|
82
|
+
padding: 0;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.select2-results__option {
|
|
86
|
+
padding: 6px;
|
|
87
|
+
user-select: none;
|
|
88
|
+
-webkit-user-select: none;
|
|
89
|
+
}
|
|
90
|
+
.select2-results__option[aria-selected] {
|
|
91
|
+
cursor: pointer;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.select2-container--open .select2-dropdown {
|
|
95
|
+
left: 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.select2-container--open .select2-dropdown--above {
|
|
99
|
+
border-bottom: none;
|
|
100
|
+
border-bottom-left-radius: 0;
|
|
101
|
+
border-bottom-right-radius: 0;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.select2-container--open .select2-dropdown--below {
|
|
105
|
+
border-top: none;
|
|
106
|
+
border-top-left-radius: 0;
|
|
107
|
+
border-top-right-radius: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.select2-search--dropdown {
|
|
111
|
+
display: block;
|
|
112
|
+
padding: 4px;
|
|
113
|
+
}
|
|
114
|
+
.select2-search--dropdown .select2-search__field {
|
|
115
|
+
padding: 4px;
|
|
116
|
+
width: 100%;
|
|
117
|
+
box-sizing: border-box;
|
|
118
|
+
}
|
|
119
|
+
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
|
|
120
|
+
-webkit-appearance: none;
|
|
121
|
+
}
|
|
122
|
+
.select2-search--dropdown.select2-search--hide {
|
|
123
|
+
display: none;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.select2-close-mask {
|
|
127
|
+
border: 0;
|
|
128
|
+
margin: 0;
|
|
129
|
+
padding: 0;
|
|
130
|
+
display: block;
|
|
131
|
+
position: fixed;
|
|
132
|
+
left: 0;
|
|
133
|
+
top: 0;
|
|
134
|
+
min-height: 100%;
|
|
135
|
+
min-width: 100%;
|
|
136
|
+
height: auto;
|
|
137
|
+
width: auto;
|
|
138
|
+
opacity: 0;
|
|
139
|
+
z-index: 99;
|
|
140
|
+
background-color: #fff;
|
|
141
|
+
filter: alpha(opacity=0);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.select2-hidden-accessible {
|
|
145
|
+
border: 0 !important;
|
|
146
|
+
clip: rect(0 0 0 0) !important;
|
|
147
|
+
height: 1px !important;
|
|
148
|
+
margin: -1px !important;
|
|
149
|
+
overflow: hidden !important;
|
|
150
|
+
padding: 0 !important;
|
|
151
|
+
position: absolute !important;
|
|
152
|
+
width: 1px !important;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.select2-container--default .select2-selection--single {
|
|
156
|
+
background-color: #fff;
|
|
157
|
+
height: 24px;
|
|
158
|
+
border: 1px solid #ccc;
|
|
159
|
+
border-radius: 3px;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.select2-container--default .select2-selection--single.icon {
|
|
163
|
+
background-position-x: 3px;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
|
167
|
+
line-height: 21px;
|
|
168
|
+
font-size: 11px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.select2-container--default .select2-selection--single.icon .select2-selection__rendered {
|
|
172
|
+
padding-left: 2px
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.select2-container--default .select2-selection--single .select2-selection__clear {
|
|
176
|
+
cursor: pointer;
|
|
177
|
+
float: right;
|
|
178
|
+
font-weight: normal;
|
|
179
|
+
color: #888;
|
|
180
|
+
}
|
|
181
|
+
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
|
182
|
+
color: #999;
|
|
183
|
+
}
|
|
184
|
+
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
|
185
|
+
height: 24px;
|
|
186
|
+
position: absolute;
|
|
187
|
+
top: 0px;
|
|
188
|
+
right: 1px;
|
|
189
|
+
width: 20px;
|
|
190
|
+
}
|
|
191
|
+
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
|
192
|
+
border-color: #888 transparent transparent transparent;
|
|
193
|
+
border-style: solid;
|
|
194
|
+
border-width: 5px 4px 0 4px;
|
|
195
|
+
height: 0;
|
|
196
|
+
left: 50%;
|
|
197
|
+
margin-left: -4px;
|
|
198
|
+
margin-top: -2px;
|
|
199
|
+
position: absolute;
|
|
200
|
+
top: 50%;
|
|
201
|
+
width: 0;
|
|
202
|
+
}
|
|
203
|
+
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
|
204
|
+
float: left;
|
|
205
|
+
}
|
|
206
|
+
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
|
207
|
+
left: 1px;
|
|
208
|
+
right: auto;
|
|
209
|
+
}
|
|
210
|
+
.select2-container--default.select2-container--disabled .select2-selection--single {
|
|
211
|
+
background-color: #eee;
|
|
212
|
+
cursor: default;
|
|
213
|
+
}
|
|
214
|
+
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
|
|
215
|
+
display: none;
|
|
216
|
+
}
|
|
217
|
+
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
|
218
|
+
border-color: transparent transparent #888 transparent;
|
|
219
|
+
border-width: 0 4px 5px 4px;
|
|
220
|
+
}
|
|
221
|
+
.select2-container--default .select2-selection--multiple {
|
|
222
|
+
background-color: white;
|
|
223
|
+
border: 1px solid #ccc;
|
|
224
|
+
border-radius: 3px;
|
|
225
|
+
cursor: text;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
#sidebar .select2-container--default .select2-selection--multiple .select2-selection__rendered,
|
|
229
|
+
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
|
230
|
+
box-sizing: border-box;
|
|
231
|
+
list-style: none;
|
|
232
|
+
margin: 0;
|
|
233
|
+
padding: 0 2px 1px 2px;
|
|
234
|
+
width: 100%;
|
|
235
|
+
}
|
|
236
|
+
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
|
|
237
|
+
list-style: none;
|
|
238
|
+
}
|
|
239
|
+
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
|
|
240
|
+
color: #999;
|
|
241
|
+
margin-top: 5px;
|
|
242
|
+
float: left;
|
|
243
|
+
}
|
|
244
|
+
.select2-container--default .select2-selection--multiple .select2-selection__clear {
|
|
245
|
+
cursor: pointer;
|
|
246
|
+
float: right;
|
|
247
|
+
font-weight: bold;
|
|
248
|
+
margin-top: 2px;
|
|
249
|
+
margin-right: 2px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
#sidebar .select2-container--default .select2-selection--multiple .select2-selection__choice,
|
|
253
|
+
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
|
254
|
+
background-color: #efefef;
|
|
255
|
+
border-radius: 2px;
|
|
256
|
+
cursor: default;
|
|
257
|
+
float: left;
|
|
258
|
+
margin-right: 2px;
|
|
259
|
+
margin-top: 2px;
|
|
260
|
+
padding: 0 3px;
|
|
261
|
+
}
|
|
262
|
+
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
|
263
|
+
color: #aaa;
|
|
264
|
+
cursor: pointer;
|
|
265
|
+
display: inline-block;
|
|
266
|
+
font-weight: normal;
|
|
267
|
+
margin-right: 2px;
|
|
268
|
+
}
|
|
269
|
+
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
|
|
270
|
+
color: #333;
|
|
271
|
+
}
|
|
272
|
+
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
|
|
273
|
+
float: right;
|
|
274
|
+
}
|
|
275
|
+
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
|
276
|
+
margin-left: 5px;
|
|
277
|
+
margin-right: auto;
|
|
278
|
+
}
|
|
279
|
+
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
|
280
|
+
margin-left: 2px;
|
|
281
|
+
margin-right: auto;
|
|
282
|
+
}
|
|
283
|
+
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
|
284
|
+
border: 1px solid #5ad;
|
|
285
|
+
outline: none;
|
|
286
|
+
}
|
|
287
|
+
.select2-container--default.select2-container--disabled .select2-selection--multiple {
|
|
288
|
+
background-color: #eee;
|
|
289
|
+
cursor: default;
|
|
290
|
+
}
|
|
291
|
+
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
|
|
292
|
+
display: none;
|
|
293
|
+
}
|
|
294
|
+
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
|
|
295
|
+
border-top-left-radius: 0;
|
|
296
|
+
border-top-right-radius: 0;
|
|
297
|
+
}
|
|
298
|
+
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
|
|
299
|
+
border-bottom-left-radius: 0;
|
|
300
|
+
border-bottom-right-radius: 0;
|
|
301
|
+
}
|
|
302
|
+
.select2-container--default .select2-search--dropdown .select2-search__field {
|
|
303
|
+
border: 1px solid #aaa;
|
|
304
|
+
}
|
|
305
|
+
.select2-container--default .select2-search--inline .select2-search__field {
|
|
306
|
+
background: transparent;
|
|
307
|
+
border: none;
|
|
308
|
+
outline: 0;
|
|
309
|
+
box-shadow: none;
|
|
310
|
+
-webkit-appearance: textfield;
|
|
311
|
+
height: 18px;
|
|
312
|
+
}
|
|
313
|
+
.select2-container--default .select2-results > .select2-results__options {
|
|
314
|
+
max-height: 200px;
|
|
315
|
+
overflow-y: auto;
|
|
316
|
+
}
|
|
317
|
+
.select2-container--default .select2-results__option[role=group] {
|
|
318
|
+
padding: 0;
|
|
319
|
+
}
|
|
320
|
+
.select2-container--default .select2-results__option[aria-disabled=true] {
|
|
321
|
+
color: #999;
|
|
322
|
+
}
|
|
323
|
+
.select2-container--default .select2-results__option[aria-selected=true] {
|
|
324
|
+
background-color: #eee;
|
|
325
|
+
}
|
|
326
|
+
.select2-container--default .select2-results__option .select2-results__option {
|
|
327
|
+
padding-left: 1em;
|
|
328
|
+
}
|
|
329
|
+
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
|
|
330
|
+
padding-left: 0;
|
|
331
|
+
}
|
|
332
|
+
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
|
|
333
|
+
margin-left: -1em;
|
|
334
|
+
padding-left: 2em;
|
|
335
|
+
}
|
|
336
|
+
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
|
337
|
+
margin-left: -2em;
|
|
338
|
+
padding-left: 3em;
|
|
339
|
+
}
|
|
340
|
+
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
|
341
|
+
margin-left: -3em;
|
|
342
|
+
padding-left: 4em;
|
|
343
|
+
}
|
|
344
|
+
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
|
345
|
+
margin-left: -4em;
|
|
346
|
+
padding-left: 5em;
|
|
347
|
+
}
|
|
348
|
+
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
|
349
|
+
margin-left: -5em;
|
|
350
|
+
padding-left: 6em;
|
|
351
|
+
}
|
|
352
|
+
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
|
353
|
+
background-color: #eef5fd;
|
|
354
|
+
}
|
|
355
|
+
.select2-container--default .select2-results__group {
|
|
356
|
+
cursor: default;
|
|
357
|
+
display: block;
|
|
358
|
+
padding: 6px;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.filter .select2 {
|
|
362
|
+
margin: 1px;
|
|
363
|
+
min-width: 130px;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.filter .select2-selection--multiple .select2-search--inline .select2-search__field {
|
|
367
|
+
border: 0px !important;
|
|
368
|
+
height: inherit !important;
|
|
369
|
+
padding: 0px !important;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
.filter .select2-container--default .select2-selection--multiple .select2-selection__choice {
|
|
373
|
+
outline: none;
|
|
374
|
+
border: 0px;
|
|
375
|
+
padding: 3px 5px;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/* ============================================================
|
|
379
|
+
TAGS
|
|
380
|
+
============================================================ */
|
|
381
|
+
|
|
382
|
+
#sidebar ul.tags-cloud { list-style: none; padding: 0; }
|
|
383
|
+
#sidebar ul.tags-cloud li { margin: .25em 0; }
|
|
384
|
+
|
|
385
|
+
div.tags-cloud { text-align: center; }
|
|
386
|
+
|
|
387
|
+
.tag-label-color {
|
|
388
|
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
|
389
|
+
border-radius: 3px;
|
|
390
|
+
padding: 2px 4px;
|
|
391
|
+
display: inline-block;
|
|
392
|
+
font-size: 10px;
|
|
393
|
+
margin: 0 0 5px 2px;
|
|
394
|
+
color: white;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
table.list tr.issue .tag-label-color a,
|
|
398
|
+
.tag-label-color a { color: white; text-decoration: none; font-weight: normal; }
|
|
399
|
+
|
|
400
|
+
.tag-label-color:hover { filter: brightness(0.85); }
|
|
401
|
+
|
|
402
|
+
.tag_list { margin-top: 5px; display: inline-block; }
|
|
403
|
+
|
|
404
|
+
span.tag-label,
|
|
405
|
+
span.tag-input { display: inline-block; }
|
|
406
|
+
|
|
407
|
+
tr.issue td.tags,
|
|
408
|
+
table.list tr td.tags { text-align: left; white-space: normal; }
|
|
409
|
+
|
|
410
|
+
div.tags-cloud .tag-nube-1 { font-size: .8em; }
|
|
411
|
+
div.tags-cloud .tag-nube-2 { font-size: .9em; }
|
|
412
|
+
div.tags-cloud .tag-nube-3 { font-size: 1em; }
|
|
413
|
+
div.tags-cloud .tag-nube-4 { font-size: 1.1em; }
|
|
414
|
+
div.tags-cloud .tag-nube-5 { font-size: 1.2em; }
|
|
415
|
+
div.tags-cloud .tag-nube-6 { font-size: 1.3em; }
|
|
416
|
+
div.tags-cloud .tag-nube-7 { font-size: 1.4em; }
|
|
417
|
+
div.tags-cloud .tag-nube-8 { font-size: 1.5em; }
|
|
418
|
+
|
|
419
|
+
.tag-label .tag-count,
|
|
420
|
+
.tag-label-color .tag-count { font-size: .75em; margin-left: .5em; }
|
|
421
|
+
|
|
422
|
+
/* ===== Calendars ===== */
|
|
423
|
+
table.cal {width: 100%; margin: 0 0 6px 0; border: 1px solid #c0c0c0; border-spacing: 0; border-radius: 3px;}
|
|
424
|
+
table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
|
|
425
|
+
table.cal thead th.week-number {width: auto;}
|
|
426
|
+
table.cal tbody tr {height: 100px;}
|
|
427
|
+
table.cal td .icon {padding-top: 2px; padding-bottom: 3px;}
|
|
428
|
+
table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em; border-bottom: 0; border-right: 0;}
|
|
429
|
+
table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
|
|
430
|
+
table.cal td p.day-num {font-size: 1.1em; text-align:right;}
|
|
431
|
+
table.cal td.odd p.day-num {color: #bbb;}
|
|
432
|
+
table.cal td.today {background:#ffffdd;}
|
|
433
|
+
table.cal td.today p.day-num {font-weight: bold;}
|
|
434
|
+
table.cal td.nwday:not(.odd) {background-color:#f1f1f1;}
|
|
435
|
+
table.cal .starting a.issue, p.cal.legend .starting {background: url(../../../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
|
|
436
|
+
table.cal .ending a.issue, p.cal.legend .ending {background: url(../../../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
|
|
437
|
+
table.cal .starting.ending a.issue, p.cal.legend .starting.ending {background: url(../../../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
|
|
438
|
+
|
|
439
|
+
#admin-menu a.icon-redmineup-money:not(:has(svg)) {
|
|
440
|
+
background-image: url(../images/money.png);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
ul.cal {
|
|
444
|
+
list-style: none;
|
|
445
|
+
width: 100%;
|
|
446
|
+
padding: 0;
|
|
447
|
+
display: grid;
|
|
448
|
+
grid-template-columns: 2rem repeat(7, 1fr);
|
|
449
|
+
margin: 0;
|
|
450
|
+
border: 1px solid #c0c0c0;
|
|
451
|
+
border-spacing: 0;
|
|
452
|
+
border-radius: 3px;
|
|
453
|
+
}
|
|
454
|
+
.cal .calhead { background-color:#eee; text-align: center; font-weight: bold; padding: 4px }
|
|
455
|
+
.cal .week-number { background-color:#eee; border:none; font-size: 1em; padding: 4px; text-align: center; }
|
|
456
|
+
.cal .week-number .label-week { display: none; }
|
|
457
|
+
.cal .calbody { border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em; border-bottom: 0; border-right: 0; line-height: 1.2; min-height: calc(1.2em * 6); padding: 2px; }
|
|
458
|
+
.cal .calbody p.day-num {font-size: 1.1em; text-align:right;}
|
|
459
|
+
.cal .calbody .abbr-day {display:none}
|
|
460
|
+
.cal .calbody.odd p.day-num {color: #bbb;}
|
|
461
|
+
.cal .calbody.today {background:#ffd;}
|
|
462
|
+
.cal .calbody.today p.day-num {font-weight: bold;}
|
|
463
|
+
.cal .calbody .icon {padding-top: 2px; padding-bottom: 3px;}
|
|
464
|
+
.cal .calbody.nwday:not(.odd) {background-color:#f1f1f1;}
|
|
465
|
+
.cal .starting a.issue, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
|
|
466
|
+
.cal .ending a.issue, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
|
|
467
|
+
.cal .starting.ending a.issue, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
|
|
468
|
+
@media screen and (max-width: 899px) {
|
|
469
|
+
ul.cal { display: block }
|
|
470
|
+
.cal .calhead { display: none }
|
|
471
|
+
.cal .calbody { min-height: calc(1.2em * 3); }
|
|
472
|
+
.cal .calbody .abbr-day { display: inline; }
|
|
473
|
+
.cal .week-number { border: 1px solid #c0c0c0; text-align: left; font-weight: bold; background-color: #def; }
|
|
474
|
+
.cal .week-number .label-week { display: inline; }
|
|
475
|
+
.cal .calbody p.day-num { font-size: 1.1em; text-align: left; }
|
|
476
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= redmineup_assets %>
|
data/config/locales/en.yml
CHANGED
data/config/locales/ru.yml
CHANGED
data/config/routes.rb
CHANGED
data/doc/CHANGELOG
CHANGED
|
@@ -4,68 +4,92 @@ Redmine UP gem - general functions for plugins (tags, vote, viewing, currency)
|
|
|
4
4
|
Copyright (C) 2011-2026 Kirill Bezrukov (RedmineUP)
|
|
5
5
|
https://www.redmineup.com/
|
|
6
6
|
|
|
7
|
+
== 2026-04-18 v1.1.7
|
|
8
|
+
|
|
9
|
+
* hot fix for atom/rss compatibility for redmine < 5
|
|
10
|
+
|
|
11
|
+
== 2026-04-17 v1.1.6
|
|
12
|
+
|
|
13
|
+
* Added helpers for timezone conversions
|
|
14
|
+
|
|
15
|
+
== 2026-04-17 v1.1.5
|
|
16
|
+
|
|
17
|
+
* Added tag cloud links helper with URL convention by key
|
|
18
|
+
* Added shared tag list fields for views and FormBuilder
|
|
19
|
+
* Added shared tag autocomplete route for taggable models
|
|
20
|
+
* Updated layout hook to load shared gem assets globally
|
|
21
|
+
* Updated tag helpers registration in ActionView context
|
|
22
|
+
* Fixed tag color fallback for backward compatibility
|
|
23
|
+
* Fixed helper behavior for Ruby 2.3 compatibility
|
|
24
|
+
|
|
7
25
|
== 2026-04-10 v1.1.4
|
|
8
26
|
|
|
9
|
-
* Fixed
|
|
27
|
+
* Fixed tag queries for MSSQL adapter
|
|
10
28
|
|
|
11
29
|
== 2026-03-10 v1.1.3
|
|
12
30
|
|
|
13
|
-
* Fixed ActionCable compatibility
|
|
14
31
|
* Added send method for ActionCable
|
|
32
|
+
* Fixed ActionCable compatibility with cable.yaml apply
|
|
15
33
|
|
|
16
34
|
== 2025-11-07 v1.1.2
|
|
17
35
|
|
|
18
|
-
* Fixed assets loading error
|
|
36
|
+
* Fixed shared assets loading error
|
|
19
37
|
|
|
20
|
-
== 2025-10-
|
|
38
|
+
== 2025-10-01 v1.1.1
|
|
21
39
|
|
|
22
|
-
*
|
|
40
|
+
* Updated sprite_icon patch activation logic
|
|
23
41
|
|
|
24
42
|
== 2025-07-24 v1.1.0
|
|
25
43
|
|
|
26
|
-
* Added ActionCable methods
|
|
27
|
-
*
|
|
28
|
-
* Fixed
|
|
44
|
+
* Added ActionCable methods for plugin integrations
|
|
45
|
+
* Added SVG icon support for context menu actions
|
|
46
|
+
* Fixed tag migration method for old Rails versions
|
|
29
47
|
|
|
30
48
|
== 2025-07-09 v1.0.13
|
|
31
49
|
|
|
32
|
-
* Added color
|
|
50
|
+
* Added tag color support in tag model behavior
|
|
33
51
|
|
|
34
|
-
== 2025-
|
|
52
|
+
== 2025-07-08 v1.0.12
|
|
35
53
|
|
|
36
|
-
*
|
|
54
|
+
* Added tag color selection functionality
|
|
55
|
+
|
|
56
|
+
== 2025-03-30 v1.0.11
|
|
57
|
+
|
|
58
|
+
* Fixed ApplicationRecord loading compatibility
|
|
59
|
+
|
|
60
|
+
== 2025-02-04 v1.0.10
|
|
61
|
+
|
|
62
|
+
* Fixed SVG icon compatibility for older Redmine code
|
|
37
63
|
|
|
38
64
|
== 2025-02-04 v1.0.9
|
|
39
65
|
|
|
40
66
|
* Added regex_replace Liquid filter
|
|
41
|
-
* Added
|
|
67
|
+
* Added SVG icons for Redmine 6
|
|
68
|
+
* Fixed Liquid internal error in filter execution
|
|
69
|
+
* Fixed parse_inline_attachments Liquid filter behavior
|
|
42
70
|
|
|
43
71
|
== 2025-01-31 v1.0.8
|
|
44
72
|
|
|
45
|
-
* Fixed compatibility patch for Redmine
|
|
73
|
+
* Fixed compatibility patch for Redmine versions below 5
|
|
46
74
|
|
|
47
75
|
== 2025-01-29 v1.0.7
|
|
48
76
|
|
|
49
|
-
*
|
|
50
|
-
*
|
|
77
|
+
* Added sprite_icon compatibility patch for Redmine 6
|
|
78
|
+
* Fixed parse_inline_attachments Liquid filter behavior
|
|
51
79
|
|
|
52
80
|
== 2024-05-07 v1.0.6
|
|
53
81
|
|
|
54
|
-
* Updated Chart.js to v3.9.1
|
|
55
|
-
* Fixed assets paths for Redmine 5.3+
|
|
56
82
|
* Added attachments to IssueDrop and JournalDrop
|
|
57
|
-
* Added filter
|
|
83
|
+
* Added parse_inline_attachments filter for image URL fix
|
|
84
|
+
* Updated Chart.js library to version 3.9.1
|
|
85
|
+
* Fixed asset paths for Redmine 5.3 and newer
|
|
58
86
|
|
|
59
87
|
== 2024-01-31 v1.0.5
|
|
60
88
|
|
|
61
|
-
* Added plugin_installed?
|
|
62
|
-
*
|
|
89
|
+
* Added plugin_installed? helper for plugin checks
|
|
90
|
+
* Fixed ApplicationRecord compatibility patch behavior
|
|
63
91
|
|
|
64
92
|
== 2023-10-12 v1.0.1
|
|
65
93
|
|
|
66
|
-
*
|
|
67
|
-
|
|
68
|
-
== 2023-09-27 v1.0.0
|
|
69
|
-
|
|
70
|
-
* Initial release
|
|
71
|
-
* Mirgated from redmineup gem
|
|
94
|
+
* Added initial public release
|
|
95
|
+
* Updated module name from RedmineUp to Redmineup
|