mirror of
https://github.com/ascribe/onion.git
synced 2025-02-14 21:10:27 +01:00
bug fix acl button
form copyright association + account settings bug fix dispatch in form loan ikonotv slides
This commit is contained in:
parent
4c2cc61592
commit
d6bd4b4ac1
@ -89,6 +89,17 @@ class ContractAgreementListActions {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flushContractAgreementList(){
|
||||||
|
return Q.Promise((resolve, reject) => {
|
||||||
|
this.actions.updateContractAgreementList(null).then(
|
||||||
|
resolve()
|
||||||
|
).catch((err) => {
|
||||||
|
console.logGlobal(err);
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default alt.createActions(ContractAgreementListActions);
|
export default alt.createActions(ContractAgreementListActions);
|
||||||
|
@ -162,21 +162,24 @@ let AclButton = React.createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
let shouldDisplay = this.props.availableAcls[this.props.action];
|
if (this.props.availableAcls){
|
||||||
let aclProps = this.actionProperties();
|
let shouldDisplay = this.props.availableAcls[this.props.action];
|
||||||
let buttonClassName = this.props.buttonAcceptClassName ? this.props.buttonAcceptClassName : '';
|
let aclProps = this.actionProperties();
|
||||||
return (
|
let buttonClassName = this.props.buttonAcceptClassName ? this.props.buttonAcceptClassName : '';
|
||||||
<ModalWrapper
|
return (
|
||||||
trigger={
|
<ModalWrapper
|
||||||
<button className={shouldDisplay ? 'btn btn-default btn-sm ' + buttonClassName : 'hidden'}>
|
trigger={
|
||||||
{this.sanitizeAction()}
|
<button className={shouldDisplay ? 'btn btn-default btn-sm ' + buttonClassName : 'hidden'}>
|
||||||
</button>
|
{this.sanitizeAction()}
|
||||||
}
|
</button>
|
||||||
handleSuccess={aclProps.handleSuccess}
|
}
|
||||||
title={aclProps.title}>
|
handleSuccess={aclProps.handleSuccess}
|
||||||
{aclProps.form}
|
title={aclProps.title}>
|
||||||
</ModalWrapper>
|
{aclProps.form}
|
||||||
);
|
</ModalWrapper>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ let ContractAgreementForm = React.createClass({
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
ContractListStore.listen(this.onChange);
|
ContractListStore.listen(this.onChange);
|
||||||
ContractListActions.fetchContractList(true);
|
ContractListActions.fetchContractList(true, false);
|
||||||
},
|
},
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
@ -95,45 +95,56 @@ let ContractAgreementForm = React.createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
if (this.state.contractList && this.state.contractList.length > 0) {
|
||||||
|
return (
|
||||||
|
<Form
|
||||||
|
className="ascribe-form-bordered ascribe-form-wrapper"
|
||||||
|
ref='form'
|
||||||
|
url={ApiUrls.ownership_contract_agreements}
|
||||||
|
getFormData={this.getFormData}
|
||||||
|
handleSuccess={this.handleSubmitSuccess}
|
||||||
|
buttons={<button
|
||||||
|
type="submit"
|
||||||
|
className="btn ascribe-btn ascribe-btn-login">
|
||||||
|
{getLangText('Send loan request')}
|
||||||
|
</button>}
|
||||||
|
spinner={
|
||||||
|
<span className="btn ascribe-btn ascribe-btn-login ascribe-btn-login-spinner">
|
||||||
|
<img src="https://s3-us-west-2.amazonaws.com/ascribe0/media/thumbnails/ascribe_animated_medium.gif" />
|
||||||
|
</span>
|
||||||
|
}>
|
||||||
|
<div className="ascribe-form-header">
|
||||||
|
<h3>{getLangText('Contract form')}</h3>
|
||||||
|
</div>
|
||||||
|
<Property
|
||||||
|
name='signee'
|
||||||
|
label={getLangText('Artist Email')}>
|
||||||
|
<input
|
||||||
|
type="email"
|
||||||
|
placeholder={getLangText('(e.g. andy@warhol.co.uk)')}
|
||||||
|
required/>
|
||||||
|
</Property>
|
||||||
|
{this.getContracts()}
|
||||||
|
<PropertyCollapsible
|
||||||
|
name='appendix'
|
||||||
|
checkboxLabel={getLangText('Add appendix to the contract')}>
|
||||||
|
<span>{getLangText('Appendix')}</span>
|
||||||
|
<InputTextAreaToggable
|
||||||
|
rows={1}
|
||||||
|
editable={true}
|
||||||
|
placeholder={getLangText('This will be appended to the contract selected above')}/>
|
||||||
|
</PropertyCollapsible>
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<Form
|
<div>
|
||||||
className="ascribe-form-bordered ascribe-form-wrapper"
|
<p className="text-center">
|
||||||
ref='form'
|
{getLangText('No private contracts found, please go to the ')}
|
||||||
url={ApiUrls.ownership_contract_agreements}
|
<a href="settings">{getLangText('settings page')}</a>
|
||||||
getFormData={this.getFormData}
|
{getLangText(' and create them.')}
|
||||||
handleSuccess={this.handleSubmitSuccess}
|
</p>
|
||||||
buttons={<button
|
</div>
|
||||||
type="submit"
|
|
||||||
className="btn ascribe-btn ascribe-btn-login">
|
|
||||||
{getLangText('Send loan request')}
|
|
||||||
</button>}
|
|
||||||
spinner={
|
|
||||||
<span className="btn ascribe-btn ascribe-btn-login ascribe-btn-login-spinner">
|
|
||||||
<img src="https://s3-us-west-2.amazonaws.com/ascribe0/media/thumbnails/ascribe_animated_medium.gif" />
|
|
||||||
</span>
|
|
||||||
}>
|
|
||||||
<div className="ascribe-form-header">
|
|
||||||
<h3>{getLangText('Contract form')}</h3>
|
|
||||||
</div>
|
|
||||||
<Property
|
|
||||||
name='signee'
|
|
||||||
label={getLangText('Artist Email')}>
|
|
||||||
<input
|
|
||||||
type="email"
|
|
||||||
placeholder={getLangText('(e.g. andy@warhol.co.uk)')}
|
|
||||||
required/>
|
|
||||||
</Property>
|
|
||||||
{this.getContracts()}
|
|
||||||
<PropertyCollapsible
|
|
||||||
name='appendix'
|
|
||||||
checkboxLabel={getLangText('Add appendix to the contract')}>
|
|
||||||
<span>{getLangText('Appendix')}</span>
|
|
||||||
<InputTextAreaToggable
|
|
||||||
rows={1}
|
|
||||||
editable={true}
|
|
||||||
placeholder={getLangText('This will be appended to the contract selected above')}/>
|
|
||||||
</PropertyCollapsible>
|
|
||||||
</Form>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
75
js/components/ascribe_forms/form_copyright_association.js
Normal file
75
js/components/ascribe_forms/form_copyright_association.js
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import GlobalNotificationModel from '../../models/global_notification_model';
|
||||||
|
import GlobalNotificationActions from '../../actions/global_notification_actions';
|
||||||
|
|
||||||
|
import Form from './form';
|
||||||
|
import Property from './property';
|
||||||
|
|
||||||
|
import apiUrls from '../../constants/api_urls';
|
||||||
|
import appConstants from '../../constants/application_constants';
|
||||||
|
|
||||||
|
import { getLangText } from '../../utils/lang_utils';
|
||||||
|
|
||||||
|
let CopyrightAssociationForm = React.createClass({
|
||||||
|
propTypes: {
|
||||||
|
currentUser: React.PropTypes.object
|
||||||
|
},
|
||||||
|
|
||||||
|
handleSubmitSuccess(){
|
||||||
|
let notification = getLangText('Copyright association updated');
|
||||||
|
notification = new GlobalNotificationModel(notification, 'success', 10000);
|
||||||
|
GlobalNotificationActions.appendGlobalNotification(notification);
|
||||||
|
},
|
||||||
|
|
||||||
|
getProfileFormData(){
|
||||||
|
if (this.props.currentUser && this.props.currentUser.email){
|
||||||
|
return {email: this.props.currentUser.email};
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
|
||||||
|
render() {
|
||||||
|
let selectedState = -1;
|
||||||
|
if (this.props.currentUser
|
||||||
|
&& this.props.currentUser.profile
|
||||||
|
&& this.props.currentUser.profile.copyright_association) {
|
||||||
|
selectedState = appConstants.copyrightAssociations.indexOf(this.props.currentUser.profile.copyright_association);
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<Form
|
||||||
|
ref='form'
|
||||||
|
url={apiUrls.users_profile}
|
||||||
|
getFormData={this.getProfileFormData}
|
||||||
|
handleSuccess={this.handleSubmitSuccess}>
|
||||||
|
<Property
|
||||||
|
name="copyright_association"
|
||||||
|
className="ascribe-settings-property-collapsible-toggle"
|
||||||
|
label={getLangText('Copyright Association')}
|
||||||
|
style={{paddingBottom: 0}}>
|
||||||
|
<select name="contract">
|
||||||
|
<option disabled selected={selectedState === -1}>
|
||||||
|
{getLangText(' -- select an association -- ')}
|
||||||
|
</option>
|
||||||
|
{appConstants.copyrightAssociations.map((association, i) => {
|
||||||
|
return (
|
||||||
|
<option
|
||||||
|
name={i}
|
||||||
|
key={i}
|
||||||
|
value={ association }
|
||||||
|
selected={selectedState === i}>
|
||||||
|
{ association }
|
||||||
|
</option>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</select>
|
||||||
|
</Property>
|
||||||
|
<hr />
|
||||||
|
</Form>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
export default CopyrightAssociationForm;
|
@ -61,7 +61,7 @@ let LoanForm = React.createClass({
|
|||||||
// however, it can also be that at the time the component is mounting,
|
// however, it can also be that at the time the component is mounting,
|
||||||
// the email is not defined (because it's asynchronously fetched from the server).
|
// the email is not defined (because it's asynchronously fetched from the server).
|
||||||
// Then we need to update it as soon as it is included into LoanForm's props.
|
// Then we need to update it as soon as it is included into LoanForm's props.
|
||||||
if(nextProps && nextProps.email) {
|
if(nextProps && nextProps.email && this.props.email !== nextProps.email) {
|
||||||
this.getContractAgreementsOrCreatePublic(nextProps.email);
|
this.getContractAgreementsOrCreatePublic(nextProps.email);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -75,16 +75,19 @@ let LoanForm = React.createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
getContractAgreementsOrCreatePublic(email){
|
getContractAgreementsOrCreatePublic(email){
|
||||||
ContractAgreementListActions.flushContractAgreementList();
|
/* a more complex defer (with promises) otherwise we dispatch while an action is being dispatched) */
|
||||||
if (email) {
|
window.setTimeout(() => {
|
||||||
ContractAgreementListActions.fetchAvailableContractAgreementList(email).then(
|
ContractAgreementListActions.flushContractAgreementList();
|
||||||
(contractAgreementList) => {
|
|
||||||
if (!contractAgreementList) {
|
if (email) {
|
||||||
ContractAgreementListActions.createContractAgreementFromPublicContract(email);
|
ContractAgreementListActions.fetchAvailableContractAgreementList(email).then(
|
||||||
|
(contractAgreementList) => {
|
||||||
|
if (!contractAgreementList) {
|
||||||
|
ContractAgreementListActions.createContractAgreementFromPublicContract(email);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
);
|
||||||
);
|
}}, 0);
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
getFormData(){
|
getFormData(){
|
||||||
|
@ -13,6 +13,8 @@ import Property from '../ascribe_forms/property';
|
|||||||
import InputCheckbox from '../ascribe_forms/input_checkbox';
|
import InputCheckbox from '../ascribe_forms/input_checkbox';
|
||||||
import CollapsibleParagraph from '../ascribe_collapsible/collapsible_paragraph';
|
import CollapsibleParagraph from '../ascribe_collapsible/collapsible_paragraph';
|
||||||
|
|
||||||
|
import CopyrightAssociationForm from '../ascribe_forms/form_copyright_association';
|
||||||
|
|
||||||
import ApiUrls from '../../constants/api_urls';
|
import ApiUrls from '../../constants/api_urls';
|
||||||
import AppConstants from '../../constants/application_constants';
|
import AppConstants from '../../constants/application_constants';
|
||||||
|
|
||||||
@ -117,6 +119,7 @@ let AccountSettings = React.createClass({
|
|||||||
show={true}
|
show={true}
|
||||||
defaultExpanded={true}>
|
defaultExpanded={true}>
|
||||||
{content}
|
{content}
|
||||||
|
<CopyrightAssociationForm currentUser={this.state.currentUser}/>
|
||||||
{profile}
|
{profile}
|
||||||
{/*<Form
|
{/*<Form
|
||||||
url={AppConstants.serverUrl + 'api/users/set_language/'}>
|
url={AppConstants.serverUrl + 'api/users/set_language/'}>
|
||||||
|
@ -7,7 +7,7 @@ import Property from '../../../../../ascribe_forms/property';
|
|||||||
|
|
||||||
import InputTextAreaToggable from '../../../../../ascribe_forms/input_textarea_toggable';
|
import InputTextAreaToggable from '../../../../../ascribe_forms/input_textarea_toggable';
|
||||||
|
|
||||||
import FurtherDetailsFileuploader from '../../../../../ascribe_detail/further_details_fileuploader';
|
//import FurtherDetailsFileuploader from '../../../../../ascribe_detail/further_details_fileuploader';
|
||||||
|
|
||||||
import ApiUrls from '../../../../../../constants/api_urls';
|
import ApiUrls from '../../../../../../constants/api_urls';
|
||||||
import AppConstants from '../../../../../../constants/application_constants';
|
import AppConstants from '../../../../../../constants/application_constants';
|
||||||
@ -15,7 +15,7 @@ import AppConstants from '../../../../../../constants/application_constants';
|
|||||||
import requests from '../../../../../../utils/requests';
|
import requests from '../../../../../../utils/requests';
|
||||||
|
|
||||||
import { getLangText } from '../../../../../../utils/lang_utils';
|
import { getLangText } from '../../../../../../utils/lang_utils';
|
||||||
import { formSubmissionValidation } from '../../../../../ascribe_uploader/react_s3_fine_uploader_utils';
|
//import { formSubmissionValidation } from '../../../../../ascribe_uploader/react_s3_fine_uploader_utils';
|
||||||
|
|
||||||
|
|
||||||
let IkonotvAdditionalDataForm = React.createClass({
|
let IkonotvAdditionalDataForm = React.createClass({
|
||||||
@ -110,15 +110,6 @@ let IkonotvAdditionalDataForm = React.createClass({
|
|||||||
placeholder={getLangText('Enter a conceptual overview...')}
|
placeholder={getLangText('Enter a conceptual overview...')}
|
||||||
required="required"/>
|
required="required"/>
|
||||||
</Property>
|
</Property>
|
||||||
<FurtherDetailsFileuploader
|
|
||||||
uploadStarted={this.uploadStarted}
|
|
||||||
submitKey={this.submitKey}
|
|
||||||
setIsUploadReady={this.setIsUploadReady}
|
|
||||||
isReadyForFormSubmission={formSubmissionValidation.fileOptional}
|
|
||||||
editable={!this.props.disabled}
|
|
||||||
pieceId={this.props.piece.id}
|
|
||||||
otherData={this.props.piece.other_data}
|
|
||||||
multiple={true}/>
|
|
||||||
</Form>
|
</Form>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
@ -6,17 +6,18 @@ import Router from 'react-router';
|
|||||||
import Glyphicon from 'react-bootstrap/lib/Glyphicon';
|
import Glyphicon from 'react-bootstrap/lib/Glyphicon';
|
||||||
import Button from 'react-bootstrap/lib/Button';
|
import Button from 'react-bootstrap/lib/Button';
|
||||||
|
|
||||||
import Form from '../../../../ascribe_forms/form';
|
|
||||||
import Property from '../../../../ascribe_forms/property';
|
|
||||||
import InputCheckbox from '../../../../ascribe_forms/input_checkbox';
|
|
||||||
|
|
||||||
import NotificationActions from '../../../../../actions/notification_actions';
|
import NotificationActions from '../../../../../actions/notification_actions';
|
||||||
import NotificationStore from '../../../../../stores/notification_store';
|
import NotificationStore from '../../../../../stores/notification_store';
|
||||||
|
|
||||||
|
import UserStore from '../../../../../stores/user_store';
|
||||||
|
|
||||||
import WhitelabelStore from '../../../../../stores/whitelabel_store';
|
import WhitelabelStore from '../../../../../stores/whitelabel_store';
|
||||||
|
|
||||||
import GlobalNotificationModel from '../../../../../models/global_notification_model';
|
import GlobalNotificationModel from '../../../../../models/global_notification_model';
|
||||||
import GlobalNotificationActions from '../../../../../actions/global_notification_actions';
|
import GlobalNotificationActions from '../../../../../actions/global_notification_actions';
|
||||||
|
|
||||||
|
import CopyrightAssociationForm from '../../../../ascribe_forms/form_copyright_association';
|
||||||
|
|
||||||
import apiUrls from '../../../../../constants/api_urls';
|
import apiUrls from '../../../../../constants/api_urls';
|
||||||
|
|
||||||
import requests from '../../../../../utils/requests';
|
import requests from '../../../../../utils/requests';
|
||||||
@ -32,12 +33,14 @@ let IkonotvContractNotifications = React.createClass({
|
|||||||
getInitialState() {
|
getInitialState() {
|
||||||
return mergeOptions(
|
return mergeOptions(
|
||||||
NotificationStore.getState(),
|
NotificationStore.getState(),
|
||||||
|
UserStore.getState(),
|
||||||
WhitelabelStore.getState()
|
WhitelabelStore.getState()
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
NotificationStore.listen(this.onChange);
|
NotificationStore.listen(this.onChange);
|
||||||
|
UserStore.listen(this.onChange);
|
||||||
WhitelabelStore.listen(this.onChange);
|
WhitelabelStore.listen(this.onChange);
|
||||||
if (this.state.contractAgreementListNotifications === null){
|
if (this.state.contractAgreementListNotifications === null){
|
||||||
NotificationActions.fetchContractAgreementListNotifications();
|
NotificationActions.fetchContractAgreementListNotifications();
|
||||||
@ -88,7 +91,8 @@ let IkonotvContractNotifications = React.createClass({
|
|||||||
let notifications = this.state.contractAgreementListNotifications[0];
|
let notifications = this.state.contractAgreementListNotifications[0];
|
||||||
let appendix = notifications.contract_agreement.appendix;
|
let appendix = notifications.contract_agreement.appendix;
|
||||||
if (appendix) {
|
if (appendix) {
|
||||||
return (<div>
|
return (
|
||||||
|
<div className='notification-contract-footer'>
|
||||||
<h1>{getLangText('Appendix')}</h1>
|
<h1>{getLangText('Appendix')}</h1>
|
||||||
<pre>
|
<pre>
|
||||||
{appendix.default}
|
{appendix.default}
|
||||||
@ -99,6 +103,13 @@ let IkonotvContractNotifications = React.createClass({
|
|||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
handleConfirm() {
|
||||||
|
let contractAgreement = this.state.contractAgreementListNotifications[0].contract_agreement;
|
||||||
|
requests.put(apiUrls.ownership_contract_agreements_confirm, {contract_agreement_id: contractAgreement.id}).then(
|
||||||
|
() => this.handleConfirmSuccess()
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
handleConfirmSuccess() {
|
handleConfirmSuccess() {
|
||||||
let notification = new GlobalNotificationModel(getLangText('You have accepted the conditions'), 'success', 10000);
|
let notification = new GlobalNotificationModel(getLangText('You have accepted the conditions'), 'success', 10000);
|
||||||
GlobalNotificationActions.appendGlobalNotification(notification);
|
GlobalNotificationActions.appendGlobalNotification(notification);
|
||||||
@ -118,11 +129,29 @@ let IkonotvContractNotifications = React.createClass({
|
|||||||
this.transitionTo('pieces');
|
this.transitionTo('pieces');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getCopyrightAssociationForm(){
|
||||||
|
if (this.state.currentUser && this.state.currentUser.profile
|
||||||
|
&& this.state.currentUser.profile.copyright_association){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<div className='notification-contract-footer'>
|
||||||
|
<h1>{getLangText('Are you a member of any copyright societies?')}</h1>
|
||||||
|
<p>
|
||||||
|
ARS, DACS, Bildkunst, Pictoright, SODRAC, Copyright Agency/Viscopy, SAVA, Bildrecht GmbH,
|
||||||
|
SABAM, AUTVIS, CREAIMAGEN, SONECA, Copydan, EAU, Kuvasto, GCA, HUNGART, IVARO, SIAE, JASPAR-SPDA,
|
||||||
|
AKKA/LAA, LATGA-A, SOMAAP, ARTEGESTION, CARIER, BONO, APSAV, SPA, GESTOR, VISaRTA, RAO, LITA,
|
||||||
|
DALRO, VeGaP, BUS, ProLitteris, AGADU, AUTORARTE, BUBEDRA, BBDA, BCDA, BURIDA, ADAVIS, BSDA
|
||||||
|
</p>
|
||||||
|
<CopyrightAssociationForm currentUser={this.state.currentUser} />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|
||||||
if (this.state.contractAgreementListNotifications &&
|
if (this.state.contractAgreementListNotifications &&
|
||||||
this.state.contractAgreementListNotifications.length > 0) {
|
this.state.contractAgreementListNotifications.length > 0) {
|
||||||
let contractAgreement = this.state.contractAgreementListNotifications[0].contract_agreement;
|
|
||||||
return (
|
return (
|
||||||
<div className='container'>
|
<div className='container'>
|
||||||
<div className='notification-contract-wrapper'>
|
<div className='notification-contract-wrapper'>
|
||||||
@ -133,41 +162,17 @@ let IkonotvContractNotifications = React.createClass({
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{this.getContract()}
|
{this.getContract()}
|
||||||
|
|
||||||
<div className='notification-contract-footer'>
|
<div className='notification-contract-footer'>
|
||||||
{this.getAppendix}
|
{this.getAppendix()}
|
||||||
<h1>{getLangText('Are you a member of any copyright societies?')}</h1>
|
{this.getCopyrightAssociationForm()}
|
||||||
<p>
|
<p style={{marginTop: '1em'}}>
|
||||||
ARS, DACS, Bildkunst, Pictoright, SODRAC, Copyright Agency/Viscopy, SAVA, Bildrecht GmbH,
|
<Button type="submit" onClick={this.handleConfirm}>
|
||||||
SABAM, AUTVIS, CREAIMAGEN, SONECA, Copydan, EAU, Kuvasto, GCA, HUNGART, IVARO, SIAE, JASPAR-SPDA,
|
{getLangText('I agree with the conditions')}
|
||||||
AKKA/LAA, LATGA-A, SOMAAP, ARTEGESTION, CARIER, BONO, APSAV, SPA, GESTOR, VISaRTA, RAO, LITA,
|
</Button>
|
||||||
DALRO, VeGaP, BUS, ProLitteris, AGADU, AUTORARTE, BUBEDRA, BBDA, BCDA, BURIDA, ADAVIS, BSDA
|
<Button bsStyle="danger" className="btn-delete" bsSize="medium" onClick={this.handleDeny}>
|
||||||
|
{getLangText('I disagree')}
|
||||||
|
</Button>
|
||||||
</p>
|
</p>
|
||||||
<Form
|
|
||||||
ref='form'
|
|
||||||
url={requests.prepareUrl(apiUrls.ownership_contract_agreements_confirm, {contract_agreement_id: contractAgreement.id})}
|
|
||||||
handleSuccess={this.handleConfirmSuccess}
|
|
||||||
method='put'
|
|
||||||
buttons={
|
|
||||||
<p style={{marginTop: '1em'}}>
|
|
||||||
<Button type="submit">{getLangText('I agree with the conditions')}</Button>
|
|
||||||
<Button bsStyle="danger" className="btn-delete" bsSize="medium" onClick={this.handleDeny}>
|
|
||||||
{getLangText('I disagree')}
|
|
||||||
</Button>
|
|
||||||
</p>
|
|
||||||
}>
|
|
||||||
<Property
|
|
||||||
name="terms"
|
|
||||||
className="ascribe-settings-property-collapsible-toggle"
|
|
||||||
style={{paddingBottom: 0}}>
|
|
||||||
<InputCheckbox>
|
|
||||||
<span>
|
|
||||||
{' ' + getLangText('Yes') }
|
|
||||||
</span>
|
|
||||||
</InputCheckbox>
|
|
||||||
</Property>
|
|
||||||
|
|
||||||
</Form>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -61,7 +61,11 @@ let constants = {
|
|||||||
'whitelabel': {},
|
'whitelabel': {},
|
||||||
'raven': {
|
'raven': {
|
||||||
'url': 'https://0955da3388c64ab29bd32c2a429f9ef4@app.getsentry.com/48351'
|
'url': 'https://0955da3388c64ab29bd32c2a429f9ef4@app.getsentry.com/48351'
|
||||||
}
|
},
|
||||||
|
'copyrightAssociations': ['ARS', 'DACS', 'Bildkunst', 'Pictoright', 'SODRAC', 'Copyright Agency/Viscopy', 'SAVA',
|
||||||
|
'Bildrecht GmbH', 'SABAM', 'AUTVIS', 'CREAIMAGEN', 'SONECA', 'Copydan', 'EAU', 'Kuvasto', 'GCA', 'HUNGART',
|
||||||
|
'IVARO', 'SIAE', 'JASPAR-SPDA', 'AKKA/LAA', 'LATGA-A', 'SOMAAP', 'ARTEGESTION', 'CARIER', 'BONO', 'APSAV',
|
||||||
|
'SPA', 'GESTOR', 'VISaRTA', 'RAO', 'LITA', 'DALRO', 'VeGaP', 'BUS', 'ProLitteris', 'AGADU', 'AUTORARTE', 'BUBEDRA', 'BBDA', 'BCDA', 'BURIDA', 'ADAVIS', 'BSDA']
|
||||||
};
|
};
|
||||||
|
|
||||||
export default constants;
|
export default constants;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user