Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
FROM node:10-alpine as builder
LABEL maintainer="Niranjan Rajendran <[email protected]>"
FROM node:12-alpine as builder

WORKDIR /app

Expand All @@ -25,16 +24,18 @@ FROM node:10-alpine

WORKDIR /fastboot

COPY scripts/fastboot-server.js .
COPY --from=builder /app/dist/ app/
COPY --from=builder /app/dist/ dist/

RUN apk add --no-cache ca-certificates && \
cp app/package.json . && \
cp dist/package.json . && \
yarn install && \
yarn add fastboot-app-server && \
yarn add fastboot-app-server dotenv lodash safe-eval && \
rm -rf yarn.lock && \
yarn cache clean

COPY scripts/* ./scripts/
COPY config/environment.js ./config/

EXPOSE 4000

CMD ["node", "fastboot-server.js"]
CMD ["node", "./scripts/fastboot-server.js"]
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
![Open Event Frontend](docs/images/Frontend_Branding.png)

[![Build Status](https://travis-ci.org/fossasia/open-event-frontend.svg?branch=development)](https://travis-ci.org/fossasia/open-event-frontend)
[![Netlify Status](https://api.netlify.com/api/v1/badges/89d57fdc-826c-400b-af13-c542e9513f62/deploy-status)](https://app.netlify.com/sites/open-event-fe/deploys)
[![Netlify](https://img.shields.io/netlify/89d57fdc-826c-400b-af13-c542e9513f62)](https://app.netlify.com/sites/open-event-fe/deploys)
[![Gitter](https://img.shields.io/badge/chat-on%20gitter-ff006f.svg?style=flat-square)](https://gitter.im/fossasia/open-event-frontend)
[![Mailing](https://img.shields.io/badge/Mailing-List-red.svg)](https://groups.google.com/forum/#!forum/open-event)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/0d51cf60fc734d3699fd6eff6054e483)](https://www.codacy.com/app/fossasia/open-event-frontend?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=fossasia/open-event-frontend&amp;utm_campaign=Badge_Grade)
Expand Down
64 changes: 31 additions & 33 deletions app/controllers/events/view/edit/attendee.js
Original file line number Diff line number Diff line change
@@ -1,43 +1,41 @@
import Controller from '@ember/controller';
import { action } from '@ember/object';
import EventWizardMixin from 'open-event-frontend/mixins/event-wizard';

export default class extends Controller.extend(EventWizardMixin) {

export default Controller.extend(EventWizardMixin, {
async saveForms(data) {
for (const customForm of data.customForms ? data.customForms.toArray() : []) {
await customForm.save();
}
return data;
}
@action
async save(data) {
try {
await this.saveForms(data);
this.saveEventDataAndRedirectTo(
'events.view.index',
['tickets']
);
} catch (error) {
this.notify.error(this.l10n.t(error.message),
{
id: 'attendee_error_serv'
});
}
}
@action
async move(direction, data) {
try {
await this.saveForms(data);
this.saveEventDataAndRedirectTo(
direction === 'forwards' ? 'events.view.edit.sponsors' : 'events.view.edit.basic-details',
['tickets']
);
} catch (error) {
this.notify.error(this.l10n.t(error.message),
{
id: 'attendee_move_error'
});
},
actions: {
async save(data) {
try {
await this.saveForms(data);
this.saveEventDataAndRedirectTo(
'events.view.index',
['tickets']
);
} catch (error) {
this.notify.error(this.l10n.t(error.message),
{
id: 'attendee_error_serv'
});
}
},
async move(direction, data) {
try {
await this.saveForms(data);
this.saveEventDataAndRedirectTo(
direction === 'forwards' ? 'events.view.edit.sponsors' : 'events.view.edit.basic-details',
['tickets']
);
} catch (error) {
this.notify.error(this.l10n.t(error.message),
{
id: 'attendee_move_error'
});
}
}
}
}
});
32 changes: 15 additions & 17 deletions app/controllers/events/view/edit/basic-details.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
import Controller from '@ember/controller';
import EventWizardMixin from 'open-event-frontend/mixins/event-wizard';
import { action } from '@ember/object';

export default class extends Controller.extend(EventWizardMixin) {
@action
save() {
this.saveEventDataAndRedirectTo(
'events.view.index',
['tickets', 'socialLinks', 'copyright', 'tax', 'stripeAuthorization']
);
export default Controller.extend(EventWizardMixin, {
actions: {
save() {
this.saveEventDataAndRedirectTo(
'events.view.index',
['tickets', 'socialLinks', 'copyright', 'tax', 'stripeAuthorization']
);
},
move() {
this.saveEventDataAndRedirectTo(
'events.view.edit.attendee',
['tickets', 'socialLinks', 'copyright', 'tax', 'stripeAuthorization']
);
}
}
@action
move() {
this.saveEventDataAndRedirectTo(
'events.view.edit.attendee',
['tickets', 'socialLinks', 'copyright', 'tax', 'stripeAuthorization']
);
}
}

});
40 changes: 20 additions & 20 deletions app/controllers/events/view/edit/sessions-speakers.js
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
import Controller from '@ember/controller';
import { action } from '@ember/object';
import EventWizardMixin from 'open-event-frontend/mixins/event-wizard';

export default class extends Controller.extend(EventWizardMixin) {
export default Controller.extend(EventWizardMixin, {

async saveEventData() {
const event = await this._super(...arguments);

event.isSessionsSpeakersEnabled
? await this.model.speakersCall.save()
: await this.model.speakersCall.destroyRecord();
event.get('isSessionsSpeakersEnabled')
? await this.get('model.speakersCall').save()
: await this.get('model.speakersCall').destroyRecord();

return event;
}
},

@action
save() {
this.saveEventDataAndRedirectTo(
'events.view.index',
['tracks', 'sessionTypes', 'microlocations', 'customForms', 'tickets']
);
}
@action
move(direction) {
this.saveEventDataAndRedirectTo(
direction === 'forwards' ? 'events.view.edit.sponsors' : 'events.view.edit.sponsors',
['tracks', 'sessionTypes', 'microlocations', 'customForms', 'tickets']
);

actions: {
save() {
this.saveEventDataAndRedirectTo(
'events.view.index',
['tracks', 'sessionTypes', 'microlocations', 'customForms', 'tickets']
);
},
move(direction) {
this.saveEventDataAndRedirectTo(
direction === 'forwards' ? 'events.view.edit.sponsors' : 'events.view.edit.sponsors',
['tracks', 'sessionTypes', 'microlocations', 'customForms', 'tickets']
);
}
}
}
});
32 changes: 16 additions & 16 deletions app/controllers/events/view/edit/sponsors.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
import Controller from '@ember/controller';
import EventWizardMixin from 'open-event-frontend/mixins/event-wizard';
import { action } from '@ember/object';

export default class extends Controller.extend(EventWizardMixin) {
export default Controller.extend(EventWizardMixin, {

@action
save() {
this.saveEventDataAndRedirectTo(
'events.view.index',
['sponsors', 'tickets']
);
actions: {
save() {
this.saveEventDataAndRedirectTo(
'events.view.index',
['sponsors', 'tickets']
);
},
move(direction) {
this.saveEventDataAndRedirectTo(
direction === 'forwards' ? 'events.view.edit.sessions-speakers' : 'events.view.edit.attendee',
['sponsors', 'tickets']
);
}
}
@action
move(direction) {
this.saveEventDataAndRedirectTo(
direction === 'forwards' ? 'events.view.edit.sessions-speakers' : 'events.view.edit.attendee',
['sponsors', 'tickets']
);
}
}

});
2 changes: 1 addition & 1 deletion app/routes/public/cfs/new-session.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export default Route.extend({
event : eventDetails,
forms : await eventDetails.query('customForms', {
sort : 'id',
'page[size]' : 50
'page[size]' : 0
}),
session: await this.store.createRecord('session', {
event : eventDetails,
Expand Down
12 changes: 12 additions & 0 deletions app/templates/components/forms/session-speaker-form.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,18 @@
{{/each}}
</div>
{{/ui-dropdown}}
{{else if (eq field.fieldIdentifier 'gender')}}
{{#ui-dropdown class='search selection' selected=data.speaker.gender onChange=(action (mut data.speaker.gender)) as |execute mapper|}}
<i class="dropdown icon"></i>
<div class="default text">{{t 'Select your gender'}}</div>
<div class="menu">
{{#each genders as |gender|}}
<div class="item" data-value="{{map-value mapper gender.name}}">
{{gender.name}}
</div>
{{/each}}
</div>
{{/ui-dropdown}}
{{else}}
{{#ui-dropdown class='search selection' onChange=(action (mut (get data.speaker field.fieldIdentifier))) as |execute mapper|}}
<i class="dropdown icon"></i>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@
{{else}}
<div class="spacer-50"></div>
{{/if}}

{{!-- Hiding the Custom Widget Form, Until it is ready to be deployed for Development & Production.
{{#each complexCustomForms as |form|}}
{{form.isComplex}}
<div class="fields">
Expand Down Expand Up @@ -355,7 +355,7 @@

<button type="button" class="ui primary {{if device.isMobile 'small'}} button" {{action 'addCustomField'}}>{{t 'Add another custom field'}}</button>


--}}
<div class="ui fields buttons {{if device.isMobile 'mini three' 'right floated large'}}">
<button class="ui three field left labeled icon button {{if isLoading 'disabled'}}" type="button" {{action 'move' 'backwards'}}>
{{t 'Previous'}}
Expand Down
21 changes: 1 addition & 20 deletions app/templates/components/modals/cfs-proposal-modal.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,9 @@
{{t 'Submit Proposal'}}
</div>
<div class="content">
<h4 class="ui header">{{t 'Existing Sessions'}}</h4>
{{#unless isNewSpeaker}}
{{#unless isNewSession}}
<div class="ui list">
{{#each data.userSession as |session|}}
{{#if session.id}}
{{#link-to 'public.cfs.edit-session' session.id invokeAction=(action 'toggleView')}}
<div class="item">
<i class="right triangle icon"></i>
{{t 'Edit Session - '}}{{session.title}}
</div>
{{/link-to}}
{{/if}}
{{/each}}
</div>
{{/unless}}
{{/unless}}
{{#if isNewSession}}
<p>{{t 'No existing sessions'}}</p>
{{/if}}
<div class="ui hidden divider">
</div>
<div>
{{#if isNewSpeaker}}
{{#link-to 'public.cfs.new-speaker' class='ui teal button' invokeAction=(action 'toggleView')}}
Expand All @@ -41,7 +22,7 @@
{{/if}}
{{#unless isNewSpeaker}}
{{#link-to 'public.cfs.new-session' invokeAction=(action 'toggleView')}}
<button class="ui teal {{if device.isMobile 'tiny'}} button">{{t 'Add Session'}}</button>
<button class="ui teal {{if device.isMobile 'tiny'}} button">{{t 'Add New Session'}}</button>
{{/link-to}}
{{/unless}}
</div>
Expand Down
18 changes: 17 additions & 1 deletion app/templates/components/public/call-for-speakers.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,28 @@
</h1>
<div class="ui divider"></div>
{{sanitize data.speakersCall.announcement}}
<div class="ui hidden divider"></div>
<h3 class="ui header">{{t 'Submitted Sessions'}}</h3>
{{#unless isNewSpeaker}}
{{#unless isNewSession}}
<div class="ui very relaxed horizontal divided list">
{{#each data.userSession as |session|}}
{{#if session.id}}
<div class="item">
{{#link-to 'public.cfs.edit-session' session.id }}
<a class="ui very tiny basic blue button">{{session.title}}</a>
{{/link-to}}
</div>
{{/if}}
{{/each}}
</div>
{{/unless}}
{{/unless}}
<div class="ui hidden divider"></div>
{{#if data.speakersCall.isOpen}}
<button type="submit" class="ui teal submit button" {{action 'openModal'}}>
{{t 'Submit Proposal'}}
</button>
{{/if}}

{{modals/cfs-proposal-modal isOpen=isCfsModalOpen isNewSpeaker=isNewSpeaker isNewSession=isNewSession data=data}}
{{modals/login-signup-modal isOpen=isLoginModalOpen}}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<i class="check icon"></i>
{{/ui-popup}}
{{/if}}
{{#if (and (not-eq record.status 'cancelled') (not-eq record.status 'expired') (can-modify-order record))}}
{{#if (and (not-eq extraRecords.status 'cancelled') (not-eq extraRecords.status 'expired') (can-modify-order record))}}
{{#ui-popup content=(t 'Cancel order') click=(action (confirm (t 'Are you sure you would like to cancel this Order?') (action props.actions.cancelOrder record))) class="{{if device.isMobile 'medium' 'huge'}} ui icon button" position='top center'}}
<i class="delete icon"></i>
{{/ui-popup}}
Expand Down
1 change: 1 addition & 0 deletions app/templates/events/view/sessions/create.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
fields=model.form
data=model
speakers=model.speakers
event=model.event
speakersDetails=model.session.speakers
save=(action 'save')
includeSession=true
Expand Down
2 changes: 1 addition & 1 deletion app/templates/events/view/speakers/create.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{{t 'Create a Speaker'}}
</h2>
<div class="ui container">
{{forms/session-speaker-form fields=model.form data=model sessions=model.sessions sessionDetails=sessionDetails save=(action 'save' sessionDetails)
{{forms/session-speaker-form fields=model.form data=model event=model.event sessions=model.sessions sessionDetails=sessionDetails save=(action 'save' sessionDetails)
includeSpeaker=true isSessionSpeaker=true isLoading=isLoading}}
</div>
</div>
Loading