Merge branch 'develop' of github.com:CartoDB/cartodb20 into develop

2.0
Simon Tokumine 12 years ago
commit 34f36f259a

@ -1,7 +1,7 @@
class Api::Json::ImportsController < Api::ApplicationController
if Rails.env.production?
ssl_required :index, :show, :create
ssl_required :all
end
def index
@ -16,7 +16,7 @@ class Api::Json::ImportsController < Api::ApplicationController
import_values = import.values rescue {}
success = import_values[:state].blank? || import_values[:state] != 'failure'
render :json => {:import => import_values, :success => success}, :status => success ? :ok : :unprocessable_entity
render :json => import_values, :status => success ? :ok : :unprocessable_entity
end
def create

@ -18,6 +18,7 @@ javascripts:
dashboard:
- public/js/lib/cartodb/app.js
- public/js/vendor/d3.v2.js
- public/js/vendor/fileuploader.js
- public/js/lib/cartodb/models/**/*.js
- public/js/lib/cartodb/common/**/*.js
- public/js/lib/cartodb/dashboard/**/*.js

@ -24,8 +24,22 @@ cdb.admin.CreateTableDialog = cdb.ui.common.Dialog.extend({
},
render_content: function() {
//this.content = new TableSelector();
//return this.content.render().el;
return 'hola jamon';
var self = this;
e = $('<div>');
var uploader = new qq.FileUploader({
element: e[0],
action: '/api/v1/uploads',
onComplete: function(id, fileName, responseJSON){
console.log(responseJSON);
var imp = new cdb.admin.Import({
table_name: 'test',
file_uri: responseJSON.file_uri
});
self.trigger('importStarted', imp);
imp.save();
self.hide();
}
});
return e;
},
})

@ -57,7 +57,18 @@ $(function() {
var dialog = new cdb.admin.CreateTableDialog();
this.$el.append(dialog.render().el);
dialog.open();
dialog.bind('importStarted', this._importStarted, this);
},
_importStarted: function(imp) {
//TODO: create dialog to show the import progress
var self = this;
imp.pollCheck();
imp.bind('importComplete', function(){
cdb.log.info("updating tables");
self.tables.fetch();
imp.unbind();
});
},
onClickOut: function(ev) {

@ -45,6 +45,7 @@ cdb.admin.dashboard = cdb.admin.dashboard || {};
render: function() {
var self = this;
this.$el.html('');
this.model.each(function(m) {
self.addTable(m);
});

@ -0,0 +1,44 @@
cdb.admin.File = Backbone.Model.extend({
urlRoot: '/api/v1/upload'
});
cdb.admin.Files = Backbone.Collection.extend({
url: '/api/v1/upload'
});
cdb.admin.Import = Backbone.Model.extend({
idAttribute: 'item_queue_id',
urlRoot: '/api/v1/imports',
initialize: function() {
this.bind('change', this._checkFinish, this);
},
/**
* checks for poll to finish
*/
pollCheck: function(i) {
var self = this;
var tries = 0;
this.pollTimer = setInterval(function() {
cdb.log.debug("checking job for finish: " + tries);
self.fetch();
++tries;
}, i || 1500);
},
_checkFinish: function() {
if(this.get('state') === 'complete') {
cdb.log.debug("job finished");
clearInterval(this.pollTimer);
this.trigger('importComplete');
}
}
});
cdb.admin.Imports = Backbone.Model.extend({
url: '/api/v1/imports'
});

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save