activeadmin 2.14.0 → 3.3.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/CHANGELOG.md +143 -0
- data/CONTRIBUTING.md +0 -7
- data/README.md +2 -2
- data/app/assets/stylesheets/active_admin/_forms.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_comments.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +7 -4
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +5 -2
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +9 -6
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +10 -7
- data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +2 -2
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +6 -3
- data/config/locales/ar.yml +0 -7
- data/config/locales/az.yml +0 -7
- data/config/locales/bg.yml +0 -7
- data/config/locales/bs.yml +0 -7
- data/config/locales/ca.yml +0 -7
- data/config/locales/cs.yml +0 -7
- data/config/locales/da.yml +0 -7
- data/config/locales/de-CH.yml +0 -7
- data/config/locales/de.yml +0 -8
- data/config/locales/el.yml +0 -7
- data/config/locales/en-CA.yml +0 -7
- data/config/locales/en-GB.yml +0 -7
- data/config/locales/en.yml +0 -8
- data/config/locales/eo.yml +0 -8
- data/config/locales/es-MX.yml +0 -7
- data/config/locales/es.yml +0 -8
- data/config/locales/fa.yml +0 -7
- data/config/locales/fi.yml +0 -7
- data/config/locales/fr.yml +0 -8
- data/config/locales/he.yml +0 -9
- data/config/locales/hr.yml +0 -7
- data/config/locales/hu.yml +0 -8
- data/config/locales/id.yml +0 -7
- data/config/locales/it.yml +0 -8
- data/config/locales/ja.yml +0 -8
- data/config/locales/ko.yml +0 -7
- data/config/locales/lt.yml +0 -8
- data/config/locales/lv.yml +0 -7
- data/config/locales/mk.yml +0 -8
- data/config/locales/nb.yml +0 -8
- data/config/locales/nl.yml +0 -8
- data/config/locales/pl.yml +0 -8
- data/config/locales/pt-BR.yml +0 -8
- data/config/locales/pt-PT.yml +0 -7
- data/config/locales/ro.yml +0 -7
- data/config/locales/ru.yml +0 -6
- data/config/locales/sk.yml +0 -8
- data/config/locales/sv-SE.yml +58 -39
- data/config/locales/tr.yml +0 -11
- data/config/locales/uk.yml +0 -6
- data/config/locales/vi.yml +0 -8
- data/config/locales/zh-CN.yml +0 -8
- data/config/locales/zh-TW.yml +0 -7
- data/lib/active_admin/csv_builder.rb +23 -2
- data/lib/active_admin/engine.rb +4 -0
- data/lib/active_admin/filters/active_filter.rb +1 -1
- data/lib/active_admin/filters/forms.rb +2 -2
- data/lib/active_admin/filters/formtastic_addons.rb +1 -1
- data/lib/active_admin/form_builder.rb +5 -6
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
- data/lib/active_admin/inputs/filters/date_range_input.rb +2 -2
- data/lib/active_admin/inputs/filters/numeric_input.rb +1 -1
- data/lib/active_admin/inputs/filters/select_input.rb +3 -3
- data/lib/active_admin/inputs/filters/string_input.rb +1 -1
- data/lib/active_admin/menu.rb +1 -0
- data/lib/active_admin/namespace.rb +1 -1
- data/lib/active_admin/namespace_settings.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/comment.rb +8 -0
- data/lib/active_admin/pundit_adapter.rb +2 -2
- data/lib/active_admin/resource/attributes.rb +8 -1
- data/lib/active_admin/resource/belongs_to.rb +0 -1
- data/lib/active_admin/resource_controller/decorators.rb +1 -1
- data/lib/active_admin/resource_controller/streaming.rb +1 -1
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers/display_helper.rb +10 -3
- data/lib/active_admin/views/components/active_admin_form.rb +14 -6
- data/lib/active_admin/views/components/paginated_collection.rb +4 -1
- data/lib/active_admin/views/index_as_table.rb +7 -6
- data/lib/active_admin/views/pages/show.rb +1 -7
- data/lib/active_admin.rb +4 -2
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +2 -2
- data/vendor/assets/javascripts/jquery-ui/data.js +12 -8
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/focusable.js +12 -9
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +60 -57
- data/vendor/assets/javascripts/jquery-ui/form.js +15 -12
- data/vendor/assets/javascripts/jquery-ui/ie.js +5 -2
- data/vendor/assets/javascripts/jquery-ui/keycode.js +11 -7
- data/vendor/assets/javascripts/jquery-ui/labels.js +46 -40
- data/vendor/assets/javascripts/jquery-ui/plugin.js +5 -2
- data/vendor/assets/javascripts/jquery-ui/position.js +30 -17
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +6 -2
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +6 -2
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +11 -8
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/version.js +6 -3
- data/vendor/assets/javascripts/jquery-ui/widget.js +53 -30
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +87 -24
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +276 -273
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +15 -11
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +182 -62
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +53 -36
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +28 -19
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +22 -11
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +47 -26
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +186 -125
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +20 -20
- metadata +30 -36
- data/lib/active_admin/deprecation.rb +0 -11
- data/lib/ransack_ext.rb +0 -21
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +0 -23
data/config/locales/es.yml
CHANGED
@@ -43,14 +43,6 @@ es:
|
|
43
43
|
filter: "Filtrar"
|
44
44
|
clear: "Quitar Filtros"
|
45
45
|
predicates:
|
46
|
-
contains: "Contiene"
|
47
|
-
equals: "Igual a"
|
48
|
-
starts_with: "Empieza con"
|
49
|
-
ends_with: "Termina con"
|
50
|
-
greater_than: "Mayor que"
|
51
|
-
less_than: "Menor que"
|
52
|
-
gteq_datetime: "Mayor o igual que"
|
53
|
-
lteq_datetime: "Menor o igual que"
|
54
46
|
from: "Desde"
|
55
47
|
to: "Hasta"
|
56
48
|
scopes:
|
data/config/locales/fa.yml
CHANGED
@@ -24,13 +24,6 @@ fa:
|
|
24
24
|
buttons:
|
25
25
|
filter: "فیلتر"
|
26
26
|
clear: "پاک کردن فیلتر"
|
27
|
-
predicates:
|
28
|
-
contains: "شامل"
|
29
|
-
equals: "برابر با"
|
30
|
-
starts_with: "شروع با"
|
31
|
-
ends_with: "پایان با"
|
32
|
-
greater_than: "بزرگتر از"
|
33
|
-
less_than: "کوچکتر از"
|
34
27
|
status_tag:
|
35
28
|
"yes": "بله"
|
36
29
|
"no": "بدون"
|
data/config/locales/fi.yml
CHANGED
@@ -24,13 +24,6 @@ fi:
|
|
24
24
|
buttons:
|
25
25
|
filter: "Hae"
|
26
26
|
clear: "Tyhjennä valinnat"
|
27
|
-
predicates:
|
28
|
-
contains: "Sisältää"
|
29
|
-
equals: "On yhtä kuin"
|
30
|
-
starts_with: "Alkaa"
|
31
|
-
ends_with: "Päättyy"
|
32
|
-
greater_than: "Suurempi kuin"
|
33
|
-
less_than: "Pienempi kuin"
|
34
27
|
status_tag:
|
35
28
|
"yes": "Kyllä"
|
36
29
|
"no": "Ei"
|
data/config/locales/fr.yml
CHANGED
@@ -26,14 +26,6 @@ fr:
|
|
26
26
|
filter: "Filtrer"
|
27
27
|
clear: "Supprimer les filtres"
|
28
28
|
predicates:
|
29
|
-
contains: "Contient"
|
30
|
-
equals: "Égal à"
|
31
|
-
starts_with: "Commence par"
|
32
|
-
ends_with: "Se termine par"
|
33
|
-
greater_than: "Plus grand que"
|
34
|
-
less_than: "Plus petit que"
|
35
|
-
gteq_datetime: "Ultérieur ou égal à"
|
36
|
-
lteq_datetime: "Antérieur ou égal à"
|
37
29
|
from: "De"
|
38
30
|
to: "À"
|
39
31
|
search_status:
|
data/config/locales/he.yml
CHANGED
@@ -25,15 +25,6 @@ he:
|
|
25
25
|
buttons:
|
26
26
|
filter: "סינון"
|
27
27
|
clear: "איפוס שדות"
|
28
|
-
predicates:
|
29
|
-
contains: "מכיל"
|
30
|
-
equals: "שווה ל"
|
31
|
-
starts_with: "מתחיל עם"
|
32
|
-
ends_with: "מסתיים ב"
|
33
|
-
greater_than: "גדול מ"
|
34
|
-
less_than: "פחות מ"
|
35
|
-
gteq_datetime: "אחרי או בתאריך"
|
36
|
-
lteq_datetime: "לפני או בתאריך"
|
37
28
|
search_status:
|
38
29
|
headline: "תוצאות חיפוש:"
|
39
30
|
current_scope: "תחום:"
|
data/config/locales/hr.yml
CHANGED
@@ -24,13 +24,6 @@ hr:
|
|
24
24
|
buttons:
|
25
25
|
filter: "Filtriraj"
|
26
26
|
clear: "Očisti filtere"
|
27
|
-
predicates:
|
28
|
-
contains: "Sadrži"
|
29
|
-
equals: "Jednako"
|
30
|
-
starts_with: "počinje s"
|
31
|
-
ends_with: "Završava sa"
|
32
|
-
greater_than: "Veće od"
|
33
|
-
less_than: "Manje od"
|
34
27
|
status_tag:
|
35
28
|
"yes": "Da"
|
36
29
|
"no": "Nema"
|
data/config/locales/hu.yml
CHANGED
@@ -25,14 +25,6 @@ hu:
|
|
25
25
|
filter: "Szűrés"
|
26
26
|
clear: "Feltételek törlése"
|
27
27
|
predicates:
|
28
|
-
contains: "Tartalmazza"
|
29
|
-
equals: "Pontosan"
|
30
|
-
starts_with: "kezdődik"
|
31
|
-
ends_with: "végződik"
|
32
|
-
greater_than: "Nagyobb, mint"
|
33
|
-
less_than: "Kisebb, mint"
|
34
|
-
gteq_datetime: "Nagyobb vagy egyenlő, mint"
|
35
|
-
lteq_datetime: "Kisebb vagy egyenlő, mint"
|
36
28
|
from: "-tól"
|
37
29
|
to: "-ig"
|
38
30
|
status_tag:
|
data/config/locales/id.yml
CHANGED
@@ -24,13 +24,6 @@ id:
|
|
24
24
|
buttons:
|
25
25
|
filter: "Filter"
|
26
26
|
clear: "Hapus Filters"
|
27
|
-
predicates:
|
28
|
-
contains: "Mengandung"
|
29
|
-
equals: "Sama dengan"
|
30
|
-
starts_with: "Diawali dengan"
|
31
|
-
ends_with: "Diakhiri dengan"
|
32
|
-
greater_than: "Lebih besar dari"
|
33
|
-
less_than: "Lebih kecil dari"
|
34
27
|
search_status:
|
35
28
|
headline: "Status Pencarian:"
|
36
29
|
current_scope: "Scope:"
|
data/config/locales/it.yml
CHANGED
@@ -43,14 +43,6 @@ it:
|
|
43
43
|
filter: "Filtra"
|
44
44
|
clear: "Rimuovi filtri"
|
45
45
|
predicates:
|
46
|
-
contains: "Contiene"
|
47
|
-
equals: "Uguale a"
|
48
|
-
starts_with: "Inizia con"
|
49
|
-
ends_with: "Finisce con"
|
50
|
-
greater_than: "Maggiore di"
|
51
|
-
less_than: "Minore di"
|
52
|
-
gteq_datetime: "Maggiore o uguale a"
|
53
|
-
lteq_datetime: "Minore o uguale a"
|
54
46
|
from: "Da"
|
55
47
|
to: "A"
|
56
48
|
scopes:
|
data/config/locales/ja.yml
CHANGED
@@ -26,14 +26,6 @@ ja:
|
|
26
26
|
filter: "絞り込む"
|
27
27
|
clear: "条件を削除する"
|
28
28
|
predicates:
|
29
|
-
contains: "を含む"
|
30
|
-
equals: "等しい"
|
31
|
-
starts_with: "で始まる"
|
32
|
-
ends_with: "で終わる"
|
33
|
-
greater_than: "より大きい"
|
34
|
-
less_than: "より小さい"
|
35
|
-
gteq_datetime: "以上"
|
36
|
-
lteq_datetime: "以下"
|
37
29
|
from: "開始"
|
38
30
|
to: "終了"
|
39
31
|
search_status:
|
data/config/locales/ko.yml
CHANGED
@@ -24,13 +24,6 @@ ko:
|
|
24
24
|
buttons:
|
25
25
|
filter: "필터"
|
26
26
|
clear: "필터 초기화"
|
27
|
-
predicates:
|
28
|
-
contains: "포함하는 문구"
|
29
|
-
equals: "일치하는 문구"
|
30
|
-
starts_with: "시작하는 문구"
|
31
|
-
ends_with: "종료하는 문구"
|
32
|
-
greater_than: "초과"
|
33
|
-
less_than: "미만"
|
34
27
|
search_status:
|
35
28
|
headline: "검색 상태:"
|
36
29
|
current_scope: "검색 범위:"
|
data/config/locales/lt.yml
CHANGED
@@ -25,14 +25,6 @@ lt:
|
|
25
25
|
filter: 'Filtras'
|
26
26
|
clear: 'Išvalyti filtrus'
|
27
27
|
predicates:
|
28
|
-
contains: "Sudėtyje yra"
|
29
|
-
equals: 'lygus'
|
30
|
-
starts_with: "Prasideda nuo"
|
31
|
-
ends_with: "Baigiasi"
|
32
|
-
greater_than: 'didesnis nei'
|
33
|
-
less_than: 'mažiau nei'
|
34
|
-
gteq_datetime: "daugiau arba lygu nei"
|
35
|
-
lteq_datetime: "mažiau arba lygu nei"
|
36
28
|
from: "Nuo"
|
37
29
|
to: "Iki"
|
38
30
|
search_status:
|
data/config/locales/lv.yml
CHANGED
@@ -24,13 +24,6 @@ lv:
|
|
24
24
|
buttons:
|
25
25
|
filter: "Filtrēt"
|
26
26
|
clear: "Novākt filtrus"
|
27
|
-
predicates:
|
28
|
-
contains: "Satur"
|
29
|
-
equals: "Vienāds ar"
|
30
|
-
starts_with: "Sākas ar"
|
31
|
-
ends_with: "Beidzas ar"
|
32
|
-
greater_than: "Lielāks par"
|
33
|
-
less_than: "Mazāks par"
|
34
27
|
status_tag:
|
35
28
|
"yes": "Jā"
|
36
29
|
"no": "Nē"
|
data/config/locales/mk.yml
CHANGED
@@ -35,14 +35,6 @@ mk:
|
|
35
35
|
filter: "Пребарај"
|
36
36
|
clear: "Исчисти филтри"
|
37
37
|
predicates:
|
38
|
-
contains: "Содржи"
|
39
|
-
equals: "Е еднакво со"
|
40
|
-
starts_with: "Започнува со"
|
41
|
-
ends_with: "Завршува сo"
|
42
|
-
greater_than: "Е поголемо од"
|
43
|
-
less_than: "Е помало од"
|
44
|
-
gteq_datetime: "Е поголемо или еднакво со"
|
45
|
-
lteq_datetime: "Е помало или еднакво со"
|
46
38
|
from: "Од"
|
47
39
|
to: "До"
|
48
40
|
search_status:
|
data/config/locales/nb.yml
CHANGED
@@ -25,14 +25,6 @@ nb:
|
|
25
25
|
filter: "Filter"
|
26
26
|
clear: "Fjern filter"
|
27
27
|
predicates:
|
28
|
-
contains: "Inneholder"
|
29
|
-
equals: "Er lik"
|
30
|
-
starts_with: "Starter med"
|
31
|
-
ends_with: "Slutter med"
|
32
|
-
greater_than: "Større enn"
|
33
|
-
less_than: "Mindre enn"
|
34
|
-
gteq_datetime: "Større enn eller lik"
|
35
|
-
lteq_datetime: "Mindre enn eller lik"
|
36
28
|
from: "Fra"
|
37
29
|
to: "Til"
|
38
30
|
search_status:
|
data/config/locales/nl.yml
CHANGED
@@ -27,15 +27,7 @@ nl:
|
|
27
27
|
filter: "Filter"
|
28
28
|
clear: "Maak Filters Ongedaan"
|
29
29
|
predicates:
|
30
|
-
contains: "Bevat"
|
31
|
-
equals: "Gelijk aan"
|
32
|
-
starts_with: "Begint met"
|
33
|
-
ends_with: "Eindigt op"
|
34
|
-
greater_than: "Groter dan"
|
35
|
-
less_than: "Kleiner dan"
|
36
30
|
from: Van
|
37
|
-
gteq_datetime: Groter of gelijk aan
|
38
|
-
lteq_datetime: Kleiner of gelijk aan
|
39
31
|
to: Tot
|
40
32
|
search_status:
|
41
33
|
current_scope: "Scope:"
|
data/config/locales/pl.yml
CHANGED
@@ -47,14 +47,6 @@ pl:
|
|
47
47
|
filter: "Filtruj"
|
48
48
|
clear: "Wyczyść Filtry"
|
49
49
|
predicates:
|
50
|
-
contains: "Zawiera"
|
51
|
-
equals: "Równe"
|
52
|
-
starts_with: "Zaczyna się"
|
53
|
-
ends_with: "Kończy się"
|
54
|
-
greater_than: "Większe niż"
|
55
|
-
less_than: "Mniejsze niż"
|
56
|
-
gteq_datetime: "Większe lub równe"
|
57
|
-
lteq_datetime: "Mniejsze lub równe"
|
58
50
|
from: "Od"
|
59
51
|
to: "Do"
|
60
52
|
scopes:
|
data/config/locales/pt-BR.yml
CHANGED
@@ -26,14 +26,6 @@ pt-BR:
|
|
26
26
|
filter: "Filtrar"
|
27
27
|
clear: "Limpar Filtros"
|
28
28
|
predicates:
|
29
|
-
contains: "Contém"
|
30
|
-
equals: "Igual A"
|
31
|
-
starts_with: "Começa com"
|
32
|
-
ends_with: "Termina com"
|
33
|
-
greater_than: "Maior Que"
|
34
|
-
less_than: "Menor Que"
|
35
|
-
gteq_datetime: "Maior ou igual a"
|
36
|
-
lteq_datetime: "Menor ou igual a"
|
37
29
|
from: "A partir de"
|
38
30
|
to: "Até"
|
39
31
|
search_status:
|
data/config/locales/pt-PT.yml
CHANGED
@@ -24,13 +24,6 @@
|
|
24
24
|
buttons:
|
25
25
|
filter: "Filtrar"
|
26
26
|
clear: "Limpar Filtros"
|
27
|
-
predicates:
|
28
|
-
contains: "Contém"
|
29
|
-
equals: "Igual A"
|
30
|
-
starts_with: "Começa com"
|
31
|
-
ends_with: "Termina com"
|
32
|
-
greater_than: "Maior Que"
|
33
|
-
less_than: "Menor Que"
|
34
27
|
status_tag:
|
35
28
|
"yes": "Sim"
|
36
29
|
"no": "Não"
|
data/config/locales/ro.yml
CHANGED
@@ -24,13 +24,6 @@ ro:
|
|
24
24
|
buttons:
|
25
25
|
filter: "Cautati"
|
26
26
|
clear: "Stergeti filtrele"
|
27
|
-
predicates:
|
28
|
-
contains: "Conține"
|
29
|
-
equals: "Egal Cu"
|
30
|
-
starts_with: "începe cu"
|
31
|
-
ends_with: "se termină cu"
|
32
|
-
greater_than: "Mai Mare Decat"
|
33
|
-
less_than: "Mai Mic Decat"
|
34
27
|
status_tag:
|
35
28
|
"yes": "Da"
|
36
29
|
"no": "Nu"
|
data/config/locales/ru.yml
CHANGED
@@ -25,12 +25,6 @@ ru:
|
|
25
25
|
filter: "Фильтровать"
|
26
26
|
clear: "Очистить"
|
27
27
|
predicates:
|
28
|
-
contains: "Содержит"
|
29
|
-
equals: "Равно"
|
30
|
-
starts_with: "Начинается с"
|
31
|
-
ends_with: "Заканчивается"
|
32
|
-
greater_than: "больше"
|
33
|
-
less_than: "меньше"
|
34
28
|
from: "От"
|
35
29
|
to: "До"
|
36
30
|
search_status:
|
data/config/locales/sk.yml
CHANGED
@@ -47,14 +47,6 @@ sk:
|
|
47
47
|
filter: "Filtrovať"
|
48
48
|
clear: "Vyčistiť filtre"
|
49
49
|
predicates:
|
50
|
-
contains: "Obsahuje"
|
51
|
-
equals: "Je presne"
|
52
|
-
starts_with: "Začína na"
|
53
|
-
ends_with: "Končí na"
|
54
|
-
greater_than: "Väčší ako"
|
55
|
-
less_than: "Menší ako"
|
56
|
-
gteq_datetime: "Od"
|
57
|
-
lteq_datetime: "Do"
|
58
50
|
from: "Od"
|
59
51
|
to: "Do"
|
60
52
|
scopes:
|
data/config/locales/sv-SE.yml
CHANGED
@@ -1,17 +1,34 @@
|
|
1
1
|
"sv-SE":
|
2
|
+
activerecord:
|
3
|
+
models:
|
4
|
+
comment:
|
5
|
+
one: "Kommentar"
|
6
|
+
other: "Kommentarer"
|
7
|
+
active_admin/comment:
|
8
|
+
one: "Kommentar"
|
9
|
+
other: "Kommentarer"
|
10
|
+
attributes:
|
11
|
+
active_admin/comment:
|
12
|
+
author_type: "Författartyp"
|
13
|
+
body: "Innehåll"
|
14
|
+
created_at: "Skapad"
|
15
|
+
namespace: "Namnrymd"
|
16
|
+
resource_type: "Resurstyp"
|
17
|
+
updated_at: "Aktualiserad"
|
2
18
|
active_admin:
|
3
19
|
dashboard: Skrivbord
|
4
20
|
dashboard_welcome:
|
5
21
|
welcome: "Välkommen till Active Admin. Detta är ditt standardskrivbord."
|
6
|
-
call_to_action: "För att lägga till sektioner,
|
22
|
+
call_to_action: "För att lägga till sektioner, gå till 'app/admin/dashboard.rb'"
|
7
23
|
view: "Visa"
|
8
24
|
edit: "Redigera"
|
9
25
|
delete: "Ta bort"
|
10
|
-
delete_confirmation: "Är du säker att du vill ta bort
|
26
|
+
delete_confirmation: "Är du säker på att du vill ta bort detta?"
|
27
|
+
create_another: "Skapa en till %{model}"
|
11
28
|
new_model: "Ny %{model}"
|
12
29
|
edit_model: "Redigera %{model}"
|
13
30
|
delete_model: "Ta bort %{model}"
|
14
|
-
details: "
|
31
|
+
details: "%{model}-detaljer"
|
15
32
|
cancel: "Avbryt"
|
16
33
|
empty: "Tom"
|
17
34
|
previous: "Föregående"
|
@@ -20,82 +37,84 @@
|
|
20
37
|
has_many_new: "Skapa en ny %{model}"
|
21
38
|
has_many_delete: "Ta bort"
|
22
39
|
has_many_remove: "Ta bort"
|
40
|
+
move: "Flytta"
|
23
41
|
filters:
|
24
42
|
buttons:
|
25
|
-
filter: "
|
43
|
+
filter: "Filtrera"
|
26
44
|
clear: "Rensa filter"
|
27
45
|
predicates:
|
28
|
-
contains: "Innehåller"
|
29
|
-
equals: "Lika med"
|
30
|
-
starts_with: "Börjar med"
|
31
|
-
ends_with: "Slutar med"
|
32
|
-
greater_than: "Större än"
|
33
|
-
less_than: "Mindre än"
|
34
46
|
from: "Från"
|
35
47
|
to: "Till"
|
48
|
+
scopes:
|
49
|
+
all: "Alla"
|
36
50
|
search_status:
|
37
|
-
headline: "
|
38
|
-
current_scope: "
|
39
|
-
current_filters: "
|
51
|
+
headline: "Sökstatus:"
|
52
|
+
current_scope: "Omfattning:"
|
53
|
+
current_filters: "Aktiva filter:"
|
40
54
|
no_current_filters: "Inga"
|
41
55
|
status_tag:
|
42
56
|
"yes": "Ja"
|
43
57
|
"no": "Nej"
|
44
58
|
"unset": "Nej"
|
45
|
-
main_content: "Implementera %{model}#main_content för att
|
59
|
+
main_content: "Implementera %{model}#main_content för att visa innehåll."
|
46
60
|
logout: "Logga ut"
|
47
61
|
powered_by: "Powered by %{active_admin} %{version}"
|
48
62
|
sidebars:
|
49
63
|
filters: "Filter"
|
50
|
-
search_status: "
|
64
|
+
search_status: "Sökstatus"
|
51
65
|
pagination:
|
52
|
-
empty: "Ingen %{model}
|
53
|
-
one: "Visar <b>1</b>
|
54
|
-
one_page: "Visar <b>alla %{n}</b>
|
66
|
+
empty: "Ingen %{model} hittades"
|
67
|
+
one: "Visar <b>1</b> %{model}"
|
68
|
+
one_page: "Visar <b>alla %{n}</b> %{model}"
|
55
69
|
multiple: "Visar %{model} <b>%{from} - %{to}</b> av <b>%{total}</b> totalt"
|
56
70
|
multiple_without_total: "Visar %{model} <b>%{from} - %{to}</b>"
|
71
|
+
per_page: "Per sida: "
|
57
72
|
entry:
|
58
73
|
one: "inlägg"
|
59
74
|
other: "inlägg"
|
60
|
-
any: "
|
75
|
+
any: "Alla"
|
61
76
|
blank_slate:
|
62
|
-
content: "
|
77
|
+
content: "Det finns inga %{resource_name} än."
|
63
78
|
link: "Skapa en"
|
64
79
|
dropdown_actions:
|
65
|
-
button_label: "
|
80
|
+
button_label: "Åtgärder"
|
66
81
|
batch_actions:
|
67
|
-
button_label: "Batch
|
82
|
+
button_label: "Batch-åtgärder"
|
68
83
|
default_confirmation: "Är du säker på att du vill göra detta?"
|
69
84
|
delete_confirmation: "Är du säker på att du vill radera dessa %{plural_model}?"
|
70
85
|
succesfully_destroyed:
|
71
86
|
one: "Lyckades radera 1 %{model}"
|
72
87
|
other: "Lyckades radera %{count} %{plural_model}"
|
73
|
-
selection_toggle_explanation: "(
|
74
|
-
action_label: "%{title}
|
88
|
+
selection_toggle_explanation: "(Byt markering)"
|
89
|
+
action_label: "%{title} markerad"
|
75
90
|
labels:
|
76
91
|
destroy: "Radera"
|
77
92
|
comments:
|
78
93
|
created_at: "Skapad"
|
79
|
-
resource_type: "
|
80
|
-
author_type: "
|
94
|
+
resource_type: "Resurstyp"
|
95
|
+
author_type: "Författartyp"
|
81
96
|
body: "Innehåll"
|
82
97
|
author: "Författare"
|
83
98
|
add: "Lägg till kommentar"
|
99
|
+
delete: "Radera kommentar"
|
100
|
+
delete_confirmation: "Är du säker på att du vill radera dessa kommentarer?"
|
84
101
|
resource: "Resurs"
|
85
102
|
no_comments_yet: "Inga kommentarer än."
|
86
103
|
author_missing: "Anonym"
|
87
104
|
title_content: "Kommentarer (%{count})"
|
88
105
|
errors:
|
89
|
-
empty_text: "Kommentaren sparades inte
|
106
|
+
empty_text: "Kommentaren sparades inte. Textfältet får inte vara tomt."
|
90
107
|
devise:
|
91
108
|
username:
|
92
109
|
title: "Användarnamn"
|
93
110
|
email:
|
94
|
-
title: "
|
111
|
+
title: "E-post"
|
95
112
|
subdomain:
|
96
113
|
title: "Subdomän"
|
97
114
|
password:
|
98
115
|
title: "Lösenord"
|
116
|
+
password_confirmation:
|
117
|
+
title: "Bekräfta lösenord"
|
99
118
|
sign_up:
|
100
119
|
title: "Registera"
|
101
120
|
submit: "Registera"
|
@@ -105,29 +124,29 @@
|
|
105
124
|
submit: "Inloggning"
|
106
125
|
reset_password:
|
107
126
|
title: "Glömt ditt lösenord?"
|
108
|
-
submit: "
|
127
|
+
submit: "Återställ mitt lösenord"
|
109
128
|
change_password:
|
110
129
|
title: "Ändra ditt lösenord"
|
111
130
|
submit: "Ändra mitt lösenord"
|
112
131
|
unlock:
|
113
|
-
title: "Skicka
|
114
|
-
submit: "Skicka
|
132
|
+
title: "Skicka upplåsningsinstruktioner"
|
133
|
+
submit: "Skicka upplåsningsinstruktioner"
|
115
134
|
resend_confirmation_instructions:
|
116
|
-
title: "Skicka
|
117
|
-
submit: "Skicka
|
135
|
+
title: "Skicka bekräftelseinstruktioner"
|
136
|
+
submit: "Skicka bekräftelseinstruktioner"
|
118
137
|
links:
|
119
138
|
sign_up: "Registera"
|
120
139
|
sign_in: "Logga in"
|
121
140
|
forgot_your_password: "Glömt ditt lösenord?"
|
122
141
|
sign_in_with_omniauth_provider: "Logga in med %{provider}"
|
123
|
-
resend_unlock_instructions: "Skicka
|
124
|
-
resend_confirmation_instructions: "Skicka
|
142
|
+
resend_unlock_instructions: "Skicka upplåsningsinstruktioner igen"
|
143
|
+
resend_confirmation_instructions: "Skicka bekräftningsinstruktioner igen"
|
125
144
|
unsupported_browser:
|
126
|
-
headline: "
|
127
|
-
recommendation: "Vi rekommenderar
|
128
|
-
turn_off_compatibility_view: "Om du använder IE 9 eller senare, se till att <a href=\"https://support.microsoft.com/sv-se/help/17471\">
|
145
|
+
headline: "Observera att ActiveAdmin inte längre stödjer Internet Explorer version 8 eller lägre."
|
146
|
+
recommendation: "Vi rekommenderar att du uppgraderar till den senaste versionen av <a href=\"http://windows.microsoft.com/ie\">Internet Explorer</a>, <a href=\"https://chrome.google.com/\">Google Chrome</a>, eller <a href=\"https://mozilla.org/firefox/\">Firefox</a>."
|
147
|
+
turn_off_compatibility_view: "Om du använder IE 9 eller senare, se till att <a href=\"https://support.microsoft.com/sv-se/help/17471\">stänga av \"Compatibility View\"</a>."
|
129
148
|
access_denied:
|
130
|
-
message: "Du har inte
|
149
|
+
message: "Du har inte behörighet att utföra denna åtgärd."
|
131
150
|
index_list:
|
132
151
|
table: "Tabell"
|
133
152
|
block: "Lista"
|
data/config/locales/tr.yml
CHANGED
@@ -26,17 +26,6 @@ tr:
|
|
26
26
|
buttons:
|
27
27
|
filter: "Filtrele"
|
28
28
|
clear: "Filtreleri Temizle"
|
29
|
-
predicates:
|
30
|
-
contains: "İçerir"
|
31
|
-
equals: "Eşittir"
|
32
|
-
starts_with: "İle başlar"
|
33
|
-
ends_with: "İle biter"
|
34
|
-
greater_than: "Büyüktür"
|
35
|
-
less_than: "Küçüktür"
|
36
|
-
gteq_datetime: "Büyük yada eşit"
|
37
|
-
lteq_datetime: "Küçük yada eşit"
|
38
|
-
from: "Başlangıç"
|
39
|
-
to: "Bitiş"
|
40
29
|
search_status:
|
41
30
|
headline: "Arama"
|
42
31
|
current_scope: "Kapsam:"
|
data/config/locales/uk.yml
CHANGED
@@ -25,12 +25,6 @@ uk:
|
|
25
25
|
filter: "Фільтрувати"
|
26
26
|
clear: "Очистити"
|
27
27
|
predicates:
|
28
|
-
contains: "Містить"
|
29
|
-
equals: "="
|
30
|
-
starts_with: "Починається з"
|
31
|
-
ends_with: "Закінчується"
|
32
|
-
greater_than: "більше"
|
33
|
-
less_than: "менше"
|
34
28
|
from: "від"
|
35
29
|
to: "до"
|
36
30
|
search_status:
|
data/config/locales/vi.yml
CHANGED
@@ -43,14 +43,6 @@ vi:
|
|
43
43
|
filter: "Lọc"
|
44
44
|
clear: "Xóa dữ liệu lọc"
|
45
45
|
predicates:
|
46
|
-
contains: "Có chứa"
|
47
|
-
equals: "Bằng"
|
48
|
-
starts_with: "Bắt đầu với"
|
49
|
-
ends_with: "Kết thúc bởi"
|
50
|
-
greater_than: "Lớn hơn"
|
51
|
-
less_than: "Nhỏ hơn"
|
52
|
-
gteq_datetime: "Lớn hơn hoặc bằng"
|
53
|
-
lteq_datetime: "Nhỏ hơn hoặc bằng"
|
54
46
|
from: "Từ"
|
55
47
|
to: "Đến"
|
56
48
|
scopes:
|
data/config/locales/zh-CN.yml
CHANGED
@@ -43,14 +43,6 @@
|
|
43
43
|
filter: "过滤"
|
44
44
|
clear: "清除条件"
|
45
45
|
predicates:
|
46
|
-
contains: "包含"
|
47
|
-
equals: "等于"
|
48
|
-
starts_with: "始于"
|
49
|
-
ends_with: "止于"
|
50
|
-
greater_than: "大于"
|
51
|
-
less_than: "小于"
|
52
|
-
gteq_datetime: "大于等于"
|
53
|
-
lteq_datetime: "小于等于"
|
54
46
|
from: "起"
|
55
47
|
to: "止"
|
56
48
|
scopes:
|
data/config/locales/zh-TW.yml
CHANGED
@@ -51,7 +51,7 @@ module ActiveAdmin
|
|
51
51
|
csv << bom if bom
|
52
52
|
|
53
53
|
if column_names
|
54
|
-
csv << CSV.generate_line(columns.map { |c| encode
|
54
|
+
csv << CSV.generate_line(columns.map { |c| sanitize(encode(c.name, options)) }, **csv_options)
|
55
55
|
end
|
56
56
|
|
57
57
|
controller.send(:in_paginated_batches) do |resource|
|
@@ -70,7 +70,7 @@ module ActiveAdmin
|
|
70
70
|
|
71
71
|
def build_row(resource, columns, options)
|
72
72
|
columns.map do |column|
|
73
|
-
encode
|
73
|
+
sanitize(encode(call_method_or_proc_on(resource, column.data), options))
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
@@ -86,6 +86,10 @@ module ActiveAdmin
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
89
|
+
def sanitize(content)
|
90
|
+
Sanitizer.sanitize(content)
|
91
|
+
end
|
92
|
+
|
89
93
|
def method_missing(method, *args, &block)
|
90
94
|
if @view_context.respond_to? method
|
91
95
|
@view_context.public_send method, *args, &block
|
@@ -120,4 +124,21 @@ module ActiveAdmin
|
|
120
124
|
@column_transitive_options ||= @options.slice(*COLUMN_TRANSITIVE_OPTIONS)
|
121
125
|
end
|
122
126
|
end
|
127
|
+
|
128
|
+
# Prevents CSV Injection according to https://owasp.org/www-community/attacks/CSV_Injection
|
129
|
+
module Sanitizer
|
130
|
+
extend self
|
131
|
+
|
132
|
+
ATTACK_CHARACTERS = ["=", "+", "-", "@", "\t", "\r"].freeze
|
133
|
+
|
134
|
+
def sanitize(value)
|
135
|
+
return "'#{value}" if require_sanitization?(value)
|
136
|
+
|
137
|
+
value
|
138
|
+
end
|
139
|
+
|
140
|
+
def require_sanitization?(value)
|
141
|
+
value.is_a?(String) && value.starts_with?(*ATTACK_CHARACTERS)
|
142
|
+
end
|
143
|
+
end
|
123
144
|
end
|