Merge master into branch

pull/13786/head
Víctor Velarde 7 years ago
commit 0e8b225f1e

@ -175,6 +175,7 @@ ion for time-series (#12670)
### Bug fixes / enhancements
* Disable Twitter Connector and show Warning for users without their own credentials (https://github.com/CartoDB/product/issues/49)
* Fix Category Widgets height on smaller screens (https://github.com/CartoDB/cartodb/issues/13829)
* Consistent margins in Auth API UI
* Embed improvements (https://github.com/CartoDB/cartodb/issues/13765)
* FullStory tweaks (https://github.com/CartoDB/cartodb/pull/13753)
@ -561,7 +562,6 @@ ion for time-series (#12670)
* Fix category auto-style [#611](https://github.com/CartoDB/support/issues/611)
* Allow user exporter to be used as a db backup (#2058)
* Fix missing delete button [1223](https://github.com/CartoDB/support/issues/1233)
* Fix problem with visualization search when a visualization is shared with a user from multiple entities (Support #1451)
* Correctly log metrics events for query import type (#13652)
* Remove `sync_on_data_change` (https://github.com/CartoDB/cartodb.js/issues/1862)
* Fix duplicated modules resolution (https://github.com/CartoDB/cartodb/pull/13535)

@ -223,5 +223,30 @@
.CDB-Widget-listItemInner {
margin: 0;
}
.CDB-Widget-list {
display: flex;
box-sizing: border-box;
flex: 1;
flex-wrap: wrap;
}
.CDB-Widget-listWrapper {
overflow-x: hidden;
}
.CDB-Widget-inlineListItem {
width: 47%;
}
.CDB-Widget-list--fake {
flex-direction: row;
justify-content: space-between;
}
.CDB-Widget-content--noSidesMargin .CDB-Widget-listItem--fake {
margin-right: 12px;
margin-left: 12px;
}
}
}

@ -86,6 +86,8 @@ module Carto
end
import_visualizations(imported, package, service) if import_metadata?
reconfigure_dataservices if import_metadata?
end
def do_import_metadata(package, service)
@ -115,6 +117,14 @@ module Carto
end
end
def reconfigure_dataservices
if org_import?
::Organization[organization.id].owner.db_service.install_and_configure_geocoder_api_extension
else
::User[user.id].db_service.install_and_configure_geocoder_api_extension
end
end
def import_visualizations(imported, package, service)
log.append('=== Importing visualizations and search tweets ===')
begin

@ -244,7 +244,8 @@ class Carto::VisualizationQueryBuilder
if @shared_with_user_id
user = Carto::User.where(id: @shared_with_user_id).first
query = query.where(id: Carto::SharedEntity.select(:entity_id).where(recipient_id: recipient_ids(user)))
query = query.joins(:shared_entities)
.where(:shared_entities => { recipient_id: recipient_ids(user) })
end
if @owned_by_or_shared_with_user_id

@ -1,6 +1,6 @@
{
"name": "cartodb-ui",
"version": "4.11.111",
"version": "4.11.112",
"dependencies": {
"accessory": {
"version": "1.0.1",

@ -1,6 +1,6 @@
{
"name": "cartodb-ui",
"version": "4.11.111-49",
"version": "4.11.112",
"description": "CARTO UI frontend",
"repository": {
"type": "git",

@ -60,7 +60,7 @@ FactoryGirl.define do
factory :valid_user, traits: [:valid]
factory :locked_user, traits: [:valid, :locked]
before(:build) do |user|
after(:build) do |user|
create_account_type_fg(user.account_type)
end

@ -97,73 +97,6 @@ describe Carto::VisualizationQueryBuilder do
vq.build.all.map(&:id).should include(shared_visualization.id)
end
describe 'sharing with organization' do
include_context 'organization with users helper'
it 'lists all visualizations shared with the org' do
table = create_random_table(@org_user_1)
shared_visualization = table.table_visualization
org_shared_entity = CartoDB::SharedEntity.new(
recipient_id: @organization.id,
recipient_type: CartoDB::SharedEntity::RECIPIENT_TYPE_ORGANIZATION,
entity_id: shared_visualization.id,
entity_type: CartoDB::SharedEntity::ENTITY_TYPE_VISUALIZATION
)
org_shared_entity.save
vqb = Carto::VisualizationQueryBuilder.new.with_shared_with_user_id(@org_user_2.id).build
expect(vqb.count).to eq 1
expect(vqb.all.map(&:id)).to eq [shared_visualization.id]
end
it 'lists all visualizations shared with a group' do
@group = FactoryGirl.create(:carto_group, organization: @carto_organization)
@group.add_user(@org_user_2.username)
table = create_random_table(@org_user_1)
shared_visualization = table.table_visualization
org_shared_entity = CartoDB::SharedEntity.new(
recipient_id: @group.id,
recipient_type: CartoDB::SharedEntity::RECIPIENT_TYPE_GROUP,
entity_id: shared_visualization.id,
entity_type: CartoDB::SharedEntity::ENTITY_TYPE_VISUALIZATION
)
org_shared_entity.save
vqb = Carto::VisualizationQueryBuilder.new.with_shared_with_user_id(@org_user_2.id).build
expect(vqb.count).to eq 1
expect(vqb.all.map(&:id)).to eq [shared_visualization.id]
@group.destroy
end
it 'lists visualizations once when they are shared with user and org' do
# https://github.com/CartoDB/support/issues/1451
# The problem is that the JOINs can make a visualization appear multiple times, so when AR
# interprets the result, it gives less results than expected.
table = create_random_table(@org_user_1)
shared_visualization = table.table_visualization
user_shared_entity = CartoDB::SharedEntity.new(
recipient_id: @org_user_2.id,
recipient_type: CartoDB::SharedEntity::RECIPIENT_TYPE_USER,
entity_id: shared_visualization.id,
entity_type: CartoDB::SharedEntity::ENTITY_TYPE_VISUALIZATION
)
user_shared_entity.save
org_shared_entity = CartoDB::SharedEntity.new(
recipient_id: @organization.id,
recipient_type: CartoDB::SharedEntity::RECIPIENT_TYPE_ORGANIZATION,
entity_id: shared_visualization.id,
entity_type: CartoDB::SharedEntity::ENTITY_TYPE_VISUALIZATION
)
org_shared_entity.save
vqb = Carto::VisualizationQueryBuilder.new.with_shared_with_user_id(@org_user_2.id).build
expect(vqb.count).to eq 1
expect(vqb.all.map(&:id)).to eq [shared_visualization.id]
end
end
it 'orders using different criteria' do
table1 = create_random_table(@user1)

Loading…
Cancel
Save