Commit 546e12e
Changed files (9)
app
assets
javascripts
stylesheets
controllers
views
workouts
app/assets/javascripts/application.js
@@ -20,6 +20,7 @@
//= require ractive-backbone
//= require Chart.bundle
//= require chartkick
+//= require fullcalendar
//= require_self
//= require_tree .
//= require turbolinks
app/assets/stylesheets/application.scss
@@ -12,6 +12,7 @@
*
*= require font-awesome
*= require bulma
+ *= require fullcalendar
*= require_self
*/
app/controllers/workouts_controller.rb
@@ -8,6 +8,10 @@ class WorkoutsController < ApplicationController
@workouts = recent_workouts(@exercise)
end
+ def calendar
+ @workouts = current_user.workouts.recent.includes(:routine)
+ end
+
def new
@routine = find_routine(params[:routine_id])
@all_routines = current_program.routines - [@routine]
app/views/workouts/calendar.html.erb
@@ -0,0 +1,15 @@
+<div class="container">
+ <div class="columns">
+ <div class="column is-12">
+ <div id="calendar"></div>
+ </div>
+ </div>
+</div>
+
+<% content_for :javascript do %>
+ $(function(){
+ $('#calendar').fullCalendar({
+ events: <%= raw @workouts.map { |x| { title: x.routine.name, start: x.occurred_at.strftime("%Y-%m-%d") } }.to_json %>
+ });
+ });
+<% end %>
app/views/workouts/index.html.erb
@@ -57,6 +57,7 @@
<div class="columns">
<div class="column is-12">
+ <p class="has-text-right"><%= link_to t(".calendar"), calendar_workouts_path %></p>
<table class="table is-bordered is-striped is-narrow">
<thead>
<tr>
config/locales/en.yml
@@ -109,6 +109,9 @@ en:
blurb_html: This is your custom email address for sending CSV exports from the <a href="http://stronglifts.com/apps/">StrongLifts 5x5 mobile application</a>.
copy: Copy
warning: To ensure your workouts are imported correctly we suggest that you update your timezone.
+ workouts:
+ index:
+ calendar: View Calendar
views:
pagination:
first: "« First"
config/routes.rb
@@ -3,7 +3,11 @@ Rails.application.routes.draw do
resources :sessions, only: [:new, :create, :destroy]
resources :registrations, only: [:new, :create]
resources :sets, only: [:update]
- resources :workouts, only: [:index, :new, :create, :edit]
+ resources :workouts, only: [:index, :new, :create, :edit] do
+ collection do
+ get :calendar
+ end
+ end
resources :programs, only: [:show] do
collection do
get :texas_method
Gemfile
@@ -77,6 +77,7 @@ end
source "https://rails-assets.org" do
gem "rails-assets-backbone"
gem "rails-assets-clipboard"
+ gem "rails-assets-fullcalendar"
gem "rails-assets-lodash"
gem "rails-assets-modernizr"
gem "rails-assets-moment"
Gemfile.lock
@@ -273,6 +273,10 @@ GEM
rails-assets-backbone (1.3.3)
rails-assets-underscore (>= 1.8.3)
rails-assets-clipboard (1.5.12)
+ rails-assets-fullcalendar (3.2.0)
+ rails-assets-jquery (>= 2, < 4)
+ rails-assets-moment (>= 2.9.0, < 3)
+ rails-assets-jquery (3.1.1)
rails-assets-lodash (4.13.1)
rails-assets-modernizr (3.3.1)
rails-assets-moment (2.14.1)
@@ -480,6 +484,7 @@ DEPENDENCIES
rails (~> 5.0.0)!
rails-assets-backbone!
rails-assets-clipboard!
+ rails-assets-fullcalendar!
rails-assets-lodash!
rails-assets-modernizr!
rails-assets-moment!
@@ -513,4 +518,4 @@ DEPENDENCIES
yelp!
BUNDLED WITH
- 1.14.4
+ 1.14.5