foreman-tasks 11.0.4 → 11.0.5

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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-breaking.yaml +15 -0
  3. data/app/assets/javascripts/foreman-tasks/locale/de/foreman_tasks.js +6 -0
  4. data/app/assets/javascripts/foreman-tasks/locale/en/foreman_tasks.js +6 -0
  5. data/app/assets/javascripts/foreman-tasks/locale/es/foreman_tasks.js +6 -0
  6. data/app/assets/javascripts/foreman-tasks/locale/fr/foreman_tasks.js +6 -0
  7. data/app/assets/javascripts/foreman-tasks/locale/ja/foreman_tasks.js +6 -0
  8. data/app/assets/javascripts/foreman-tasks/locale/ka/foreman_tasks.js +6 -0
  9. data/app/assets/javascripts/foreman-tasks/locale/ko/foreman_tasks.js +6 -0
  10. data/app/assets/javascripts/foreman-tasks/locale/pt_BR/foreman_tasks.js +6 -0
  11. data/app/assets/javascripts/foreman-tasks/locale/ru/foreman_tasks.js +6 -0
  12. data/app/assets/javascripts/foreman-tasks/locale/zh_CN/foreman_tasks.js +6 -0
  13. data/app/assets/javascripts/foreman-tasks/locale/zh_TW/foreman_tasks.js +6 -0
  14. data/lib/foreman_tasks/engine.rb +18 -1
  15. data/lib/foreman_tasks/version.rb +1 -1
  16. data/locale/de/foreman_tasks.po +6 -0
  17. data/locale/en/foreman_tasks.po +6 -0
  18. data/locale/es/foreman_tasks.po +6 -0
  19. data/locale/foreman_tasks.pot +26 -18
  20. data/locale/fr/foreman_tasks.po +6 -0
  21. data/locale/ja/foreman_tasks.po +6 -0
  22. data/locale/ka/foreman_tasks.po +6 -0
  23. data/locale/ko/foreman_tasks.po +6 -0
  24. data/locale/pt_BR/foreman_tasks.po +6 -0
  25. data/locale/ru/foreman_tasks.po +6 -0
  26. data/locale/zh_CN/foreman_tasks.po +6 -0
  27. data/locale/zh_TW/foreman_tasks.po +6 -0
  28. data/test/unit/tasks_setting_test.rb +22 -0
  29. metadata +4 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8727c799c331337534ad6e826edfc65c25c5b76fff264065535e0bf6b0e6c7f9
4
- data.tar.gz: d1e9f35147ad693323614d5b4c293a02d694135be01cf1d0bfca349441b2bac5
3
+ metadata.gz: 446616be3e90ffc5981df96ebcec976c1ff72f71b9a69cf80504f23dc7675c31
4
+ data.tar.gz: 91943a059401554d4a39f32022ec3fd6c33403fae2ff9dff787620c69e736140
5
5
  SHA512:
6
- metadata.gz: f75e8f7b86f28931be8e8b0d5c153f0386c17b05004bbe1c657f9bed4e52d6f1295fb0ea8923a531daf28b0c3abb8c8e1fa159f607428321e001a71ccc5a6603
7
- data.tar.gz: f7d331cfa5d37aa0daf82a01aec928418d3a749c3bb5e36327954e11834d47cc9e94dbd3492eb28d24c2603eeec2bb4de6ba37c90744723f35c13277ee675a67
6
+ metadata.gz: 71978faa23f25d3c58cec3f6000737090593d9a139fdf9abef7c3ce98c156cd0d2d20a0306fba4019eb3c0fe33051b7a63a191743a2c3919061c3886939797d3
7
+ data.tar.gz: 61bc6b31186d145a44aba4f8257d030b6d7e14739490955c584f9825eaa569cc0b8e63523eb1d287a87ce915010ddf82a6a8b002f8addb81ddc88333470fd2a6
@@ -0,0 +1,15 @@
1
+ name: Label a PR `breaks-robottelo` on appropriate comment
2
+ on:
3
+ issue_comment:
4
+ types: [created]
5
+ jobs:
6
+ breaks-robottelo:
7
+ uses: theforeman/actions/.github/workflows/breaks-robottelo.yml@v0
8
+ permissions:
9
+ pull-requests: write
10
+ with:
11
+ repo: ${{ github.repository }}
12
+ issue: ${{ github.event.issue.number }}
13
+ secrets:
14
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
15
+
@@ -798,6 +798,9 @@
798
798
  "is hour (range: 0-23)": [
799
799
  "Stunde (im Bereich: 0-23)"
800
800
  ],
801
+ "is in the past": [
802
+ ""
803
+ ],
801
804
  "is minute (range: 0-59)": [
802
805
  "Minute (im Bereich: 0-59)"
803
806
  ],
@@ -816,6 +819,9 @@
816
819
  "mode has to be one of %{allowed_modes}": [
817
820
  "Modus muss einer von %{allowed_modes} sein"
818
821
  ],
822
+ "must be set": [
823
+ ""
824
+ ],
819
825
  "older": [
820
826
  "älter"
821
827
  ],
@@ -798,6 +798,9 @@
798
798
  "is hour (range: 0-23)": [
799
799
  ""
800
800
  ],
801
+ "is in the past": [
802
+ ""
803
+ ],
801
804
  "is minute (range: 0-59)": [
802
805
  ""
803
806
  ],
@@ -816,6 +819,9 @@
816
819
  "mode has to be one of %{allowed_modes}": [
817
820
  ""
818
821
  ],
822
+ "must be set": [
823
+ ""
824
+ ],
819
825
  "older": [
820
826
  ""
821
827
  ],
@@ -799,6 +799,9 @@
799
799
  "is hour (range: 0-23)": [
800
800
  "es hora (rango: 0-23)"
801
801
  ],
802
+ "is in the past": [
803
+ ""
804
+ ],
802
805
  "is minute (range: 0-59)": [
803
806
  "es minuto (rango: 0-59)"
804
807
  ],
@@ -817,6 +820,9 @@
817
820
  "mode has to be one of %{allowed_modes}": [
818
821
  "modo tiene que ser uno de %.{allowed_modes}"
819
822
  ],
823
+ "must be set": [
824
+ ""
825
+ ],
820
826
  "older": [
821
827
  "más antiguo"
822
828
  ],
@@ -799,6 +799,9 @@
799
799
  "is hour (range: 0-23)": [
800
800
  "est heure (plage: 0-23)"
801
801
  ],
802
+ "is in the past": [
803
+ ""
804
+ ],
802
805
  "is minute (range: 0-59)": [
803
806
  "est minute (plage: 0-59)"
804
807
  ],
@@ -817,6 +820,9 @@
817
820
  "mode has to be one of %{allowed_modes}": [
818
821
  "mode doit être un parmi %%{allowed_modes}"
819
822
  ],
823
+ "must be set": [
824
+ ""
825
+ ],
820
826
  "older": [
821
827
  "plus ancien"
822
828
  ],
@@ -797,6 +797,9 @@
797
797
  "is hour (range: 0-23)": [
798
798
  "時間 (範囲: 0 - 23)"
799
799
  ],
800
+ "is in the past": [
801
+ ""
802
+ ],
800
803
  "is minute (range: 0-59)": [
801
804
  "分 (範囲: 0 - 59)"
802
805
  ],
@@ -815,6 +818,9 @@
815
818
  "mode has to be one of %{allowed_modes}": [
816
819
  "モードは %%{allowed_modes} のいずれかである必要があります"
817
820
  ],
821
+ "must be set": [
822
+ ""
823
+ ],
818
824
  "older": [
819
825
  "前"
820
826
  ],
@@ -798,6 +798,9 @@
798
798
  "is hour (range: 0-23)": [
799
799
  "საათი (0-23)"
800
800
  ],
801
+ "is in the past": [
802
+ ""
803
+ ],
801
804
  "is minute (range: 0-59)": [
802
805
  "წუთი (0-59)"
803
806
  ],
@@ -816,6 +819,9 @@
816
819
  "mode has to be one of %{allowed_modes}": [
817
820
  "რეჟიმი შეიძლება იყოს ერთ ერთი %{allowed_modes} -დან"
818
821
  ],
822
+ "must be set": [
823
+ ""
824
+ ],
819
825
  "older": [
820
826
  "ძველი"
821
827
  ],
@@ -798,6 +798,9 @@
798
798
  "is hour (range: 0-23)": [
799
799
  "시간(범위: 0-23)"
800
800
  ],
801
+ "is in the past": [
802
+ ""
803
+ ],
801
804
  "is minute (range: 0-59)": [
802
805
  "분(범위: 0-59)"
803
806
  ],
@@ -816,6 +819,9 @@
816
819
  "mode has to be one of %{allowed_modes}": [
817
820
  ""
818
821
  ],
822
+ "must be set": [
823
+ ""
824
+ ],
819
825
  "older": [
820
826
  ""
821
827
  ],
@@ -799,6 +799,9 @@
799
799
  "is hour (range: 0-23)": [
800
800
  "é a hora (intervalo: 0-23)"
801
801
  ],
802
+ "is in the past": [
803
+ ""
804
+ ],
802
805
  "is minute (range: 0-59)": [
803
806
  "é o minuto (intervalo: 0-59) "
804
807
  ],
@@ -817,6 +820,9 @@
817
820
  "mode has to be one of %{allowed_modes}": [
818
821
  "modo tem que ser um de %{allowed_modes}"
819
822
  ],
823
+ "must be set": [
824
+ ""
825
+ ],
820
826
  "older": [
821
827
  "mais antigo"
822
828
  ],
@@ -798,6 +798,9 @@
798
798
  "is hour (range: 0-23)": [
799
799
  "— часы (1–24)"
800
800
  ],
801
+ "is in the past": [
802
+ ""
803
+ ],
801
804
  "is minute (range: 0-59)": [
802
805
  "— минуты (0–59)"
803
806
  ],
@@ -816,6 +819,9 @@
816
819
  "mode has to be one of %{allowed_modes}": [
817
820
  ""
818
821
  ],
822
+ "must be set": [
823
+ ""
824
+ ],
819
825
  "older": [
820
826
  ""
821
827
  ],
@@ -797,6 +797,9 @@
797
797
  "is hour (range: 0-23)": [
798
798
  "小时(范围:0-23)"
799
799
  ],
800
+ "is in the past": [
801
+ ""
802
+ ],
800
803
  "is minute (range: 0-59)": [
801
804
  "分钟(范围:0-59)"
802
805
  ],
@@ -815,6 +818,9 @@
815
818
  "mode has to be one of %{allowed_modes}": [
816
819
  "模式必须是 %%{allowed_modes} 之一"
817
820
  ],
821
+ "must be set": [
822
+ ""
823
+ ],
818
824
  "older": [
819
825
  "较老"
820
826
  ],
@@ -798,6 +798,9 @@
798
798
  "is hour (range: 0-23)": [
799
799
  "是小時(範圍:0-23)"
800
800
  ],
801
+ "is in the past": [
802
+ ""
803
+ ],
801
804
  "is minute (range: 0-59)": [
802
805
  "是分鐘(範圍:0-59)"
803
806
  ],
@@ -816,6 +819,9 @@
816
819
  "mode has to be one of %{allowed_modes}": [
817
820
  ""
818
821
  ],
822
+ "must be set": [
823
+ ""
824
+ ],
819
825
  "older": [
820
826
  ""
821
827
  ],
@@ -93,7 +93,8 @@ module ForemanTasks
93
93
  'It should contain %{label} placeholder, that will be replaced with normalized task label '\
94
94
  '(restricted to only alphanumeric characters)). %{version} placeholder is also available.'),
95
95
  default: nil,
96
- full_name: N_('Tasks troubleshooting URL'))
96
+ full_name: N_('Tasks troubleshooting URL'),
97
+ validate: ->(value) { ForemanTasks.troubleshooting_url_with_placeholders(value) })
97
98
  setting('foreman_tasks_polling_multiplier',
98
99
  type: :integer,
99
100
  description: N_('Polling multiplier which is used to multiply the default polling intervals. '\
@@ -204,4 +205,20 @@ module ForemanTasks
204
205
  def use_relative_model_naming
205
206
  true
206
207
  end
208
+
209
+ def self.troubleshooting_url_with_placeholders(value)
210
+ return true if value.blank?
211
+ test_url = value.dup
212
+ test_url.gsub!(/%\{label\}/, 'validation_label')
213
+ test_url.gsub!(/%\{version\}/, '1.0')
214
+ begin
215
+ uri = URI.parse(test_url)
216
+ unless (uri.is_a?(URI::HTTP) || uri.is_a?(URI::HTTPS)) && !uri.host.nil?
217
+ raise URI::InvalidURIError
218
+ end
219
+ true
220
+ rescue URI::InvalidURIError
221
+ raise Foreman::SettingValueException, N_("Invalid URL")
222
+ end
223
+ end
207
224
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanTasks
2
- VERSION = '11.0.4'.freeze
2
+ VERSION = '11.0.5'.freeze
3
3
  end
@@ -807,6 +807,9 @@ msgstr "Wochentag (im Bereich: 0-6)"
807
807
  msgid "is hour (range: 0-23)"
808
808
  msgstr "Stunde (im Bereich: 0-23)"
809
809
 
810
+ msgid "is in the past"
811
+ msgstr ""
812
+
810
813
  #. TRANSLATORS: this translation is referring to an option which is a time interval
811
814
  msgid "is minute (range: 0-59)"
812
815
  msgstr "Minute (im Bereich: 0-59)"
@@ -827,6 +830,9 @@ msgstr "Modus"
827
830
  msgid "mode has to be one of %{allowed_modes}"
828
831
  msgstr "Modus muss einer von %{allowed_modes} sein"
829
832
 
833
+ msgid "must be set"
834
+ msgstr ""
835
+
830
836
  msgid "older"
831
837
  msgstr "älter"
832
838
 
@@ -803,6 +803,9 @@ msgstr ""
803
803
  msgid "is hour (range: 0-23)"
804
804
  msgstr ""
805
805
 
806
+ msgid "is in the past"
807
+ msgstr ""
808
+
806
809
  #. TRANSLATORS: this translation is referring to an option which is a time interval
807
810
  msgid "is minute (range: 0-59)"
808
811
  msgstr ""
@@ -823,6 +826,9 @@ msgstr ""
823
826
  msgid "mode has to be one of %{allowed_modes}"
824
827
  msgstr ""
825
828
 
829
+ msgid "must be set"
830
+ msgstr ""
831
+
826
832
  msgid "older"
827
833
  msgstr ""
828
834
 
@@ -808,6 +808,9 @@ msgstr "es día de la semana (rango: 0-6)"
808
808
  msgid "is hour (range: 0-23)"
809
809
  msgstr "es hora (rango: 0-23)"
810
810
 
811
+ msgid "is in the past"
812
+ msgstr ""
813
+
811
814
  #. TRANSLATORS: this translation is referring to an option which is a time interval
812
815
  msgid "is minute (range: 0-59)"
813
816
  msgstr "es minuto (rango: 0-59)"
@@ -828,6 +831,9 @@ msgstr "modo"
828
831
  msgid "mode has to be one of %{allowed_modes}"
829
832
  msgstr "modo tiene que ser uno de %.{allowed_modes}"
830
833
 
834
+ msgid "must be set"
835
+ msgstr ""
836
+
831
837
  msgid "older"
832
838
  msgstr "más antiguo"
833
839
 
@@ -8,8 +8,8 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: foreman_tasks 1.0.0\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-07-17 17:08+0200\n"
12
- "PO-Revision-Date: 2024-07-17 17:08+0200\n"
11
+ "POT-Creation-Date: 2025-09-12 13:20+0200\n"
12
+ "PO-Revision-Date: 2025-09-12 13:20+0200\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
@@ -312,32 +312,32 @@ msgstr ""
312
312
  msgid "%{total} task(s), %{success} success, %{failed} fail"
313
313
  msgstr ""
314
314
 
315
- #: ../app/lib/actions/bulk_action.rb:29
315
+ #: ../app/lib/actions/bulk_action.rb:26 action_names.rb:3
316
316
  msgid "Bulk action"
317
317
  msgstr ""
318
318
 
319
- #: ../app/lib/actions/bulk_action.rb:63
319
+ #: ../app/lib/actions/bulk_action.rb:58
320
320
  msgid "Empty bulk action"
321
321
  msgstr ""
322
322
 
323
- #: ../app/lib/actions/bulk_action.rb:65
323
+ #: ../app/lib/actions/bulk_action.rb:60
324
324
  msgid "The targets are of different types"
325
325
  msgstr ""
326
326
 
327
- #: ../app/lib/actions/check_long_running_tasks.rb:40 action_names.rb:3
327
+ #: ../app/lib/actions/check_long_running_tasks.rb:40 action_names.rb:4
328
328
  msgid "Check for long running tasks"
329
329
  msgstr ""
330
330
 
331
331
  #: ../app/lib/actions/deliver_long_running_tasks_notification.rb:19
332
- #: action_names.rb:4
332
+ #: action_names.rb:5
333
333
  msgid "Deliver notifications about long running tasks"
334
334
  msgstr ""
335
335
 
336
- #: ../app/lib/actions/foreman/host/import_facts.rb:43 action_names.rb:6
336
+ #: ../app/lib/actions/foreman/host/import_facts.rb:43 action_names.rb:7
337
337
  msgid "Import facts"
338
338
  msgstr ""
339
339
 
340
- #: ../app/lib/actions/foreman/puppetclass/import.rb:18 action_names.rb:5
340
+ #: ../app/lib/actions/foreman/puppetclass/import.rb:18 action_names.rb:6
341
341
  msgid "Import Puppet classes"
342
342
  msgstr ""
343
343
 
@@ -491,43 +491,51 @@ msgstr ""
491
491
  msgid "Subscribe"
492
492
  msgstr ""
493
493
 
494
- #: ../app/models/foreman_tasks/triggering.rb:29
494
+ #: ../app/models/foreman_tasks/triggering.rb:27
495
495
  msgid "%{value} is not allowed triggering mode"
496
496
  msgstr ""
497
497
 
498
- #: ../app/models/foreman_tasks/triggering.rb:32
498
+ #: ../app/models/foreman_tasks/triggering.rb:30
499
499
  msgid "%{value} is not allowed input type"
500
500
  msgstr ""
501
501
 
502
+ #: ../app/models/foreman_tasks/triggering.rb:32
502
503
  #: ../app/models/foreman_tasks/triggering.rb:34
503
- #: ../app/models/foreman_tasks/triggering.rb:36
504
504
  msgid "%{value} is wrong format"
505
505
  msgstr ""
506
506
 
507
- #: ../app/models/foreman_tasks/triggering.rb:60
507
+ #: ../app/models/foreman_tasks/triggering.rb:58
508
508
  msgid "mode has to be one of %{allowed_modes}"
509
509
  msgstr ""
510
510
 
511
- #: ../app/models/foreman_tasks/triggering.rb:103
511
+ #: ../app/models/foreman_tasks/triggering.rb:101
512
512
  msgid "is not a valid format"
513
513
  msgstr ""
514
514
 
515
- #: ../app/models/foreman_tasks/triggering.rb:114
515
+ #: ../app/models/foreman_tasks/triggering.rb:117
516
516
  msgid "No task could be started"
517
517
  msgstr ""
518
518
 
519
- #: ../app/models/foreman_tasks/triggering.rb:115
519
+ #: ../app/models/foreman_tasks/triggering.rb:118
520
520
  msgid "Active or disabled recurring logic with purpose %s already exists"
521
521
  msgstr ""
522
522
 
523
- #: ../app/models/foreman_tasks/triggering.rb:116
523
+ #: ../app/models/foreman_tasks/triggering.rb:119
524
524
  msgid "%s is not valid format of cron line"
525
525
  msgstr ""
526
526
 
527
- #: ../app/models/foreman_tasks/triggering.rb:122
527
+ #: ../app/models/foreman_tasks/triggering.rb:125
528
+ msgid "must be set"
529
+ msgstr ""
530
+
531
+ #: ../app/models/foreman_tasks/triggering.rb:126
528
532
  msgid "The task could not be started"
529
533
  msgstr ""
530
534
 
535
+ #: ../app/models/foreman_tasks/triggering.rb:130
536
+ msgid "is in the past"
537
+ msgstr ""
538
+
531
539
  #: ../app/services/foreman_tasks/troubleshooting_help_generator.rb:67
532
540
  msgid ""
533
541
  "A paused task represents a process that has not finished properly. Any task in"
@@ -807,6 +807,9 @@ msgstr "est jour de la semaine (plage: 0-6)"
807
807
  msgid "is hour (range: 0-23)"
808
808
  msgstr "est heure (plage: 0-23)"
809
809
 
810
+ msgid "is in the past"
811
+ msgstr ""
812
+
810
813
  #. TRANSLATORS: this translation is referring to an option which is a time interval
811
814
  msgid "is minute (range: 0-59)"
812
815
  msgstr "est minute (plage: 0-59)"
@@ -827,6 +830,9 @@ msgstr "mode"
827
830
  msgid "mode has to be one of %{allowed_modes}"
828
831
  msgstr "mode doit être un parmi %%{allowed_modes}"
829
832
 
833
+ msgid "must be set"
834
+ msgstr ""
835
+
830
836
  msgid "older"
831
837
  msgstr "plus ancien"
832
838
 
@@ -804,6 +804,9 @@ msgstr "曜日 (範囲: 0 - 6)"
804
804
  msgid "is hour (range: 0-23)"
805
805
  msgstr "時間 (範囲: 0 - 23)"
806
806
 
807
+ msgid "is in the past"
808
+ msgstr ""
809
+
807
810
  #. TRANSLATORS: this translation is referring to an option which is a time interval
808
811
  msgid "is minute (range: 0-59)"
809
812
  msgstr "分 (範囲: 0 - 59)"
@@ -824,6 +827,9 @@ msgstr "モード"
824
827
  msgid "mode has to be one of %{allowed_modes}"
825
828
  msgstr "モードは %%{allowed_modes} のいずれかである必要があります"
826
829
 
830
+ msgid "must be set"
831
+ msgstr ""
832
+
827
833
  msgid "older"
828
834
  msgstr "前"
829
835
 
@@ -807,6 +807,9 @@ msgstr "კვირის დღე (0-6)"
807
807
  msgid "is hour (range: 0-23)"
808
808
  msgstr "საათი (0-23)"
809
809
 
810
+ msgid "is in the past"
811
+ msgstr ""
812
+
810
813
  #. TRANSLATORS: this translation is referring to an option which is a time interval
811
814
  msgid "is minute (range: 0-59)"
812
815
  msgstr "წუთი (0-59)"
@@ -827,6 +830,9 @@ msgstr "რეჟიმი"
827
830
  msgid "mode has to be one of %{allowed_modes}"
828
831
  msgstr "რეჟიმი შეიძლება იყოს ერთ ერთი %{allowed_modes} -დან"
829
832
 
833
+ msgid "must be set"
834
+ msgstr ""
835
+
830
836
  msgid "older"
831
837
  msgstr "ძველი"
832
838
 
@@ -803,6 +803,9 @@ msgstr "요일(범위: 0-6)"
803
803
  msgid "is hour (range: 0-23)"
804
804
  msgstr "시간(범위: 0-23)"
805
805
 
806
+ msgid "is in the past"
807
+ msgstr ""
808
+
806
809
  #. TRANSLATORS: this translation is referring to an option which is a time interval
807
810
  msgid "is minute (range: 0-59)"
808
811
  msgstr "분(범위: 0-59)"
@@ -823,6 +826,9 @@ msgstr ""
823
826
  msgid "mode has to be one of %{allowed_modes}"
824
827
  msgstr ""
825
828
 
829
+ msgid "must be set"
830
+ msgstr ""
831
+
826
832
  msgid "older"
827
833
  msgstr ""
828
834
 
@@ -808,6 +808,9 @@ msgstr "é o dia da semana (intervalo: 0-6)"
808
808
  msgid "is hour (range: 0-23)"
809
809
  msgstr "é a hora (intervalo: 0-23)"
810
810
 
811
+ msgid "is in the past"
812
+ msgstr ""
813
+
811
814
  #. TRANSLATORS: this translation is referring to an option which is a time interval
812
815
  msgid "is minute (range: 0-59)"
813
816
  msgstr "é o minuto (intervalo: 0-59) "
@@ -828,6 +831,9 @@ msgstr "modo"
828
831
  msgid "mode has to be one of %{allowed_modes}"
829
832
  msgstr "modo tem que ser um de %{allowed_modes}"
830
833
 
834
+ msgid "must be set"
835
+ msgstr ""
836
+
831
837
  msgid "older"
832
838
  msgstr "mais antigo"
833
839
 
@@ -807,6 +807,9 @@ msgstr "— день недели (0–6)"
807
807
  msgid "is hour (range: 0-23)"
808
808
  msgstr "— часы (1–24)"
809
809
 
810
+ msgid "is in the past"
811
+ msgstr ""
812
+
810
813
  #. TRANSLATORS: this translation is referring to an option which is a time interval
811
814
  msgid "is minute (range: 0-59)"
812
815
  msgstr "— минуты (0–59)"
@@ -827,6 +830,9 @@ msgstr ""
827
830
  msgid "mode has to be one of %{allowed_modes}"
828
831
  msgstr ""
829
832
 
833
+ msgid "must be set"
834
+ msgstr ""
835
+
830
836
  msgid "older"
831
837
  msgstr ""
832
838
 
@@ -803,6 +803,9 @@ msgstr "星期几(范围:0-6)"
803
803
  msgid "is hour (range: 0-23)"
804
804
  msgstr "小时(范围:0-23)"
805
805
 
806
+ msgid "is in the past"
807
+ msgstr ""
808
+
806
809
  #. TRANSLATORS: this translation is referring to an option which is a time interval
807
810
  msgid "is minute (range: 0-59)"
808
811
  msgstr "分钟(范围:0-59)"
@@ -823,6 +826,9 @@ msgstr "模式"
823
826
  msgid "mode has to be one of %{allowed_modes}"
824
827
  msgstr "模式必须是 %%{allowed_modes} 之一"
825
828
 
829
+ msgid "must be set"
830
+ msgstr ""
831
+
826
832
  msgid "older"
827
833
  msgstr "较老"
828
834
 
@@ -804,6 +804,9 @@ msgstr "是星期幾(範圍:0-6)"
804
804
  msgid "is hour (range: 0-23)"
805
805
  msgstr "是小時(範圍:0-23)"
806
806
 
807
+ msgid "is in the past"
808
+ msgstr ""
809
+
807
810
  #. TRANSLATORS: this translation is referring to an option which is a time interval
808
811
  msgid "is minute (range: 0-59)"
809
812
  msgstr "是分鐘(範圍:0-59)"
@@ -824,6 +827,9 @@ msgstr ""
824
827
  msgid "mode has to be one of %{allowed_modes}"
825
828
  msgstr ""
826
829
 
830
+ msgid "must be set"
831
+ msgstr ""
832
+
827
833
  msgid "older"
828
834
  msgstr ""
829
835
 
@@ -0,0 +1,22 @@
1
+ require 'foreman_tasks_test_helper'
2
+
3
+ class TasksSettingTest < ActiveSupport::TestCase
4
+ describe "foreman_tasks_troubleshooting_url" do
5
+ test "invalid url for foreman_tasks_troubleshooting_url are rejected" do
6
+ url_setting = Setting.new(name: 'foreman_tasks_troubleshooting_url', value: 'invalid url')
7
+ url_setting.valid?
8
+ rescue => e
9
+ assert_includes e.message, "Invalid URL"
10
+ end
11
+
12
+ test "valid foreman_tasks_troubleshooting_url values are accepted" do
13
+ url_setting = Setting.new(name: 'foreman_tasks_troubleshooting_url', value: 'https://example.com')
14
+ assert url_setting.valid?
15
+ end
16
+
17
+ test "valid foreman_tasks_troubleshooting_url values with placeholder are accepted" do
18
+ url_setting = Setting.new(name: 'foreman_tasks_troubleshooting_url', value: 'https://example/%{label}/%{version}.com')
19
+ assert url_setting.valid?
20
+ end
21
+ end
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.0.4
4
+ version: 11.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Nečas
@@ -124,6 +124,7 @@ files:
124
124
  - ".github/workflows/js_tests.yml"
125
125
  - ".github/workflows/release.yml"
126
126
  - ".github/workflows/ruby_tests.yml"
127
+ - ".github/workflows/test-breaking.yaml"
127
128
  - ".gitignore"
128
129
  - ".prettierrc"
129
130
  - ".rubocop.yml"
@@ -386,6 +387,7 @@ files:
386
387
  - test/unit/summarizer_test.rb
387
388
  - test/unit/task_groups_test.rb
388
389
  - test/unit/task_test.rb
390
+ - test/unit/tasks_setting_test.rb
389
391
  - test/unit/triggering_test.rb
390
392
  - test/unit/troubleshooting_help_generator_test.rb
391
393
  - test/unit/ui_notifications_test.rb
@@ -686,6 +688,7 @@ test_files:
686
688
  - test/unit/summarizer_test.rb
687
689
  - test/unit/task_groups_test.rb
688
690
  - test/unit/task_test.rb
691
+ - test/unit/tasks_setting_test.rb
689
692
  - test/unit/triggering_test.rb
690
693
  - test/unit/troubleshooting_help_generator_test.rb
691
694
  - test/unit/ui_notifications_test.rb