Merge "Collect license handling code, remove unused data attribute"

This commit is contained in:
jenkins-bot 2014-04-21 10:40:08 +00:00 committed by Gerrit Code Review
commit 9a54e155da
4 changed files with 25 additions and 40 deletions

View file

@ -251,15 +251,6 @@
return this.thumbUrls[width]; return this.thumbUrls[width];
}; };
/**
* Check whether the image is CC-licensed.
* @returns {boolean}
*/
IP.isCcLicensed = function () {
return this.license && this.license.internalName &&
this.license.internalName.substr( 0, 2 ) === 'cc';
};
/** /**
* Check whether the image has geolocation data. * Check whether the image has geolocation data.
* @returns {boolean} * @returns {boolean}

View file

@ -55,6 +55,14 @@
} }
LP = License.prototype; LP = License.prototype;
/**
* Check whether this is a Creative Commons license.
* @returns {boolean}
*/
LP.isCc = function () {
return this.internalName && this.internalName.substr( 0, 2 ) === 'cc';
};
/** /**
* Returns the short name of the license: * Returns the short name of the license:
* - if we have interface messages for this license (basically just CC and PD), use those * - if we have interface messages for this license (basically just CC and PD), use those

View file

@ -540,23 +540,25 @@
this.setCredit( this.source, author ); this.setCredit( this.source, author );
}; };
/**
* Sets the license data in the DOM
* @param {string} license The license this file has.
*/
MPP.setLicenseData = function ( license ) {
this.$license.data( 'license', license );
};
/** /**
* Sets the license display in the panel * Sets the license display in the panel
* @param {string} license The human-readable name of the license * @param {mw.mmv.model.License|null} license license data (could be missing)
* @param {string} url The URL to the license deed. * @param {string} filePageUrl URL of the file description page
* @param {boolean} isCc Whether this is a CC license
*/ */
MPP.setLicense = function ( license, url, isCc ) { MPP.setLicense = function ( license, filePageUrl ) {
var message, shortName, url, isCc;
message = 'multimediaviewer-license-' + ( license.internalName || '' );
if ( mw.messages.exists( message ) ) {
shortName = mw.message( message ).text();
} else {
shortName = mw.message( 'multimediaviewer-license-default' ).text();
}
url = license.deedUrl || filePageUrl;
isCc = license.isCc();
this.$license this.$license
.text( license ) .text( shortName )
.toggleClass( 'cc-license', isCc ) .toggleClass( 'cc-license', isCc )
.prop( 'href', url ); .prop( 'href', url );
@ -654,8 +656,7 @@
* @param {mw.mmv.model.User} user * @param {mw.mmv.model.User} user
*/ */
MPP.setImageInfo = function ( image, imageData, repoData, localUsage, globalUsage, user ) { MPP.setImageInfo = function ( image, imageData, repoData, localUsage, globalUsage, user ) {
var msgname, var panel = this,
panel = this,
fileTitle = image.filePageTitle; fileTitle = image.filePageTitle;
this.setFileTitle( fileTitle.getNameText() ); this.setFileTitle( fileTitle.getNameText() );
@ -690,22 +691,8 @@
this.description.set( imageData.description, image.caption ); this.description.set( imageData.description, image.caption );
this.categories.set( repoData.getArticlePath(), imageData.categories ); this.categories.set( repoData.getArticlePath(), imageData.categories );
msgname = 'multimediaviewer-license-' + ( imageData.license && imageData.license.internalName || '' );
if ( !mw.messages.exists( msgname ) ) {
// Cannot display, fallback or fail
msgname = 'multimediaviewer-license-default';
} else {
// License found, store the license data
this.setLicenseData( mw.message( msgname ).text() );
}
if ( imageData.license ) { if ( imageData.license ) {
this.setLicense( this.setLicense( imageData.license, imageData.descriptionUrl );
mw.message( msgname ).text(),
imageData.license.deedUrl || imageData.descriptionUrl,
imageData.isCcLicensed()
);
} }
if ( imageData.permission ) { if ( imageData.permission ) {

View file

@ -161,7 +161,6 @@
imageData.uploadDateTime = '2013-08-25T14:41:02Z'; imageData.uploadDateTime = '2013-08-25T14:41:02Z';
imageData.source = '<b>Lost</b><a href="foo">Bar</a>'; imageData.source = '<b>Lost</b><a href="foo">Bar</a>';
imageData.author = 'Bob'; imageData.author = 'Bob';
imageData.isCcLicensed = function() { return true; };
imageData.license = new mw.mmv.model.License( 'CC-BY-2.0', 'cc-by-2.0' ); imageData.license = new mw.mmv.model.License( 'CC-BY-2.0', 'cc-by-2.0' );
gender = 'female'; gender = 'female';
imageData.lastUploader = 'Ursula'; imageData.lastUploader = 'Ursula';