decidim-calendar 0.13.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE-AGPLv3.txt +661 -0
- data/README.md +9 -0
- data/Rakefile +43 -0
- data/app/assets/config/decidim_calendar_manifest.css +2 -0
- data/app/assets/config/decidim_calendar_manifest.js +2 -0
- data/app/assets/images/decidim/calendar/icon.svg +51 -0
- data/app/assets/javascripts/decidim/calendar/calendar.js.es6 +6 -0
- data/app/assets/javascripts/decidim/calendar/gantt.js.es6 +1 -0
- data/app/assets/stylesheets/decidim/calendar/calendar.scss +102 -0
- data/app/assets/stylesheets/decidim/calendar/gantt.scss +1 -0
- data/app/commands/decidim/calendar/admin/create_external_event.rb +38 -0
- data/app/commands/decidim/calendar/admin/destroy_external_event.rb +27 -0
- data/app/commands/decidim/calendar/admin/update_external_event.rb +43 -0
- data/app/controllers/decidim/calendar/admin/application_controller.rb +23 -0
- data/app/controllers/decidim/calendar/admin/external_events_controller.rb +84 -0
- data/app/controllers/decidim/calendar/application_controller.rb +21 -0
- data/app/controllers/decidim/calendar/calendar_controller.rb +33 -0
- data/app/forms/decidim/calendar/admin/external_event_form.rb +21 -0
- data/app/helpers/decidim/calendar/calendar_helper.rb +57 -0
- data/app/models/decidim/calendar/application_record.rb +9 -0
- data/app/models/decidim/calendar/event.rb +25 -0
- data/app/models/decidim/calendar/external_event.rb +18 -0
- data/app/permissions/decidim/calendar/admin/permissions.rb +22 -0
- data/app/presenters/decidim/calendar/event_presenter.rb +104 -0
- data/app/queries/decidim/calendar/organization_calendar.rb +15 -0
- data/app/services/decidim/calendar/event_to_ical.rb +27 -0
- data/app/services/decidim/calendar/general_calendar.rb +13 -0
- data/app/services/decidim/calendar/meeting_to_event.rb +8 -0
- data/app/services/decidim/meetings/calendar/base_calendar.rb +61 -0
- data/app/views/decidim/calendar/admin/external_events/_form.html.erb +22 -0
- data/app/views/decidim/calendar/admin/external_events/edit.html.erb +6 -0
- data/app/views/decidim/calendar/admin/external_events/index.html.erb +66 -0
- data/app/views/decidim/calendar/admin/external_events/new.html.erb +6 -0
- data/app/views/decidim/calendar/calendar/gantt.html.erb +22 -0
- data/app/views/decidim/calendar/calendar/index.html.erb +63 -0
- data/app/views/decidim/shared/_extended_navigation_bar.html.erb +51 -0
- data/app/views/layouts/_calendar_navigation.html.erb +18 -0
- data/app/views/layouts/calendar.html.erb +4 -0
- data/config/locales/ca.yml +38 -0
- data/config/locales/de.yml +38 -0
- data/config/locales/en.yml +48 -0
- data/config/locales/es.yml +38 -0
- data/config/locales/fi.yml +38 -0
- data/config/locales/fr.yml +38 -0
- data/config/locales/it.yml +38 -0
- data/config/locales/pl.yml +38 -0
- data/config/locales/pt.yml +38 -0
- data/config/locales/ro.yml +38 -0
- data/config/locales/ru.yml +38 -0
- data/config/locales/sv.yml +38 -0
- data/config/locales/tr.yml +38 -0
- data/config/locales/uk.yml +38 -0
- data/db/migrate/20190312132654_create_decidim_calendar_external_events.rb +18 -0
- data/lib/decidim/calendar.rb +11 -0
- data/lib/decidim/calendar/admin.rb +9 -0
- data/lib/decidim/calendar/admin_engine.rb +30 -0
- data/lib/decidim/calendar/engine.rb +34 -0
- data/lib/decidim/calendar/participatory_space.rb +20 -0
- data/lib/decidim/calendar/test/factories.rb +12 -0
- data/lib/decidim/calendar/version.rb +10 -0
- data/vendor/assets/javascripts/frappe-gantt/frappe-gantt.css +119 -0
- data/vendor/assets/javascripts/frappe-gantt/frappe-gantt.js +1883 -0
- data/vendor/assets/javascripts/fullcalendar/bootstrap/main.css +33 -0
- data/vendor/assets/javascripts/fullcalendar/bootstrap/main.js +90 -0
- data/vendor/assets/javascripts/fullcalendar/bootstrap/main.min.css +5 -0
- data/vendor/assets/javascripts/fullcalendar/bootstrap/main.min.js +20 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales-all.js +1353 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales-all.min.js +6 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/af.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ar-dz.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ar-kw.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ar-ly.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ar-ma.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ar-sa.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ar-tn.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ar.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/bg.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/bs.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ca.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/cs.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/da.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/de.js +33 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/el.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/en-au.js +17 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/en-gb.js +17 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/en-nz.js +17 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/es-us.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/es.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/et.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/eu.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/fa.js +33 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/fi.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/fr-ca.js +27 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/fr-ch.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/fr.js +31 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/gl.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/he.js +27 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/hi.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/hr.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/hu.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/id.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/is.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/it.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ja.js +28 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ka.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/kk.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ko.js +26 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/lb.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/lt.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/lv.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/mk.js +28 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ms.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/nb.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/nl.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/nn.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/pl.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/pt-br.js +28 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/pt.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ro.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/ru.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/sk.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/sl.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/sq.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/sr-cyrl.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/sr.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/sv.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/th.js +25 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/tr.js +30 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/uk.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/vi.js +32 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/zh-cn.js +33 -0
- data/vendor/assets/javascripts/fullcalendar/core/locales/zh-tw.js +26 -0
- data/vendor/assets/javascripts/fullcalendar/core/main.css +900 -0
- data/vendor/assets/javascripts/fullcalendar/core/main.js +8791 -0
- data/vendor/assets/javascripts/fullcalendar/core/main.min.css +5 -0
- data/vendor/assets/javascripts/fullcalendar/core/main.min.js +9 -0
- data/vendor/assets/javascripts/fullcalendar/daygrid/main.css +69 -0
- data/vendor/assets/javascripts/fullcalendar/daygrid/main.js +1630 -0
- data/vendor/assets/javascripts/fullcalendar/daygrid/main.min.css +5 -0
- data/vendor/assets/javascripts/fullcalendar/daygrid/main.min.js +20 -0
- data/vendor/assets/javascripts/fullcalendar/google-calendar/main.js +169 -0
- data/vendor/assets/javascripts/fullcalendar/google-calendar/main.min.js +20 -0
- data/vendor/assets/javascripts/fullcalendar/interaction/main.js +2155 -0
- data/vendor/assets/javascripts/fullcalendar/interaction/main.min.js +21 -0
- data/vendor/assets/javascripts/fullcalendar/list/main.css +101 -0
- data/vendor/assets/javascripts/fullcalendar/list/main.js +341 -0
- data/vendor/assets/javascripts/fullcalendar/list/main.min.css +5 -0
- data/vendor/assets/javascripts/fullcalendar/list/main.min.js +20 -0
- data/vendor/assets/javascripts/fullcalendar/luxon/main.js +162 -0
- data/vendor/assets/javascripts/fullcalendar/luxon/main.min.js +20 -0
- data/vendor/assets/javascripts/fullcalendar/moment-timezone/main.js +64 -0
- data/vendor/assets/javascripts/fullcalendar/moment-timezone/main.min.js +20 -0
- data/vendor/assets/javascripts/fullcalendar/moment/main.js +103 -0
- data/vendor/assets/javascripts/fullcalendar/moment/main.min.js +6 -0
- data/vendor/assets/javascripts/fullcalendar/rrule/main.js +127 -0
- data/vendor/assets/javascripts/fullcalendar/rrule/main.min.js +20 -0
- data/vendor/assets/javascripts/fullcalendar/timegrid/main.css +266 -0
- data/vendor/assets/javascripts/fullcalendar/timegrid/main.js +1339 -0
- data/vendor/assets/javascripts/fullcalendar/timegrid/main.min.css +5 -0
- data/vendor/assets/javascripts/fullcalendar/timegrid/main.min.js +20 -0
- 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,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
|