scrivito_sdk 0.66.0.rc1 → 0.66.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/scrivito/webservice_controller.rb +6 -0
- data/app/controllers/scrivito/workspaces_controller.rb +1 -3
- data/app/views/scrivito/webservice/_workspace.json.jbuilder +3 -0
- data/config/ca-bundle.crt +1 -1
- data/lib/assets/javascripts/scrivito_ui.js +118 -78
- data/lib/assets/stylesheets/scrivito_ui.css +1 -1
- data/lib/scrivito/cms_data_cache.rb +1 -1
- data/lib/scrivito/cms_dispatch_controller.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50aa821e2e4ac823b30dbec2ba6f43bef68c28f9
|
4
|
+
data.tar.gz: 2334008ac34e85b9f1487a3f014512a77ac62a29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75a5ab9b2baccd4503b16de702d500a6bf6e7e7ed02930503930cdadc03843f5922db642139b56673b12ebe387e037120ae07d0c378341130581bef71fd5402c
|
7
|
+
data.tar.gz: 8b48fb63714fc247c91745f4b86d8169d1352502623e6c0a54101eadf62fe98580aee449466c04e8fd74ae8dfd3e5b535288ac801e286c69b9aaa351077ddf95
|
@@ -57,6 +57,12 @@ class WebserviceController < ActionController::Base
|
|
57
57
|
def render_empty_json
|
58
58
|
render 'scrivito/webservice/empty', formats: :json
|
59
59
|
end
|
60
|
+
|
61
|
+
def can_user_read_workspace?(workspace)
|
62
|
+
can_user_access_workspace?(:read, workspace)
|
63
|
+
end
|
64
|
+
|
65
|
+
helper_method :can_user_read_workspace?
|
60
66
|
end
|
61
67
|
|
62
68
|
end
|
@@ -6,9 +6,7 @@ module Scrivito
|
|
6
6
|
around_action :authorize_current_workspace_publish, only: [:check, :publish]
|
7
7
|
|
8
8
|
def index
|
9
|
-
@workspaces = Workspace.all.select
|
10
|
-
can_user_access_workspace?(:read, workspace)
|
11
|
-
end
|
9
|
+
@workspaces = Workspace.all.select(&method(:can_user_read_workspace?))
|
12
10
|
render :workspaces
|
13
11
|
end
|
14
12
|
|
data/config/ca-bundle.crt
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
##
|
2
2
|
## Bundle of CA Root Certificates
|
3
3
|
##
|
4
|
-
## Certificate data from Mozilla as of:
|
4
|
+
## Certificate data from Mozilla as of: Mon Jul 13 11:31:35 2015
|
5
5
|
##
|
6
6
|
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7
7
|
## (CA). These were automatically extracted from Mozilla's root certificates
|
@@ -27718,7 +27718,8 @@ $.i18n().load({
|
|
27718
27718
|
'commands.sort_items.too_less_children': 'Die Navigation kann nicht sortiert werden, weil sie weniger als zwei Elemente enthält.',
|
27719
27719
|
|
27720
27720
|
'commands.select_workspace.x_and_1_owner': '$1 und 1 weiterer Besitzer',
|
27721
|
-
'commands.select_workspace.
|
27721
|
+
'commands.select_workspace.x_and_n_owners': '$1 und $2 weitere Besitzer',
|
27722
|
+
'commands.select_workspace.disabled': 'Diese Arbeitskopie kann aufgrund fehlender Benutzerrechte nicht ausgewählt werden',
|
27722
27723
|
|
27723
27724
|
'commands.choose_and_create_widget.title': 'Widget einfügen',
|
27724
27725
|
'commands.choose_and_create_widget.disabled': 'Sie können hier keine Widgets einfügen.',
|
@@ -27976,7 +27977,8 @@ $.i18n().load({
|
|
27976
27977
|
'commands.sort_items.too_less_children': 'This navigation cannot be sorted because it consists of less than two items.',
|
27977
27978
|
|
27978
27979
|
'commands.select_workspace.x_and_1_owner': '$1 and 1 other owner',
|
27979
|
-
'commands.select_workspace.
|
27980
|
+
'commands.select_workspace.x_and_n_owners': '$1 and $2 other owners',
|
27981
|
+
'commands.select_workspace.disabled': 'This working copy can not be selected due to missing user permissions.',
|
27980
27982
|
|
27981
27983
|
'commands.choose_and_create_widget.title': 'Insert widget',
|
27982
27984
|
'commands.choose_and_create_widget.disabled': 'You cannot insert any widgets here.',
|
@@ -29491,75 +29493,100 @@ var scrivito = {};
|
|
29491
29493
|
});
|
29492
29494
|
}());
|
29493
29495
|
(function() {
|
29496
|
+
var render, current_page;
|
29497
|
+
|
29494
29498
|
_.extend(scrivito, {
|
29495
29499
|
menu_bar_conflict_indicator: {
|
29496
29500
|
init: function() {
|
29497
29501
|
scrivito.menu_bar.register_item_renderer(function(menu_bar) {
|
29498
|
-
|
29499
|
-
|
29500
|
-
|
29501
|
-
|
29502
|
-
|
29503
|
-
|
29504
|
-
conflict_warning.on('click', function() {
|
29505
|
-
scrivito.static_menus.toggle(conflict_warning, menu_commands);
|
29506
|
-
});
|
29502
|
+
render = function(color, commands) {
|
29503
|
+
var target = $(scrivito.template.render('menu_bar_conflict_indicator'))
|
29504
|
+
.appendTo(menu_bar.find('#scrivito_menu_bar_conflict_indicator'));
|
29505
|
+
target.show();
|
29506
|
+
target.find('.scrivito_icon').addClass('scrivito_'+color);
|
29507
|
+
target.on('click', function() { scrivito.static_menus.toggle(target, commands); });
|
29507
29508
|
};
|
29508
29509
|
|
29509
|
-
|
29510
|
+
current_page = scrivito.application_document().page();
|
29510
29511
|
if (current_page) {
|
29511
|
-
|
29512
|
-
|
29513
|
-
|
29514
|
-
|
29515
|
-
|
29516
|
-
}
|
29517
|
-
}];
|
29518
|
-
render_icon_and_menu('red', conflict_commands);
|
29519
|
-
} else {
|
29520
|
-
if (scrivito.in_editable_view()) {
|
29521
|
-
current_page.is_outdated().done(function(result) {
|
29522
|
-
if (!!result) {
|
29523
|
-
var outdated_commands = [{
|
29524
|
-
id: function() { return 'scrivito.menu_bar_conflict_indicator.header'; },
|
29525
|
-
render: function() {
|
29526
|
-
return scrivito.template.render('menu_bar_conflict_indicator/warn', {
|
29527
|
-
headline_color: 'red',
|
29528
|
-
headline: scrivito.t('menu_bar_conflict_indicator.outdated_headline'),
|
29529
|
-
description: scrivito.t('menu_bar_conflict_indicator.outdated_description')
|
29530
|
-
});
|
29531
|
-
}
|
29532
|
-
}].concat([
|
29533
|
-
scrivito.rebase_workspace_command(scrivito.editing_context.selected_workspace)
|
29534
|
-
]);
|
29535
|
-
render_icon_and_menu('red', outdated_commands);
|
29536
|
-
} else {
|
29537
|
-
current_page.conflicting_workspaces().done(function(workspaces) {
|
29538
|
-
if (workspaces.length) {
|
29539
|
-
var warn_commands = [{
|
29540
|
-
id: function() { return 'scrivito.menu_bar_conflict_indicator.header'; },
|
29541
|
-
render: function() {
|
29542
|
-
return scrivito.template.render('menu_bar_conflict_indicator/warn', {
|
29543
|
-
headline_color: 'yellow',
|
29544
|
-
headline: scrivito.t('menu_bar_conflict_indicator.warn_headline'),
|
29545
|
-
description: scrivito.t('menu_bar_conflict_indicator.warn_description')
|
29546
|
-
});
|
29547
|
-
}
|
29548
|
-
}].concat(_.map(workspaces, function(ws) {
|
29549
|
-
return scrivito.select_workspace_command(ws);
|
29550
|
-
}));
|
29551
|
-
render_icon_and_menu('yellow', warn_commands);
|
29552
|
-
}
|
29553
|
-
});
|
29554
|
-
}
|
29555
|
-
});
|
29556
|
-
}
|
29557
|
-
}
|
29512
|
+
check_conflict(function() {
|
29513
|
+
check_uptodate(function() {
|
29514
|
+
check_potential_conflicts();
|
29515
|
+
});
|
29516
|
+
});
|
29558
29517
|
}
|
29559
29518
|
});
|
29560
29519
|
}
|
29561
29520
|
}
|
29562
29521
|
});
|
29522
|
+
|
29523
|
+
var check_conflict = function(next) {
|
29524
|
+
if (current_page.has_conflict()) {
|
29525
|
+
render_conflict();
|
29526
|
+
} else {
|
29527
|
+
next();
|
29528
|
+
}
|
29529
|
+
};
|
29530
|
+
|
29531
|
+
var check_uptodate = function(next) {
|
29532
|
+
if (scrivito.in_editable_view()) {
|
29533
|
+
current_page.is_outdated().done(function(is_outdated) {
|
29534
|
+
if (is_outdated) {
|
29535
|
+
render_outdated();
|
29536
|
+
} else {
|
29537
|
+
next();
|
29538
|
+
}
|
29539
|
+
});
|
29540
|
+
}
|
29541
|
+
};
|
29542
|
+
|
29543
|
+
var check_potential_conflicts = function() {
|
29544
|
+
current_page.conflicting_workspaces().done(function(workspaces) {
|
29545
|
+
if (workspaces.length) {
|
29546
|
+
render_potential_conflicts(workspaces);
|
29547
|
+
}
|
29548
|
+
});
|
29549
|
+
};
|
29550
|
+
|
29551
|
+
var render_conflict = function() {
|
29552
|
+
render('red', [{
|
29553
|
+
id: function() { return 'scrivito.menu_bar_conflict_indicator.header'; },
|
29554
|
+
render: function() {
|
29555
|
+
return scrivito.template.render('menu_bar_conflict_indicator/conflict');
|
29556
|
+
}
|
29557
|
+
}]);
|
29558
|
+
};
|
29559
|
+
|
29560
|
+
var render_outdated = function() {
|
29561
|
+
render('red', [
|
29562
|
+
{
|
29563
|
+
id: function() { return 'scrivito.menu_bar_conflict_indicator.header'; },
|
29564
|
+
render: function() {
|
29565
|
+
return scrivito.template.render('menu_bar_conflict_indicator/warn', {
|
29566
|
+
headline_color: 'red',
|
29567
|
+
headline: scrivito.t('menu_bar_conflict_indicator.outdated_headline'),
|
29568
|
+
description: scrivito.t('menu_bar_conflict_indicator.outdated_description')
|
29569
|
+
});
|
29570
|
+
}
|
29571
|
+
},
|
29572
|
+
scrivito.rebase_workspace_command(scrivito.editing_context.selected_workspace)
|
29573
|
+
]);
|
29574
|
+
};
|
29575
|
+
|
29576
|
+
var render_potential_conflicts = function(workspaces) {
|
29577
|
+
render('yellow', [{
|
29578
|
+
id: function() { return 'scrivito.menu_bar_conflict_indicator.header'; },
|
29579
|
+
render: function() {
|
29580
|
+
return scrivito.template.render('menu_bar_conflict_indicator/warn', {
|
29581
|
+
headline_color: 'yellow',
|
29582
|
+
headline: scrivito.t('menu_bar_conflict_indicator.warn_headline'),
|
29583
|
+
description: scrivito.t('menu_bar_conflict_indicator.warn_description')
|
29584
|
+
});
|
29585
|
+
}
|
29586
|
+
}].concat(_.map(workspaces, function(ws) {
|
29587
|
+
return scrivito.select_workspace_command(ws);
|
29588
|
+
})));
|
29589
|
+
};
|
29563
29590
|
}());
|
29564
29591
|
(function() {
|
29565
29592
|
_.extend(scrivito, {
|
@@ -31141,6 +31168,10 @@ var scrivito = {};
|
|
31141
31168
|
var that = {
|
31142
31169
|
id: function() {
|
31143
31170
|
return params.id;
|
31171
|
+
},
|
31172
|
+
|
31173
|
+
description: function() {
|
31174
|
+
return params.description;
|
31144
31175
|
}
|
31145
31176
|
};
|
31146
31177
|
|
@@ -31566,6 +31597,19 @@ var scrivito = {};
|
|
31566
31597
|
var promise = $.Deferred();
|
31567
31598
|
return size === 0 ? promise.reject() : promise.resolve();
|
31568
31599
|
});
|
31600
|
+
},
|
31601
|
+
|
31602
|
+
owners: function() {
|
31603
|
+
return _.map(_.where(that.memberships(), {role: 'owner'}), function(membership) {
|
31604
|
+
return scrivito.user.create_instance({
|
31605
|
+
id: membership.user_id,
|
31606
|
+
description: membership.description
|
31607
|
+
});
|
31608
|
+
});
|
31609
|
+
},
|
31610
|
+
|
31611
|
+
is_accessible: function() {
|
31612
|
+
return data.id === 'published' || data.is_accessible;
|
31569
31613
|
}
|
31570
31614
|
};
|
31571
31615
|
|
@@ -33509,39 +33553,35 @@ var scrivito = {};
|
|
33509
33553
|
icon: workspace.icon(),
|
33510
33554
|
subtitle: subtitle(workspace),
|
33511
33555
|
|
33556
|
+
disabled: function() {
|
33557
|
+
if (!workspace.is_accessible()) {
|
33558
|
+
return scrivito.t('commands.select_workspace.disabled');
|
33559
|
+
}
|
33560
|
+
},
|
33561
|
+
|
33512
33562
|
execute: function() {
|
33513
|
-
|
33514
|
-
|
33563
|
+
scrivito.with_saving_overlay(
|
33564
|
+
scrivito.change_editing_context({workspace_id: workspace.id()}));
|
33515
33565
|
}
|
33516
33566
|
});
|
33517
33567
|
}
|
33518
33568
|
});
|
33519
33569
|
|
33520
33570
|
var subtitle = function(workspace) {
|
33521
|
-
var
|
33522
|
-
var
|
33523
|
-
|
33524
|
-
switch (owner_names.length) {
|
33571
|
+
var owners = workspace.owners();
|
33572
|
+
var owner = owners[0];
|
33573
|
+
switch (owners.length) {
|
33525
33574
|
case 0:
|
33526
33575
|
return undefined;
|
33527
33576
|
case 1:
|
33528
|
-
return
|
33577
|
+
return owner.description();
|
33529
33578
|
case 2:
|
33530
|
-
return scrivito.t('commands.select_workspace.x_and_1_owner',
|
33579
|
+
return scrivito.t('commands.select_workspace.x_and_1_owner', owner.description());
|
33531
33580
|
default:
|
33532
|
-
|
33533
|
-
|
33581
|
+
return scrivito.t('commands.select_workspace.x_and_n_owners', owner.description(),
|
33582
|
+
owners.length - 1);
|
33534
33583
|
}
|
33535
33584
|
};
|
33536
|
-
|
33537
|
-
var workspace_owner_names = function(workspace) {
|
33538
|
-
var owners = _.select(workspace.memberships(), function(user) {
|
33539
|
-
return user.role === 'owner';
|
33540
|
-
});
|
33541
|
-
return _.map(owners, function(owner) {
|
33542
|
-
return owner.description;
|
33543
|
-
});
|
33544
|
-
};
|
33545
33585
|
}());
|
33546
33586
|
(function() {
|
33547
33587
|
_.extend(scrivito, {
|