Commit 11b5a563
Changed files (6)
app
assets
javascripts
backbone
templates
photos
views
controllers
api
services
application
app/assets/javascripts/backbone/templates/photos/new-modal.jst.ejs
@@ -4,16 +4,13 @@
</div>
<div class="modal-body">
<form id="new-photo" name="photo" class="form-horizontal">
+ <p>
+ <input id="watermark" name="watermark" maxlength="30" size="30" type="text" placeholder="watermark" /> on CakeSide.com
+ <a class="tooltip-item" data-placement="right" rel="tooltip" href="#" data-original-title="Watermark your name or company on each uploaded image" data-animation="true"><i class="icon-question-sign"></i></a>
+ </p>
<span class="btn btn-default btn-file">
+ Browse... <input id="photo-attachment" name="attachment" type="file" accept="image/*">
</span>
- <div class="control-group">
- <label class="control-label" for="watermark">Watermark</label>
- <div class="controls">
- <input class="input-xlarge" id="watermark" maxlength="30" name="watermark" size="30" type="text" value=""> on CakeSide.com
- <a class="tooltip-item" data-placement="right" rel="tooltip" href="#" data-original-title="Watermark your name or company on each uploaded image" data-animation="true"><i class="icon-question-sign"></i></a>
- </div>
- </div>
<img id="preview-image" src="#" alt="your image" class="hide" />
</form>
</div>
app/assets/javascripts/backbone/views/cakes/edit_view.js.coffee
@@ -37,7 +37,6 @@ class CakeSide.Views.Cakes.EditView extends Marionette.CompositeView
onRender: ->
@$("#cake_category_id").val(@model.category_id())
@$('#cake_tags').tagit({ availableTags: ALL_TAGS })
- @$('.tooltip-item').tooltip()
savedSuccessfully: (cake) =>
window.location.hash = "cakes/#{cake.id}"
app/assets/javascripts/backbone/views/cakes/new_view.js.coffee
@@ -29,7 +29,6 @@ class CakeSide.Views.Cakes.NewView extends Marionette.ItemView
onRender: ->
@$("#cake_category_id").val($("#cake_category_id option:first").val())
- @$('.tooltip-item').tooltip()
@model.isValid()
savedSuccessfully: (cake) =>
app/assets/javascripts/backbone/views/photos/new_modal_view.js.coffee
@@ -3,11 +3,13 @@ CakeSide.Views.Photos ||= {}
class CakeSide.Views.Photos.NewModalView extends Marionette.ItemView
template: JST["backbone/templates/photos/new-modal"]
ui:
+ watermark: '#watermark'
upload_button: "#upload-photo-button"
events:
"click #upload-photo-button": "save"
"change #photo-attachment": "displayPreview"
+ "keyup #watermark": "updateWatermark"
constructor: (options) ->
super(options)
@@ -15,6 +17,9 @@ class CakeSide.Views.Photos.NewModalView extends Marionette.ItemView
@cake = options.cake
@model = new @collection.model(cake_id: @cake.id)
+ onRender: ->
+ @$('.tooltip-item').tooltip()
+
save: (e) ->
e.preventDefault()
e.stopPropagation()
@@ -41,3 +46,6 @@ class CakeSide.Views.Photos.NewModalView extends Marionette.ItemView
closeDialog: (photo) ->
$('#modal').modal('hide')
+
+ updateWatermark: ->
+ @model.set('watermark', @ui.watermark.val())
app/controllers/api/v1/photos_controller.rb
@@ -21,7 +21,7 @@ module Api
private
def photo_params
- params.require(:photo).permit(:image)
+ params.require(:photo).permit(:image, :watermark)
end
end
end
app/services/application/upload_photo.rb
@@ -5,7 +5,7 @@ class UploadPhoto
end
def run(cake_id, params)
- photo = @cakes.find(cake_id).photos.create!(image_processing: true)
+ photo = @cakes.find(cake_id).photos.create!(image_processing: true, watermark: params[:watermark])
@message_bus.publish(:upload_photo, create_message_from(cake_id, params, photo))
map_from(photo.id, params[:image].original_filename)
end