From e94a2e164442af9f34469c6c91e137ef95c5b59d Mon Sep 17 00:00:00 2001 From: Jeremy Rudman Date: Mon, 25 Jan 2021 17:43:15 -0500 Subject: [PATCH 1/6] feat(schedule): add category field to schedule --- app/assets/javascripts/events.js | 2 ++ app/controllers/manage/events_controller.rb | 2 +- app/views/manage/events/_form.html.haml | 1 + db/migrate/20200529142141_create_events.rb | 1 + db/schema.rb | 1 + 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/events.js b/app/assets/javascripts/events.js index b24d7946f..dad3aa8ed 100644 --- a/app/assets/javascripts/events.js +++ b/app/assets/javascripts/events.js @@ -7,9 +7,11 @@ function eventCalendar() { eventRender: function (event, element, view) { var description = event.description ? event.description : ''; var location = event.location ? event.location : ''; + var category = event.category ? event.category : ''; element.find('.fc-event-dot').css('display','none'); element.find('.fc-list-item-title').append('
' + description + ''); element.find('.fc-list-item-title').append('
' + location + ''); + element.find('.fc-list-item-title').append('
' + category + ''); }, events: { url: '/manage/events.json', diff --git a/app/controllers/manage/events_controller.rb b/app/controllers/manage/events_controller.rb index 1fef9a636..cb89fc3e5 100644 --- a/app/controllers/manage/events_controller.rb +++ b/app/controllers/manage/events_controller.rb @@ -48,7 +48,7 @@ def destroy def event_params params.require(:event).permit( - :title, :description, :location, :public, :start, :finish, owner: [] + :title, :description, :location, :category, :start, :finish ) end end diff --git a/app/views/manage/events/_form.html.haml b/app/views/manage/events/_form.html.haml index a46cbe00c..10c8dd6bb 100644 --- a/app/views/manage/events/_form.html.haml +++ b/app/views/manage/events/_form.html.haml @@ -4,6 +4,7 @@ = f.input :title = f.input :description = f.input :location + = f.input :category = f.input :start = f.input :finish, include_blank: true .center diff --git a/db/migrate/20200529142141_create_events.rb b/db/migrate/20200529142141_create_events.rb index b9c06debc..60e8c0f9c 100644 --- a/db/migrate/20200529142141_create_events.rb +++ b/db/migrate/20200529142141_create_events.rb @@ -4,6 +4,7 @@ def change t.string :title t.string :description t.string :location + t.string :category t.datetime :start t.datetime :finish diff --git a/db/schema.rb b/db/schema.rb index a7eb1e2fb..cf0f80ffa 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -144,6 +144,7 @@ t.string "title" t.string "description" t.string "location" + t.string "category" t.datetime "start" t.datetime "finish" t.datetime "created_at", null: false From 2c4ede4fa379ce86781ef73e8b125e3df1b391bd Mon Sep 17 00:00:00 2001 From: Jeremy Rudman Date: Wed, 27 Jan 2021 22:45:50 -0500 Subject: [PATCH 2/6] moved event catorgory addition to a seprate migration --- db/migrate/20200529142141_create_events.rb | 1 - db/migrate/20210128025749_add_category_to_events.rb | 5 +++++ db/schema.rb | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 db/migrate/20210128025749_add_category_to_events.rb diff --git a/db/migrate/20200529142141_create_events.rb b/db/migrate/20200529142141_create_events.rb index 60e8c0f9c..b9c06debc 100644 --- a/db/migrate/20200529142141_create_events.rb +++ b/db/migrate/20200529142141_create_events.rb @@ -4,7 +4,6 @@ def change t.string :title t.string :description t.string :location - t.string :category t.datetime :start t.datetime :finish diff --git a/db/migrate/20210128025749_add_category_to_events.rb b/db/migrate/20210128025749_add_category_to_events.rb new file mode 100644 index 000000000..46d18805b --- /dev/null +++ b/db/migrate/20210128025749_add_category_to_events.rb @@ -0,0 +1,5 @@ +class AddCategoryToEvents < ActiveRecord::Migration[5.2] + def change + add_column :events, :category, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index cf0f80ffa..7da91af73 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2020_12_18_010133) do +ActiveRecord::Schema.define(version: 2021_01_28_025749) do create_table "active_storage_attachments", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| t.string "name", null: false @@ -144,11 +144,11 @@ t.string "title" t.string "description" t.string "location" - t.string "category" t.datetime "start" t.datetime "finish" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.string "category" end create_table "fips", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| From 3569e8e29420b128b4c5913ac6e2aaed5f34f8ee Mon Sep 17 00:00:00 2001 From: Jeremy Rudman Date: Sun, 31 Jan 2021 18:35:33 -0500 Subject: [PATCH 3/6] add category and location label for schedule display --- app/assets/javascripts/events.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/events.js b/app/assets/javascripts/events.js index dad3aa8ed..c93993990 100644 --- a/app/assets/javascripts/events.js +++ b/app/assets/javascripts/events.js @@ -7,15 +7,17 @@ function eventCalendar() { eventRender: function (event, element, view) { var description = event.description ? event.description : ''; var location = event.location ? event.location : ''; + var locationLabel = event.location ? 'Location: ' : ''; var category = event.category ? event.category : ''; - element.find('.fc-event-dot').css('display','none'); + var categoryLabel = event.category ? 'Category: ' : ''; + element.find('.fc-event-dot').css('display', 'none'); element.find('.fc-list-item-title').append('
' + description + ''); - element.find('.fc-list-item-title').append('
' + location + ''); - element.find('.fc-list-item-title').append('
' + category + ''); + element.find('.fc-list-item-title').append('
' + locationLabel + '' + location + ''); + element.find('.fc-list-item-title').append('
' + categoryLabel + '' + category + ''); }, events: { url: '/manage/events.json', - success: function(response) { + success: function (response) { // due to "end" being a keyword in ruby and what fullcalender uses it is stored as finish and than it is // converted to "end" when sending it to fullcalendar response = JSON.parse(JSON.stringify(response).split('"finish":').join('"end":')); From b477d5e3373ab94934cdff7e845e8b5a5562c916 Mon Sep 17 00:00:00 2001 From: Jeremy Rudman Date: Sun, 31 Jan 2021 19:18:30 -0500 Subject: [PATCH 4/6] made label more semantically nice --- app/assets/javascripts/events.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/events.js b/app/assets/javascripts/events.js index c93993990..38c4ea76e 100644 --- a/app/assets/javascripts/events.js +++ b/app/assets/javascripts/events.js @@ -6,14 +6,14 @@ function eventCalendar() { }, eventRender: function (event, element, view) { var description = event.description ? event.description : ''; - var location = event.location ? event.location : ''; - var locationLabel = event.location ? 'Location: ' : ''; - var category = event.category ? event.category : ''; - var categoryLabel = event.category ? 'Category: ' : ''; element.find('.fc-event-dot').css('display', 'none'); element.find('.fc-list-item-title').append('
' + description + ''); - element.find('.fc-list-item-title').append('
' + locationLabel + '' + location + ''); - element.find('.fc-list-item-title').append('
' + categoryLabel + '' + category + ''); + if (event.location) { + element.find('.fc-list-item-title').append('
Location: ' + event.location + ''); + } + if (event.category) { + element.find('.fc-list-item-title').append('
Category: ' + event.category + ''); + } }, events: { url: '/manage/events.json', From 02667798a5795cc32585ef56cf1e2449c1b09e66 Mon Sep 17 00:00:00 2001 From: Jeremy Rudman Date: Sun, 31 Jan 2021 21:31:32 -0500 Subject: [PATCH 5/6] more code cleanup for events --- app/assets/javascripts/events.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/events.js b/app/assets/javascripts/events.js index 38c4ea76e..58ab87d88 100644 --- a/app/assets/javascripts/events.js +++ b/app/assets/javascripts/events.js @@ -5,9 +5,10 @@ function eventCalendar() { today: 'Today' }, eventRender: function (event, element, view) { - var description = event.description ? event.description : ''; element.find('.fc-event-dot').css('display', 'none'); - element.find('.fc-list-item-title').append('
' + description + ''); + if(event.description){ + element.find('.fc-list-item-title').append('
' + event.description + ''); + } if (event.location) { element.find('.fc-list-item-title').append('
Location: ' + event.location + ''); } From 673bef397c96d533eb961a3f665b60964da0c2b2 Mon Sep 17 00:00:00 2001 From: JeremyRudman <38338616+JeremyRudman@users.noreply.github.com> Date: Sun, 31 Jan 2021 21:39:24 -0500 Subject: [PATCH 6/6] Update app/assets/javascripts/events.js Co-authored-by: Peter Kos --- app/assets/javascripts/events.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/events.js b/app/assets/javascripts/events.js index 58ab87d88..fbe50362b 100644 --- a/app/assets/javascripts/events.js +++ b/app/assets/javascripts/events.js @@ -6,7 +6,7 @@ function eventCalendar() { }, eventRender: function (event, element, view) { element.find('.fc-event-dot').css('display', 'none'); - if(event.description){ + if(event.description) { element.find('.fc-list-item-title').append('
' + event.description + ''); } if (event.location) {