hide some metadata from guests

This commit is contained in:
rolux 2013-03-07 10:46:16 +00:00
parent 34be7923a7
commit 62c33ef2a4

View file

@ -7,6 +7,7 @@ pandora.ui.infoView = function(data) {
var ui = pandora.user.ui, var ui = pandora.user.ui,
canEdit = pandora.site.capabilities.canEditMetadata[pandora.user.level], canEdit = pandora.site.capabilities.canEditMetadata[pandora.user.level],
canSeeAllMetadata = pandora.user.level != 'guest',
css = { css = {
marginTop: '4px', marginTop: '4px',
textAlign: 'justify', textAlign: 'justify',
@ -262,8 +263,11 @@ pandora.ui.infoView = function(data) {
.html( .html(
formatKey('Alternative Title' + (data.alternativeTitles.length == 1 ? '' : 's')) formatKey('Alternative Title' + (data.alternativeTitles.length == 1 ? '' : 's'))
+ data.alternativeTitles.map(function(value) { + data.alternativeTitles.map(function(value) {
return value[0] + (Ox.isArray(value[1]) ? ' ' return value[0] + (
+ formatLight('(' + value[1].join(', ') + ')') : ''); canSeeAllMetadata && Ox.isArray(value[1])
? ' ' + formatLight('(' + value[1].join(', ') + ')')
: ''
);
}).join(', ') }).join(', ')
) )
.appendTo($text); .appendTo($text);
@ -319,19 +323,21 @@ pandora.ui.infoView = function(data) {
// FIXME: 'uncredited' should be removed on the backend // FIXME: 'uncredited' should be removed on the backend
value.character = value.character.replace('(uncredited)', '').trim(); value.character = value.character.replace('(uncredited)', '').trim();
return formatValue(value.actor, 'name') return formatValue(value.actor, 'name')
+ (value.character ? ' ' + (
+ formatLight('(' + formatValue(value.character) + ')') canSeeAllMetadata && value.character
: ''); ? ' ' + formatLight('(' + formatValue(value.character) + ')')
: ''
);
}).join(', ') }).join(', ')
) )
.appendTo($text); .appendTo($text);
if (data.genre || data.keyword) { if (data.genre || (data.keyword && canSeeAllMetadata)) {
$div = $('<div>') $div = $('<div>')
.css(css) .css(css)
.appendTo($text); .appendTo($text);
html = []; html = [];
['genre', 'keyword'].forEach(function(key) { (canSeeAllMetadata ? ['genre', 'keyword'] : ['genre']).forEach(function(key) {
data[key] && html.push( data[key] && html.push(
formatKey(key == 'keyword' ? 'keywords' : key) formatKey(key == 'keyword' ? 'keywords' : key)
+ formatValue(data[key], key) + formatValue(data[key], key)
@ -347,96 +353,100 @@ pandora.ui.infoView = function(data) {
) )
.appendTo($text); .appendTo($text);
data.trivia && data.trivia.forEach(function(value) { if (canSeeAllMetadata) {
$('<div>')
.css({
display: 'table-row'
})
.append(
$('<div>')
.css({
display: 'table-cell',
width: '12px',
paddingTop: '4px'
})
.html('<span style="font-weight: bold">&bull;</span>')
)
.append(
$('<div>')
.css({
display: 'table-cell',
paddingTop: '4px',
textAlign: 'justify',
MozUserSelect: 'text',
WebkitUserSelect: 'text'
})
.html(value)
)
.append(
$('<div>').css({clear: 'both'})
)
.appendTo($text);
});
data.filmingLocations && $('<div>') data.trivia && data.trivia.forEach(function(value) {
.css(css) $('<div>')
.html( .css({
formatKey('Filming Locations') + data.filmingLocations.map(function(location) { display: 'table-row'
return '<a href="/map/@' + location + '">' + location + '</a>' })
}).join(', ') .append(
) $('<div>')
.appendTo($text); .css({
display: 'table-cell',
data.releasedate && $('<div>') width: '12px',
.css(css) paddingTop: '4px'
.html( })
formatKey('Release Date') + Ox.formatDate(data.releasedate, '%A, %B %e, %Y') .html('<span style="font-weight: bold">&bull;</span>')
) )
.appendTo($text); .append(
$('<div>')
if (data.budget || data.gross || data.profit) { .css({
$div = $('<div>') display: 'table-cell',
.css(css) paddingTop: '4px',
.appendTo($text); textAlign: 'justify',
html = []; MozUserSelect: 'text',
['budget', 'gross', 'profit'].forEach(function(key) { WebkitUserSelect: 'text'
data[key] && html.push( })
formatKey(key == 'profit' && data[key] < 0 ? 'loss' : key) .html(value)
+ Ox.formatCurrency(Math.abs(data[key]), '$') )
); .append(
$('<div>').css({clear: 'both'})
)
.appendTo($text);
}); });
$div.html(html.join('; '));
}
if (data.connections) { data.filmingLocations && $('<div>')
$div = $('<div>')
.css(css) .css(css)
.appendTo($text); .html(
html = []; formatKey('Filming Locations') + data.filmingLocations.map(function(location) {
[ return '<a href="/map/@' + location + '">' + location + '</a>'
'Edited from', 'Edited into',
'Features', 'Featured in',
'Follows', 'Followed by',
'References', 'Referenced in',
'Remake of', 'Remade as',
'Spin off from', 'Spin off',
'Spoofs', 'Spoofed in'
].forEach(function(key) {
data.connections[key] && html.push(
formatKey(key) + data.connections[key].map(function(connection) {
return (
connection.item
? '<a href="/' + connection.item + '">' + connection.title + '</a>'
: connection.title
) + (
connection.description
? ' ' + formatLight('(' + connection.description + ')')
: ''
);
}).join(', ') }).join(', ')
); )
}); .appendTo($text);
$div.html(html.join('; '));
data.releasedate && $('<div>')
.css(css)
.html(
formatKey('Release Date') + Ox.formatDate(data.releasedate, '%A, %B %e, %Y')
)
.appendTo($text);
if (data.budget || data.gross || data.profit) {
$div = $('<div>')
.css(css)
.appendTo($text);
html = [];
['budget', 'gross', 'profit'].forEach(function(key) {
data[key] && html.push(
formatKey(key == 'profit' && data[key] < 0 ? 'loss' : key)
+ Ox.formatCurrency(Math.abs(data[key]), '$')
);
});
$div.html(html.join('; '));
}
if (data.connections) {
$div = $('<div>')
.css(css)
.appendTo($text);
html = [];
[
'Edited from', 'Edited into',
'Features', 'Featured in',
'Follows', 'Followed by',
'References', 'Referenced in',
'Remake of', 'Remade as',
'Spin off from', 'Spin off',
'Spoofs', 'Spoofed in'
].forEach(function(key) {
data.connections[key] && html.push(
formatKey(key) + data.connections[key].map(function(connection) {
return (
connection.item
? '<a href="/' + connection.item + '">' + connection.title + '</a>'
: connection.title
) + (
connection.description
? ' ' + formatLight('(' + connection.description + ')')
: ''
);
}).join(', ')
);
});
$div.html(html.join('; '));
}
} }
['reviews', 'links'].forEach(function(key) { ['reviews', 'links'].forEach(function(key) {