licenseUrl shows on edit publish
This commit is contained in:
parent
7d5e41153e
commit
7b7a0339b8
14 changed files with 56 additions and 44 deletions
|
@ -1,6 +1,7 @@
|
|||
select {
|
||||
margin: 0;
|
||||
display: inline-block;
|
||||
background: $base-color;
|
||||
background: $background-color;
|
||||
border: 0;
|
||||
color: $text-color;
|
||||
}
|
||||
|
|
|
@ -7,9 +7,6 @@ const ChannelSelectDropdown = ({ selectedChannel, handleSelection, loggedInChann
|
|||
id='channel-name-select'
|
||||
value={selectedChannel}
|
||||
onChange={handleSelection}>
|
||||
{ loggedInChannelName && (
|
||||
<option value={loggedInChannelName} >{loggedInChannelName}</option>
|
||||
)}
|
||||
<option value={LOGIN}>Existing</option>
|
||||
<option value={CREATE}>New</option>
|
||||
</select>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import React from 'react';
|
||||
import RowLabeled from '@components/RowLabeled';
|
||||
import Label from '@components/Label';
|
||||
import { LICENSES } from '../../constants/publish_license_urls';
|
||||
import { LICENSES } from '@clientConstants/publish_license_urls';
|
||||
|
||||
const PublishLicenseInput = ({ handleSelect }) => {
|
||||
const PublishLicenseInput = ({ handleSelect, license }) => {
|
||||
return (
|
||||
<RowLabeled
|
||||
label={
|
||||
|
@ -14,6 +14,7 @@ const PublishLicenseInput = ({ handleSelect }) => {
|
|||
type='text'
|
||||
name='license'
|
||||
id='publish-license'
|
||||
value={license}
|
||||
onChange={handleSelect}
|
||||
>
|
||||
<option value=''>Unspecified</option>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import React from 'react';
|
||||
import RowLabeled from '@components/RowLabeled';
|
||||
import Label from '@components/Label';
|
||||
import { CC_LICENSES } from '../../constants/publish_license_urls';
|
||||
import { CC_LICENSES } from '@clientConstants/publish_license_urls';
|
||||
|
||||
const PublishLicenseUrlInput = ({ handleSelect }) => {
|
||||
const PublishLicenseUrlInput = ({ handleSelect, licenseUrl }) => {
|
||||
return (
|
||||
<RowLabeled
|
||||
label={
|
||||
|
@ -14,6 +14,7 @@ const PublishLicenseUrlInput = ({ handleSelect }) => {
|
|||
type='text'
|
||||
name='licenseUrl'
|
||||
id='publish-license-url'
|
||||
value={licenseUrl}
|
||||
onChange={handleSelect}
|
||||
>
|
||||
<option value=''>Unspecified</option>
|
||||
|
|
|
@ -7,7 +7,7 @@ import AssetShareButtons from '@components/AssetShareButtons';
|
|||
import ClickToCopy from '@components/ClickToCopy';
|
||||
import siteConfig from '@config/siteConfig.json';
|
||||
import createCanonicalLink from '@globalutils/createCanonicalLink';
|
||||
import AssetInfoFooter from '../../components/AssetInfoFooter/index';
|
||||
import AssetInfoFooter from '@components/AssetInfoFooter/index';
|
||||
import { createPermanentURI } from '@clientutils/createPermanentURI';
|
||||
import ReactMarkdown from 'react-markdown';
|
||||
|
||||
|
@ -18,7 +18,20 @@ class AssetInfo extends React.Component {
|
|||
render () {
|
||||
const { editable, asset } = this.props;
|
||||
const { claimViews, claimData } = asset;
|
||||
const { channelName, claimId, channelShortId, description, name, fileExt, contentType, host, certificateId, license, licenseUrl, transactionTime } = claimData;
|
||||
const {
|
||||
channelName,
|
||||
claimId,
|
||||
channelShortId,
|
||||
description,
|
||||
name,
|
||||
fileExt,
|
||||
contentType,
|
||||
host,
|
||||
certificateId,
|
||||
license,
|
||||
licenseUrl,
|
||||
transactionTime
|
||||
} = claimData;
|
||||
|
||||
const canonicalUrl = createCanonicalLink({ asset: { ...claimData, shortId: asset.shortId }});
|
||||
const assetCanonicalUrl = `${host}${canonicalUrl}`;
|
||||
|
@ -55,7 +68,7 @@ class AssetInfo extends React.Component {
|
|||
{editable && (
|
||||
<RowLabeled
|
||||
label={<Label value={'Edit'} />}
|
||||
content={<Link to={`/edit${canonicalUrl}`}>{name}</Link>}
|
||||
content={<Link className='link--primary' to={`/edit${canonicalUrl}`}>{name}</Link>}
|
||||
/>
|
||||
)}
|
||||
{channelName && (
|
||||
|
@ -72,22 +85,6 @@ class AssetInfo extends React.Component {
|
|||
/>
|
||||
)}
|
||||
<SpaceBetween>
|
||||
{license && (
|
||||
<RowLabeled
|
||||
label={
|
||||
<Label value={'License'} />
|
||||
}
|
||||
content={
|
||||
<div className='text'>
|
||||
{licenseUrl ? (
|
||||
<a className={'link--primary'} href={licenseUrl} target={'_blank'}>{license}</a>
|
||||
) : (
|
||||
<span>{license}</span> )}
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
)}
|
||||
|
||||
{claimViews ? (
|
||||
<RowLabeled
|
||||
label={
|
||||
|
@ -100,6 +97,21 @@ class AssetInfo extends React.Component {
|
|||
}
|
||||
/>
|
||||
) : null}
|
||||
{license && (
|
||||
<RowLabeled
|
||||
label={
|
||||
<Label value={'License'} />
|
||||
}
|
||||
content={
|
||||
<div className='text'>
|
||||
{licenseUrl ? (
|
||||
<a className={'link--primary'} href={licenseUrl} target={'_blank'}>{license}</a>
|
||||
) : (
|
||||
<span>{license}</span> )}
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
)}
|
||||
</SpaceBetween>
|
||||
<RowLabeled
|
||||
label={
|
||||
|
|
|
@ -18,10 +18,10 @@ class ChannelSelect extends React.Component {
|
|||
componentWillMount () {
|
||||
const { loggedInChannelName, onChannelSelect, publishOnlyApproved, onPublishInChannelChange } = this.props;
|
||||
if (loggedInChannelName) {
|
||||
this.props.onPublishInChannelChange(true);
|
||||
onChannelSelect(loggedInChannelName);
|
||||
}
|
||||
if (publishOnlyApproved) {
|
||||
this.props.onPublishInChannelChange(true);
|
||||
onPublishInChannelChange(true);
|
||||
}
|
||||
}
|
||||
toggleAnonymousPublish (event) {
|
||||
|
@ -37,10 +37,7 @@ class ChannelSelect extends React.Component {
|
|||
this.props.onChannelSelect(selectedOption);
|
||||
}
|
||||
render () {
|
||||
let { publishInChannel, channelError, selectedChannel, loggedInChannelName, publishOnlyApproved } = this.props;
|
||||
if (loggedInChannelName) {
|
||||
publishInChannel = 'checked';
|
||||
}
|
||||
const { publishInChannel, channelError, selectedChannel, loggedInChannelName, publishOnlyApproved } = this.props;
|
||||
if (publishOnlyApproved) {
|
||||
return (
|
||||
<React.Fragment>
|
||||
|
|
|
@ -30,25 +30,27 @@ class PublishMetadataInputs extends React.Component {
|
|||
}
|
||||
}
|
||||
render () {
|
||||
const { showMetadataInputs, description, isUpdate, nsfw } = this.props;
|
||||
const { showMetadataInputs, description, isUpdate, nsfw, license, licenseUrl } = this.props;
|
||||
return (
|
||||
<div>
|
||||
{(showMetadataInputs || isUpdate) && (
|
||||
<React.Fragment>
|
||||
<PublishDescriptionInput
|
||||
description={this.props.description}
|
||||
description={description}
|
||||
handleInput={this.handleInput}
|
||||
/>
|
||||
<PublishLicenseInput
|
||||
handleSelect={this.handleSelect}
|
||||
license={license}
|
||||
/>
|
||||
{ (this.props.license === 'Creative Commons') && (
|
||||
<PublishLicenseUrlInput
|
||||
handleSelect={this.handleSelect}
|
||||
licenseUrl={licenseUrl}
|
||||
/>
|
||||
)}
|
||||
<PublishNsfwInput
|
||||
nsfw={this.props.nsfw}
|
||||
nsfw={nsfw}
|
||||
handleInput={this.handleInput}
|
||||
/>
|
||||
</React.Fragment>
|
||||
|
|
|
@ -6,7 +6,7 @@ const {
|
|||
|
||||
const getterMethods = {
|
||||
generated_extension() {
|
||||
logger.info('trying to generate extension', this.content_type);
|
||||
logger.debug('trying to generate extension', this.content_type);
|
||||
if (customFileExtensions.hasOwnProperty(this.content_type)) {
|
||||
return customFileExtensions[this.content_type];
|
||||
} else {
|
||||
|
|
|
@ -51,7 +51,7 @@ export default (db, table, sequelize) => ({
|
|||
},
|
||||
|
||||
getShortClaimIdFromLongClaimId: async (claimId, claimName, pendingClaim) => {
|
||||
logger.info(`claim.getShortClaimIdFromLongClaimId for ${claimName}#${claimId}`);
|
||||
logger.debug(`claim.getShortClaimIdFromLongClaimId for ${claimName}#${claimId}`);
|
||||
return await table
|
||||
.findAll({
|
||||
where: { name: claimName },
|
||||
|
|
|
@ -4,7 +4,7 @@ const getClaimData = require('server/utils/getClaimData');
|
|||
const { returnPaginatedChannelClaims } = require('./channelPagination.js');
|
||||
|
||||
const getChannelClaims = async (channelName, channelLongId, page) => {
|
||||
logger.info(`getChannelClaims: ${channelName}, ${channelLongId}, ${page}`);
|
||||
logger.debug(`getChannelClaims: ${channelName}, ${channelLongId}, ${page}`);
|
||||
let channelShortId = await chainquery.claim.queries.getShortClaimIdFromLongClaimId(
|
||||
channelLongId,
|
||||
channelName
|
||||
|
|
|
@ -5,7 +5,7 @@ const {
|
|||
publishing: { disabled, disabledMessage },
|
||||
} = require('@config/siteConfig');
|
||||
|
||||
const { sendGATimingEvent } = require('../../../../utils/googleAnalytics.js');
|
||||
const { sendGATimingEvent } = require('server/utils/googleAnalytics.js');
|
||||
const isApprovedChannel = require('@globalutils/isApprovedChannel');
|
||||
const {
|
||||
publishing: { publishOnlyApproved, approvedChannels },
|
||||
|
|
|
@ -129,7 +129,7 @@ const claimUpdate = ({ body, files, headers, ip, originalUrl, user, tor }, res)
|
|||
description: claimRecord.description,
|
||||
nsfw: claimRecord.nsfw,
|
||||
license: claimRecord.license,
|
||||
license_url: claimRecord.license_url,
|
||||
licenseUrl: claimRecord.license_url,
|
||||
language: 'en',
|
||||
author: details.title,
|
||||
},
|
||||
|
@ -170,12 +170,10 @@ const claimUpdate = ({ body, files, headers, ip, originalUrl, user, tor }, res)
|
|||
}
|
||||
|
||||
const fp = files && files.file && files.file.path ? files.file.path : undefined;
|
||||
logger.info(`before updatepublish`);
|
||||
return publish(publishParams, fileName, fileType, fp);
|
||||
})
|
||||
.then(result => {
|
||||
publishResult = result;
|
||||
logger.info(`after updatepublish then`, result);
|
||||
|
||||
if (channelName) {
|
||||
return chainquery.claim.queries.getShortClaimIdFromLongClaimId(
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const logger = require('winston');
|
||||
const transformImage = require('./transformImage');
|
||||
|
||||
const serveFile = async ({ filePath, fileType }, res, originalUrl) => {
|
||||
const queryObject = {};
|
||||
// TODO: replace quick/dirty try catch with better practice
|
||||
|
|
|
@ -39,6 +39,9 @@ module.exports = () => {
|
|||
moduleAliases['@clientutils'] = resolve(`${DEFAULT_ROOT}/utils`);
|
||||
// moduleAliases['@serverutils'] = resolve('server/utils');
|
||||
|
||||
// aliases for constants
|
||||
moduleAliases['@clientConstants'] = resolve(`${DEFAULT_ROOT}/constants`);
|
||||
|
||||
// create specific aliases for locally defined components in the following folders
|
||||
moduleAliases = addAliasesForCustomComponentFolder('containers', moduleAliases);
|
||||
moduleAliases = addAliasesForCustomComponentFolder('components', moduleAliases);
|
||||
|
@ -53,7 +56,6 @@ module.exports = () => {
|
|||
moduleAliases['@sagas'] = resolve(`${DEFAULT_ROOT}/sagas`);
|
||||
moduleAliases['@app'] = resolve(`${DEFAULT_ROOT}/app.js`);
|
||||
|
||||
|
||||
// return finished aliases
|
||||
return moduleAliases;
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue