Commit 47c1d10d

mo khan <mo@mokhan.ca>
2014-07-05 22:12:02
add photo upload to the edit page.
1 parent 561a2d8
Changed files (3)
app
assets
javascripts
app/assets/javascripts/backbone/templates/cakes/edit.jst.ejs
@@ -1,5 +1,9 @@
 <div class="row">
-  <div class="span12">
+  <div class="span2">
+    <p> <a class="btn btn-primary add-photo">Add Photo...</a> </p>
+    <ul class="thumbnails"></ul>
+  </div>
+  <div class="span10">
     <h1><small>Edit</small> <%= cake.name %></h1>
     <hr />
     <form id="edit-cake" name="cake" class="form-horizontal">
@@ -53,7 +57,7 @@
           </div>
         </div>
         <div class="form-actions">
-          <button id='save-button' type="submit" class="btn btn-primary">Save</button>
+          <button id='save-button' type="submit" class="btn btn-primary">Publish</button>
           <a href="#cakes/<%= cake.id %>" class="btn">Cancel</a>
         </div>
       </fieldset>
app/assets/javascripts/backbone/views/cakes/edit_view.js.coffee
@@ -1,7 +1,10 @@
+#= require backbone/views/cakes/thumbnail_view
 CakeSide.Views.Cakes ||= {}
 
-class CakeSide.Views.Cakes.EditView extends Marionette.ItemView
+class CakeSide.Views.Cakes.EditView extends Marionette.CompositeView
   template : JST["backbone/templates/cakes/edit"]
+  childView: CakeSide.Views.Cakes.ThumbnailView
+  childViewContainer: '.thumbnails'
   ui:
     name: "#cake_name"
     watermark: "#cake_watermark"
@@ -18,6 +21,11 @@ class CakeSide.Views.Cakes.EditView extends Marionette.ItemView
     "keyup input": "refreshStatus"
     "change select": "refreshStatus"
     "submit #edit-cake" : "update"
+    "click .add-photo": "launchAddPhoto"
+
+  constructor: (options) ->
+    super(options)
+    @collection = @model.photos()
 
   update : (e) ->
     e.preventDefault()
@@ -68,3 +76,9 @@ class CakeSide.Views.Cakes.EditView extends Marionette.ItemView
       categories: CakeSide.Application.request('CategoriesRepository').toJSON(),
     }
 
+  launchAddPhoto: ->
+    @displayModal(new CakeSide.Views.Photos.NewModalView(cake: @model))
+
+  displayModal: (view) ->
+    $("#modal").html(view.render().el)
+    $("#modal").modal()
app/assets/javascripts/backbone/views/cakes/new_view.js.coffee
@@ -38,7 +38,7 @@ class CakeSide.Views.Cakes.NewView extends Marionette.ItemView
     @model.isValid()
 
   savedSuccessfully: (cake) =>
-    window.location.hash = "cakes/#{cake.id}"
+    window.location.hash = "cakes/#{cake.id}/edit"
 
   couldNotSave: (cake, xhr) =>
     @enableSaveButton()