mirror of
https://github.com/ascribe/onion.git
synced 2024-12-22 17:33:14 +01:00
Merge with main AD-1149 branch
This commit is contained in:
commit
3f3ba50aa5
@ -44,7 +44,7 @@ let RegisterPiece = React.createClass( {
|
||||
return mergeOptions(
|
||||
UserStore.getState(),
|
||||
WhitelabelStore.getState(),
|
||||
PieceListStore.getState(),
|
||||
PieceListStore.getState()
|
||||
);
|
||||
},
|
||||
|
||||
|
@ -16,6 +16,9 @@ import UserActions from '../../../../../actions/user_actions';
|
||||
import PieceStore from '../../../../../stores/piece_store';
|
||||
import PieceActions from '../../../../../actions/piece_actions';
|
||||
|
||||
import WhitelabelActions from '../../../../../actions/whitelabel_actions';
|
||||
import WhitelabelStore from '../../../../../stores/whitelabel_store';
|
||||
|
||||
import GlobalNotificationModel from '../../../../../models/global_notification_model';
|
||||
import GlobalNotificationActions from '../../../../../actions/global_notification_actions';
|
||||
|
||||
@ -47,6 +50,7 @@ let IkonotvRegisterPiece = React.createClass({
|
||||
UserStore.getState(),
|
||||
PieceListStore.getState(),
|
||||
PieceStore.getState(),
|
||||
WhitelabelStore.getState(),
|
||||
{
|
||||
step: 0,
|
||||
pageExitWarning: getLangText("If you leave this form now, your work will not be loaned to Ikono TV.")
|
||||
@ -57,7 +61,9 @@ let IkonotvRegisterPiece = React.createClass({
|
||||
PieceListStore.listen(this.onChange);
|
||||
UserStore.listen(this.onChange);
|
||||
PieceStore.listen(this.onChange);
|
||||
WhitelabelStore.listen(this.onChange);
|
||||
UserActions.fetchCurrentUser();
|
||||
WhitelabelActions.fetchWhitelabel();
|
||||
|
||||
// Before we load the new piece, we reset the piece store to delete old data that we do
|
||||
// not want to display to the user.
|
||||
@ -81,6 +87,7 @@ let IkonotvRegisterPiece = React.createClass({
|
||||
PieceListStore.unlisten(this.onChange);
|
||||
UserStore.unlisten(this.onChange);
|
||||
PieceStore.unlisten(this.onChange);
|
||||
WhitelabelStore.listen(this.onChange);
|
||||
},
|
||||
|
||||
onChange(state) {
|
||||
@ -152,7 +159,8 @@ let IkonotvRegisterPiece = React.createClass({
|
||||
|
||||
canSubmit() {
|
||||
let currentUser = this.state.currentUser;
|
||||
return currentUser && currentUser.acl && currentUser.acl.acl_wallet_submit;
|
||||
let whitelabel = this.state.whitelabel;
|
||||
return currentUser && currentUser.acl && currentUser.acl.acl_wallet_submit && whitelabel && whitelabel.user;
|
||||
},
|
||||
|
||||
getSlideArtistDetails() {
|
||||
@ -194,15 +202,16 @@ let IkonotvRegisterPiece = React.createClass({
|
||||
let today = new Moment();
|
||||
let enddate = new Moment();
|
||||
enddate.add(2, 'years');
|
||||
const {piece, whitelabel} = this.state;
|
||||
return (
|
||||
<div data-slide-title={getLangText('Loan')}>
|
||||
<Row className="no-margin">
|
||||
<Col xs={12} sm={10} md={8} smOffset={1} mdOffset={2}>
|
||||
<LoanForm
|
||||
loanHeading={getLangText('Loan to IkonoTV archive')}
|
||||
id={{piece_id: this.state.piece.id}}
|
||||
id={{piece_id: piece.id}}
|
||||
url={ApiUrls.ownership_loans_pieces}
|
||||
email="submissions@ikono.org"
|
||||
email={whitelabel.user}
|
||||
startdate={today}
|
||||
enddate={enddate}
|
||||
showStartDate={false}
|
||||
|
@ -91,7 +91,7 @@ let MarketSubmitButton = React.createClass({
|
||||
|
||||
render() {
|
||||
const { availableAcls, currentUser, className, editions, handleSuccess } = this.props;
|
||||
const { whitelabel } = this.state;
|
||||
const { whitelabel: { name: whitelabelName = 'Market', user: whitelabelAdminEmail } } = this.state;
|
||||
const { solePieceId, canSubmit } = this.getAggregateEditionDetails();
|
||||
const message = getAclFormMessage({
|
||||
aclName: 'acl_consign',
|
||||
@ -103,14 +103,14 @@ let MarketSubmitButton = React.createClass({
|
||||
|
||||
const triggerButton = (
|
||||
<button className={classNames('btn', 'btn-default', 'btn-sm', className)}>
|
||||
{getLangText('CONSIGN TO %s', whitelabel.name.toUpperCase())}
|
||||
{getLangText('CONSIGN TO %s', whitelabelName.toUpperCase())}
|
||||
</button>
|
||||
);
|
||||
const consignForm = (
|
||||
<AclFormFactory
|
||||
action='acl_consign'
|
||||
autoFocusProperty='message'
|
||||
email={whitelabel.user}
|
||||
email={whitelabelAdminEmail}
|
||||
message={message}
|
||||
labels={{
|
||||
'message': getLangText('Message (also suggest a sales price if necessary)')
|
||||
@ -148,7 +148,7 @@ let MarketSubmitButton = React.createClass({
|
||||
<ModalWrapper
|
||||
trigger={triggerButton}
|
||||
handleSuccess={handleSuccess}
|
||||
title={getLangText('Consign artwork to %s', whitelabel.name)}>
|
||||
title={getLangText('Consign artwork to %s', whitelabelName)}>
|
||||
{consignForm}
|
||||
</ModalWrapper>
|
||||
</AclProxy>
|
||||
|
@ -51,19 +51,25 @@ let MarketPieceList = React.createClass({
|
||||
|
||||
render() {
|
||||
const { customThumbnailPlaceholder, location } = this.props;
|
||||
const { currentUser, whitelabel } = this.state;
|
||||
const {
|
||||
currentUser: { email: userEmail },
|
||||
whitelabel: {
|
||||
name: whitelabelName = 'Market',
|
||||
user: whitelabelAdminEmail
|
||||
} } = this.state;
|
||||
|
||||
let filterParams = null;
|
||||
let canLoadPieceList = false;
|
||||
|
||||
if (currentUser.email && whitelabel.user) {
|
||||
if (userEmail && whitelabelAdminEmail) {
|
||||
canLoadPieceList = true;
|
||||
const isUserAdmin = currentUser.email === whitelabel.user;
|
||||
const isUserAdmin = userEmail === whitelabelAdminEmail;
|
||||
|
||||
filterParams = [{
|
||||
label: getLangText('Show works I can'),
|
||||
items: [{
|
||||
key: isUserAdmin ? 'acl_transfer' : 'acl_consign',
|
||||
label: getLangText(isUserAdmin ? 'transfer' : 'consign to %s', whitelabel.name),
|
||||
label: getLangText(isUserAdmin ? 'transfer' : 'consign to %s', whitelabelName),
|
||||
defaultValue: true
|
||||
}]
|
||||
}];
|
||||
|
@ -11,11 +11,13 @@ import MarketAdditionalDataForm from './market_forms/market_additional_data_form
|
||||
import Property from '../../../../ascribe_forms/property';
|
||||
import RegisterPieceForm from '../../../../ascribe_forms/form_register_piece';
|
||||
|
||||
import UserStore from '../../../../../stores/user_store';
|
||||
import UserActions from '../../../../../actions/user_actions';
|
||||
import PieceActions from '../../../../../actions/piece_actions';
|
||||
import PieceListStore from '../../../../../stores/piece_list_store';
|
||||
import PieceListActions from '../../../../../actions/piece_list_actions';
|
||||
import UserStore from '../../../../../stores/user_store';
|
||||
import UserActions from '../../../../../actions/user_actions';
|
||||
import WhitelabelActions from '../../../../../actions/whitelabel_actions';
|
||||
import WhitelabelStore from '../../../../../stores/whitelabel_store';
|
||||
|
||||
import SlidesContainer from '../../../../ascribe_slides_container/slides_container';
|
||||
|
||||
@ -32,8 +34,9 @@ let MarketRegisterPiece = React.createClass({
|
||||
|
||||
getInitialState(){
|
||||
return mergeOptions(
|
||||
UserStore.getState(),
|
||||
PieceListStore.getState(),
|
||||
UserStore.getState(),
|
||||
WhitelabelStore.getState(),
|
||||
{
|
||||
step: 0
|
||||
});
|
||||
@ -42,7 +45,10 @@ let MarketRegisterPiece = React.createClass({
|
||||
componentDidMount() {
|
||||
PieceListStore.listen(this.onChange);
|
||||
UserStore.listen(this.onChange);
|
||||
WhitelabelStore.listen(this.onChange);
|
||||
|
||||
UserActions.fetchCurrentUser();
|
||||
WhitelabelActions.fetchWhitelabel();
|
||||
|
||||
// Reset the piece store to make sure that we don't display old data
|
||||
// if the user repeatedly registers works
|
||||
@ -52,6 +58,7 @@ let MarketRegisterPiece = React.createClass({
|
||||
componentWillUnmount() {
|
||||
PieceListStore.unlisten(this.onChange);
|
||||
UserStore.unlisten(this.onChange);
|
||||
WhitelabelStore.unlisten(this.onChange);
|
||||
},
|
||||
|
||||
onChange(state) {
|
||||
@ -107,6 +114,13 @@ let MarketRegisterPiece = React.createClass({
|
||||
},
|
||||
|
||||
render() {
|
||||
const {
|
||||
isFineUploaderActive,
|
||||
step,
|
||||
whitelabel: {
|
||||
name: whitelabelName = 'Market'
|
||||
} } = this.state;
|
||||
|
||||
setDocumentTitle(getLangText('Register a new piece'));
|
||||
|
||||
return (
|
||||
@ -122,9 +136,9 @@ let MarketRegisterPiece = React.createClass({
|
||||
<Row className="no-margin">
|
||||
<Col xs={12} sm={10} md={8} smOffset={1} mdOffset={2}>
|
||||
<RegisterPieceForm
|
||||
disabled={this.state.step > 0}
|
||||
disabled={step > 0}
|
||||
enableLocalHashing={false}
|
||||
headerMessage={getLangText('Consign to Market')}
|
||||
headerMessage={getLangText('Consign to %s', whitelabelName)}
|
||||
submitMessage={getLangText('Proceed to additional details')}
|
||||
isFineUploaderActive={true}
|
||||
handleSuccess={this.handleRegisterSuccess}
|
||||
|
Loading…
Reference in New Issue
Block a user