decidim-system 0.19.0 → 0.22.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/decidim/system/application.js.es6 +2 -1
  3. data/app/assets/stylesheets/decidim/system/_foundation_and_overrides.scss +1 -0
  4. data/app/assets/stylesheets/decidim/system/_sidebar.scss +0 -2
  5. data/app/commands/decidim/system/create_default_content_blocks.rb +1 -1
  6. data/app/commands/decidim/system/register_organization.rb +1 -0
  7. data/app/commands/decidim/system/update_organization.rb +1 -0
  8. data/app/controllers/decidim/system/organizations_controller.rb +8 -1
  9. data/app/forms/decidim/system/update_organization_form.rb +31 -0
  10. data/app/views/decidim/system/devise/shared/_links.html.erb +1 -1
  11. data/app/views/decidim/system/organizations/_omniauth_provider.html.erb +23 -0
  12. data/app/views/decidim/system/organizations/_omniauth_settings.html.erb +11 -0
  13. data/app/views/decidim/system/organizations/_smtp_settings.html.erb +5 -1
  14. data/app/views/decidim/system/organizations/edit.html.erb +1 -0
  15. data/app/views/decidim/system/organizations/new.html.erb +1 -0
  16. data/app/views/layouts/decidim/system/_header.html.erb +1 -0
  17. data/app/views/layouts/decidim/system/_js_configuration.html.erb +9 -0
  18. data/app/views/layouts/decidim/system/application.html.erb +2 -0
  19. data/config/locales/ar.yml +11 -0
  20. data/config/locales/bg-BG.yml +8 -0
  21. data/config/locales/ca.yml +25 -0
  22. data/config/locales/cs.yml +26 -1
  23. data/config/locales/da-DK.yml +1 -0
  24. data/config/locales/de.yml +26 -0
  25. data/config/locales/el-GR.yml +1 -0
  26. data/config/locales/el.yml +101 -0
  27. data/config/locales/en.yml +25 -0
  28. data/config/locales/es-MX.yml +25 -0
  29. data/config/locales/es-PY.yml +25 -0
  30. data/config/locales/es.yml +25 -0
  31. data/config/locales/et-EE.yml +1 -0
  32. data/config/locales/fi-plain.yml +25 -0
  33. data/config/locales/fi.yml +25 -0
  34. data/config/locales/fr-CA.yml +101 -0
  35. data/config/locales/fr.yml +25 -0
  36. data/config/locales/ga-IE.yml +1 -0
  37. data/config/locales/hr-HR.yml +1 -0
  38. data/config/locales/hu.yml +18 -0
  39. data/config/locales/is-IS.yml +55 -0
  40. data/config/locales/it.yml +26 -1
  41. data/config/locales/ja-JP.yml +101 -0
  42. data/config/locales/lt-LT.yml +1 -0
  43. data/config/locales/lv-LV.yml +101 -0
  44. data/config/locales/mt-MT.yml +1 -0
  45. data/config/locales/nl.yml +25 -0
  46. data/config/locales/no.yml +83 -0
  47. data/config/locales/pl.yml +29 -3
  48. data/config/locales/pt-BR.yml +1 -1
  49. data/config/locales/pt.yml +50 -24
  50. data/config/locales/ro-RO.yml +101 -0
  51. data/config/locales/ru.yml +5 -0
  52. data/config/locales/sk-SK.yml +90 -0
  53. data/config/locales/sk.yml +95 -0
  54. data/config/locales/sl.yml +51 -0
  55. data/config/locales/sr-CS.yml +26 -0
  56. data/config/locales/sv.yml +25 -0
  57. data/lib/decidim/system/test/factories.rb +11 -0
  58. data/lib/decidim/system/version.rb +1 -1
  59. metadata +33 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5d758de1f3a09c4ad6cad68bd4ea27329e9d7d6e4bce89b2f16ffd70b3df0e7
4
- data.tar.gz: 480943b81bca5597146e07d413bbffc2bc9600f38eb39c4fcf4ae83658101ee4
3
+ metadata.gz: 8103f6222debfb3b86ee92339d04758f15ef9b6ec07f2961d7fb53ebf20af4f6
4
+ data.tar.gz: 8da892fcaa36e60f8f0fbaf11d60f181b3eb4a32b3b96105d036d5433a1f9cf6
5
5
  SHA512:
6
- metadata.gz: 31acfb8359e26941f16df97c9bd167c75078699870f150de531c9ec8fc5852ff75718c18a27c236f3049e7287223197b6c7938a89a2019566b96577596340af4
7
- data.tar.gz: bea0fac7779a57096841d283f9b771a4c5352c1595fd9103677419c5210ed9e0b3462f86a45bbf03e77a29a4fc261ba16117da33434437eae3491fe5246c003f
6
+ metadata.gz: 27534a161e2412f2df26801398bc42ab001c2ad15fc6d96b13f6700ffd77827d6edb8069b69f6d2352cd876ebcaa5e09d0f43ed914227a18b0a252a4df16370e
7
+ data.tar.gz: f76449afdcf89dd432ba104cb5b74cb8c227a6841f2826d29821da3b18ab4a147c60ab8806cf7fe2c97514c3f4b3eb16ade7cb2db0759d8e3417c83184204cfa
@@ -1,8 +1,9 @@
1
- // = require jquery
1
+ // = require jquery3
2
2
  // = require foundation
3
3
  // = require rails-ujs
4
4
  // = require decidim/editor
5
5
  // = require_self
6
+ // = require decidim/configuration
6
7
 
7
8
  $(() => {
8
9
  $(document).foundation();
@@ -2,6 +2,7 @@
2
2
 
3
3
  @import "settings";
4
4
  @import "foundation";
5
+ @import "foundation-overrides/components/button-group";
5
6
 
6
7
  // If you'd like to include motion-ui the foundation-rails gem comes prepackaged with it, uncomment the 3 @imports, if you are not using the gem you need to install the motion-ui sass package.
7
8
  //
@@ -1,5 +1,4 @@
1
1
  @mixin menu-title{
2
- text-transform: uppercase;
3
2
  letter-spacing: 5px;
4
3
  }
5
4
 
@@ -48,7 +47,6 @@
48
47
  }
49
48
 
50
49
  li{
51
- text-transform: uppercase;
52
50
  font-weight: bold;
53
51
  font-size: .9em;
54
52
  border-left: 2px solid transparent;
@@ -24,7 +24,7 @@ module Decidim
24
24
  Decidim::ContentBlock.create(
25
25
  decidim_organization_id: organization.id,
26
26
  weight: weight,
27
- scope: :homepage,
27
+ scope_name: :homepage,
28
28
  manifest_name: manifest.name,
29
29
  published_at: Time.current
30
30
  )
@@ -57,6 +57,7 @@ module Decidim
57
57
  badges_enabled: true,
58
58
  user_groups_enabled: true,
59
59
  default_locale: form.default_locale,
60
+ omniauth_settings: form.encrypted_omniauth_settings,
60
61
  smtp_settings: form.encrypted_smtp_settings,
61
62
  send_welcome_notification: true
62
63
  )
@@ -47,6 +47,7 @@ module Decidim
47
47
  organization.force_users_to_authenticate_before_access_organization = form.force_users_to_authenticate_before_access_organization
48
48
  organization.available_authorizations = form.clean_available_authorizations
49
49
  organization.users_registration_mode = form.users_registration_mode
50
+ organization.omniauth_settings = form.encrypted_omniauth_settings
50
51
  organization.smtp_settings = form.encrypted_smtp_settings
51
52
 
52
53
  organization.save!
@@ -5,7 +5,8 @@ module Decidim
5
5
  # Controller to manage Organizations (tenants).
6
6
  #
7
7
  class OrganizationsController < Decidim::System::ApplicationController
8
- helper_method :current_organization
8
+ helper_method :current_organization, :provider_enabled?
9
+ helper Decidim::OmniauthHelper
9
10
 
10
11
  def new
11
12
  @form = form(RegisterOrganizationForm).instance
@@ -56,12 +57,18 @@ module Decidim
56
57
  end
57
58
  end
58
59
 
60
+ private
61
+
59
62
  # The current organization for the request.
60
63
  #
61
64
  # Returns an Organization.
62
65
  def current_organization
63
66
  @organization
64
67
  end
68
+
69
+ def provider_enabled?(provider)
70
+ Rails.application.secrets.dig(:omniauth, provider, :enabled)
71
+ end
65
72
  end
66
73
  end
67
74
  end
@@ -20,6 +20,8 @@ module Decidim
20
20
  attribute :users_registration_mode, String
21
21
  jsonb_attribute :smtp_settings, [
22
22
  [:from, String],
23
+ [:from_email, String],
24
+ [:from_label, String],
23
25
  [:user_name, String],
24
26
  [:encrypted_password, String],
25
27
  [:address, String],
@@ -28,6 +30,18 @@ module Decidim
28
30
  [:enable_starttls_auto, Boolean]
29
31
  ]
30
32
 
33
+ OMNIATH_PROVIDERS_ATTRIBUTES = Decidim::User.omniauth_providers.map do |provider|
34
+ Rails.application.secrets.dig(:omniauth, provider).keys.map do |setting|
35
+ if setting == :enabled
36
+ ["omniauth_settings_#{provider}_enabled".to_sym, Boolean]
37
+ else
38
+ ["omniauth_settings_#{provider}_#{setting}".to_sym, String]
39
+ end
40
+ end
41
+ end.flatten(1)
42
+
43
+ jsonb_attribute :omniauth_settings, OMNIATH_PROVIDERS_ATTRIBUTES
44
+
31
45
  attr_writer :password
32
46
 
33
47
  validates :name, :host, :users_registration_mode, presence: true
@@ -36,6 +50,9 @@ module Decidim
36
50
 
37
51
  def map_model(model)
38
52
  self.secondary_hosts = model.secondary_hosts.join("\n")
53
+ self.omniauth_settings = Hash[(model.omniauth_settings || []).map do |k, v|
54
+ [k, Decidim::OmniauthProvider.value_defined?(v) ? Decidim::AttributeEncryptor.decrypt(v) : v]
55
+ end]
39
56
  end
40
57
 
41
58
  def clean_secondary_hosts
@@ -55,9 +72,23 @@ module Decidim
55
72
  end
56
73
 
57
74
  def encrypted_smtp_settings
75
+ smtp_settings["from"] = set_from
76
+
58
77
  smtp_settings.merge(encrypted_password: Decidim::AttributeEncryptor.encrypt(@password))
59
78
  end
60
79
 
80
+ def set_from
81
+ return smtp_settings["from_email"] if smtp_settings["from_label"].blank?
82
+
83
+ "#{smtp_settings["from_label"]} <#{smtp_settings["from_email"]}>"
84
+ end
85
+
86
+ def encrypted_omniauth_settings
87
+ Hash[omniauth_settings.map do |k, v|
88
+ [k, Decidim::OmniauthProvider.value_defined?(v) ? Decidim::AttributeEncryptor.encrypt(v) : v]
89
+ end]
90
+ end
91
+
61
92
  private
62
93
 
63
94
  def validate_organization_uniqueness
@@ -19,7 +19,7 @@
19
19
  <% end -%>
20
20
 
21
21
  <%- if devise_mapping.omniauthable? %>
22
- <%- resource_class.omniauth_providers.each do |provider| %>
22
+ <%- current_organization.enabled_omniauth_providers.keys.each do |provider| %>
23
23
  <%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br>
24
24
  <% end -%>
25
25
  <% end -%>
@@ -0,0 +1,23 @@
1
+ <% i18n_scope = "decidim.system.organizations.omniauth_settings" %>
2
+
3
+ <div class="card">
4
+ <h5><%= provider_name(provider) %></h5>
5
+
6
+ <% if provider_enabled?(provider) %>
7
+ <p class="help-text"><%= t("enabled_by_default", scope: i18n_scope) %></p>
8
+ <% end %>
9
+
10
+ <div class="card-section">
11
+ <%= f.check_box(
12
+ "omniauth_settings_#{provider}_enabled",
13
+ label: t("enabled", scope: i18n_scope)
14
+ ) %>
15
+
16
+ <% Rails.application.secrets.dig(:omniauth, provider.to_sym).keys.select { |k| k != :enabled }.each do |setting| %>
17
+ <%= f.text_field("omniauth_settings_#{provider}_#{setting}", label: I18n.t(
18
+ ".#{setting}",
19
+ scope: [:icon, :icon_path].include?(setting) ? i18n_scope : "#{i18n_scope}.#{provider}"
20
+ )) %>
21
+ <% end %>
22
+ </div>
23
+ </div>
@@ -0,0 +1,11 @@
1
+ <div class="fieldset">
2
+ <h4><%= t("decidim.system.models.organization.fields.omniauth_settings") %></h4>
3
+
4
+ <%= f.fields_for :omniauth_settings do %>
5
+ <% providers = Decidim::OmniauthProvider.available.keys %>
6
+
7
+ <% providers.each do |provider| %>
8
+ <%= render partial: "omniauth_provider", locals: { f: f, provider: provider } %>
9
+ <% end %>
10
+ <% end %>
11
+ </div>
@@ -2,7 +2,11 @@
2
2
  <h4><%= t("decidim.system.models.organization.fields.smtp_settings") %></h4>
3
3
  <%= f.fields_for :smtp_settings do %>
4
4
  <div class="field">
5
- <%= f.email_field :from %>
5
+ <%= f.email_field :from_email, placeholder: t(".placeholder.from_email") %>
6
+ </div>
7
+ <div class="field">
8
+ <%= f.email_field :from_label, placeholder: t(".placeholder.from_label") %>
9
+ <p><%= t(".instructions.from_label") %></p>
6
10
  </div>
7
11
  <div class="field">
8
12
  <%= f.text_field :user_name %>
@@ -31,6 +31,7 @@
31
31
  </div>
32
32
 
33
33
  <%= render partial: "smtp_settings", locals: { f: f } %>
34
+ <%= render partial: "omniauth_settings", locals: { f: f } %>
34
35
 
35
36
  <div class="actions">
36
37
  <%= f.submit t("decidim.system.actions.save") %>
@@ -72,6 +72,7 @@
72
72
  </div>
73
73
 
74
74
  <%= render partial: "smtp_settings", locals: { f: f } %>
75
+ <%= render partial: "omniauth_settings", locals: { f: f } %>
75
76
 
76
77
  <div class="actions">
77
78
  <%= f.submit t("decidim.system.models.organization.actions.save_and_invite") %>
@@ -1,4 +1,5 @@
1
1
  <meta name="viewport" content="width=device-width, initial-scale=1">
2
2
  <%= csrf_meta_tags %>
3
3
  <%= stylesheet_link_tag "decidim/system/application", media: "all" %>
4
+ <%= javascript_include_tag "decidim/confirm" %>
4
5
  <%= javascript_include_tag "decidim/system/application" %>
@@ -0,0 +1,9 @@
1
+ <%
2
+ js_configs = {
3
+ icons_path: image_path("decidim/icons.svg")
4
+ }
5
+ %>
6
+
7
+ <script>
8
+ Decidim.config.set(<%== js_configs.to_json %>);
9
+ </script>
@@ -36,5 +36,7 @@
36
36
  </div>
37
37
  </div>
38
38
  </div>
39
+ <%= render partial: "decidim/shared/confirm_modal" %>
40
+ <%= render partial: "layouts/decidim/system/js_configuration" %>
39
41
  </body>
40
42
  </html>
@@ -61,6 +61,17 @@ ar:
61
61
  reference_prefix_hint: يتم استخدام بادئة المرجع لتعريف الموارد بشكل فريد في كل المؤسسة
62
62
  secondary_hosts_hint: أدخل كل واحد منهم في سطر جديد
63
63
  title: منظمة جديدة
64
+ omniauth_settings:
65
+ facebook:
66
+ app_secret: سر التطبيق
67
+ google_oauth2:
68
+ client_id: معرف العميل ID
69
+ client_secret: الرمز السري للعميل
70
+ icon: الأيقونة
71
+ icon_path: مسار الأيقونة
72
+ twitter:
73
+ api_key: مفتاح API
74
+ api_secret: سر API
64
75
  update:
65
76
  error: حدثت مشكلة أثناء تحديث هذه المؤسسة.
66
77
  success: تم تحديث المنظمة بنجاح.
@@ -0,0 +1,8 @@
1
+ bg:
2
+ decidim:
3
+ system:
4
+ actions:
5
+ confirm_destroy: Сигурни ли сте, че желаете да изтриете това?
6
+ destroy: Изтрий
7
+ edit: Редактирай
8
+ new: Нов
@@ -47,6 +47,7 @@ ca:
47
47
  fields:
48
48
  created_at: Data de creació
49
49
  name: Nom
50
+ omniauth_settings: Configuració de l'Omniauth
50
51
  smtp_settings: Configuració d'SMTP
51
52
  name: Organització
52
53
  organizations:
@@ -61,6 +62,30 @@ ca:
61
62
  reference_prefix_hint: El prefix de la referència s'utilitza per identificar de forma única els recursos de tota la organització
62
63
  secondary_hosts_hint: Introdueix cada un d'ells en una nova línia
63
64
  title: Nova organització
65
+ omniauth_settings:
66
+ decidim:
67
+ client_id: ID del client
68
+ client_secret: Secret del client
69
+ site_url: URL del lloc web
70
+ enabled: Habilitat
71
+ enabled_by_default: Aquest proveïdor està habilitat per defecte. Es pot editar però no es pot desactivar.
72
+ facebook:
73
+ app_id: App ID
74
+ app_secret: App secret
75
+ google_oauth2:
76
+ client_id: ID del Client
77
+ client_secret: Client secret
78
+ icon: Icona
79
+ icon_path: Ruta de la icona
80
+ twitter:
81
+ api_key: Clau de l'API
82
+ api_secret: Clau secreta de l'API
83
+ smtp_settings:
84
+ instructions:
85
+ from_label: 'L''adreça electrònica d''enviament serà: "el-nom-de-la-vostra-organització <la-vostra-organització@el-vostre-proveidor.org>". Deixeu-ho en blanc per a usar el "des de" com a etiqueta'
86
+ placeholder:
87
+ from_email: la-vostra-organitzacio@el-vostre-proveidor.org
88
+ from_label: el-nom-de-la-vostra-organitzacio
64
89
  update:
65
90
  error: S'ha produït un error en actualitzar aquesta organització.
66
91
  success: L'organització s'ha actualitzat correctament.
@@ -45,8 +45,9 @@ cs:
45
45
  actions:
46
46
  save_and_invite: Vytvořit organizaci a pozvat administrátora
47
47
  fields:
48
- created_at: Vytvořeno u
48
+ created_at: Vytvořeno v
49
49
  name: název
50
+ omniauth_settings: Nastavení Omniauth
50
51
  smtp_settings: SMTP nastavení
51
52
  name: Organizace
52
53
  organizations:
@@ -61,6 +62,30 @@ cs:
61
62
  reference_prefix_hint: Předpona reference se používá k jednoznačné identifikaci zdrojů ve všech organizacích
62
63
  secondary_hosts_hint: Zadejte každý z nich do nového řádku
63
64
  title: Nová organizace
65
+ omniauth_settings:
66
+ decidim:
67
+ client_id: Client ID
68
+ client_secret: Tajný klíč klienta
69
+ site_url: URL webu
70
+ enabled: Povoleno
71
+ enabled_by_default: Tento poskytovatel je ve výchozím nastavení povolen. Může být upraven, ale ne zakázán.
72
+ facebook:
73
+ app_id: ID aplikace
74
+ app_secret: Tajný klíč aplikace
75
+ google_oauth2:
76
+ client_id: Client ID
77
+ client_secret: Tajný klíč klienta
78
+ icon: Ikona
79
+ icon_path: Cesta k ikonám
80
+ twitter:
81
+ api_key: Klíč API
82
+ api_secret: API heslo
83
+ smtp_settings:
84
+ instructions:
85
+ from_label: 'Odesílatel e-mailu bude: "jméno-vaší-organizace <your-organization@your-provider.org>". Nechte prázdné pro použití štítku ''from_email'''
86
+ placeholder:
87
+ from_email: vaše-organizace@váš-poskytovatel-domény.org
88
+ from_label: jméno vaší organizace
64
89
  update:
65
90
  error: Při aktualizaci této organizace došlo k chybě.
66
91
  success: Organizace byla úspěšně aktualizována.
@@ -0,0 +1 @@
1
+ da:
@@ -47,6 +47,8 @@ de:
47
47
  fields:
48
48
  created_at: Hergestellt in
49
49
  name: Name
50
+ omniauth_settings: Omniauth-Einstellungen
51
+ smtp_settings: SMTP-Einstellungen
50
52
  name: Organisation
51
53
  organizations:
52
54
  create:
@@ -60,6 +62,30 @@ de:
60
62
  reference_prefix_hint: Das Referenzpräfix wird zur eindeutigen Identifizierung von Ressourcen in allen Organisationen verwendet
61
63
  secondary_hosts_hint: Geben Sie jede von ihnen in einer neuen Zeile ein
62
64
  title: Neue Organisation
65
+ omniauth_settings:
66
+ decidim:
67
+ client_id: Kunden-ID
68
+ client_secret: Kundengeheimnis
69
+ site_url: Website-URL
70
+ enabled: Aktiviert
71
+ enabled_by_default: Dieser Anbieter ist standardmäßig aktiviert. Er kann bearbeitet aber nicht deaktiviert werden.
72
+ facebook:
73
+ app_id: App-ID
74
+ app_secret: App-Geheimnis
75
+ google_oauth2:
76
+ client_id: Kunden-ID
77
+ client_secret: Kundengeheimnis
78
+ icon: Symbol
79
+ icon_path: Icon-Pfad
80
+ twitter:
81
+ api_key: API-Schlüssel
82
+ api_secret: API-Geheimnis
83
+ smtp_settings:
84
+ instructions:
85
+ from_label: 'Der Sender der E-Mail ist: „name-ihrer-organisation <ihrer-organisation@ihr-anbieter.org>". Lassen Sie das Feld leer, damit „von_email“ als Bezeichnung verwendet wird'
86
+ placeholder:
87
+ from_email: ihre-organisation@ihr-anbieter.org
88
+ from_label: name-ihrer-organisation
63
89
  update:
64
90
  error: Beim Aktualisieren dieser Organisation ist ein Fehler aufgetreten.
65
91
  success: Die Organisation wurde erfolgreich aktualisiert.
@@ -0,0 +1 @@
1
+ el:
@@ -0,0 +1,101 @@
1
+ el:
2
+ decidim:
3
+ system:
4
+ actions:
5
+ confirm_destroy: Είστε βέβαιοι ότι θέλετε να την διαγράψετε;
6
+ destroy: Διαγραφή
7
+ edit: Επεξεργασία
8
+ new: Νέα
9
+ save: Αποθήκευση
10
+ title: Ενέργειες
11
+ admins:
12
+ create:
13
+ error: Υπήρξε ένα πρόβλημα κατά τη δημιουργία ενός νέου διαχειριστή.
14
+ success: Ο διαχειριστής δημιουργήθηκε με επιτυχία
15
+ destroy:
16
+ success: Ο διαχειριστής διαγράφηκε με επιτυχία
17
+ edit:
18
+ title: Επεξεργασία διαχειριστή
19
+ update: Ενημέρωση
20
+ index:
21
+ title: Διαχειριστές
22
+ new:
23
+ create: Δημιουργία
24
+ title: Νέος διαχειριστής
25
+ update:
26
+ error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση αυτού του διαχειριστή.
27
+ success: Ο διαχειριστής ενημερώθηκε με επιτυχία
28
+ default_pages:
29
+ placeholders:
30
+ content: Προσθέστε ουσιαστικό περιεχόμενο στη στατική σελίδα %{page} στον πίνακα εργαλείων διαχειριστή.
31
+ title: Προεπιλεγμένος τίτλος για τη σελίδα %{page}
32
+ menu:
33
+ admins: Διαχειριστές
34
+ dashboard: Πίνακας εργαλείων
35
+ organizations: Οργανισμοί
36
+ models:
37
+ admin:
38
+ fields:
39
+ created_at: Δημιουργήθηκε στις
40
+ email: Email
41
+ name: Διαχειριστής
42
+ validations:
43
+ email_uniqueness: υπάρχει ήδη άλλος διαχειριστής με την ίδια διεύθυνση email
44
+ organization:
45
+ actions:
46
+ save_and_invite: Δημιουργία οργανισμού και πρόσκληση διαχειριστή
47
+ fields:
48
+ created_at: Δημιουργήθηκε στις
49
+ name: Όνομα
50
+ omniauth_settings: Ρυθμίσεις Omniauth
51
+ smtp_settings: Ρυθμίσεις SMTP
52
+ name: Οργανισμός
53
+ organizations:
54
+ create:
55
+ error: Υπήρξε ένα πρόβλημα κατά τη δημιουργία ενός νέου οργανισμού.
56
+ success: Ο οργανισμός δημιουργήθηκε με επιτυχία.
57
+ edit:
58
+ secondary_hosts_hint: Εισαγάγετε κάθε ένα από αυτά σε μια νέα γραμμή
59
+ index:
60
+ title: Οργανισμοί
61
+ new:
62
+ reference_prefix_hint: Το πρόθεμα αναφοράς χρησιμοποιείται για τον μοναδικό προσδιορισμό πόρων σε ολόκληρο τον οργανισμό
63
+ secondary_hosts_hint: Εισαγάγετε κάθε ένα από αυτά σε μια νέα γραμμή
64
+ title: Νέος οργανισμός
65
+ omniauth_settings:
66
+ decidim:
67
+ client_id: Αναγνωριστικό προγράμματος-πελάτη
68
+ client_secret: Μυστικός κωδικός προγράμματος-πελάτη
69
+ site_url: Διεύθυνση URL τοποθεσίας
70
+ enabled: Ενεργοποιήθηκε
71
+ enabled_by_default: Αυτός ο πάροχος είναι ενεργοποιημένος από προεπιλογή. Μπορεί να υποβληθεί σε επεξεργασία αλλά όχι να απενεργοποιηθεί.
72
+ facebook:
73
+ app_id: Αναγνωριστικό εφαρμογής
74
+ app_secret: Μυστικός κωδικός εφαρμογής
75
+ google_oauth2:
76
+ client_id: Αναγνωριστικό προγράμματος-πελάτη
77
+ client_secret: Μυστικός κωδικός προγράμματος-πελάτη
78
+ icon: Εικονίδιο
79
+ icon_path: Διαδρομή εικονιδίου
80
+ twitter:
81
+ api_key: Κλειδί API
82
+ api_secret: Μυστικός κωδικός API
83
+ smtp_settings:
84
+ instructions:
85
+ from_label: 'Ο αποστολέας email θα είναι: «το-όνομα-του-οργανισμού-σας <your-organization@your-provider.org>». Αφήστε κενό για να χρησιμοποιήσετε το πεδίο «από_email» ως ετικέτα'
86
+ placeholder:
87
+ from_email: Ο-οργανισμός-σας@ο-πάροχός σας.org
88
+ from_label: το-όνομα-του-οργανισμού-σας
89
+ update:
90
+ error: Υπήρξε ένα πρόβλημα κατά την ενημέρωση αυτού του οργανισμού.
91
+ success: Ο οργανισμός ενημερώθηκε με επιτυχία.
92
+ users_registration_mode:
93
+ disabled: Η πρόσβαση μπορεί να γίνει μόνο με εξωτερικούς λογαριασμούς
94
+ enabled: Να επιτρέπεται στους συμμετέχοντες η εγγραφή και η σύνδεση
95
+ existing: Να μην επιτρέπεται στους συμμετέχοντες η εγγραφή, αλλά να επιτρέπεται στους υπάρχοντες συμμετέχοντες η σύνδεση
96
+ shared:
97
+ notices:
98
+ no_organization_warning_html: Πρέπει να δημιουργήσετε έναν οργανισμό για να ξεκινήσετε. Βεβαιωθείτε ότι έχετε διαβάσει τον οδηγό %{guide} προτού συνεχίσετε.
99
+ our_getting_started_guide: ο οδηγός μας γρήγορης έναρξης
100
+ titles:
101
+ dashboard: Πίνακας εργαλείων