Commit 588559c4

mo khan <mo@mokhan.ca>
2014-07-01 14:41:11
extract helpers and redirect to show page after creating.
1 parent a980c33
Changed files (3)
app
assets
javascripts
app/assets/javascripts/backbone/templates/cakes/show.jst.ejs
@@ -1,7 +1,7 @@
 <div class="row">
   <div class="span6">
-    <% if(_.any(photos)) { %>
-    <% random_photo = photos[Math.floor(Math.random()*photos.length)]%>
+    <% if (hasImage()) { %>
+    <% random_photo = randomPhoto()%>
     <a href="#/cakes/<%= id %>/photos/<%= random_photo.id %>">
     <img class="thumbnail" src="<%= random_photo.large_url %>" alt="<%= name %>" />
     </a>
app/assets/javascripts/backbone/views/cakes/new_view.js.coffee
@@ -37,7 +37,7 @@ class CakeSide.Views.Cakes.NewView extends Marionette.ItemView
     @$('.tooltip-item').tooltip()
 
   savedSuccessfully: (cake) =>
-    window.location.hash = "/cakes/#{cake.id}/photos/new"
+    window.location.hash = "/cakes/#{cake.id}"
 
   couldNotSave: (cake, xhr) =>
     @enableSaveButton()
app/assets/javascripts/backbone/views/cakes/show_view.js.coffee
@@ -9,6 +9,13 @@ class CakeSide.Views.Cakes.ShowView extends Marionette.CompositeView
   events:
     "click #add-photo": "launchAddPhoto"
 
+  templateHelpers:
+    hasImage: ->
+      typeof(@photos) != 'undefined' && _.any(@photos)
+
+    randomPhoto: ->
+      @photos[Math.floor(Math.random()*@photos.length)]
+
   constructor: (options) ->
     super(options)
     @collection = @model.photos()