From 8e26bb1797a3b14c47c9d85412da67aeb333901e Mon Sep 17 00:00:00 2001 From: Godwin Date: Sat, 15 Mar 2014 13:40:38 -0600 Subject: [PATCH] Workshop and event scaffolds --- app/assets/javascripts/event_types.js.coffee | 3 + app/assets/javascripts/events.js.coffee | 3 + .../workshop_facilitators.js.coffee | 3 + .../workshop_requested_resources.js.coffee | 3 + app/assets/stylesheets/event_types.css.scss | 3 + app/assets/stylesheets/events.css.scss | 3 + .../workshop_facilitators.css.scss | 3 + .../workshop_requested_resources.css.scss | 3 + app/controllers/event_types_controller.rb | 58 +++++++++++++++++++ app/controllers/events_controller.rb | 58 +++++++++++++++++++ .../workshop_facilitators_controller.rb | 58 +++++++++++++++++++ ...workshop_requested_resources_controller.rb | 58 +++++++++++++++++++ app/helpers/event_types_helper.rb | 2 + app/helpers/events_helper.rb | 2 + app/helpers/workshop_facilitators_helper.rb | 2 + .../workshop_requested_resources_helper.rb | 2 + app/models/event.rb | 2 + app/models/event_type.rb | 2 + app/models/workshop_facilitator.rb | 2 + app/models/workshop_requested_resource.rb | 2 + app/views/event_types/_form.html.haml | 16 +++++ app/views/event_types/edit.html.haml | 7 +++ app/views/event_types/index.html.haml | 21 +++++++ app/views/event_types/new.html.haml | 5 ++ app/views/event_types/show.html.haml | 12 ++++ app/views/events/_form.html.haml | 34 +++++++++++ app/views/events/edit.html.haml | 7 +++ app/views/events/index.html.haml | 33 +++++++++++ app/views/events/new.html.haml | 5 ++ app/views/events/show.html.haml | 30 ++++++++++ .../workshop_facilitators/_form.html.haml | 19 ++++++ .../workshop_facilitators/edit.html.haml | 7 +++ .../workshop_facilitators/index.html.haml | 23 ++++++++ app/views/workshop_facilitators/new.html.haml | 5 ++ .../workshop_facilitators/show.html.haml | 15 +++++ .../_form.html.haml | 19 ++++++ .../edit.html.haml | 7 +++ .../index.html.haml | 23 ++++++++ .../new.html.haml | 5 ++ .../show.html.haml | 15 +++++ config/routes.rb | 8 +++ ...0315175914_create_workshop_facilitators.rb | 11 ++++ ...222_create_workshop_requested_resources.rb | 11 ++++ .../20140315183121_create_event_types.rb | 10 ++++ db/migrate/20140315183241_create_events.rb | 16 +++++ db/schema.rb | 18 +++++- .../event_types_controller_test.rb | 49 ++++++++++++++++ test/controllers/events_controller_test.rb | 49 ++++++++++++++++ .../workshop_facilitators_controller_test.rb | 49 ++++++++++++++++ ...hop_requested_resources_controller_test.rb | 49 ++++++++++++++++ test/factories/event_types.rb | 8 +++ test/factories/events.rb | 14 +++++ test/factories/workshop_facilitators.rb | 9 +++ .../factories/workshop_requested_resources.rb | 9 +++ test/helpers/event_types_helper_test.rb | 4 ++ test/helpers/events_helper_test.rb | 4 ++ .../workshop_facilitators_helper_test.rb | 4 ++ ...orkshop_requested_resources_helper_test.rb | 4 ++ test/models/event_test.rb | 7 +++ test/models/event_type_test.rb | 7 +++ test/models/workshop_facilitator_test.rb | 7 +++ .../workshop_requested_resource_test.rb | 7 +++ 62 files changed, 933 insertions(+), 1 deletion(-) create mode 100644 app/assets/javascripts/event_types.js.coffee create mode 100644 app/assets/javascripts/events.js.coffee create mode 100644 app/assets/javascripts/workshop_facilitators.js.coffee create mode 100644 app/assets/javascripts/workshop_requested_resources.js.coffee create mode 100644 app/assets/stylesheets/event_types.css.scss create mode 100644 app/assets/stylesheets/events.css.scss create mode 100644 app/assets/stylesheets/workshop_facilitators.css.scss create mode 100644 app/assets/stylesheets/workshop_requested_resources.css.scss create mode 100644 app/controllers/event_types_controller.rb create mode 100644 app/controllers/events_controller.rb create mode 100644 app/controllers/workshop_facilitators_controller.rb create mode 100644 app/controllers/workshop_requested_resources_controller.rb create mode 100644 app/helpers/event_types_helper.rb create mode 100644 app/helpers/events_helper.rb create mode 100644 app/helpers/workshop_facilitators_helper.rb create mode 100644 app/helpers/workshop_requested_resources_helper.rb create mode 100644 app/models/event.rb create mode 100644 app/models/event_type.rb create mode 100644 app/models/workshop_facilitator.rb create mode 100644 app/models/workshop_requested_resource.rb create mode 100644 app/views/event_types/_form.html.haml create mode 100644 app/views/event_types/edit.html.haml create mode 100644 app/views/event_types/index.html.haml create mode 100644 app/views/event_types/new.html.haml create mode 100644 app/views/event_types/show.html.haml create mode 100644 app/views/events/_form.html.haml create mode 100644 app/views/events/edit.html.haml create mode 100644 app/views/events/index.html.haml create mode 100644 app/views/events/new.html.haml create mode 100644 app/views/events/show.html.haml create mode 100644 app/views/workshop_facilitators/_form.html.haml create mode 100644 app/views/workshop_facilitators/edit.html.haml create mode 100644 app/views/workshop_facilitators/index.html.haml create mode 100644 app/views/workshop_facilitators/new.html.haml create mode 100644 app/views/workshop_facilitators/show.html.haml create mode 100644 app/views/workshop_requested_resources/_form.html.haml create mode 100644 app/views/workshop_requested_resources/edit.html.haml create mode 100644 app/views/workshop_requested_resources/index.html.haml create mode 100644 app/views/workshop_requested_resources/new.html.haml create mode 100644 app/views/workshop_requested_resources/show.html.haml create mode 100644 db/migrate/20140315175914_create_workshop_facilitators.rb create mode 100644 db/migrate/20140315181222_create_workshop_requested_resources.rb create mode 100644 db/migrate/20140315183121_create_event_types.rb create mode 100644 db/migrate/20140315183241_create_events.rb create mode 100644 test/controllers/event_types_controller_test.rb create mode 100644 test/controllers/events_controller_test.rb create mode 100644 test/controllers/workshop_facilitators_controller_test.rb create mode 100644 test/controllers/workshop_requested_resources_controller_test.rb create mode 100644 test/factories/event_types.rb create mode 100644 test/factories/events.rb create mode 100644 test/factories/workshop_facilitators.rb create mode 100644 test/factories/workshop_requested_resources.rb create mode 100644 test/helpers/event_types_helper_test.rb create mode 100644 test/helpers/events_helper_test.rb create mode 100644 test/helpers/workshop_facilitators_helper_test.rb create mode 100644 test/helpers/workshop_requested_resources_helper_test.rb create mode 100644 test/models/event_test.rb create mode 100644 test/models/event_type_test.rb create mode 100644 test/models/workshop_facilitator_test.rb create mode 100644 test/models/workshop_requested_resource_test.rb diff --git a/app/assets/javascripts/event_types.js.coffee b/app/assets/javascripts/event_types.js.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/event_types.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/javascripts/events.js.coffee b/app/assets/javascripts/events.js.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/events.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/javascripts/workshop_facilitators.js.coffee b/app/assets/javascripts/workshop_facilitators.js.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/workshop_facilitators.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/javascripts/workshop_requested_resources.js.coffee b/app/assets/javascripts/workshop_requested_resources.js.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/workshop_requested_resources.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/event_types.css.scss b/app/assets/stylesheets/event_types.css.scss new file mode 100644 index 0000000..f315e26 --- /dev/null +++ b/app/assets/stylesheets/event_types.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the event_types controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/events.css.scss b/app/assets/stylesheets/events.css.scss new file mode 100644 index 0000000..04d79bd --- /dev/null +++ b/app/assets/stylesheets/events.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the events controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/workshop_facilitators.css.scss b/app/assets/stylesheets/workshop_facilitators.css.scss new file mode 100644 index 0000000..400b70f --- /dev/null +++ b/app/assets/stylesheets/workshop_facilitators.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the workshop_facilitators controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/workshop_requested_resources.css.scss b/app/assets/stylesheets/workshop_requested_resources.css.scss new file mode 100644 index 0000000..f1d8a3b --- /dev/null +++ b/app/assets/stylesheets/workshop_requested_resources.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the workshop_requested_resources controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/event_types_controller.rb b/app/controllers/event_types_controller.rb new file mode 100644 index 0000000..b6f03aa --- /dev/null +++ b/app/controllers/event_types_controller.rb @@ -0,0 +1,58 @@ +class EventTypesController < ApplicationController + before_action :set_event_type, only: [:show, :edit, :update, :destroy] + + # GET /event_types + def index + @event_types = EventType.all + end + + # GET /event_types/1 + def show + end + + # GET /event_types/new + def new + @event_type = EventType.new + end + + # GET /event_types/1/edit + def edit + end + + # POST /event_types + def create + @event_type = EventType.new(event_type_params) + + if @event_type.save + redirect_to @event_type, notice: 'Event type was successfully created.' + else + render action: 'new' + end + end + + # PATCH/PUT /event_types/1 + def update + if @event_type.update(event_type_params) + redirect_to @event_type, notice: 'Event type was successfully updated.' + else + render action: 'edit' + end + end + + # DELETE /event_types/1 + def destroy + @event_type.destroy + redirect_to event_types_url, notice: 'Event type was successfully destroyed.' + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_event_type + @event_type = EventType.find(params[:id]) + end + + # Only allow a trusted parameter "white list" through. + def event_type_params + params.require(:event_type).permit(:slug, :info) + end +end diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb new file mode 100644 index 0000000..96d871a --- /dev/null +++ b/app/controllers/events_controller.rb @@ -0,0 +1,58 @@ +class EventsController < ApplicationController + before_action :set_event, only: [:show, :edit, :update, :destroy] + + # GET /events + def index + @events = Event.all + end + + # GET /events/1 + def show + end + + # GET /events/new + def new + @event = Event.new + end + + # GET /events/1/edit + def edit + end + + # POST /events + def create + @event = Event.new(event_params) + + if @event.save + redirect_to @event, notice: 'Event was successfully created.' + else + render action: 'new' + end + end + + # PATCH/PUT /events/1 + def update + if @event.update(event_params) + redirect_to @event, notice: 'Event was successfully updated.' + else + render action: 'edit' + end + end + + # DELETE /events/1 + def destroy + @event.destroy + redirect_to events_url, notice: 'Event was successfully destroyed.' + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_event + @event = Event.find(params[:id]) + end + + # Only allow a trusted parameter "white list" through. + def event_params + params.require(:event).permit(:title, :slug, :event_type_id, :conference, :info, :location, :start_time, :end_time) + end +end diff --git a/app/controllers/workshop_facilitators_controller.rb b/app/controllers/workshop_facilitators_controller.rb new file mode 100644 index 0000000..057a6e6 --- /dev/null +++ b/app/controllers/workshop_facilitators_controller.rb @@ -0,0 +1,58 @@ +class WorkshopFacilitatorsController < ApplicationController + before_action :set_workshop_facilitator, only: [:show, :edit, :update, :destroy] + + # GET /workshop_facilitators + def index + @workshop_facilitators = WorkshopFacilitator.all + end + + # GET /workshop_facilitators/1 + def show + end + + # GET /workshop_facilitators/new + def new + @workshop_facilitator = WorkshopFacilitator.new + end + + # GET /workshop_facilitators/1/edit + def edit + end + + # POST /workshop_facilitators + def create + @workshop_facilitator = WorkshopFacilitator.new(workshop_facilitator_params) + + if @workshop_facilitator.save + redirect_to @workshop_facilitator, notice: 'Workshop facilitator was successfully created.' + else + render action: 'new' + end + end + + # PATCH/PUT /workshop_facilitators/1 + def update + if @workshop_facilitator.update(workshop_facilitator_params) + redirect_to @workshop_facilitator, notice: 'Workshop facilitator was successfully updated.' + else + render action: 'edit' + end + end + + # DELETE /workshop_facilitators/1 + def destroy + @workshop_facilitator.destroy + redirect_to workshop_facilitators_url, notice: 'Workshop facilitator was successfully destroyed.' + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_workshop_facilitator + @workshop_facilitator = WorkshopFacilitator.find(params[:id]) + end + + # Only allow a trusted parameter "white list" through. + def workshop_facilitator_params + params.require(:workshop_facilitator).permit(:user_id, :workshop_id, :role) + end +end diff --git a/app/controllers/workshop_requested_resources_controller.rb b/app/controllers/workshop_requested_resources_controller.rb new file mode 100644 index 0000000..24a3beb --- /dev/null +++ b/app/controllers/workshop_requested_resources_controller.rb @@ -0,0 +1,58 @@ +class WorkshopRequestedResourcesController < ApplicationController + before_action :set_workshop_requested_resource, only: [:show, :edit, :update, :destroy] + + # GET /workshop_requested_resources + def index + @workshop_requested_resources = WorkshopRequestedResource.all + end + + # GET /workshop_requested_resources/1 + def show + end + + # GET /workshop_requested_resources/new + def new + @workshop_requested_resource = WorkshopRequestedResource.new + end + + # GET /workshop_requested_resources/1/edit + def edit + end + + # POST /workshop_requested_resources + def create + @workshop_requested_resource = WorkshopRequestedResource.new(workshop_requested_resource_params) + + if @workshop_requested_resource.save + redirect_to @workshop_requested_resource, notice: 'Workshop requested resource was successfully created.' + else + render action: 'new' + end + end + + # PATCH/PUT /workshop_requested_resources/1 + def update + if @workshop_requested_resource.update(workshop_requested_resource_params) + redirect_to @workshop_requested_resource, notice: 'Workshop requested resource was successfully updated.' + else + render action: 'edit' + end + end + + # DELETE /workshop_requested_resources/1 + def destroy + @workshop_requested_resource.destroy + redirect_to workshop_requested_resources_url, notice: 'Workshop requested resource was successfully destroyed.' + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_workshop_requested_resource + @workshop_requested_resource = WorkshopRequestedResource.find(params[:id]) + end + + # Only allow a trusted parameter "white list" through. + def workshop_requested_resource_params + params.require(:workshop_requested_resource).permit(:workshop_id, :workshop_resource_id, :status) + end +end diff --git a/app/helpers/event_types_helper.rb b/app/helpers/event_types_helper.rb new file mode 100644 index 0000000..bf74a6e --- /dev/null +++ b/app/helpers/event_types_helper.rb @@ -0,0 +1,2 @@ +module EventTypesHelper +end diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb new file mode 100644 index 0000000..8a9a878 --- /dev/null +++ b/app/helpers/events_helper.rb @@ -0,0 +1,2 @@ +module EventsHelper +end diff --git a/app/helpers/workshop_facilitators_helper.rb b/app/helpers/workshop_facilitators_helper.rb new file mode 100644 index 0000000..302508e --- /dev/null +++ b/app/helpers/workshop_facilitators_helper.rb @@ -0,0 +1,2 @@ +module WorkshopFacilitatorsHelper +end diff --git a/app/helpers/workshop_requested_resources_helper.rb b/app/helpers/workshop_requested_resources_helper.rb new file mode 100644 index 0000000..47680fa --- /dev/null +++ b/app/helpers/workshop_requested_resources_helper.rb @@ -0,0 +1,2 @@ +module WorkshopRequestedResourcesHelper +end diff --git a/app/models/event.rb b/app/models/event.rb new file mode 100644 index 0000000..3a829fd --- /dev/null +++ b/app/models/event.rb @@ -0,0 +1,2 @@ +class Event < ActiveRecord::Base +end diff --git a/app/models/event_type.rb b/app/models/event_type.rb new file mode 100644 index 0000000..3c7329a --- /dev/null +++ b/app/models/event_type.rb @@ -0,0 +1,2 @@ +class EventType < ActiveRecord::Base +end diff --git a/app/models/workshop_facilitator.rb b/app/models/workshop_facilitator.rb new file mode 100644 index 0000000..cbd4419 --- /dev/null +++ b/app/models/workshop_facilitator.rb @@ -0,0 +1,2 @@ +class WorkshopFacilitator < ActiveRecord::Base +end diff --git a/app/models/workshop_requested_resource.rb b/app/models/workshop_requested_resource.rb new file mode 100644 index 0000000..317eea9 --- /dev/null +++ b/app/models/workshop_requested_resource.rb @@ -0,0 +1,2 @@ +class WorkshopRequestedResource < ActiveRecord::Base +end diff --git a/app/views/event_types/_form.html.haml b/app/views/event_types/_form.html.haml new file mode 100644 index 0000000..99cb943 --- /dev/null +++ b/app/views/event_types/_form.html.haml @@ -0,0 +1,16 @@ += form_for @event_type do |f| + - if @event_type.errors.any? + #error_explanation + %h2= "#{pluralize(@event_type.errors.count, "error")} prohibited this event_type from being saved:" + %ul + - @event_type.errors.full_messages.each do |msg| + %li= msg + + .field + = f.label :slug + = f.text_field :slug + .field + = f.label :info + = f.text_area :info + .actions + = f.submit 'Save' diff --git a/app/views/event_types/edit.html.haml b/app/views/event_types/edit.html.haml new file mode 100644 index 0000000..4d1d4c1 --- /dev/null +++ b/app/views/event_types/edit.html.haml @@ -0,0 +1,7 @@ +%h1 Editing event_type + += render 'form' + += link_to 'Show', @event_type +\| += link_to 'Back', event_types_path diff --git a/app/views/event_types/index.html.haml b/app/views/event_types/index.html.haml new file mode 100644 index 0000000..8c75a12 --- /dev/null +++ b/app/views/event_types/index.html.haml @@ -0,0 +1,21 @@ +%h1 Listing event_types + +%table + %tr + %th Slug + %th Info + %th + %th + %th + + - @event_types.each do |event_type| + %tr + %td= event_type.slug + %td= event_type.info + %td= link_to 'Show', event_type + %td= link_to 'Edit', edit_event_type_path(event_type) + %td= link_to 'Destroy', event_type, :method => :delete, :data => { :confirm => 'Are you sure?' } + +%br + += link_to 'New Event type', new_event_type_path diff --git a/app/views/event_types/new.html.haml b/app/views/event_types/new.html.haml new file mode 100644 index 0000000..ff86de1 --- /dev/null +++ b/app/views/event_types/new.html.haml @@ -0,0 +1,5 @@ +%h1 New event_type + += render 'form' + += link_to 'Back', event_types_path diff --git a/app/views/event_types/show.html.haml b/app/views/event_types/show.html.haml new file mode 100644 index 0000000..a37627f --- /dev/null +++ b/app/views/event_types/show.html.haml @@ -0,0 +1,12 @@ +%p#notice= notice + +%p + %b Slug: + = @event_type.slug +%p + %b Info: + = @event_type.info + += link_to 'Edit', edit_event_type_path(@event_type) +\| += link_to 'Back', event_types_path diff --git a/app/views/events/_form.html.haml b/app/views/events/_form.html.haml new file mode 100644 index 0000000..e87849b --- /dev/null +++ b/app/views/events/_form.html.haml @@ -0,0 +1,34 @@ += form_for @event do |f| + - if @event.errors.any? + #error_explanation + %h2= "#{pluralize(@event.errors.count, "error")} prohibited this event from being saved:" + %ul + - @event.errors.full_messages.each do |msg| + %li= msg + + .field + = f.label :title + = f.text_field :title + .field + = f.label :slug + = f.text_field :slug + .field + = f.label :event_type_id + = f.number_field :event_type_id + .field + = f.label :conference + = f.text_field :conference + .field + = f.label :info + = f.text_area :info + .field + = f.label :location + = f.text_field :location + .field + = f.label :start_time + = f.datetime_select :start_time + .field + = f.label :end_time + = f.datetime_select :end_time + .actions + = f.submit 'Save' diff --git a/app/views/events/edit.html.haml b/app/views/events/edit.html.haml new file mode 100644 index 0000000..5828e7a --- /dev/null +++ b/app/views/events/edit.html.haml @@ -0,0 +1,7 @@ +%h1 Editing event + += render 'form' + += link_to 'Show', @event +\| += link_to 'Back', events_path diff --git a/app/views/events/index.html.haml b/app/views/events/index.html.haml new file mode 100644 index 0000000..1f3bc64 --- /dev/null +++ b/app/views/events/index.html.haml @@ -0,0 +1,33 @@ +%h1 Listing events + +%table + %tr + %th Title + %th Slug + %th Event type + %th Conference + %th Info + %th Location + %th Start time + %th End time + %th + %th + %th + + - @events.each do |event| + %tr + %td= event.title + %td= event.slug + %td= event.event_type_id + %td= event.conference + %td= event.info + %td= event.location + %td= event.start_time + %td= event.end_time + %td= link_to 'Show', event + %td= link_to 'Edit', edit_event_path(event) + %td= link_to 'Destroy', event, :method => :delete, :data => { :confirm => 'Are you sure?' } + +%br + += link_to 'New Event', new_event_path diff --git a/app/views/events/new.html.haml b/app/views/events/new.html.haml new file mode 100644 index 0000000..6e0cccf --- /dev/null +++ b/app/views/events/new.html.haml @@ -0,0 +1,5 @@ +%h1 New event + += render 'form' + += link_to 'Back', events_path diff --git a/app/views/events/show.html.haml b/app/views/events/show.html.haml new file mode 100644 index 0000000..7a68a3b --- /dev/null +++ b/app/views/events/show.html.haml @@ -0,0 +1,30 @@ +%p#notice= notice + +%p + %b Title: + = @event.title +%p + %b Slug: + = @event.slug +%p + %b Event type: + = @event.event_type_id +%p + %b Conference: + = @event.conference +%p + %b Info: + = @event.info +%p + %b Location: + = @event.location +%p + %b Start time: + = @event.start_time +%p + %b End time: + = @event.end_time + += link_to 'Edit', edit_event_path(@event) +\| += link_to 'Back', events_path diff --git a/app/views/workshop_facilitators/_form.html.haml b/app/views/workshop_facilitators/_form.html.haml new file mode 100644 index 0000000..d4b8741 --- /dev/null +++ b/app/views/workshop_facilitators/_form.html.haml @@ -0,0 +1,19 @@ += form_for @workshop_facilitator do |f| + - if @workshop_facilitator.errors.any? + #error_explanation + %h2= "#{pluralize(@workshop_facilitator.errors.count, "error")} prohibited this workshop_facilitator from being saved:" + %ul + - @workshop_facilitator.errors.full_messages.each do |msg| + %li= msg + + .field + = f.label :user_id + = f.number_field :user_id + .field + = f.label :workshop_id + = f.number_field :workshop_id + .field + = f.label :role + = f.text_field :role + .actions + = f.submit 'Save' diff --git a/app/views/workshop_facilitators/edit.html.haml b/app/views/workshop_facilitators/edit.html.haml new file mode 100644 index 0000000..0ed8850 --- /dev/null +++ b/app/views/workshop_facilitators/edit.html.haml @@ -0,0 +1,7 @@ +%h1 Editing workshop_facilitator + += render 'form' + += link_to 'Show', @workshop_facilitator +\| += link_to 'Back', workshop_facilitators_path diff --git a/app/views/workshop_facilitators/index.html.haml b/app/views/workshop_facilitators/index.html.haml new file mode 100644 index 0000000..aaf863a --- /dev/null +++ b/app/views/workshop_facilitators/index.html.haml @@ -0,0 +1,23 @@ +%h1 Listing workshop_facilitators + +%table + %tr + %th User + %th Workshop + %th Role + %th + %th + %th + + - @workshop_facilitators.each do |workshop_facilitator| + %tr + %td= workshop_facilitator.user_id + %td= workshop_facilitator.workshop_id + %td= workshop_facilitator.role + %td= link_to 'Show', workshop_facilitator + %td= link_to 'Edit', edit_workshop_facilitator_path(workshop_facilitator) + %td= link_to 'Destroy', workshop_facilitator, :method => :delete, :data => { :confirm => 'Are you sure?' } + +%br + += link_to 'New Workshop facilitator', new_workshop_facilitator_path diff --git a/app/views/workshop_facilitators/new.html.haml b/app/views/workshop_facilitators/new.html.haml new file mode 100644 index 0000000..fdef139 --- /dev/null +++ b/app/views/workshop_facilitators/new.html.haml @@ -0,0 +1,5 @@ +%h1 New workshop_facilitator + += render 'form' + += link_to 'Back', workshop_facilitators_path diff --git a/app/views/workshop_facilitators/show.html.haml b/app/views/workshop_facilitators/show.html.haml new file mode 100644 index 0000000..f402b93 --- /dev/null +++ b/app/views/workshop_facilitators/show.html.haml @@ -0,0 +1,15 @@ +%p#notice= notice + +%p + %b User: + = @workshop_facilitator.user_id +%p + %b Workshop: + = @workshop_facilitator.workshop_id +%p + %b Role: + = @workshop_facilitator.role + += link_to 'Edit', edit_workshop_facilitator_path(@workshop_facilitator) +\| += link_to 'Back', workshop_facilitators_path diff --git a/app/views/workshop_requested_resources/_form.html.haml b/app/views/workshop_requested_resources/_form.html.haml new file mode 100644 index 0000000..b1b6045 --- /dev/null +++ b/app/views/workshop_requested_resources/_form.html.haml @@ -0,0 +1,19 @@ += form_for @workshop_requested_resource do |f| + - if @workshop_requested_resource.errors.any? + #error_explanation + %h2= "#{pluralize(@workshop_requested_resource.errors.count, "error")} prohibited this workshop_requested_resource from being saved:" + %ul + - @workshop_requested_resource.errors.full_messages.each do |msg| + %li= msg + + .field + = f.label :workshop_id + = f.number_field :workshop_id + .field + = f.label :workshop_resource_id + = f.number_field :workshop_resource_id + .field + = f.label :status + = f.text_field :status + .actions + = f.submit 'Save' diff --git a/app/views/workshop_requested_resources/edit.html.haml b/app/views/workshop_requested_resources/edit.html.haml new file mode 100644 index 0000000..ec78d77 --- /dev/null +++ b/app/views/workshop_requested_resources/edit.html.haml @@ -0,0 +1,7 @@ +%h1 Editing workshop_requested_resource + += render 'form' + += link_to 'Show', @workshop_requested_resource +\| += link_to 'Back', workshop_requested_resources_path diff --git a/app/views/workshop_requested_resources/index.html.haml b/app/views/workshop_requested_resources/index.html.haml new file mode 100644 index 0000000..10281f0 --- /dev/null +++ b/app/views/workshop_requested_resources/index.html.haml @@ -0,0 +1,23 @@ +%h1 Listing workshop_requested_resources + +%table + %tr + %th Workshop + %th Workshop resource + %th Status + %th + %th + %th + + - @workshop_requested_resources.each do |workshop_requested_resource| + %tr + %td= workshop_requested_resource.workshop_id + %td= workshop_requested_resource.workshop_resource_id + %td= workshop_requested_resource.status + %td= link_to 'Show', workshop_requested_resource + %td= link_to 'Edit', edit_workshop_requested_resource_path(workshop_requested_resource) + %td= link_to 'Destroy', workshop_requested_resource, :method => :delete, :data => { :confirm => 'Are you sure?' } + +%br + += link_to 'New Workshop requested resource', new_workshop_requested_resource_path diff --git a/app/views/workshop_requested_resources/new.html.haml b/app/views/workshop_requested_resources/new.html.haml new file mode 100644 index 0000000..376f258 --- /dev/null +++ b/app/views/workshop_requested_resources/new.html.haml @@ -0,0 +1,5 @@ +%h1 New workshop_requested_resource + += render 'form' + += link_to 'Back', workshop_requested_resources_path diff --git a/app/views/workshop_requested_resources/show.html.haml b/app/views/workshop_requested_resources/show.html.haml new file mode 100644 index 0000000..92982bc --- /dev/null +++ b/app/views/workshop_requested_resources/show.html.haml @@ -0,0 +1,15 @@ +%p#notice= notice + +%p + %b Workshop: + = @workshop_requested_resource.workshop_id +%p + %b Workshop resource: + = @workshop_requested_resource.workshop_resource_id +%p + %b Status: + = @workshop_requested_resource.status + += link_to 'Edit', edit_workshop_requested_resource_path(@workshop_requested_resource) +\| += link_to 'Back', workshop_requested_resources_path diff --git a/config/routes.rb b/config/routes.rb index 0639d2d..f4113aa 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,13 @@ BikeBike::Application.routes.draw do + resources :events + + resources :event_types + + resources :workshop_requested_resources + + resources :workshop_facilitators + resources :workshops #resources :conference_registration_responses diff --git a/db/migrate/20140315175914_create_workshop_facilitators.rb b/db/migrate/20140315175914_create_workshop_facilitators.rb new file mode 100644 index 0000000..60fa88c --- /dev/null +++ b/db/migrate/20140315175914_create_workshop_facilitators.rb @@ -0,0 +1,11 @@ +class CreateWorkshopFacilitators < ActiveRecord::Migration + def change + create_table :workshop_facilitators do |t| + t.integer :user_id + t.integer :workshop_id + t.string :role + + t.timestamps + end + end +end diff --git a/db/migrate/20140315181222_create_workshop_requested_resources.rb b/db/migrate/20140315181222_create_workshop_requested_resources.rb new file mode 100644 index 0000000..1a1878c --- /dev/null +++ b/db/migrate/20140315181222_create_workshop_requested_resources.rb @@ -0,0 +1,11 @@ +class CreateWorkshopRequestedResources < ActiveRecord::Migration + def change + create_table :workshop_requested_resources do |t| + t.integer :workshop_id + t.integer :workshop_resource_id + t.string :status + + t.timestamps + end + end +end diff --git a/db/migrate/20140315183121_create_event_types.rb b/db/migrate/20140315183121_create_event_types.rb new file mode 100644 index 0000000..68f2ad6 --- /dev/null +++ b/db/migrate/20140315183121_create_event_types.rb @@ -0,0 +1,10 @@ +class CreateEventTypes < ActiveRecord::Migration + def change + create_table :event_types do |t| + t.string :slug + t.text :info + + t.timestamps + end + end +end diff --git a/db/migrate/20140315183241_create_events.rb b/db/migrate/20140315183241_create_events.rb new file mode 100644 index 0000000..cc6d69b --- /dev/null +++ b/db/migrate/20140315183241_create_events.rb @@ -0,0 +1,16 @@ +class CreateEvents < ActiveRecord::Migration + def change + create_table :events do |t| + t.string :title + t.string :slug + t.integer :event_type_id + t.conference_id :conference + t.text :info + t.location_id :location + t.datetime :start_time + t.datetime :end_time + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 659a14c..cd6a1bd 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20140314025647) do +ActiveRecord::Schema.define(version: 20140315181222) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -204,6 +204,14 @@ ActiveRecord::Schema.define(version: 20140314025647) do t.text "value" end + create_table "workshop_facilitators", force: true do |t| + t.integer "user_id" + t.integer "workshop_id" + t.string "role" + t.datetime "created_at" + t.datetime "updated_at" + end + create_table "workshop_presentation_styles", force: true do |t| t.string "name" t.string "slug" @@ -212,6 +220,14 @@ ActiveRecord::Schema.define(version: 20140314025647) do t.datetime "updated_at" end + create_table "workshop_requested_resources", force: true do |t| + t.integer "workshop_id" + t.integer "workshop_resource_id" + t.string "status" + t.datetime "created_at" + t.datetime "updated_at" + end + create_table "workshop_resources", force: true do |t| t.string "name" t.string "slug" diff --git a/test/controllers/event_types_controller_test.rb b/test/controllers/event_types_controller_test.rb new file mode 100644 index 0000000..b0ac75c --- /dev/null +++ b/test/controllers/event_types_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class EventTypesControllerTest < ActionController::TestCase + setup do + @event_type = event_types(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:event_types) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create event_type" do + assert_difference('EventType.count') do + post :create, event_type: { info: @event_type.info, slug: @event_type.slug } + end + + assert_redirected_to event_type_path(assigns(:event_type)) + end + + test "should show event_type" do + get :show, id: @event_type + assert_response :success + end + + test "should get edit" do + get :edit, id: @event_type + assert_response :success + end + + test "should update event_type" do + patch :update, id: @event_type, event_type: { info: @event_type.info, slug: @event_type.slug } + assert_redirected_to event_type_path(assigns(:event_type)) + end + + test "should destroy event_type" do + assert_difference('EventType.count', -1) do + delete :destroy, id: @event_type + end + + assert_redirected_to event_types_path + end +end diff --git a/test/controllers/events_controller_test.rb b/test/controllers/events_controller_test.rb new file mode 100644 index 0000000..eddc1ea --- /dev/null +++ b/test/controllers/events_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class EventsControllerTest < ActionController::TestCase + setup do + @event = events(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:events) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create event" do + assert_difference('Event.count') do + post :create, event: { conference: @event.conference, end_time: @event.end_time, event_type_id: @event.event_type_id, info: @event.info, location: @event.location, slug: @event.slug, start_time: @event.start_time, title: @event.title } + end + + assert_redirected_to event_path(assigns(:event)) + end + + test "should show event" do + get :show, id: @event + assert_response :success + end + + test "should get edit" do + get :edit, id: @event + assert_response :success + end + + test "should update event" do + patch :update, id: @event, event: { conference: @event.conference, end_time: @event.end_time, event_type_id: @event.event_type_id, info: @event.info, location: @event.location, slug: @event.slug, start_time: @event.start_time, title: @event.title } + assert_redirected_to event_path(assigns(:event)) + end + + test "should destroy event" do + assert_difference('Event.count', -1) do + delete :destroy, id: @event + end + + assert_redirected_to events_path + end +end diff --git a/test/controllers/workshop_facilitators_controller_test.rb b/test/controllers/workshop_facilitators_controller_test.rb new file mode 100644 index 0000000..11a4f9c --- /dev/null +++ b/test/controllers/workshop_facilitators_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class WorkshopFacilitatorsControllerTest < ActionController::TestCase + setup do + @workshop_facilitator = workshop_facilitators(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:workshop_facilitators) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create workshop_facilitator" do + assert_difference('WorkshopFacilitator.count') do + post :create, workshop_facilitator: { role: @workshop_facilitator.role, user_id: @workshop_facilitator.user_id, workshop_id: @workshop_facilitator.workshop_id } + end + + assert_redirected_to workshop_facilitator_path(assigns(:workshop_facilitator)) + end + + test "should show workshop_facilitator" do + get :show, id: @workshop_facilitator + assert_response :success + end + + test "should get edit" do + get :edit, id: @workshop_facilitator + assert_response :success + end + + test "should update workshop_facilitator" do + patch :update, id: @workshop_facilitator, workshop_facilitator: { role: @workshop_facilitator.role, user_id: @workshop_facilitator.user_id, workshop_id: @workshop_facilitator.workshop_id } + assert_redirected_to workshop_facilitator_path(assigns(:workshop_facilitator)) + end + + test "should destroy workshop_facilitator" do + assert_difference('WorkshopFacilitator.count', -1) do + delete :destroy, id: @workshop_facilitator + end + + assert_redirected_to workshop_facilitators_path + end +end diff --git a/test/controllers/workshop_requested_resources_controller_test.rb b/test/controllers/workshop_requested_resources_controller_test.rb new file mode 100644 index 0000000..f5c9c89 --- /dev/null +++ b/test/controllers/workshop_requested_resources_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class WorkshopRequestedResourcesControllerTest < ActionController::TestCase + setup do + @workshop_requested_resource = workshop_requested_resources(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:workshop_requested_resources) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create workshop_requested_resource" do + assert_difference('WorkshopRequestedResource.count') do + post :create, workshop_requested_resource: { status: @workshop_requested_resource.status, workshop_id: @workshop_requested_resource.workshop_id, workshop_resource_id: @workshop_requested_resource.workshop_resource_id } + end + + assert_redirected_to workshop_requested_resource_path(assigns(:workshop_requested_resource)) + end + + test "should show workshop_requested_resource" do + get :show, id: @workshop_requested_resource + assert_response :success + end + + test "should get edit" do + get :edit, id: @workshop_requested_resource + assert_response :success + end + + test "should update workshop_requested_resource" do + patch :update, id: @workshop_requested_resource, workshop_requested_resource: { status: @workshop_requested_resource.status, workshop_id: @workshop_requested_resource.workshop_id, workshop_resource_id: @workshop_requested_resource.workshop_resource_id } + assert_redirected_to workshop_requested_resource_path(assigns(:workshop_requested_resource)) + end + + test "should destroy workshop_requested_resource" do + assert_difference('WorkshopRequestedResource.count', -1) do + delete :destroy, id: @workshop_requested_resource + end + + assert_redirected_to workshop_requested_resources_path + end +end diff --git a/test/factories/event_types.rb b/test/factories/event_types.rb new file mode 100644 index 0000000..795e087 --- /dev/null +++ b/test/factories/event_types.rb @@ -0,0 +1,8 @@ +# Read about factories at https://github.com/thoughtbot/factory_girl + +FactoryGirl.define do + factory :event_type do + slug "MyString" + info "MyText" + end +end diff --git a/test/factories/events.rb b/test/factories/events.rb new file mode 100644 index 0000000..2504b82 --- /dev/null +++ b/test/factories/events.rb @@ -0,0 +1,14 @@ +# Read about factories at https://github.com/thoughtbot/factory_girl + +FactoryGirl.define do + factory :event do + title "MyString" + slug "MyString" + event_type_id 1 + conference "" + info "MyText" + location "" + start_time "2014-03-15 12:32:41" + end_time "2014-03-15 12:32:41" + end +end diff --git a/test/factories/workshop_facilitators.rb b/test/factories/workshop_facilitators.rb new file mode 100644 index 0000000..50db5c7 --- /dev/null +++ b/test/factories/workshop_facilitators.rb @@ -0,0 +1,9 @@ +# Read about factories at https://github.com/thoughtbot/factory_girl + +FactoryGirl.define do + factory :workshop_facilitator do + user_id 1 + workshop_id 1 + role "MyString" + end +end diff --git a/test/factories/workshop_requested_resources.rb b/test/factories/workshop_requested_resources.rb new file mode 100644 index 0000000..8abaa5c --- /dev/null +++ b/test/factories/workshop_requested_resources.rb @@ -0,0 +1,9 @@ +# Read about factories at https://github.com/thoughtbot/factory_girl + +FactoryGirl.define do + factory :workshop_requested_resource do + workshop_id 1 + workshop_resource_id 1 + status "MyString" + end +end diff --git a/test/helpers/event_types_helper_test.rb b/test/helpers/event_types_helper_test.rb new file mode 100644 index 0000000..e62047a --- /dev/null +++ b/test/helpers/event_types_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class EventTypesHelperTest < ActionView::TestCase +end diff --git a/test/helpers/events_helper_test.rb b/test/helpers/events_helper_test.rb new file mode 100644 index 0000000..2e7567e --- /dev/null +++ b/test/helpers/events_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class EventsHelperTest < ActionView::TestCase +end diff --git a/test/helpers/workshop_facilitators_helper_test.rb b/test/helpers/workshop_facilitators_helper_test.rb new file mode 100644 index 0000000..4dc1d98 --- /dev/null +++ b/test/helpers/workshop_facilitators_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class WorkshopFacilitatorsHelperTest < ActionView::TestCase +end diff --git a/test/helpers/workshop_requested_resources_helper_test.rb b/test/helpers/workshop_requested_resources_helper_test.rb new file mode 100644 index 0000000..425320a --- /dev/null +++ b/test/helpers/workshop_requested_resources_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class WorkshopRequestedResourcesHelperTest < ActionView::TestCase +end diff --git a/test/models/event_test.rb b/test/models/event_test.rb new file mode 100644 index 0000000..c6f1566 --- /dev/null +++ b/test/models/event_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class EventTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/event_type_test.rb b/test/models/event_type_test.rb new file mode 100644 index 0000000..0d42331 --- /dev/null +++ b/test/models/event_type_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class EventTypeTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/workshop_facilitator_test.rb b/test/models/workshop_facilitator_test.rb new file mode 100644 index 0000000..4a15969 --- /dev/null +++ b/test/models/workshop_facilitator_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class WorkshopFacilitatorTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/workshop_requested_resource_test.rb b/test/models/workshop_requested_resource_test.rb new file mode 100644 index 0000000..bce24ce --- /dev/null +++ b/test/models/workshop_requested_resource_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class WorkshopRequestedResourceTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end