Commit 3809550d
Changed files (20)
app
assets
javascripts
backbone
controllers
templates
cakes
views
cakes
controllers
helpers
models
views
layouts
my
config
app/assets/javascripts/backbone/controllers/cakes_controller.js.coffee
@@ -3,11 +3,11 @@ class CakeSide.Controllers.CakesController extends Marionette.Controller
initialize: (options) ->
@content_region = CakeSide.Application.content_region
@cakes = CakeSide.Application.request('CakesRepository')
- @comment_view = CakeSide.Application.request('CommentView')
+ #@comment_view = CakeSide.Application.request('CommentView')
index: ->
@selectTab()
- @comment_view.hide()
+ #@comment_view.hide()
@content_region.show(new @views.IndexView(collection: @cakes))
show: (id, photo_id) ->
@@ -21,13 +21,13 @@ class CakeSide.Controllers.CakesController extends Marionette.Controller
newCake: ->
@selectTab()
- @comment_view.hide()
+ #@comment_view.hide()
@content_region.show(new @views.NewView(collection: @cakes))
edit: (id) ->
@selectTab()
@content_region.show(new @views.EditView(model: @cakes.get(id)))
- @comment_view.hide()
+ #@comment_view.hide()
selectTab: ->
$('.nav-list').children().removeClass('active')
app/assets/javascripts/backbone/controllers/dashboard_controller.js.coffee
@@ -1,6 +1,6 @@
class CakeSide.Controllers.DashboardController extends Marionette.Controller
initialize: (options) ->
- @comment_view = CakeSide.Application.request('CommentView')
+ #@comment_view = CakeSide.Application.request('CommentView')
index: ->
- @comment_view.hide()
+ #@comment_view.hide()
app/assets/javascripts/backbone/controllers/profile_controller.js.coffee
@@ -2,11 +2,11 @@ class CakeSide.Controllers.ProfileController extends Marionette.Controller
views: CakeSide.Views.Profiles
initialize: (options) ->
@content_region = CakeSide.Application.content_region
- @comment_view = CakeSide.Application.request('CommentView')
+ #@comment_view = CakeSide.Application.request('CommentView')
show: (id) ->
@selectTab()
- @comment_view.hide()
+ #@comment_view.hide()
profile = new CakeSide.Models.Profile
id: id
profile.fetch
app/assets/javascripts/backbone/controllers/tutorials_controller.js.coffee
@@ -3,26 +3,26 @@ class CakeSide.Controllers.TutorialsController extends Marionette.Controller
initialize: (options) ->
@content_region = CakeSide.Application.content_region
@tutorials = CakeSide.Application.request('TutorialsRepository')
- @comment_view = CakeSide.Application.request('CommentView')
+ #@comment_view = CakeSide.Application.request('CommentView')
index: ->
@selectTab()
- @comment_view.hide()
+ #@comment_view.hide()
@content_region.show(new @views.IndexView(collection: @tutorials))
new: ->
@selectTab()
- @comment_view.hide()
+ #@comment_view.hide()
@content_region.show(new @views.NewView(collection: @tutorials))
show: (id) ->
@selectTab()
tutorial = @tutorials.get(id)
@content_region.show(new @views.ShowView(model: tutorial))
- @comment_view.render
- identifier: "t-#{tutorial.id}"
- title: tutorial.get('heading')
- url: tutorial.get('url')
+ #@comment_view.render
+ #identifier: "t-#{tutorial.id}"
+ #title: tutorial.get('heading')
+ #url: tutorial.get('url')
selectTab: ->
$('.nav-list').children().removeClass('active')
app/assets/javascripts/backbone/templates/cakes/cake.jst.ejs
@@ -5,11 +5,9 @@
</a>
<% } %>
<div class="media-body">
- <h4 class="media-heading"><%= name %></h4>
- <%= story %>
+ <h4 class="media-heading"><a href="#cakes/<%= id %>"><%= name %></a></h4>
<p>
<a href="#cakes/<%= id %>/edit"><i class="fa fa-edit"></i>edit</a>
<a href="<%= Routes.cake_favorites_path(id) %>"><i class="fa fa-heart"></i>fanclub</a>
- <span class="badge badge-warning"><i class="fa fa-comment"></i><a href="/creations/<%= id %>#disqus_thread" data-disqus-identifier="c-<%= id %>"></a></span>
</p>
</div>
app/assets/javascripts/backbone/templates/cakes/edit.jst.ejs
@@ -43,17 +43,6 @@
<input name="cake_tags" type="text" id="cake_tags" value="<%= tags %>" class="input-xxlarge" autocomplete="off" />
</div>
</div>
- <div class="control-group">
- <label for="cake_tools" class="control-label">Tools</label>
- <div class="controls">
- <% if (typeof(cake.tools) === "string") { %>
- <% tools = _.map(cake.tools.split(','), function(x){ return x; }) %>
- <% } else { %>
- <% tools = _.map(cake.tools, function(x){ return x.name; }) %>
- <% } %>
- <input name="cake_tools" type="text" id="cake_tools" value="<%= tools %>" class="input-xxlarge" autocomplete="off" />
- </div>
- </div>
<div class="form-actions">
<button id='save-button' type="submit" class="btn btn-primary">Publish</button>
<a href="#cakes/<%= cake.id %>" class="btn">Cancel</a>
app/assets/javascripts/backbone/views/cakes/edit_view.js.coffee
@@ -10,7 +10,6 @@ class CakeSide.Views.Cakes.EditView extends Marionette.CompositeView
description: "#cake_story"
category: "#cake_category_id"
tags: "#cake_tags"
- tools: "#cake_tools"
save_button: '#save-button'
modelEvents:
@@ -38,7 +37,6 @@ class CakeSide.Views.Cakes.EditView extends Marionette.CompositeView
onRender: ->
@$("#cake_category_id").val(@model.category_id())
@ui.tags.tagit({ availableTags: ALL_TAGS })
- @ui.tools.tagit({ availableTags: ALL_TOOLS })
@disableSaveButton()
savedSuccessfully: (cake) =>
@@ -57,7 +55,6 @@ class CakeSide.Views.Cakes.EditView extends Marionette.CompositeView
@model.set('story', @ui.description.val())
@model.set('category_id', @ui.category.val())
@model.set('tags', @ui.tags.val())
- @model.set('tools', @ui.tools.val())
@model.isValid()
displayError: (model, error) ->
app/assets/javascripts/backbone/cakeside.js.coffee
@@ -41,10 +41,10 @@ window.CakeSide =
@tutorials = new CakeSide.Collections.TutorialsCollection()
@tutorials.fetch(reset: true)
- @disqus_view = new CakeSide.Views.DisqusView
- disqus_shortname: data.disqus_shortname
- CakeSide.Application.reqres.setHandler 'CommentView', =>
- @disqus_view
+ #@disqus_view = new CakeSide.Views.DisqusView
+ #disqus_shortname: data.disqus_shortname
+ #CakeSide.Application.reqres.setHandler 'CommentView', =>
+ #@disqus_view
CakeSide.Application.reqres.setHandler 'CakesRepository', =>
@cakes
CakeSide.Application.reqres.setHandler 'CategoriesRepository', =>
app/assets/javascripts/application.js
@@ -11,6 +11,7 @@
// about supported directives.
//
//= require jquery
+//= require jquery.turbolinks
//= require jquery-migrate
//= require jquery_ujs
//= require turbolinks
app/controllers/my/kitchens_controller.rb
@@ -0,0 +1,7 @@
+module My
+ class KitchensController < BaseController
+ def show
+ @tags = Tag.unique_tags
+ end
+ end
+end
app/helpers/my/dashboard_helper.rb
@@ -1,11 +1,4 @@
module My
module DashboardHelper
- def unique_tags
- Tag.unique_tags
- end
-
- def unique_tools
- Tag.unique_tools
- end
end
end
app/models/creation.rb
@@ -7,7 +7,6 @@ class Creation < ActiveRecord::Base
has_many :favorites, :dependent => :destroy
has_many :comments, dependent: :destroy
acts_as_taggable_on :tags
- acts_as_taggable_on :tools
alias_method :author, :user
default_scope -> { order(created_at: :desc) }
app/models/tag.rb
@@ -4,18 +4,6 @@ class Tag
.joins(:taggings)
.where(taggings: { context: 'tags' })
.order(:name)
- .pluck(:name)
.uniq
end
-
- def self.unique_tools
- #ActsAsTaggableOn::Tag
- #.joins(:taggings)
- #.where(taggings: { context: 'tools' })
- #.where(taggings: { taggable_type: Creation.name })
- #.order(:name)
- #.pluck(:name)
- #.uniq
- Tool.all
- end
end
app/views/layouts/_header.html.erb
@@ -21,7 +21,7 @@
<% if user_signed_in? %>
<ul class="nav pull-right" data-no-turbolink>
<li>
- <%= link_to my_root_path do %>
+ <%= link_to my_dashboard_path do %>
<%= avatar_for(current_user, size: 24) %> <%= current_user.name %>
<% end %>
</li>
@@ -43,7 +43,7 @@
</ul>
</li>
<li>
- <%= link_to my_root_path do %>
+ <%= link_to my_dashboard_path do %>
<i class="fa fa-inbox"></i>
<% end %>
</li>
app/views/my/dashboard/index.html.erb
@@ -1,35 +1,9 @@
<% provide(:title, "Dashboard") -%>
-<%= content_for :javascript do -%>
- <%= javascript_tag do %>
- var ALL_TAGS = <%= raw unique_tags %>;
- var ALL_TOOLS = <%= raw unique_tools %>;
- var disqus_shortname = '<%= ENV['DISQUS_SHORTNAME'] %>';
- var disqus_identifier = 'u-<%= current_user.id %>';
- var disqus_config = function(){
- this.page.remote_auth_s3 = '<%= disqus_auth %>';
- this.page.api_key = '<%= ENV['DISQUS_API_KEY'] %>';
- };
- $(document).ready(function(){
- CakeSide.initialize({
- access_token: '<%= current_user.authentication_token %>',
- disqus_shortname: disqus_shortname,
- });
- });
- $(document).on('page:load', function(){
- Backbone.history.stop();
- CakeSide.initialize({
- access_token: '<%= current_user.authentication_token %>',
- disqus_shortname: disqus_shortname,
- });
- });
- <% end %>
-<% end -%>
-
<div class="row">
<div class="span2">
<%= render partial: "my/shared/my_nav" %>
</div>
- <div id="backbone-content" class="span10">
+ <div class="span10">
<div class="row">
<div class="span5">
<h5>My Cakes</h5>
@@ -58,5 +32,3 @@
</div>
</div>
</div>
-<div id="disqus_thread" class="row-fluid"></div>
-<div id="modal" class="modal hide fade"></div>
app/views/my/kitchens/show.html.erb
@@ -0,0 +1,25 @@
+<% provide(:title, "Kitchen") -%>
+<%= content_for :javascript do -%>
+ <%= javascript_tag do %>
+ var ALL_TAGS = <%= raw @tags.pluck(:name) %>;
+ var disqus_shortname = '<%= ENV['DISQUS_SHORTNAME'] %>';
+ var disqus_identifier = 'u-<%= current_user.id %>';
+ var disqus_config = function(){
+ this.page.remote_auth_s3 = '<%= disqus_auth %>';
+ this.page.api_key = '<%= ENV['DISQUS_API_KEY'] %>';
+ };
+ CakeSide.initialize({
+ access_token: '<%= current_user.authentication_token %>',
+ disqus_shortname: disqus_shortname
+ });
+ <% end %>
+<% end %>
+
+<div class="row">
+ <div class="span2">
+ <%= render partial: "my/shared/my_nav" %>
+ </div>
+ <div id="backbone-content" class="span10"></div>
+</div>
+<div id="disqus_thread" class="row-fluid"></div>
+<div id="modal" class="modal hide fade"></div>
config/routes.rb
@@ -89,6 +89,7 @@ Cake::Application.routes.draw do
resources :settings, only: [:index, :update]
resources :passwords, only: [:index, :update]
resources :avatars, only: [:new, :create]
- root to: "dashboard#index"
+ resource :kitchen, only: [:show]
+ root to: "kitchens#show"
end
end
Gemfile
@@ -17,6 +17,7 @@ end
gem 'acts-as-taggable-on'
gem 'jquery-ui-rails', '~> 4.0.0'
+gem 'jquery-turbolinks'
gem 'mini_magick'
gem "kaminari"
gem 'bootstrap-sass', '~> 2.3.0'
Gemfile.lock
@@ -197,6 +197,9 @@ GEM
jquery-rails (3.1.2)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
+ jquery-turbolinks (2.1.0)
+ railties (>= 3.1.0)
+ turbolinks
jquery-ui-rails (4.0.5)
railties (>= 3.1.0)
js-routes (0.9.9)
@@ -402,6 +405,7 @@ DEPENDENCIES
groupdate
jbuilder
jquery-rails
+ jquery-turbolinks
jquery-ui-rails (~> 4.0.0)
js-routes
kaminari