Created
April 12, 2012 22:47
-
-
Save Fiyorden/2371569 to your computer and use it in GitHub Desktop.
Erreur d'utilisation de jquery-file-upload
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This is a manifest file that'll be compiled into application.js, which will include all the files | |
// listed below. | |
// | |
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, | |
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. | |
// | |
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the | |
// the compiled file. | |
// | |
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD | |
// GO AFTER THE REQUIRES BELOW. | |
// | |
//= require jquery | |
//= require jquery-ui | |
//= require jquery_ujs | |
//= require twitter/bootstrap | |
//= require gmaps4rails/bing.js | |
//= require gmaps4rails/googlemaps.js | |
//= require gmaps4rails/mapquest.js | |
//= require gmaps4rails/openlayers.js | |
//= require gmaps4rails/all_apis.js | |
//= require highcharts | |
//= require highcharts/modules/exporting | |
//= require shadowbox | |
//= require_tree . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Metric < ActiveRecord::Base | |
include Rails.application.routes.url_helpers | |
mount_uploader :metering, MeteringUploader | |
attr_accessible :metering | |
def to_jq_upload | |
{ | |
"name" => read_attribute(:metering), | |
"size" => metering.size, | |
"url" => metering.url, | |
"thumbnail_url" => nil, | |
"delete_url" => metrics_path(:id => id), | |
"delete_type" => "DELETE" | |
} | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class MetricsController < ApplicationController | |
def index | |
@metrics = Metric.all | |
respond_to do |format| | |
format.html | |
format.json { render :json =>@metrics.collect { |p| p.to_jq_upload }.to_json} | |
end | |
end | |
def create | |
@metric = Metric.new(params[:metric]) | |
if @metric.save | |
respond_to do |format| | |
format.html { redirect_to metrics_url, notice: 'Metric was successfully created.' } | |
format.json { render :json => [@metric.to_jq_upload].to_json | |
} | |
end | |
else | |
render :json => [{:error => "custom_failure"}], :status => 304 | |
end | |
end | |
def destroy | |
@metric = Metric.find(params[:id]) | |
@metric.destroy | |
render :json => true | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<h2>Gestion des métriques</h2> | |
<%= form_for Metric.new, :html => { :multipart => true, :class => 'form-horizontal' } do |f| %> | |
<fieldset> | |
<legend>Add a Metrics</legend> | |
<div class="fileupload-buttonbar"> | |
<div class="progressbar fileupload-progressbar nofade"><div style="width:0%;"></div></div> | |
<div class="form-actions"> | |
<span class="btn btn-success fileinput-button"> | |
<i class="icon-plus icon-white"></i> | |
<span>Add files...</span> | |
<input type="file" name="files[]"> | |
</span> | |
<button type="submit" class="btn btn-primary"><i class="icon-upload icon-white"></i> Start Upload</button> | |
<button type="reset" class="btn btn-warning"><i class="icon-ban-circle icon-white"></i> Cancel Upload</button> | |
<button type="button" class="btn btn-danger"><i class="icon-trash icon-white"></i> Delete Selected</button> | |
<input type="checkbox" class="toggle"> | |
</div> | |
</div> | |
</fieldset> | |
<div class="fileupload-loading"></div> | |
<br> | |
<table class="table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody></table> | |
<% end %> | |
<script> | |
var fileUploadErrors = { | |
maxFileSize: 'File is too big', | |
minFileSize: 'File is too small', | |
acceptFileTypes: 'Filetype not allowed', | |
maxNumberOfFiles: 'Max number of files exceeded', | |
uploadedBytes: 'Uploaded bytes exceed file size', | |
emptyResult: 'Empty file upload result' | |
}; | |
</script> | |
<!-- modal-gallery is the modal dialog used for the image gallery --> | |
<div id="modal-gallery" class="modal modal-gallery hide fade"> | |
<div class="modal-header"> | |
<a class="close" data-dismiss="modal">×</a> | |
<h3 class="modal-title"></h3> | |
</div> | |
<div class="modal-body"><div class="modal-image"></div></div> | |
<div class="modal-footer"> | |
<a class="btn modal-download" target="_blank"> | |
<i class="icon-download"></i> | |
<span>Download</span> | |
</a> | |
<a class="btn btn-success modal-play modal-slideshow" data-slideshow="5000"> | |
<i class="icon-play icon-white"></i> | |
<span>Slideshow</span> | |
</a> | |
<a class="btn btn-info modal-prev"> | |
<i class="icon-arrow-left icon-white"></i> | |
<span>Previous</span> | |
</a> | |
<a class="btn btn-primary modal-next"> | |
<span>Next</span> | |
<i class="icon-arrow-right icon-white"></i> | |
</a> | |
</div> | |
</div> | |
<!-- The template to display files available for upload --> | |
<script id="template-upload" type="text/x-tmpl"> | |
{% for (var i=0, file; file=o.files[i]; i++) { %} | |
<tr class="template-upload fade"> | |
<td class="preview"><span class="fade"></span></td> | |
<td class="name"><span>{%=file.name%}</span></td> | |
<td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td> | |
{% if (file.error) { %} | |
<td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td> | |
{% } else if (o.files.valid && !i) { %} | |
<td> | |
<div class="progress progress-success progress-striped active"><div class="bar" style="width:0%;"></div></div> | |
</td> | |
<td class="start">{% if (!o.options.autoUpload) { %} | |
<button class="btn btn-primary"> | |
<i class="icon-upload icon-white"></i> | |
<span>{%=locale.fileupload.start%}</span> | |
</button> | |
{% } %}</td> | |
{% } else { %} | |
<td colspan="2"></td> | |
{% } %} | |
<td class="cancel">{% if (!i) { %} | |
<button class="btn btn-warning"> | |
<i class="icon-ban-circle icon-white"></i> | |
<span>{%=locale.fileupload.cancel%}</span> | |
</button> | |
{% } %}</td> | |
</tr> | |
{% } %} | |
</script> | |
<!-- The template to display files available for download --> | |
<script id="template-download" type="text/x-tmpl"> | |
{% for (var i=0, file; file=o.files[i]; i++) { %} | |
<tr class="template-download fade"> | |
{% if (file.error) { %} | |
<td></td> | |
<td class="name"><span>{%=file.name%}</span></td> | |
<td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td> | |
<td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td> | |
{% } else { %} | |
<td class="preview">{% if (file.thumbnail_url) { %} | |
<a href="{%=file.url%}" title="{%=file.name%}" rel="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a> | |
{% } %}</td> | |
<td class="name"> | |
<a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a> | |
</td> | |
<td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td> | |
<td colspan="2"></td> | |
{% } %} | |
<td class="delete"> | |
<button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}"> | |
<i class="icon-trash icon-white"></i> | |
<span>{%=locale.fileupload.destroy%}</span> | |
</button> | |
<input type="checkbox" name="delete" value="1"> | |
</td> | |
</tr> | |
{% } %} | |
</script> | |
<%= javascript_include_tag 'jquery.iframe-transport.js' %> | |
<%= javascript_include_tag 'jquery.fileupload.js' %> | |
<%= javascript_include_tag 'jquery.fileupload-ui.js' %> | |
<script type="text/javascript" charset="utf-8"> | |
$(function () { | |
'use strict'; | |
// Initialize the jQuery File Upload widget: | |
$('#fileupload').fileupload(); | |
// Load existing files: | |
$('#fileupload').each(function () { | |
var that = this; | |
$.getJSON(this.action, function (result) { | |
if (result && result.length) { | |
$(that).fileupload('option', 'done') | |
.call(that, null, {result: result}); | |
} | |
}); | |
}); | |
}); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment