decidim-calendar 0.13.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE-AGPLv3.txt +661 -0
  3. data/README.md +9 -0
  4. data/Rakefile +43 -0
  5. data/app/assets/config/decidim_calendar_manifest.css +2 -0
  6. data/app/assets/config/decidim_calendar_manifest.js +2 -0
  7. data/app/assets/images/decidim/calendar/icon.svg +51 -0
  8. data/app/assets/javascripts/decidim/calendar/calendar.js.es6 +6 -0
  9. data/app/assets/javascripts/decidim/calendar/gantt.js.es6 +1 -0
  10. data/app/assets/stylesheets/decidim/calendar/calendar.scss +102 -0
  11. data/app/assets/stylesheets/decidim/calendar/gantt.scss +1 -0
  12. data/app/commands/decidim/calendar/admin/create_external_event.rb +38 -0
  13. data/app/commands/decidim/calendar/admin/destroy_external_event.rb +27 -0
  14. data/app/commands/decidim/calendar/admin/update_external_event.rb +43 -0
  15. data/app/controllers/decidim/calendar/admin/application_controller.rb +23 -0
  16. data/app/controllers/decidim/calendar/admin/external_events_controller.rb +84 -0
  17. data/app/controllers/decidim/calendar/application_controller.rb +21 -0
  18. data/app/controllers/decidim/calendar/calendar_controller.rb +33 -0
  19. data/app/forms/decidim/calendar/admin/external_event_form.rb +21 -0
  20. data/app/helpers/decidim/calendar/calendar_helper.rb +57 -0
  21. data/app/models/decidim/calendar/application_record.rb +9 -0
  22. data/app/models/decidim/calendar/event.rb +25 -0
  23. data/app/models/decidim/calendar/external_event.rb +18 -0
  24. data/app/permissions/decidim/calendar/admin/permissions.rb +22 -0
  25. data/app/presenters/decidim/calendar/event_presenter.rb +104 -0
  26. data/app/queries/decidim/calendar/organization_calendar.rb +15 -0
  27. data/app/services/decidim/calendar/event_to_ical.rb +27 -0
  28. data/app/services/decidim/calendar/general_calendar.rb +13 -0
  29. data/app/services/decidim/calendar/meeting_to_event.rb +8 -0
  30. data/app/services/decidim/meetings/calendar/base_calendar.rb +61 -0
  31. data/app/views/decidim/calendar/admin/external_events/_form.html.erb +22 -0
  32. data/app/views/decidim/calendar/admin/external_events/edit.html.erb +6 -0
  33. data/app/views/decidim/calendar/admin/external_events/index.html.erb +66 -0
  34. data/app/views/decidim/calendar/admin/external_events/new.html.erb +6 -0
  35. data/app/views/decidim/calendar/calendar/gantt.html.erb +22 -0
  36. data/app/views/decidim/calendar/calendar/index.html.erb +63 -0
  37. data/app/views/decidim/shared/_extended_navigation_bar.html.erb +51 -0
  38. data/app/views/layouts/_calendar_navigation.html.erb +18 -0
  39. data/app/views/layouts/calendar.html.erb +4 -0
  40. data/config/locales/ca.yml +38 -0
  41. data/config/locales/de.yml +38 -0
  42. data/config/locales/en.yml +48 -0
  43. data/config/locales/es.yml +38 -0
  44. data/config/locales/fi.yml +38 -0
  45. data/config/locales/fr.yml +38 -0
  46. data/config/locales/it.yml +38 -0
  47. data/config/locales/pl.yml +38 -0
  48. data/config/locales/pt.yml +38 -0
  49. data/config/locales/ro.yml +38 -0
  50. data/config/locales/ru.yml +38 -0
  51. data/config/locales/sv.yml +38 -0
  52. data/config/locales/tr.yml +38 -0
  53. data/config/locales/uk.yml +38 -0
  54. data/db/migrate/20190312132654_create_decidim_calendar_external_events.rb +18 -0
  55. data/lib/decidim/calendar.rb +11 -0
  56. data/lib/decidim/calendar/admin.rb +9 -0
  57. data/lib/decidim/calendar/admin_engine.rb +30 -0
  58. data/lib/decidim/calendar/engine.rb +34 -0
  59. data/lib/decidim/calendar/participatory_space.rb +20 -0
  60. data/lib/decidim/calendar/test/factories.rb +12 -0
  61. data/lib/decidim/calendar/version.rb +10 -0
  62. data/vendor/assets/javascripts/frappe-gantt/frappe-gantt.css +119 -0
  63. data/vendor/assets/javascripts/frappe-gantt/frappe-gantt.js +1883 -0
  64. data/vendor/assets/javascripts/fullcalendar/bootstrap/main.css +33 -0
  65. data/vendor/assets/javascripts/fullcalendar/bootstrap/main.js +90 -0
  66. data/vendor/assets/javascripts/fullcalendar/bootstrap/main.min.css +5 -0
  67. data/vendor/assets/javascripts/fullcalendar/bootstrap/main.min.js +20 -0
  68. data/vendor/assets/javascripts/fullcalendar/core/locales-all.js +1353 -0
  69. data/vendor/assets/javascripts/fullcalendar/core/locales-all.min.js +6 -0
  70. data/vendor/assets/javascripts/fullcalendar/core/locales/af.js +30 -0
  71. data/vendor/assets/javascripts/fullcalendar/core/locales/ar-dz.js +31 -0
  72. data/vendor/assets/javascripts/fullcalendar/core/locales/ar-kw.js +31 -0
  73. data/vendor/assets/javascripts/fullcalendar/core/locales/ar-ly.js +31 -0
  74. data/vendor/assets/javascripts/fullcalendar/core/locales/ar-ma.js +31 -0
  75. data/vendor/assets/javascripts/fullcalendar/core/locales/ar-sa.js +31 -0
  76. data/vendor/assets/javascripts/fullcalendar/core/locales/ar-tn.js +31 -0
  77. data/vendor/assets/javascripts/fullcalendar/core/locales/ar.js +31 -0
  78. data/vendor/assets/javascripts/fullcalendar/core/locales/bg.js +31 -0
  79. data/vendor/assets/javascripts/fullcalendar/core/locales/bs.js +32 -0
  80. data/vendor/assets/javascripts/fullcalendar/core/locales/ca.js +30 -0
  81. data/vendor/assets/javascripts/fullcalendar/core/locales/cs.js +32 -0
  82. data/vendor/assets/javascripts/fullcalendar/core/locales/da.js +30 -0
  83. data/vendor/assets/javascripts/fullcalendar/core/locales/de.js +33 -0
  84. data/vendor/assets/javascripts/fullcalendar/core/locales/el.js +30 -0
  85. data/vendor/assets/javascripts/fullcalendar/core/locales/en-au.js +17 -0
  86. data/vendor/assets/javascripts/fullcalendar/core/locales/en-gb.js +17 -0
  87. data/vendor/assets/javascripts/fullcalendar/core/locales/en-nz.js +17 -0
  88. data/vendor/assets/javascripts/fullcalendar/core/locales/es-us.js +30 -0
  89. data/vendor/assets/javascripts/fullcalendar/core/locales/es.js +30 -0
  90. data/vendor/assets/javascripts/fullcalendar/core/locales/et.js +32 -0
  91. data/vendor/assets/javascripts/fullcalendar/core/locales/eu.js +30 -0
  92. data/vendor/assets/javascripts/fullcalendar/core/locales/fa.js +33 -0
  93. data/vendor/assets/javascripts/fullcalendar/core/locales/fi.js +30 -0
  94. data/vendor/assets/javascripts/fullcalendar/core/locales/fr-ca.js +27 -0
  95. data/vendor/assets/javascripts/fullcalendar/core/locales/fr-ch.js +31 -0
  96. data/vendor/assets/javascripts/fullcalendar/core/locales/fr.js +31 -0
  97. data/vendor/assets/javascripts/fullcalendar/core/locales/gl.js +30 -0
  98. data/vendor/assets/javascripts/fullcalendar/core/locales/he.js +27 -0
  99. data/vendor/assets/javascripts/fullcalendar/core/locales/hi.js +32 -0
  100. data/vendor/assets/javascripts/fullcalendar/core/locales/hr.js +32 -0
  101. data/vendor/assets/javascripts/fullcalendar/core/locales/hu.js +30 -0
  102. data/vendor/assets/javascripts/fullcalendar/core/locales/id.js +30 -0
  103. data/vendor/assets/javascripts/fullcalendar/core/locales/is.js +30 -0
  104. data/vendor/assets/javascripts/fullcalendar/core/locales/it.js +32 -0
  105. data/vendor/assets/javascripts/fullcalendar/core/locales/ja.js +28 -0
  106. data/vendor/assets/javascripts/fullcalendar/core/locales/ka.js +32 -0
  107. data/vendor/assets/javascripts/fullcalendar/core/locales/kk.js +32 -0
  108. data/vendor/assets/javascripts/fullcalendar/core/locales/ko.js +26 -0
  109. data/vendor/assets/javascripts/fullcalendar/core/locales/lb.js +30 -0
  110. data/vendor/assets/javascripts/fullcalendar/core/locales/lt.js +30 -0
  111. data/vendor/assets/javascripts/fullcalendar/core/locales/lv.js +32 -0
  112. data/vendor/assets/javascripts/fullcalendar/core/locales/mk.js +28 -0
  113. data/vendor/assets/javascripts/fullcalendar/core/locales/ms.js +32 -0
  114. data/vendor/assets/javascripts/fullcalendar/core/locales/nb.js +30 -0
  115. data/vendor/assets/javascripts/fullcalendar/core/locales/nl.js +30 -0
  116. data/vendor/assets/javascripts/fullcalendar/core/locales/nn.js +30 -0
  117. data/vendor/assets/javascripts/fullcalendar/core/locales/pl.js +30 -0
  118. data/vendor/assets/javascripts/fullcalendar/core/locales/pt-br.js +28 -0
  119. data/vendor/assets/javascripts/fullcalendar/core/locales/pt.js +30 -0
  120. data/vendor/assets/javascripts/fullcalendar/core/locales/ro.js +32 -0
  121. data/vendor/assets/javascripts/fullcalendar/core/locales/ru.js +32 -0
  122. data/vendor/assets/javascripts/fullcalendar/core/locales/sk.js +32 -0
  123. data/vendor/assets/javascripts/fullcalendar/core/locales/sl.js +30 -0
  124. data/vendor/assets/javascripts/fullcalendar/core/locales/sq.js +32 -0
  125. data/vendor/assets/javascripts/fullcalendar/core/locales/sr-cyrl.js +32 -0
  126. data/vendor/assets/javascripts/fullcalendar/core/locales/sr.js +32 -0
  127. data/vendor/assets/javascripts/fullcalendar/core/locales/sv.js +30 -0
  128. data/vendor/assets/javascripts/fullcalendar/core/locales/th.js +25 -0
  129. data/vendor/assets/javascripts/fullcalendar/core/locales/tr.js +30 -0
  130. data/vendor/assets/javascripts/fullcalendar/core/locales/uk.js +32 -0
  131. data/vendor/assets/javascripts/fullcalendar/core/locales/vi.js +32 -0
  132. data/vendor/assets/javascripts/fullcalendar/core/locales/zh-cn.js +33 -0
  133. data/vendor/assets/javascripts/fullcalendar/core/locales/zh-tw.js +26 -0
  134. data/vendor/assets/javascripts/fullcalendar/core/main.css +900 -0
  135. data/vendor/assets/javascripts/fullcalendar/core/main.js +8791 -0
  136. data/vendor/assets/javascripts/fullcalendar/core/main.min.css +5 -0
  137. data/vendor/assets/javascripts/fullcalendar/core/main.min.js +9 -0
  138. data/vendor/assets/javascripts/fullcalendar/daygrid/main.css +69 -0
  139. data/vendor/assets/javascripts/fullcalendar/daygrid/main.js +1630 -0
  140. data/vendor/assets/javascripts/fullcalendar/daygrid/main.min.css +5 -0
  141. data/vendor/assets/javascripts/fullcalendar/daygrid/main.min.js +20 -0
  142. data/vendor/assets/javascripts/fullcalendar/google-calendar/main.js +169 -0
  143. data/vendor/assets/javascripts/fullcalendar/google-calendar/main.min.js +20 -0
  144. data/vendor/assets/javascripts/fullcalendar/interaction/main.js +2155 -0
  145. data/vendor/assets/javascripts/fullcalendar/interaction/main.min.js +21 -0
  146. data/vendor/assets/javascripts/fullcalendar/list/main.css +101 -0
  147. data/vendor/assets/javascripts/fullcalendar/list/main.js +341 -0
  148. data/vendor/assets/javascripts/fullcalendar/list/main.min.css +5 -0
  149. data/vendor/assets/javascripts/fullcalendar/list/main.min.js +20 -0
  150. data/vendor/assets/javascripts/fullcalendar/luxon/main.js +162 -0
  151. data/vendor/assets/javascripts/fullcalendar/luxon/main.min.js +20 -0
  152. data/vendor/assets/javascripts/fullcalendar/moment-timezone/main.js +64 -0
  153. data/vendor/assets/javascripts/fullcalendar/moment-timezone/main.min.js +20 -0
  154. data/vendor/assets/javascripts/fullcalendar/moment/main.js +103 -0
  155. data/vendor/assets/javascripts/fullcalendar/moment/main.min.js +6 -0
  156. data/vendor/assets/javascripts/fullcalendar/rrule/main.js +127 -0
  157. data/vendor/assets/javascripts/fullcalendar/rrule/main.min.js +20 -0
  158. data/vendor/assets/javascripts/fullcalendar/timegrid/main.css +266 -0
  159. data/vendor/assets/javascripts/fullcalendar/timegrid/main.js +1339 -0
  160. data/vendor/assets/javascripts/fullcalendar/timegrid/main.min.css +5 -0
  161. data/vendor/assets/javascripts/fullcalendar/timegrid/main.min.js +20 -0
  162. metadata +247 -0
@@ -0,0 +1,38 @@
1
+ fr:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,38 @@
1
+ it:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,38 @@
1
+ pl:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,38 @@
1
+ pt-BR:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,38 @@
1
+ ro:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,38 @@
1
+ ru:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,38 @@
1
+ sv:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,38 @@
1
+ tr:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,38 @@
1
+ uk:
2
+ decidim:
3
+ calendar:
4
+ admin:
5
+ actions:
6
+ new_external_event: New external event
7
+ external_events:
8
+ index:
9
+ title: External events
10
+ no_records_html: <p>No external events created.</p> <p>Start by adding a external event from the "<a href="%{new_set_link}">%{button_name}</a>" button.</p>
11
+ create:
12
+ invalid: Invalid external event
13
+ success: External event created successfully
14
+ destroy:
15
+ success: External event deleted successfully
16
+ edit:
17
+ save: Save external event
18
+ form:
19
+ title: External event
20
+ new:
21
+ title: New external event
22
+ create: Create external event
23
+ update:
24
+ invalid: Error updating external event
25
+ success: External event updated successfully
26
+ models:
27
+ external_events:
28
+ fields:
29
+ title: Title
30
+ start_at: Start at
31
+ end_at: End at
32
+ url: URL
33
+ index:
34
+ title: Global Calendar
35
+ menu:
36
+ calendar: Calendar
37
+ gantt: Gantt Graph
38
+ ical: Download ICAL
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimCalendarExternalEvents < ActiveRecord::Migration[5.2]
4
+ def change
5
+ create_table :decidim_calendar_external_events do |t|
6
+ t.jsonb :title, null: false
7
+ t.datetime :start_at, null: false
8
+ t.datetime :end_at, null: false
9
+ t.string :url
10
+ t.integer :decidim_author_id, null: false
11
+ t.string :decidim_author_type
12
+ t.integer :decidim_organization_id, null: false
13
+
14
+ t.index :decidim_author_id, name: :decidim_calendar_external_event_author
15
+ t.index :decidim_organization_id, name: :decidim_calendar_external_event_organization
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/calendar/admin"
4
+ require "decidim/calendar/admin_engine"
5
+ require "decidim/calendar/engine"
6
+ require "decidim/calendar/participatory_space"
7
+
8
+ module Decidim
9
+ module Calendar
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Calendar
5
+ # This holds the logic associated to `decidim-calendar` admin panel
6
+ module Admin
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Calendar
5
+ class AdminEngine < ::Rails::Engine
6
+ isolate_namespace Decidim::Calendar::Admin
7
+
8
+ paths["db/migrate"] = nil
9
+ paths["lib/tasks"] = nil
10
+
11
+ routes do
12
+ resources :external_events
13
+ end
14
+
15
+ initializer "decidim_calendar.admin_menu" do
16
+ Decidim.menu :admin_menu do |menu|
17
+ menu.item I18n.t("menu.calendar", scope: "decidim.calendar"),
18
+ decidim_admin_calendar.external_events_path,
19
+ icon_name: "calendar",
20
+ position: 5.5,
21
+ active: :inclusive
22
+ end
23
+ end
24
+
25
+ def load_seeds
26
+ nil
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails"
4
+ require "decidim/core"
5
+ require "active_support/all"
6
+
7
+ module Decidim
8
+ module Calendar
9
+ class Engine < ::Rails::Engine
10
+ isolate_namespace Decidim::Calendar
11
+
12
+ routes do
13
+ namespace :calendar do
14
+ get "/", action: :index, as: :index
15
+ get "/gantt", action: :gantt, as: :gantt
16
+ get "/ical", action: :ical, as: :ical
17
+ end
18
+ end
19
+
20
+ initializer "decidim_calendar.assets" do |app|
21
+ app.config.assets.precompile += %w(decidim_calendar_manifest.js decidim_calendar_manifest.css)
22
+ end
23
+
24
+ initializer "decidim_calendar.menu" do
25
+ Decidim.menu :menu do |menu|
26
+ menu.item I18n.t("menu.calendar", scope: "decidim.calendar"),
27
+ decidim_calendar.calendar_index_path,
28
+ position: 6.0,
29
+ active: :inclusive
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end