From ab97fa420cad3627a7fbe7e12410555246db34b8 Mon Sep 17 00:00:00 2001 From: diminator Date: Wed, 26 Aug 2015 15:46:27 +0200 Subject: [PATCH] loan request with moment shortlist on accordeonlist OK --- js/actions/ownership_actions.js | 7 ++-- .../ascribe_forms/form_loan_request_answer.js | 8 +++-- js/components/piece_list.js | 7 ++-- .../accordion_list_item_prize.js | 32 ++++++++++++++++--- .../ascribe_detail/prize_piece_container.js | 1 + .../prize/components/prize_piece_list.js | 7 +++- js/stores/ownership_store.js | 2 +- 7 files changed, 48 insertions(+), 16 deletions(-) diff --git a/js/actions/ownership_actions.js b/js/actions/ownership_actions.js index 5bd04322..222309bb 100644 --- a/js/actions/ownership_actions.js +++ b/js/actions/ownership_actions.js @@ -8,7 +8,8 @@ class OwnershipActions { constructor() { this.generateActions( 'updateLoanPieceRequestList', - 'updateLoanPieceRequest' + 'updateLoanPieceRequest', + 'flushLoanPieceRequest' ); } @@ -26,12 +27,10 @@ class OwnershipActions { fetchLoanRequest(pieceId) { OwnershipFetcher.fetchLoanPieceRequestList() .then((data) => { - let loanRequests = data.loan_requests; - this.actions.updateLoanPieceRequest({loanRequests, pieceId}); + this.actions.updateLoanPieceRequest({loanRequests: data.loan_requests, pieceId: pieceId}); }) .catch((err) => { console.logGlobal(err); - this.actions.flushLoanPieceRequest(); }); } } diff --git a/js/components/ascribe_forms/form_loan_request_answer.js b/js/components/ascribe_forms/form_loan_request_answer.js index e1a0f5db..354866d8 100644 --- a/js/components/ascribe_forms/form_loan_request_answer.js +++ b/js/components/ascribe_forms/form_loan_request_answer.js @@ -1,7 +1,7 @@ 'use strict'; import React from 'react'; - +import Moment from 'moment'; import classnames from 'classnames'; import Button from 'react-bootstrap/lib/Button'; @@ -66,8 +66,10 @@ let LoanRequestAnswerForm = React.createClass({ render() { - console.log(this.state.loanRequest) if (this.state.loanRequest) { + let startDate = new Moment(this.state.loanRequest.datetime_from, Moment.ISO_8601), + endDate = new Moment(this.state.loanRequest.datetime_to, Moment.ISO_8601); + return ( diff --git a/js/components/piece_list.js b/js/components/piece_list.js index 94d2ef96..79f1471c 100644 --- a/js/components/piece_list.js +++ b/js/components/piece_list.js @@ -28,7 +28,8 @@ let PieceList = React.createClass({ redirectTo: React.PropTypes.string, customSubmitButton: React.PropTypes.element, filterParams: React.PropTypes.array, - orderParams: React.PropTypes.array + orderParams: React.PropTypes.array, + orderBy: React.PropTypes.string }, @@ -59,10 +60,10 @@ let PieceList = React.createClass({ PieceListStore.listen(this.onChange); EditionListStore.listen(this.onChange); - + let orderBy = this.props.orderBy ? this.props.orderBy : this.state.orderBy; if (this.state.pieceList.length === 0 || this.state.page !== page){ PieceListActions.fetchPieceList(page, this.state.pageSize, this.state.search, - this.state.orderBy, this.state.orderAsc, this.state.filterBy) + orderBy, this.state.orderAsc, this.state.filterBy) .then(() => PieceListActions.fetchPieceRequestActions()); } }, diff --git a/js/components/whitelabel/prize/components/ascribe_accordion_list/accordion_list_item_prize.js b/js/components/whitelabel/prize/components/ascribe_accordion_list/accordion_list_item_prize.js index 1aafdac2..0cb46afe 100644 --- a/js/components/whitelabel/prize/components/ascribe_accordion_list/accordion_list_item_prize.js +++ b/js/components/whitelabel/prize/components/ascribe_accordion_list/accordion_list_item_prize.js @@ -115,7 +115,11 @@ let AccordionListItemPrize = React.createClass({ ); } } - // participant + return this.getPrizeButtonsParticipant(); + + }, + + getPrizeButtonsParticipant() { return (
{ - PrizeRatingActions.toggleShortlist(this.props.content.id).then( - PieceListActions.fetchPieceList(this.state.page, this.state.pageSize, this.state.search, - this.state.orderBy, this.state.orderAsc, this.state.filterBy) - ); }}/> + PrizeRatingActions.toggleShortlist(this.props.content.id) + .then( + (res) => { + this.refreshPieceData(); + return res; + }) + .then( + (res) => { + this.handleShortlistSuccess(res.notification); + } + ); + }}/> ); } diff --git a/js/components/whitelabel/prize/components/ascribe_detail/prize_piece_container.js b/js/components/whitelabel/prize/components/ascribe_detail/prize_piece_container.js index 712b463f..284d7f49 100644 --- a/js/components/whitelabel/prize/components/ascribe_detail/prize_piece_container.js +++ b/js/components/whitelabel/prize/components/ascribe_detail/prize_piece_container.js @@ -264,6 +264,7 @@ let PrizePieceRatings = React.createClass({ }, handleLoanRequestSuccess(){}, + handleShortlistSuccess(message){ let notification = new GlobalNotificationModel(message, 'success', 2000); GlobalNotificationActions.appendGlobalNotification(notification); diff --git a/js/components/whitelabel/prize/components/prize_piece_list.js b/js/components/whitelabel/prize/components/prize_piece_list.js index 3828a2ab..b8a9c1d5 100644 --- a/js/components/whitelabel/prize/components/prize_piece_list.js +++ b/js/components/whitelabel/prize/components/prize_piece_list.js @@ -40,13 +40,16 @@ let PrizePieceList = React.createClass({ }, getButtonSubmit() { - if (this.state.prize && this.state.prize.active){ + if (this.state.prize && this.state.prize.active && !this.state.currentUser.is_jury){ return ( {getLangText('Submit to prize')} ); } + else if (this.state.prize && this.state.currentUser.is_judge){ + return null; + } return null; }, @@ -54,9 +57,11 @@ let PrizePieceList = React.createClass({ return (
diff --git a/js/stores/ownership_store.js b/js/stores/ownership_store.js index 90c427d2..eaba7111 100644 --- a/js/stores/ownership_store.js +++ b/js/stores/ownership_store.js @@ -26,7 +26,7 @@ class OwnershipStore { } } - flushLoanPieceRequest(){ + onFlushLoanPieceRequest(){ this.loanRequestList = []; this.loanRequest = null; }