static profile, wip

pull/12784/head
Carlos Matallín 7 years ago
parent 8d2c41aed6
commit 48069af08f

@ -39,6 +39,8 @@ class Admin::UsersController < Admin::AdminController
PASSWORD_DOES_NOT_MATCH_MESSAGE = 'Password does not match'
def profile
return render(file: "public/static/profile/index.html", layout: false) if current_user.has_feature_flag?('static_frontend')
@avatar_valid_extensions = AVATAR_VALID_EXTENSIONS
respond_to do |format|

@ -85,6 +85,9 @@ module CartoDB
account_templates.js
account_deps.js
account.js
account_templates_static.js
account_deps_static.js
account_static.js
keys_templates.js
keys_deps.js
keys.js

@ -0,0 +1,135 @@
var $ = require('jquery-cdb-v3');
var cdb = require('cartodb.js-v3');
var _ = require('underscore-cdb-v3');
var HeaderView = require('../common/views/dashboard_header_view');
var SupportView = require('../common/support_view');
var HeaderViewModel = require('./header_view_model');
var LocalStorage = require('../common/local_storage');
var DeleteAccount = require('../common/delete_account_view');
var UpgradeMessage = require('../common/upgrade_message_view');
var AvatarSelector = require('../common/avatar_selector_view');
var GooglePlus = require('../common/google_plus');
var ServiceItem = require('./service_item_view');
var UserNotificationView = require('../common/user_notification/user_notification_view');
var UserNotificationModel = require('../common/user_notification/user_notification_model');
if (window.trackJs) {
window.trackJs.configure({
userId: window.user_data.username
});
}
/**
* Entry point for the new keys, bootstraps all dependency models and application.
*/
$(function () {
cdb.init(function () {
cdb.templates.namespace = 'cartodb/';
cdb.config.set('url_prefix', window.user_data.base_url);
cdb.config.set(window.config); // import config
$(document.body).bind('click', function () {
cdb.god.trigger('closeDialogs');
});
var currentUser = window.currentUser = new cdb.admin.User(
_.extend(
window.user_data,
{
can_change_email: window.can_change_email,
logged_with_google: false,
google_enabled: false
}
)
);
var headerView = new HeaderView({
el: $('#header'), // pre-rendered in DOM by Rails app
model: currentUser,
viewModel: new HeaderViewModel(),
localStorage: new LocalStorage()
});
headerView.render();
var supportView = new SupportView({
el: $('#support-banner'),
user: currentUser
});
supportView.render();
var upgradeMessage = new UpgradeMessage({
model: currentUser
});
$('.Header').after(upgradeMessage.render().el);
// Avatar
if (this.$('.js-avatarSelector').length > 0) {
var avatarSelector = new AvatarSelector({
el: this.$('.js-avatarSelector'),
renderModel: new cdb.core.Model({
inputName: this.$('.js-fileAvatar').attr('name'),
name: currentUser.get('name') || currentUser.get('username'),
avatar_url: currentUser.get('avatar_url'),
id: currentUser.get('id')
}),
avatarAcceptedExtensions: window.avatar_valid_extensions
});
avatarSelector.render();
}
// User deletion
if (this.$('.js-deleteAccount').length > 0 && window.authenticity_token) {
this.$('.js-deleteAccount').click(function (ev) {
if (ev) {
ev.preventDefault();
}
new DeleteAccount({
authenticityToken: window.authenticity_token,
clean_on_hide: true,
user: currentUser
}).appendToBody();
});
}
// Google + behaviour!
// If iframe is not present, we can't do anything
if (window.iframe_src) {
var googlePlus = new GooglePlus({
model: currentUser,
iframeSrc: window.iframe_src
});
googlePlus.hide();
this.$('.js-confirmPassword').parent().after(googlePlus.render().el);
}
// Services items
if (window.services_list && window.services_list.length > 0) {
_.each(window.services_list, function (d, i) {
var serviceItem = new ServiceItem({
model: new cdb.core.Model(_.extend({ state: 'idle' }, d))
});
$('.js-datasourcesContent').after(serviceItem.render().el);
});
}
if (!cdb.config.get('cartodb_com_hosted')) {
if (currentUser.get('actions').builder_enabled && currentUser.get('show_builder_activated_message') &&
_.isEmpty(window.dashboard_notifications)) {
var userNotificationModel = new UserNotificationModel(window.dashboard_notifications, {
key: 'dashboard',
configModel: cdb.config
});
var dashboardNotification = new UserNotificationView({
notification: userNotificationModel
});
window.dashboardNotification = dashboardNotification;
}
}
});
});

@ -29,6 +29,11 @@ module.exports = {
'lib/assets/javascripts/cartodb/account/entry.js'
]
},
account_static: {
src: [
'lib/assets/javascripts/cartodb/account/index.js'
]
},
confirmation: {
src: [
'lib/assets/javascripts/cartodb/confirmation/entry.js'

@ -118,6 +118,22 @@ var files = {
'lib/assets/javascripts/cartodb/old_common/urls/**/*.js'
],
account_deps_static: [
'vendor/assets/javascripts/jquery.tipsy.js',
'vendor/assets/javascripts/rails.js',
'vendor/assets/javascripts/filestyle.js',
'vendor/assets/javascripts/moment.js',
'vendor/assets/javascripts/backbone-model-file-upload.js',
'lib/assets/javascripts/cartodb/old_common/dropdown_menu.js',
'lib/assets/javascripts/cartodb/old_common/error_stats.js',
'lib/assets/javascripts/cartodb/old_common/tipsy_tooltip.js',
'lib/assets/javascripts/cartodb/old_common/utils.js',
'lib/assets/javascripts/cartodb/old_common/metrics.js',
'lib/assets/javascripts/cartodb/old_common/urls/url.js',
'lib/assets/javascripts/cartodb/old_common/urls/dashboard_vis_url.js',
'lib/assets/javascripts/cartodb/old_common/urls/**/*.js'
],
mobile_apps_deps: [
'vendor/assets/javascripts/jquery.tipsy.js',
'vendor/assets/javascripts/rails.js',
@ -499,6 +515,11 @@ var files = {
'lib/assets/javascripts/cartodb/account/**/*.jst.ejs'
],
_account_templates_static: [
'lib/assets/javascripts/cartodb/common/**/*.jst.ejs',
'lib/assets/javascripts/cartodb/account/**/*.jst.ejs'
],
_mobile_apps_templates: [
'lib/assets/javascripts/cartodb/common/**/*.jst.ejs',
'lib/assets/javascripts/cartodb/mobile_apps/**/*.jst.ejs'
@ -526,6 +547,7 @@ var _all = [
'dashboard_deps_static',
'keys_deps',
'account_deps',
'account_deps_static',
'organization_deps',
'explore_deps',
'table',

@ -12,6 +12,20 @@ var files = {
'/javascripts/dashboard_deps_static.js',
'/javascripts/dashboard_static.js'
]
},
profile: {
stylesheets: [
'/stylesheets/cartodb.css',
'/stylesheets/common.css',
'/stylesheets/dashboard.css'
],
scripts: [
'/javascripts/cdb_static.js',
'/javascripts/models_static.js',
'/javascripts/account_templates_static.js',
'/javascripts/account_deps_static.js',
'/javascripts/account_static.js'
]
}
};

@ -35,6 +35,10 @@ exports.task = function() {
src: js_files._account_templates,
dest: "<%= assets_dir %>/javascripts/account_templates.js"
},
{
src: js_files._account_templates_static,
dest: "<%= assets_dir %>/javascripts/account_templates.js"
},
{
src: js_files._organization_templates,
dest: "<%= assets_dir %>/javascripts/organization_templates.js"

@ -1,6 +1,6 @@
{
"name": "cartodb-ui",
"version": "4.9.51-12606.1",
"version": "4.9.51-12673.1",
"description": "CARTO UI frontend",
"repository": {
"type": "git",
@ -187,7 +187,7 @@
"build": "NODE_ENV=production webpack --config webpack.prod.config.js && npm run build:dashboard",
"build:dashboard": "webpack -p --config webpack/webpack.dev.config.js",
"build:stats": "webpack --env.stats --progress --config webpack.dev.config.js",
"start": "grunt watch:css & webpack --progress --watch --config webpack.dev.config.js & npm run start:dashboard",
"start": "grunt watch:css & webpack --progress --watch --config webpack.dev.config.js",
"start:dashboard": "webpack --progress --watch --config webpack/webpack.dev.config.js",
"dev": "webpack --progress --config webpack.dev.config.js"
}

Loading…
Cancel
Save