decidim-meetings 0.24.0.rc1 → 0.24.3

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: 18653e1c242daed19b47a1986fbd8e12c6dc89d40b66a3264741d32459528e11
4
- data.tar.gz: 7260be8c1a3f99993319db38067d463cdf66daa65629a13e9e11d71f6fb08c3e
3
+ metadata.gz: 5a92e6db66392bb715213783701f79426439c8d04ee7477bf0cbf53678a7ba37
4
+ data.tar.gz: c11f7df32e7fdbe012b1b4f5a7c2887c8734a3fc94d5196b5fbb2045c0117cb7
5
5
  SHA512:
6
- metadata.gz: 8a1659b38d0e6b3cc197c029d4bc39531385685941a78f7977bf3cb93538de4a7b35e70f1d6aba581cbd13efdd48bdc1b29152d09092bfee21858a4c4ac7fda1
7
- data.tar.gz: 1aca577ee9db9cb104b747a11200874154e19c6f4503e0a788602449b750776432381fc767f8468ffc010775b4ed580661faaea668c6c23b894c591300c74123
6
+ metadata.gz: e2558bf62dd477e601613e9ff3aaad145ed78327b120202bac2f8137f4f4006673ce33989341134654d72371c6928a690784ed0aafceee618344ce33383030b0
7
+ data.tar.gz: f44814296cf29aed73b671399258d78ad233eca14ed6fbce2635a04c5e2fb3b89f652ef70f0412f1cc5fe433168e8a01c1ae8b8cf25f9e2456fa0fab1dd770c7
@@ -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
@@ -15,7 +15,7 @@ module Decidim
15
15
  end
16
16
 
17
17
  def geocoded_meetings
18
- @geocoded_meetings ||= meetings.select(&:geocoded?)
18
+ @geocoded_meetings ||= meetings.select(&:geocoded_and_valid?)
19
19
  end
20
20
 
21
21
  def meetings
@@ -13,7 +13,7 @@ module Decidim
13
13
  helper_method :meetings, :meeting
14
14
 
15
15
  def meetings
16
- @meetings ||= Meeting.where(component: current_component).order(:start_time).page(params[:page]).per(15)
16
+ @meetings ||= Meeting.where(component: current_component).order(start_time: :desc).page(params[:page]).per(15)
17
17
  end
18
18
 
19
19
  def meeting
@@ -90,7 +90,7 @@ module Decidim
90
90
  end
91
91
 
92
92
  def meetings
93
- @meetings ||= paginate(search.results.order(:start_time))
93
+ @meetings ||= paginate(search.results.order(start_time: :desc))
94
94
  end
95
95
 
96
96
  def registration
@@ -16,12 +16,22 @@ module Decidim
16
16
  translatable_attribute :registration_terms, String
17
17
 
18
18
  validates :registration_terms, translatable_presence: true, if: ->(form) { form.registrations_enabled? }
19
- validates :available_slots, numericality: { greater_than_or_equal_to: 0 }, if: ->(form) { form.registrations_enabled? }
19
+ validates :available_slots, :reserved_slots, presence: true, if: ->(form) { form.registrations_enabled? }
20
+ validates :available_slots, numericality: { greater_than_or_equal_to: 0 }, if: ->(form) { form.registrations_enabled? && form.available_slots.present? }
20
21
  validates :reserved_slots, numericality: { greater_than_or_equal_to: 0 }, if: ->(form) { form.registrations_enabled? }
21
- validates :reserved_slots, numericality: { less_than_or_equal_to: :available_slots }, if: ->(form) { form.registrations_enabled? }
22
+ validates :reserved_slots, numericality: { less_than_or_equal_to: :available_slots }, if: lambda { |form|
23
+ form.registrations_enabled? &&
24
+ form.reserved_slots.present? &&
25
+ form.available_slots.present?
26
+ }
27
+
28
+ validate :available_slots_greater_than_or_equal_to_registrations_count, if: ->(form) { form.registrations_enabled? && form.available_slots.try(:positive?) }
29
+ validate :reserved_slots_lower_than_or_equal_to_rest_available_slots_and_registrations_count, if: lambda { |form|
30
+ form.registrations_enabled? &&
31
+ form.reserved_slots.try(:positive?) &&
32
+ form.available_slots.present?
33
+ }
22
34
 
23
- validate :available_slots_greater_than_or_equal_to_registrations_count, if: ->(form) { form.registrations_enabled? && form.available_slots.positive? }
24
- validate :reserved_slots_lower_than_or_equal_to_rest_available_slots_and_registrations_count, if: ->(form) { form.registrations_enabled? && form.reserved_slots.positive? }
25
35
  # We need this method to ensure the form object will always have an ID,
26
36
  # and thus its `to_param` method will always return a significant value.
27
37
  # If we remove this method, get an error onn the `update` action and try
@@ -9,7 +9,7 @@ module Decidim
9
9
  #
10
10
  # meetings - A collection of meetings
11
11
  def meetings_data_for_map(meetings)
12
- geocoded_meetings = meetings.select(&:geocoded?)
12
+ geocoded_meetings = meetings.select(&:geocoded_and_valid?)
13
13
  geocoded_meetings.map do |meeting|
14
14
  meeting.slice(:latitude, :longitude, :address).merge(title: translated_attribute(meeting.title),
15
15
  description: html_truncate(translated_attribute(meeting.description), length: 200),
@@ -13,6 +13,6 @@
13
13
  </button>
14
14
  </div>
15
15
  <div class="filters">
16
- <%= render partial: "filters" %>
16
+ <%= render partial: "filters", locals: { type: :small } %>
17
17
  </div>
18
18
  </div>
@@ -7,7 +7,7 @@ $meetingsCount.html('<%= j(render partial: "count").strip.html_safe %>');
7
7
  var $dropdownMenu = $('.dropdown.menu', $meetings);
8
8
  $dropdownMenu.foundation();
9
9
 
10
- var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.results.select(&:geocoded?)).to_json.html_safe %>');
10
+ var markerData = JSON.parse('<%= escape_javascript meetings_data_for_map(search.results.select(&:geocoded_and_valid?)).to_json.html_safe %>');
11
11
 
12
12
  var $map = $("#map");
13
13
  var controller = $map.data("map-controller");
@@ -128,6 +128,9 @@ edit_link(
128
128
 
129
129
  <% if meeting.online_meeting? %>
130
130
  <%= render partial: "online_meeting_link", locals: { meeting: meeting } %>
131
+ <% elsif meeting.hybrid_meeting? %>
132
+ <%= render partial: "decidim/shared/static_map", locals: { icon_name: "meetings", geolocalizable: meeting } %>
133
+ <%= render partial: "online_meeting_link", locals: { meeting: meeting } %>
131
134
  <% else %>
132
135
  <%= render partial: "decidim/shared/static_map", locals: { icon_name: "meetings", geolocalizable: meeting } %>
133
136
  <% end %>
@@ -21,18 +21,22 @@ ca:
21
21
  end_time: Hora de finalització
22
22
  location: Ubicació
23
23
  location_hints: Detalls d'ubicació
24
+ online_meeting_url: URL de trobada en línia
24
25
  organizer_gid: Crear com a
25
26
  organizer_id: Organitzador
26
27
  private_meeting: Trobada privada
27
28
  registration_form_enabled: Formulari d'inscripcions habilitat
28
29
  registration_terms: Termes i condicions d'inscripció
29
- registration_url: URL de registre
30
+ registration_url: URL d'inscripció
30
31
  registrations_enabled: Inscripcions obertes
31
32
  start_time: Hora d'inici
32
33
  title: Títol
33
34
  transparent: Transparent
35
+ type_of_meeting: Tipus
34
36
  minutes:
37
+ audio_url: URL d'àudio
35
38
  description: Descripció
39
+ video_url: URL de vídeo
36
40
  visible: És visible
37
41
  errors:
38
42
  models:
@@ -90,6 +94,7 @@ ca:
90
94
  resources_permissions_enabled: Es poden establir permisos d'accions per a cada trobada
91
95
  scope_id: Àmbit
92
96
  scopes_enabled: Àmbits habilitats
97
+ terms_and_conditions_url_for_meeting_creators: URL de termes i condicions per creadores de trobades
93
98
  step:
94
99
  announcement: Avís
95
100
  comments_blocked: Comentaris bloquejats
@@ -250,11 +255,18 @@ ca:
250
255
  other: No es pot destruir la trobada perquè té %{count} propostes associades
251
256
  success: La trobada s'ha eliminat correctament
252
257
  edit:
258
+ title: Editar la trobada
253
259
  update: Actualitzar
254
260
  form:
255
261
  address_help: 'Adreça: que farà servir per Geocoder per a trobar la localització'
256
262
  available_slots_help: Deixeu-ho a 0 si les places disponibles són il·limitades
263
+ disclaimer: 'Descàrrec de responsabilitat: en utilitzar un sistema d''inscripcions extern, ets conscient que els organitzadors de %{organization} no són responsables de les dades proporcionades per les usuàries al servei extern.'
257
264
  location_help: 'Localització: missatge dirigit a les participants indicant el lloc on trobar-se'
265
+ location_hints_help: 'Detalls d''ubicació: informació addicional. Exemple: la planta de l''edifici si es tracta d''una reunió presencial, o la contrasenya de la reunió si es tracta d''una reunió en línia amb accés restringit.'
266
+ online_meeting_url_help: 'Enllaç: permetre que les participants es connectin directament a la teva trobada'
267
+ registration_url_help: 'Enllaç: permetre a les participants anar al servei extern que estàs utilitzant per a les inscripcions'
268
+ select_a_meeting_type: Si us plau selecciona un tipus de trobada
269
+ select_a_registration_type: Si us plau selecciona un tipus d'inscripció
258
270
  index:
259
271
  title: Trobades
260
272
  new:
@@ -278,6 +290,7 @@ ca:
278
290
  invalid: S'ha produït un error en crear aquesta acta
279
291
  success: S'ha creat l'acta amb èxit
280
292
  edit:
293
+ title: Editar actes
281
294
  update: Actualitza
282
295
  new:
283
296
  create: Crea
@@ -348,6 +361,7 @@ ca:
348
361
  space_type: Espai participatiu
349
362
  upcoming: Properes
350
363
  last_activity:
364
+ meeting_updated_at_html: "<span>Trobada actualitzada el %{link}</span>"
351
365
  new_meeting_at_html: "<span>Nova trobada a %{link}</span>"
352
366
  mailer:
353
367
  invite_join_meeting_mailer:
@@ -358,6 +372,11 @@ ca:
358
372
  subject: La teva inscripció a la trobada ha estat confirmada
359
373
  meeting:
360
374
  not_allowed: No tens permís per veure aquesta trobada
375
+ meeting_closes:
376
+ edit:
377
+ back: Tornar
378
+ close: Tancar trobada
379
+ title: Tancar trobada
361
380
  meetings:
362
381
  count:
363
382
  meetings_count:
@@ -371,12 +390,15 @@ ca:
371
390
  title: Editar la trobada
372
391
  update: Actualitzar
373
392
  filters:
393
+ activity: La meva activitat
394
+ all: Totes
374
395
  category: Categoria
375
396
  date: Data
376
397
  date_values:
377
398
  all: Totes
378
399
  past: Passades
379
400
  upcoming: Properes
401
+ my_meetings: Les meves trobades
380
402
  origin: Origen
381
403
  origin_values:
382
404
  all: Tots
@@ -385,6 +407,12 @@ ca:
385
407
  user_groups: Grups
386
408
  scope: Àmbit
387
409
  search: Cerca
410
+ type: Tipus
411
+ type_values:
412
+ all: Totes
413
+ hybrid: Ambdues
414
+ in_person: Presencial
415
+ online: En línia
388
416
  filters_small_view:
389
417
  close_modal: Tancar finestra
390
418
  filter: Filtra
@@ -392,10 +420,16 @@ ca:
392
420
  unfold: Desplegar
393
421
  form:
394
422
  address_help: 'Adreça: que farà servir per Geocoder per a trobar la localització'
423
+ available_slots_help: Deixa-ho a 0 si les places disponibles són il·limitades
395
424
  create_as: Crear trobada com a
425
+ disclaimer: 'Descàrrec de responsabilitat: en utilitzar un sistema d''inscripcions extern, ets conscient que els organitzadors de %{organization} no són responsables de les dades proporcionades per les usuàries al servei extern.'
396
426
  location_help: 'Localització: missatge dirigit a les participants indicant el lloc on trobar-se'
427
+ location_hints_help: 'Detalls d''ubicació: informació addicional. Exemple: la planta de l''edifici si es tracta d''una reunió presencial, o la contrasenya de la reunió si es tracta d''una reunió en línia amb accés restringit.'
428
+ online_meeting_url_help: 'Enllaç: permetre que les participants es connectin directament a la teva trobada'
429
+ registration_url_help: 'Enllaç: permetre a les participants anar al servei extern que estàs utilitzant per a les inscripcions'
397
430
  select_a_category: Si us plau, selecciona una categoria
398
431
  select_a_meeting_type: Si us plau selecciona un tipus de trobada
432
+ select_a_registration_type: Si us plau selecciona un tipus d'inscripció
399
433
  index:
400
434
  new_meeting: Nova trobada
401
435
  meeting_minutes:
@@ -414,6 +448,7 @@ ca:
414
448
  show:
415
449
  attendees: Nombre d'assistents
416
450
  back: Torna al llistat
451
+ close_meeting: Tancar trobada
417
452
  contributions: Nombre d'aportacions
418
453
  date: Data
419
454
  edit_meeting: Editar la trobada
@@ -460,6 +495,10 @@ ca:
460
495
  confirmed_html: La teva inscripció a la trobada <a href="%{url}">%{title}</a> ha estat confirmada.
461
496
  details: A l'arxiu adjunt trobaràs els detalls de la reunió.
462
497
  registration_code: El teu codi de registre és %{code}.
498
+ registration_type:
499
+ on_different_platform: A una altra plataforma
500
+ on_this_platform: En aquesta plataforma
501
+ registration_disabled: Inscripcions deshabilitades
463
502
  registrations:
464
503
  create:
465
504
  invalid: S'ha produït un error en inscriure's a aquesta trobada.
@@ -471,6 +510,7 @@ ca:
471
510
  invalid: S'ha produït un error en abandonar aquesta trobada.
472
511
  success: Has abandonat la trobada amb èxit.
473
512
  type_of_meeting:
513
+ hybrid: Ambdues
474
514
  in_person: Presencial
475
515
  online: Online
476
516
  types:
@@ -207,7 +207,7 @@ cs:
207
207
  add_agenda_item: Přidat položku agendy
208
208
  agenda_items: Položky agendy
209
209
  end_date: Datum ukončení
210
- start_date: Počáteční datum
210
+ start_date: Datum zahájení
211
211
  new:
212
212
  create: Vytvořit
213
213
  title: Nová agenda
@@ -237,7 +237,7 @@ cs:
237
237
  index:
238
238
  filter:
239
239
  accepted: Přijato
240
- all: Všechno
240
+ all: Vše
241
241
  rejected: Odmítnuto
242
242
  sent: Odeslaná
243
243
  filter_by: Filtrovat podle
@@ -365,14 +365,15 @@ cs:
365
365
  directory:
366
366
  meetings:
367
367
  index:
368
- all: Všechno
368
+ all: Vše
369
369
  date: Datum
370
370
  meetings: Setkání
371
- past: Minulost
371
+ past: Minulé
372
372
  search: Vyhledávání
373
373
  space_type: Účastní prostor
374
374
  upcoming: Nadcházející
375
375
  last_activity:
376
+ meeting_updated_at_html: "<span>Schůzka aktualizována na %{link}</span>"
376
377
  new_meeting_at_html: "<span>Nové setkání v %{link}</span>"
377
378
  mailer:
378
379
  invite_join_meeting_mailer:
@@ -479,7 +480,7 @@ cs:
479
480
  few: "%{count} zbývajících bloků"
480
481
  many: "%{count} zbývajících bloků"
481
482
  other: "%{count} zbývajících bloků"
482
- view: Zobrazení
483
+ view: Zobrazit
483
484
  update:
484
485
  invalid: Při aktualizaci schůzky došlo k chybě.
485
486
  success: Úspěšně jste aktualizovali schůzku.
@@ -502,7 +503,7 @@ cs:
502
503
  end_time: Datum ukončení
503
504
  map: Mapa
504
505
  official_meeting: Oficiální schůzka
505
- start_time: Počáteční datum
506
+ start_time: Datum zahájení
506
507
  title: Titul
507
508
  read_more: "(Přečtěte si více)"
508
509
  registration_mailer:
@@ -361,6 +361,7 @@ de:
361
361
  space_type: Partizipativer Raum
362
362
  upcoming: Bevorstehende
363
363
  last_activity:
364
+ meeting_updated_at_html: "<span>Besprechung aktualisiert unter %{link}</span>"
364
365
  new_meeting_at_html: "<span>Neues Treffen um %{link}</span>"
365
366
  mailer:
366
367
  invite_join_meeting_mailer:
@@ -362,6 +362,7 @@ en:
362
362
  space_type: Participatory space
363
363
  upcoming: Upcoming
364
364
  last_activity:
365
+ meeting_updated_at_html: "<span>Meeting updated at %{link}</span>"
365
366
  new_meeting_at_html: "<span>New meeting at %{link}</span>"
366
367
  mailer:
367
368
  invite_join_meeting_mailer:
@@ -27,13 +27,16 @@ es-MX:
27
27
  private_meeting: Encuentro privado
28
28
  registration_form_enabled: Formulario de inscripción habilitado
29
29
  registration_terms: Términos y condiciones de inscripción
30
+ registration_url: URL de inscripción
30
31
  registrations_enabled: Inscripciones abiertas
31
32
  start_time: Hora de inicio
32
33
  title: Título
33
34
  transparent: Transparente
34
35
  type_of_meeting: Tipo
35
36
  minutes:
37
+ audio_url: URL de audio
36
38
  description: Descripción
39
+ video_url: URL de video
37
40
  visible: Es visible
38
41
  errors:
39
42
  models:
@@ -87,6 +90,7 @@ es-MX:
87
90
  creation_enabled_for_participants: Las participantes pueden crear encuentros
88
91
  default_registration_terms: Términos de registro predeterminados
89
92
  enable_pads_creation: Habilitar la creación de pads
93
+ registration_code_enabled: Código de inscripción activado
90
94
  resources_permissions_enabled: Se pueden establecer permisos de acciones para cada encuentro
91
95
  scope_id: Ámbito
92
96
  scopes_enabled: Ámbitos habilitados
@@ -251,13 +255,18 @@ es-MX:
251
255
  other: El encuentro no se puede eliminar porque tiene %{count} propuestas asociadas
252
256
  success: El encuentro se ha eliminado correctamente
253
257
  edit:
258
+ title: Editar encuentro
254
259
  update: Actualizar
255
260
  form:
256
261
  address_help: 'Dirección: usada por Geocoder para encontrar la ubicación'
262
+ available_slots_help: Déjalo a 0 si tienes espacio ilimitado disponible
263
+ disclaimer: 'Descargo de responsabilidad: Mediante el uso de un sistema de inscripción externo, aceptas que los organizadores de %{organization} no son responsables de los datos proporcionados por los usuarios al servicio externo.'
257
264
  location_help: 'Ubicación: mensaje dirigido a las participantes indicando el lugar donde reunirse'
258
265
  location_hints_help: 'Consejos de ubicación: información adicional. Ejemplo: la planta del edificio si se trata de un encuentro presencial, o la contraseña de la sala si se trata de un encuentro online con acceso restringido.'
259
266
  online_meeting_url_help: 'Enlace: permitir a las participantes conectarse directamente a tu encuentro'
267
+ registration_url_help: 'Enlace: permitir a las participantes ir al servicio externo que estás utilizando para las inscripciones'
260
268
  select_a_meeting_type: Por favor, selecciona un tipo de encuentro
269
+ select_a_registration_type: Por favor, seleccione un tipo de inscripción
261
270
  index:
262
271
  title: Encuentros
263
272
  new:
@@ -281,6 +290,7 @@ es-MX:
281
290
  invalid: Ha habido un problema al crear el acta
282
291
  success: Acta creada con éxito
283
292
  edit:
293
+ title: Editar actas
284
294
  update: Actualizar
285
295
  new:
286
296
  create: Crear
@@ -351,6 +361,7 @@ es-MX:
351
361
  space_type: Espacio participativo
352
362
  upcoming: Próximo
353
363
  last_activity:
364
+ meeting_updated_at_html: "<span>Encuentro actualizado a las %{link}</span>"
354
365
  new_meeting_at_html: "<span>Nuevo encuentro en %{link}</span>"
355
366
  mailer:
356
367
  invite_join_meeting_mailer:
@@ -379,12 +390,15 @@ es-MX:
379
390
  title: Editar el encuentro
380
391
  update: Actualizar
381
392
  filters:
393
+ activity: Mi actividad
394
+ all: Todos
382
395
  category: Categoría
383
396
  date: Fecha
384
397
  date_values:
385
398
  all: Todas
386
399
  past: Pasadas
387
400
  upcoming: Próximas
401
+ my_meetings: Mis encuentros
388
402
  origin: Origen
389
403
  origin_values:
390
404
  all: Todos
@@ -396,6 +410,7 @@ es-MX:
396
410
  type: Tipo
397
411
  type_values:
398
412
  all: Todos
413
+ hybrid: Ambos
399
414
  in_person: Presencial
400
415
  online: Online
401
416
  filters_small_view:
@@ -405,10 +420,16 @@ es-MX:
405
420
  unfold: Desplegar
406
421
  form:
407
422
  address_help: 'Dirección: que utilizará Geocoder para encontrar la ubicación'
423
+ available_slots_help: Déjalo a 0 si tienes espacio ilimitado disponible
408
424
  create_as: Crear encuentro como
425
+ disclaimer: 'Descargo de responsabilidad: Mediante el uso de un sistema de inscripción externo, aceptas que los organizadores de %{organization} no son responsables de los datos proporcionados por los usuarios al servicio externo.'
409
426
  location_help: 'Ubicación: mensaje dirigido a las participantes indicando el lugar donde reunirse'
410
427
  location_hints_help: 'Consejos de ubicación: información adicional. Ejemplo: la planta del edificio si se trata de un encuentro presencial, o la contraseña de la sala si se trata de un encuentro online con acceso restringido.'
428
+ online_meeting_url_help: 'Enlace: permitir a las participantes conectarse directamente a tu encuentro'
429
+ registration_url_help: 'Enlace: permitir a las participantes ir al servicio externo que estás utilizando para las inscripciones'
411
430
  select_a_category: Por favor, selecciona una categoría
431
+ select_a_meeting_type: Por favor, selecciona un tipo de encuentro
432
+ select_a_registration_type: Por favor, selecciona un tipo de inscripción
412
433
  index:
413
434
  new_meeting: Nuevo encuentro
414
435
  meeting_minutes:
@@ -427,6 +448,7 @@ es-MX:
427
448
  show:
428
449
  attendees: Número de asistentes
429
450
  back: Volver al listado
451
+ close_meeting: Cerrar encuentro
430
452
  contributions: Número de contribuciones
431
453
  date: Fecha
432
454
  edit_meeting: Editar el encuentro
@@ -473,6 +495,10 @@ es-MX:
473
495
  confirmed_html: Se ha confirmado su inscripción para el encuentro <a href="%{url}">%{title}</a>.
474
496
  details: Encontrarás detalles del encuentro en el archivo adjunto.
475
497
  registration_code: Tu código de registro es %{code}.
498
+ registration_type:
499
+ on_different_platform: En una plataforma diferente
500
+ on_this_platform: En esta plataforma
501
+ registration_disabled: Inscripciones deshabilitadas
476
502
  registrations:
477
503
  create:
478
504
  invalid: Ha habido un problema al unirse a este encuentro.
@@ -483,6 +509,10 @@ es-MX:
483
509
  destroy:
484
510
  invalid: Ha habido un problema al salir de esta encuentro.
485
511
  success: Has salido del encuentro con éxito.
512
+ type_of_meeting:
513
+ hybrid: Ambos
514
+ in_person: Presencial
515
+ online: En línea
486
516
  types:
487
517
  private_meeting: Encuentro privado
488
518
  transparent: Transparente