decidim-meetings 0.23.1 → 0.23.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a7109623e0747edf93ab6d6b5c7ba149e9a7b912690a65cbebea8d70469ac6a
4
- data.tar.gz: bd33c46e4cf80b94950a97bc300bb784c79f9fdb6da90b5a350ac8eb8412e940
3
+ metadata.gz: a842085b879c1a1623553767730254c6867ddf2fe3395b74ba93d7a1de819c37
4
+ data.tar.gz: 70d4bfa767518e8ad406a21530455f240c6e175137ca6263177f7893607798a1
5
5
  SHA512:
6
- metadata.gz: 5794650b937a6fa7b9a8f224855b3096ce9f552a71b19599eff9f1299dca206fb376855903045eddbe0d8124ce8cde0e9a7dd3953d08122b1d496aaddeb089fa
7
- data.tar.gz: 8dbb31a798feafa94a0780ba6fa74f87479f1e6337f7593f1890c685666f19b9f12f3695d3dcc89fee12dcf7eb6bd519b647069f419b6488083b5d3a690f512d
6
+ metadata.gz: 13d26d2fbb27b2201811407c228abf6288a3db91e2be80cd532257fc26513ec2e0bc88210eb4112c91c6e4ad75fa34fed7594f923ba213265a3296fbd0b9252e
7
+ data.tar.gz: 5994a313372a42c316bb0b3c2748d37b47dc71fa42ab7d93712dc7595fe82db27cbb2558a7da2b239b9d879095b868e12286b76ed3c1c9da1678ceaf05454d6e
@@ -2,13 +2,21 @@
2
2
 
3
3
  module Decidim
4
4
  module Meetings
5
- # A cell to display when a meeting has been created.
5
+ # A cell to display when actions happen on a meeting.
6
6
  class MeetingActivityCell < ActivityCell
7
7
  def title
8
- I18n.t(
9
- "decidim.meetings.last_activity.new_meeting_at_html",
10
- link: participatory_space_link
11
- )
8
+ case action
9
+ when "update"
10
+ I18n.t(
11
+ "decidim.meetings.last_activity.meeting_updated_at_html",
12
+ link: participatory_space_link
13
+ )
14
+ else
15
+ I18n.t(
16
+ "decidim.meetings.last_activity.new_meeting_at_html",
17
+ link: participatory_space_link
18
+ )
19
+ end
12
20
  end
13
21
 
14
22
  def resource_link_text
@@ -58,7 +58,7 @@ module Decidim
58
58
  return if meeting.current_user_can_visit_meeting?(current_user)
59
59
 
60
60
  flash[:alert] = I18n.t("meeting.not_allowed", scope: "decidim.meetings")
61
- redirect_to action: "index"
61
+ redirect_to(ResourceLocatorPresenter.new(meeting).index)
62
62
  end
63
63
 
64
64
  def edit
@@ -42,11 +42,40 @@ module Decidim
42
42
  scope :upcoming, -> { where(arel_table[:end_time].gteq(Time.current)) }
43
43
 
44
44
  scope :visible_meeting_for, lambda { |user|
45
- joins("LEFT JOIN decidim_meetings_registrations ON
46
- decidim_meetings_registrations.decidim_meeting_id = #{table_name}.id")
47
- .where("(private_meeting = ? and decidim_meetings_registrations.decidim_user_id = ?)
48
- or private_meeting = ? or (private_meeting = ? and transparent = ?)", true, user, false, true, true).distinct
49
- }
45
+ (all.distinct if user&.admin?) ||
46
+ if user.present?
47
+ spaces = %w(assembly participatory_process)
48
+ spaces << "conference" if defined?(Decidim::Conference)
49
+ user_role_queries = spaces.map do |participatory_space_name|
50
+ "SELECT decidim_components.id FROM decidim_components
51
+ WHERE CONCAT(decidim_components.participatory_space_id, '-', decidim_components.participatory_space_type)
52
+ IN
53
+ (SELECT CONCAT(decidim_#{participatory_space_name}_user_roles.decidim_#{participatory_space_name}_id, '-Decidim::#{participatory_space_name.classify}')
54
+ FROM decidim_#{participatory_space_name}_user_roles WHERE decidim_#{participatory_space_name}_user_roles.decidim_user_id = ?)
55
+ "
56
+ end
57
+
58
+ where("decidim_meetings_meetings.private_meeting = ?
59
+ OR decidim_meetings_meetings.transparent = ?
60
+ OR decidim_meetings_meetings.id IN
61
+ (SELECT decidim_meetings_registrations.decidim_meeting_id FROM decidim_meetings_registrations WHERE decidim_meetings_registrations.decidim_user_id = ?)
62
+ OR decidim_meetings_meetings.decidim_component_id IN
63
+ (SELECT decidim_components.id FROM decidim_components
64
+ WHERE CONCAT(decidim_components.participatory_space_id, '-', decidim_components.participatory_space_type)
65
+ IN
66
+ (SELECT CONCAT(decidim_participatory_space_private_users.privatable_to_id, '-', decidim_participatory_space_private_users.privatable_to_type)
67
+ FROM decidim_participatory_space_private_users WHERE decidim_participatory_space_private_users.decidim_user_id = ?)
68
+ )
69
+ OR decidim_meetings_meetings.decidim_component_id IN
70
+ (
71
+ #{user_role_queries.compact.join(" UNION ")}
72
+ )
73
+ ", false, true, user.id, user.id, *user_role_queries.compact.map { user.id })
74
+ .distinct
75
+ else
76
+ visible
77
+ end
78
+ }
50
79
 
51
80
  scope :visible, -> { where("decidim_meetings_meetings.private_meeting != ? OR decidim_meetings_meetings.transparent = ?", true, true) }
52
81
 
@@ -60,6 +89,9 @@ module Decidim
60
89
  index_on_create: ->(meeting) { meeting.visible? },
61
90
  index_on_update: ->(meeting) { meeting.visible? })
62
91
 
92
+ # we create a salt for the meeting only on new meetings to prevent changing old IDs for existing (Ether)PADs
93
+ before_create :set_default_salt
94
+
63
95
  # Return registrations of a particular meeting made by users representing a group
64
96
  def user_group_registrations
65
97
  registrations.where.not(decidim_user_group_id: nil)
@@ -141,9 +173,8 @@ module Decidim
141
173
  can_participate_in_space?(user) && can_participate_in_meeting?(user)
142
174
  end
143
175
 
144
- def current_user_can_visit_meeting?(current_user)
145
- (private_meeting? && registrations.exists?(decidim_user_id: current_user.try(:id))) ||
146
- !private_meeting? || (private_meeting? && transparent?)
176
+ def current_user_can_visit_meeting?(user)
177
+ Decidim::Meetings::Meeting.visible_meeting_for(user).find_by(id: id)
147
178
  end
148
179
 
149
180
  # Return the duration of the meeting in minutes
@@ -202,6 +233,11 @@ module Decidim
202
233
 
203
234
  invites.exists?(decidim_user_id: user.id)
204
235
  end
236
+
237
+ # salt is used to generate secure hash in pads
238
+ def set_default_salt
239
+ self.salt ||= Tokenizer.random_salt
240
+ end
205
241
  end
206
242
  end
207
243
  end
@@ -50,8 +50,8 @@ module Decidim
50
50
  "activemodel.attributes.meeting"
51
51
  end
52
52
 
53
- def has_diff?
54
- action == "close" || super
53
+ def diff_actions
54
+ super + %w(close)
55
55
  end
56
56
  end
57
57
  end
@@ -16,10 +16,12 @@ edit_link(
16
16
  %>
17
17
 
18
18
  <div class="row column view-header">
19
- <%= link_to meetings_path(filter_link_params), class: "small hollow" do %>
20
- <%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
21
- <%= t(".back") %>
22
- <% end %>
19
+ <div class="m-bottom">
20
+ <%= link_to meetings_path(filter_link_params), class: "small hollow" do %>
21
+ <%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
22
+ <%= t(".back") %>
23
+ <% end %>
24
+ </div>
23
25
 
24
26
  <h2 class="heading2"><%= present(meeting).title(links: true) %></h2>
25
27
 
@@ -347,6 +347,7 @@ ca:
347
347
  space_type: Espai participatiu
348
348
  upcoming: Properes
349
349
  last_activity:
350
+ meeting_updated_at_html: "<span>Trobada actualitzada el %{link}</span>"
350
351
  new_meeting_at_html: "<span>Nova trobada a %{link}</span>"
351
352
  mailer:
352
353
  invite_join_meeting_mailer:
@@ -77,7 +77,7 @@ cs:
77
77
  error: Bylo zde chyba, že se tato schůzka zdvojnásobila.
78
78
  success: Duplicitní schůzka úspěšně.
79
79
  new:
80
- copy: kopírovat
80
+ copy: Kopírovat
81
81
  select: Vyberte, která data chcete duplikovat
82
82
  title: Duplicitní schůzka
83
83
  components:
@@ -202,7 +202,7 @@ cs:
202
202
  add_agenda_item: Přidat položku agendy
203
203
  agenda_items: Položky agendy
204
204
  end_date: Datum ukončení
205
- start_date: Počáteční datum
205
+ start_date: Datum zahájení
206
206
  new:
207
207
  create: Vytvořit
208
208
  title: Nová agenda
@@ -231,7 +231,7 @@ cs:
231
231
  index:
232
232
  filter:
233
233
  accepted: Přijato
234
- all: Všechno
234
+ all: Vše
235
235
  rejected: Odmítnuto
236
236
  sent: Odeslaná
237
237
  filter_by: Filtrovat podle
@@ -351,14 +351,15 @@ cs:
351
351
  directory:
352
352
  meetings:
353
353
  index:
354
- all: Všechno
355
- date: datum
354
+ all: Vše
355
+ date: Datum
356
356
  meetings: Setkání
357
- past: Minulost
357
+ past: Minulé
358
358
  search: Vyhledávání
359
359
  space_type: Účastní prostor
360
360
  upcoming: Nadcházející
361
361
  last_activity:
362
+ meeting_updated_at_html: "<span>Schůzka aktualizována na %{link}</span>"
362
363
  new_meeting_at_html: "<span>Nové setkání v %{link}</span>"
363
364
  mailer:
364
365
  invite_join_meeting_mailer:
@@ -385,7 +386,7 @@ cs:
385
386
  update: Aktualizovat
386
387
  filters:
387
388
  category: Kategorie
388
- date: datum
389
+ date: Datum
389
390
  date_values:
390
391
  all: Vše
391
392
  past: Minulé
@@ -444,7 +445,7 @@ cs:
444
445
  few: "%{count} zbývajících bloků"
445
446
  many: "%{count} zbývajících bloků"
446
447
  other: "%{count} zbývajících bloků"
447
- view: Zobrazení
448
+ view: Zobrazit
448
449
  update:
449
450
  invalid: Při aktualizaci schůzky došlo k chybě.
450
451
  success: Úspěšně jste aktualizovali schůzku.
@@ -454,7 +455,7 @@ cs:
454
455
  invite:
455
456
  fields:
456
457
  email: E-mailem
457
- name: název
458
+ name: Název
458
459
  sent_at: Odesláno v
459
460
  status: Stav
460
461
  status:
@@ -467,7 +468,7 @@ cs:
467
468
  end_time: Datum ukončení
468
469
  map: Mapa
469
470
  official_meeting: Oficiální schůzka
470
- start_time: Počáteční datum
471
+ start_time: Datum zahájení
471
472
  title: Titul
472
473
  read_more: "(Přečtěte si více)"
473
474
  registration_mailer:
@@ -10,7 +10,7 @@ de:
10
10
  attending_organizations: Liste der Organisationen, die teilgenommen haben
11
11
  closing_report: Bericht
12
12
  contributions_count: Anzahl der Beiträge
13
- proposal_ids: Vorschläge in der Sitzung erstellt
13
+ proposal_ids: An der Sitzung entstandene Vorschläge
14
14
  meeting:
15
15
  address: Adresse
16
16
  available_slots: Verfügbare Slots für dieses Meeting
@@ -23,7 +23,7 @@ de:
23
23
  location_hints: Standorthinweise
24
24
  organizer_gid: Erstellt als
25
25
  organizer_id: Veranstalter
26
- private_meeting: Privates Treffen
26
+ private_meeting: Private Sitzung
27
27
  registration_form_enabled: Anmeldeformular aktiviert
28
28
  registration_terms: Registrierungsbedingungen
29
29
  registrations_enabled: Registrierungen aktiviert
@@ -48,16 +48,16 @@ de:
48
48
  already_invited: Diese E-Mail wurde bereits eingeladen
49
49
  models:
50
50
  decidim/meetings/close_meeting_event: Sitzung geschlossen
51
- decidim/meetings/create_meeting_event: Treffen
51
+ decidim/meetings/create_meeting_event: Sitzung
52
52
  decidim/meetings/meeting_registrations_enabled_event: Registrierungen aktiviert
53
53
  decidim/meetings/meeting_registrations_over_percentage_event: Anmeldungen über Limit
54
- decidim/meetings/upcoming_meeting_event: Kommendes Treffen
54
+ decidim/meetings/upcoming_meeting_event: Kommende Sitzung
55
55
  decidim/meetings/update_meeting_event: Besprechung aktualisiert
56
56
  activerecord:
57
57
  models:
58
58
  decidim/meetings/meeting:
59
- one: Treffen
60
- other: Meetings
59
+ one: Sitzung
60
+ other: Sitzungen
61
61
  decidim/meetings/minutes:
62
62
  one: Protokoll
63
63
  other: Protokoll
@@ -99,64 +99,64 @@ de:
99
99
  meetings:
100
100
  meeting_closed:
101
101
  affected_user:
102
- email_intro: 'Ihre Besprechung "%{resource_title}" wurde geschlossen. Sie können die Schlussfolgerungen von seiner Seite lesen:'
103
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie die Besprechung "%{resource_title}" organisiert haben.
104
- email_subject: Das "%{resource_title}" Meeting wurde geschlossen
105
- notification_title: Das <a href="%{resource_path}">%{resource_title}</a> Treffen wurde geschlossen.
102
+ email_intro: 'Ihre Sitzung "%{resource_title}" wurde geschlossen. Sie können die Ergebnisse auf dieser Seite lesen:'
103
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie die Sitzung "%{resource_title}" organisiert haben.
104
+ email_subject: Die Sitzung "%{resource_title}" wurde geschlossen
105
+ notification_title: Die Sitzung <a href="%{resource_path}">%{resource_title}</a> wurde geschlossen.
106
106
  follower:
107
- email_intro: 'Das "%{resource_title}" Meeting wurde geschlossen. Sie können die Schlussfolgerungen von seiner Seite lesen:'
108
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie die Besprechung "%{resource_title}" verfolgen. Sie können es aus dem vorherigen Link aufheben.
109
- email_subject: Das "%{resource_title}" Meeting wurde geschlossen
110
- notification_title: Das <a href="%{resource_path}">%{resource_title}</a> Treffen wurde geschlossen.
107
+ email_intro: 'Die Sitzung "%{resource_title}" wurde geschlossen. Sie können die Ergebnisse auf dieser Seite lesen:'
108
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
109
+ email_subject: Die Sitzung "%{resource_title}" wurde geschlossen
110
+ notification_title: Die Sitzung <a href="%{resource_path}">%{resource_title}</a> wurde geschlossen.
111
111
  meeting_created:
112
- email_intro: Das Meeting "%{resource_title}" wurde zu "%{participatory_space_title}" hinzugefügt, dem Sie folgen.
113
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Sie können es aus dem vorherigen Link aufheben.
114
- email_subject: Neues Meeting wurde zu %{participatory_space_title}hinzugefügt
115
- notification_title: Das Meeting <a href="%{resource_path}">%{resource_title}</a> wurde zu %{participatory_space_title}hinzugefügt
112
+ email_intro: Die Sitzung "%{resource_title}" wurde zu "%{participatory_space_title}" hinzugefügt, welchem Sie folgen.
113
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
114
+ email_subject: Neue Sitzung zu %{participatory_space_title} hinzugefügt
115
+ notification_title: Die Sitzung <a href="%{resource_path}">%{resource_title}</a> wurde zu %{participatory_space_title} hinzugefügt
116
116
  meeting_registration_confirmed:
117
- notification_title: Ihre Anmeldung zum Meeting <a href="%{resource_url}">%{resource_title}</a> wurde bestätigt. Ihr Registrierungscode ist %{registration_code}.
117
+ notification_title: Ihre Anmeldung zur Sitzung <a href="%{resource_url}">%{resource_title}</a> wurde bestätigt. Ihr Registrierungscode ist %{registration_code}.
118
118
  meeting_registrations_over_percentage:
119
- email_intro: Die "%{resource_title}" Sitzung belegte Slots sind über %{percentage}%.
119
+ email_intro: Die Slots der Sitzung "%{resource_title}" sind zu über %{percentage}% belegt.
120
120
  email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie ein Administrator des Teilnahmebereichs der Besprechung sind.
121
- email_subject: Die "%{resource_title}" Sitzung belegte Steckplätze sind über %{percentage}%
122
- notification_title: Die <a href="%{resource_path}">%{resource_title}</a> Besprechung belegten Slots liegen bei über %{percentage}%.
121
+ email_subject: Slots der Sitzung "%{resource_title}" über %{percentage}% belegt
122
+ notification_title: Die Slots der Sitzung <a href="%{resource_path}">%{resource_title}</a> sind zu über %{percentage}% belegt.
123
123
  meeting_updated:
124
- email_intro: 'Das "%{resource_title}" Meeting wurde aktualisiert. Sie können die neue Version von ihrer Seite lesen:'
125
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie das Treffen "%{resource_title}" verfolgen. Sie können es aus dem vorherigen Link entfernen.
126
- email_subject: Das "%{resource_title}" Meeting wurde aktualisiert
127
- notification_title: Das <a href="%{resource_path}">%{resource_title}</a> Meeting wurde aktualisiert.
124
+ email_intro: 'Die Sitzung "%{resource_title}" wurde aktualisiert. Sie können die neue Version auf der Sitzungs-Seite lesen:'
125
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
126
+ email_subject: Die Sitzung "%{resource_title}" wurde aktualisiert
127
+ notification_title: Die Sitzung <a href="%{resource_path}">%{resource_title}</a> wurde aktualisiert.
128
128
  registration_code_validated:
129
- email_intro: Ihr Registrierungscode "%{registration_code}" für das Meeting "%{resource_title}" wurde bestätigt.
130
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Ihr Registrierungscode für das Meeting "%{resource_title}" validiert wurde.
131
- email_subject: Ihr Registrierungscode "%{registration_code}" für das Meeting "%{resource_title}" wurde bestätigt
132
- notification_title: Ihr Registrierungscode "%{registration_code}" für das <a href="%{resource_path}">%{resource_title}</a> Meeting wurde bestätigt.
129
+ email_intro: Ihr Registrierungscode "%{registration_code}" für die Sitzung "%{resource_title}" wurde bestätigt.
130
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Ihr Registrierungscode für die Sitzung "%{resource_title}" validiert wurde.
131
+ email_subject: Ihr Registrierungscode "%{registration_code}" für die Sitzung "%{resource_title}" wurde bestätigt
132
+ notification_title: Ihr Registrierungscode "%{registration_code}" für die Sitzung <a href="%{resource_path}">%{resource_title}</a> wurde bestätigt.
133
133
  registrations_enabled:
134
- email_intro: 'Das "%{resource_title}" Meeting hat Registrierungen ermöglicht. Sie können sich auf seiner Seite registrieren:'
135
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie das Treffen "%{resource_title}" verfolgen. Sie können es aus dem vorherigen Link entfernen.
136
- email_subject: Das "%{resource_title}" Meeting hat Registrierungen ermöglicht.
137
- notification_title: Das <a href="%{resource_path}">%{resource_title}</a> Meeting hat Registrierungen ermöglicht.
134
+ email_intro: 'Die Sitzung "%{resource_title}" hat Registrierungen aktiviert. Sie können sich auf der Sitzungs-Seite registrieren:'
135
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
136
+ email_subject: Die Sitzung "%{resource_title}" hat Registrierungen aktiviert.
137
+ notification_title: Die Sitzung <a href="%{resource_path}">%{resource_title}</a> hat Registrierungen aktiviert.
138
138
  upcoming_meeting:
139
- email_intro: Das Treffen "%{resource_title}" beginnt in weniger als 48 Stunden.
140
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie das Treffen "%{resource_title}" verfolgen. Sie können es aus dem vorherigen Link entfernen.
141
- email_subject: Das Treffen "%{resource_title}" beginnt in weniger als 48 Stunden.
142
- notification_title: Das <a href="%{resource_path}">%{resource_title}</a> Meeting beginnt in weniger als 48 Stunden.
139
+ email_intro: Die Sitzung "%{resource_title}" beginnt in weniger als 48 Stunden.
140
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie der Sitzung "%{resource_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
141
+ email_subject: Die Sitzung "%{resource_title}" beginnt in weniger als 48 Stunden.
142
+ notification_title: Die Sitzung <a href="%{resource_path}">%{resource_title}</a> beginnt in weniger als 48 Stunden.
143
143
  gamification:
144
144
  badges:
145
145
  attended_meetings:
146
146
  conditions:
147
- - Registrieren Sie sich in den Meetings, an denen Sie teilnehmen möchten
148
- description: Dieses Abzeichen wird gewährt, wenn Sie mehrere persönliche Treffen besuchen.
149
- description_another: Dieser Benutzer hat an %{score} Meetings teilgenommen.
147
+ - Registrieren Sie sich in den Sitzungen, an denen Sie teilnehmen möchten
148
+ description: Dieses Abzeichen wird gewährt, wenn Sie mehrere persönliche Sitzungen besuchen.
149
+ description_another: Dieser Benutzer hat an %{score} Sitzungen teilgenommen.
150
150
  description_own: Sie haben an %{score} Sitzungen teilgenommen.
151
151
  name: Besuchte Sitzungen
152
- next_level_in: Nimm an %{score} weiteren Treffen teil, um das nächste Level zu erreichen!
153
- unearned_another: Dieser Benutzer hat noch kein Meeting besucht.
154
- unearned_own: Sie haben noch kein Meeting besucht.
152
+ next_level_in: Nimm an %{score} weiteren Sitzungen teil, um das nächste Level zu erreichen!
153
+ unearned_another: Dieser Benutzer hat noch kein Sitzungen besucht.
154
+ unearned_own: Sie haben noch keine Sitzung besucht.
155
155
  meetings:
156
156
  actions:
157
157
  agenda: Agenda
158
158
  attachment_collections: Ordner
159
- attachments: Anlagen
159
+ attachments: Anhänge
160
160
  close: Schließen
161
161
  confirm_destroy: Möchten Sie dieses Meeting wirklich löschen?
162
162
  destroy: Löschen
@@ -166,7 +166,7 @@ de:
166
166
  one: 'Die Besprechung kann nicht gelöscht werden, da %{count} Vorschlag mit dieser verbunden ist:'
167
167
  other: 'Die Besprechung kann nicht gelöscht werden, da %{count} Vorschläge mit dieser verbunden sind:'
168
168
  minutes: Protokoll
169
- new: Neues Treffen
169
+ new: Neue Sitzung
170
170
  preview: Vorschau
171
171
  registrations: Anmeldungen
172
172
  title: Aktionen
@@ -193,8 +193,8 @@ de:
193
193
  form:
194
194
  add_agenda_item: Tagesordnungspunkt hinzufügen
195
195
  agenda_items: Tagesordnungspunkte
196
- end_date: Endtermin
197
- start_date: Anfangsdatum
196
+ end_date: Enddatum
197
+ start_date: Startdatum
198
198
  new:
199
199
  create: Erstellen
200
200
  title: Neue Agenda
@@ -234,11 +234,11 @@ de:
234
234
  meeting_closes:
235
235
  edit:
236
236
  close: Schließen
237
- title: Enges Treffen
237
+ title: Sitzung beenden
238
238
  meetings:
239
239
  close:
240
240
  invalid: Beim Schließen dieses Meetings ist ein Problem aufgetreten
241
- success: Treffen erfolgreich abgeschlossen
241
+ success: Sitzung erfolgreich abgeschlossen
242
242
  create:
243
243
  invalid: Beim Erstellen dieses Meetings ist ein Problem aufgetreten
244
244
  success: Besprechung erfolgreich erstellt
@@ -271,7 +271,7 @@ de:
271
271
  services: Dienstleistungen
272
272
  update:
273
273
  invalid: Beim Aktualisieren dieses Meetings ist ein Problem aufgetreten
274
- success: Treffen erfolgreich aktualisiert
274
+ success: Sitzung erfolgreich aktualisiert
275
275
  minutes:
276
276
  create:
277
277
  invalid: Beim Erstellen dieser Minuten ist ein Problem aufgetreten
@@ -311,21 +311,21 @@ de:
311
311
  success: Registrierungscode erfolgreich validiert
312
312
  admin_log:
313
313
  invite:
314
- create: "%{user_name} lud %{attendee_name} , %{resource_name} Treffen auf den %{space_name} Feldern beizutreten"
315
- deleted: "%{user_name} ungebeten %{attendee_name} von %{resource_name} Treffen auf dem %{space_name} Platz"
316
- update: "%{user_name} lud %{attendee_name} , %{resource_name} Treffen auf den %{space_name} Feldern beizutreten"
314
+ create: "%{user_name} hat %{attendee_name} eingeladen, an der Sitzung %{resource_name} in %{space_name} teilzunehmen"
315
+ deleted: "%{user_name} hat die Einladung von %{attendee_name} zur Sitzung %{resource_name} in %{space_name} entfernt"
316
+ update: "%{user_name} hat %{attendee_name} eingeladen, an der Sitzung %{resource_name} in %{space_name} teilzunehmen"
317
317
  meeting:
318
- close: "%{user_name} schloss das %{resource_name} Treffen auf dem %{space_name} Platz"
319
- create: "%{user_name} erstellt das %{resource_name} Treffen auf dem %{space_name} Platz"
320
- delete: "%{user_name} löschte das %{resource_name} Treffen auf dem %{space_name} Platz"
321
- export_registrations: "%{user_name} exportierte die Registrierungen der %{resource_name} Sitzung auf den %{space_name} Feldern"
322
- update: "%{user_name} aktualisiert das %{resource_name} Treffen auf dem %{space_name} Platz"
318
+ close: "%{user_name} hat die Sitzung %{resource_name} in %{space_name} geschlossen"
319
+ create: "%{user_name} hat die Sitzung %{resource_name} in %{space_name} erstellt"
320
+ delete: "%{user_name} hat die Sitzung %{resource_name} aus %{space_name} gelöscht"
321
+ export_registrations: "%{user_name} hat die Anmeldungen der Sitzung %{resource_name} in %{space_name} exportiert"
322
+ update: "%{user_name} hat die Sitzung %{resource_name} in %{space_name} aktualisiert"
323
323
  value_types:
324
324
  organizer_presenter:
325
325
  not_found: 'Der Organisator wurde nicht in der Datenbank gefunden (ID: %{id})'
326
326
  minutes:
327
- create: "%{user_name} erstellt das Protokoll des Treffens %{resource_name} auf dem %{space_name} Feld"
328
- update: "%{user_name} aktualisiert das Protokoll der Sitzung %{resource_name} auf den %{space_name} Feldern"
327
+ create: "%{user_name} hat das Protokoll der Sitzung %{resource_name} in %{space_name} erstellt"
328
+ update: "%{user_name} hat das Protokoll der Sitzung %{resource_name} in %{space_name} aktualisiert"
329
329
  calendar_modal:
330
330
  calendar_url: Kalender-URL
331
331
  close_window: Fenster schließen
@@ -347,6 +347,7 @@ de:
347
347
  space_type: Partizipativer Raum
348
348
  upcoming: Bevorstehende
349
349
  last_activity:
350
+ meeting_updated_at_html: "<span>Besprechung aktualisiert unter %{link}</span>"
350
351
  new_meeting_at_html: "<span>Neues Treffen um %{link}</span>"
351
352
  mailer:
352
353
  invite_join_meeting_mailer:
@@ -379,7 +380,7 @@ de:
379
380
  origin: Ursprung
380
381
  origin_values:
381
382
  all: Alle
382
- citizens: Bürger
383
+ citizens: Einzelpersonen
383
384
  official: Offiziell
384
385
  user_groups: Gruppen
385
386
  scope: Umfang
@@ -428,10 +429,10 @@ de:
428
429
  remaining_slots:
429
430
  one: "%{count} Slot bleibt übrig"
430
431
  other: "Noch %{count} Slots"
431
- view: Aussicht
432
+ view: Anzeigen
432
433
  update:
433
434
  invalid: Beim Aktualisieren der Besprechung ist ein Fehler aufgetreten.
434
- success: Sie haben die Besprechung erfolgreich aktualisiert.
435
+ success: Sie haben die Sitzung erfolgreich aktualisiert.
435
436
  meetings_map:
436
437
  view_meeting: Besprechung anzeigen
437
438
  models:
@@ -462,7 +463,7 @@ de:
462
463
  registrations:
463
464
  create:
464
465
  invalid: Bei diesem Meeting ist ein Problem aufgetreten.
465
- success: Sie sind dem Meeting erfolgreich beigetreten.
466
+ success: Sie sind der Sitzung erfolgreich beigetreten. Da sie sich für die Sitzung registriert haben, werden Sie benachrichtigt wenn sich an der Sitzung etwas ändert.
466
467
  decline_invitation:
467
468
  invalid: Es ist ein Problem aufgetreten, dass die Einladung abgelehnt wurde.
468
469
  success: Sie haben die Einladung erfolgreich abgelehnt.
@@ -470,7 +471,7 @@ de:
470
471
  invalid: Beim Verlassen dieses Meetings ist ein Problem aufgetreten.
471
472
  success: Sie haben das Meeting erfolgreich verlassen.
472
473
  types:
473
- private_meeting: Privates Treffen
474
+ private_meeting: Private Sitzung
474
475
  transparent: Transparent
475
476
  versions:
476
477
  back_to_resource: Zurück zur Besprechung