diff --git a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx index 5b331f3636b0e0bdb1b569365424371b3e456ee7..671a425a9b126d61c08fe4b032417aae0930caaa 100755 --- a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/component.jsx @@ -295,6 +295,10 @@ class PresentationUploader extends Component { } } + componentWillUnmount() { + Session.set('showUploadPresentationView', false); + } + isDefault(presentation) { const { defaultFileName } = this.props; return presentation.filename === defaultFileName @@ -312,8 +316,8 @@ class PresentationUploader extends Component { const validExtentions = fileValidMimeTypes.map((fileValid) => fileValid.extension); const [accepted, rejected] = _.partition(files .concat(files2), (f) => ( - validMimes.includes(f.type) || validExtentions.includes(`.${f.name.split('.').pop()}`) - )); + validMimes.includes(f.type) || validExtentions.includes(`.${f.name.split('.').pop()}`) + )); const presentationsToUpload = accepted.map((file) => { const id = _.uniqueId(file.name); diff --git a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/container.jsx b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/container.jsx index 0fac2c8ad5370b60353317d132b7b2dfe7a84414..3ea7d6e4e44a2db3d949e217c168b5b393fb2fcc 100644 --- a/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/presentation/presentation-uploader/container.jsx @@ -4,21 +4,22 @@ import { withTracker } from 'meteor/react-meteor-data'; import ErrorBoundary from '/imports/ui/components/error-boundary/component'; import FallbackModal from '/imports/ui/components/fallback-errors/fallback-modal/component'; import Service from './service'; -import PresentationService from '../service'; import PresentationUploader from './component'; +import { withUsersConsumer } from '/imports/ui/components/components-data/users-context/context'; +import Auth from '/imports/ui/services/auth'; const PRESENTATION_CONFIG = Meteor.settings.public.presentation; const PresentationUploaderContainer = (props) => ( props.isPresenter && ( - <ErrorBoundary Fallback={() => <FallbackModal />}> - <PresentationUploader {...props} /> - </ErrorBoundary> + <ErrorBoundary Fallback={() => <FallbackModal />}> + <PresentationUploader {...props} /> + </ErrorBoundary> ) ); -export default withTracker(() => { +export default withUsersConsumer(withTracker(({ users }) => { const currentPresentations = Service.getPresentations(); const { dispatchDisableDownloadable, @@ -26,6 +27,8 @@ export default withTracker(() => { dispatchTogglePresentationDownloadable, } = Service; + const currentUser = users[Auth.meetingID][Auth.userID]; + return { presentations: currentPresentations, defaultFileName: PRESENTATION_CONFIG.defaultPresentationFile, @@ -41,6 +44,6 @@ export default withTracker(() => { dispatchTogglePresentationDownloadable, isOpen: Session.get('showUploadPresentationView') || false, selectedToBeNextCurrent: Session.get('selectedToBeNextCurrent') || null, - isPresenter: PresentationService.isPresenter('DEFAULT_PRESENTATION_POD'), + isPresenter: currentUser.presenter, }; -})(PresentationUploaderContainer); +})(PresentationUploaderContainer));