Skip to content

Commit 5eff7f2

Browse files
nikhilrayaproluniranjan94
authored andcommitted
changes to remove travis fails
1 parent 79b62df commit 5eff7f2

File tree

3 files changed

+210
-7
lines changed

3 files changed

+210
-7
lines changed

app/helpers/ticketing.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import uuid
44
from datetime import timedelta, datetime
55

6-
from flask import url_for
6+
from flask import url_for,flash
77
from flask.ext import login
88
from sqlalchemy import asc
99
from sqlalchemy import or_
@@ -218,8 +218,13 @@ def create_order(form, from_organizer=False):
218218
ticket_ids = form.getlist('ticket_ids[]')
219219
ticket_quantity = form.getlist('ticket_quantities[]')
220220
ticket_discount=form.get('promo_code','')
221+
discount=None
221222
if ticket_discount:
222-
discount=TicketingManager.get_discount_code(form.get('event_id'), form.get('promo_code','')).serialize
223+
discount=TicketingManager.get_discount_code(form.get('event_id'), form.get('promo_code',''))
224+
if not discount:
225+
flash('The promotional code entered is not valid. No offer has been applied to this order.', 'danger')
226+
else:
227+
flash('The promotional code entered is valid.offer has been applied to this order.', 'success')
223228
ticket_subtotals = []
224229
if from_organizer:
225230
ticket_subtotals = form.getlist('ticket_subtotals[]')
@@ -237,10 +242,12 @@ def create_order(form, from_organizer=False):
237242
amount += int(ticket_subtotals[index])
238243
else:
239244
amount += (order_ticket.ticket.price * order_ticket.quantity)
240-
if discount['type']=="amount":
241-
order.amount = max(amount-discount['value'],0)
245+
if discount and discount.type=="amount":
246+
order.amount = max(amount-discount.value,0)
247+
elif discount:
248+
order.amount=amount-(discount.value*amount/100)
242249
else:
243-
order.amount=amount-(discount['value']*amount/100)
250+
order.amount=amount
244251

245252
if login.current_user.is_authenticated:
246253
order.user_id = login.current_user.id
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
from flask.ext.admin import BaseView
2+
from flask_admin import expose
3+
4+
from app import db
5+
from app.helpers.permission_decorators import *
6+
from flask.ext import login
7+
from flask import request, url_for, redirect, flash
8+
from ....helpers.data import DataManager, delete_from_db, trash_session, restore_session
9+
from ....helpers.data_getter import DataGetter
10+
import json
11+
12+
def get_session_or_throw(session_id):
13+
session = DataGetter.get_session(session_id)
14+
if not session:
15+
abort(404)
16+
return session
17+
18+
class SessionsView(BaseView):
19+
20+
def is_accessible(self):
21+
return login.current_user.is_authenticated
22+
23+
def _handle_view(self, name, **kwargs):
24+
if not self.is_accessible():
25+
return redirect(url_for('admin.login_view', next=request.url))
26+
27+
@expose('/')
28+
def index_view(self, event_id):
29+
sessions = DataGetter.get_sessions_by_event_id(event_id)
30+
event = DataGetter.get_event(event_id)
31+
if not event.has_session_speakers:
32+
return self.render('/gentelella/admin/event/info/enable_module.html', active_page='sessions',
33+
title='Sessions', event=event)
34+
return self.render('/gentelella/admin/event/sessions/base_session_table.html',
35+
sessions=sessions, event_id=event_id, event=event)
36+
37+
@expose('/<int:session_id>/', methods=('GET', 'POST'))
38+
def session_display_view(self, event_id, session_id):
39+
session = get_session_or_throw(session_id)
40+
if request.method == 'POST':
41+
DataManager.edit_session(request, session)
42+
return redirect(url_for('.index_view', event_id=event_id))
43+
event = DataGetter.get_event(event_id)
44+
if not event.has_session_speakers:
45+
return self.render('/gentelella/admin/event/info/enable_module.html', active_page='sessions',
46+
title='Sessions', event=event)
47+
form_elems = DataGetter.get_custom_form_elements(event_id)
48+
if not form_elems:
49+
flash("Speaker and Session forms have been incorrectly configured for this event."
50+
" Session creation has been disabled", "danger")
51+
return redirect(url_for('.index_view', event_id=event_id))
52+
session_form = json.loads(form_elems.session_form)
53+
speakers = DataGetter.get_speakers(event_id).all()
54+
55+
return self.render('/gentelella/admin/event/sessions/edit.html',
56+
session=session, session_form=session_form, event_id=event_id,
57+
event=event, speakers=speakers)
58+
59+
@expose('/create/', methods=('GET', 'POST'))
60+
@can_access
61+
def create_view(self, event_id):
62+
event = DataGetter.get_event(event_id)
63+
if not event.has_session_speakers:
64+
return self.render('/gentelella/admin/event/info/enable_module.html', active_page='sessions',
65+
title='Sessions', event=event)
66+
if request.method == 'POST':
67+
DataManager.add_session_to_event(request, event_id)
68+
flash("The session and speaker have been saved")
69+
get_from = request.args.get("from")
70+
if get_from and get_from == 'speaker':
71+
return redirect(url_for('event_speakers.index_view', event_id=event_id))
72+
return redirect(url_for('.index_view', event_id=event_id))
73+
74+
form_elems = DataGetter.get_custom_form_elements(event_id)
75+
if not form_elems:
76+
flash("Speaker and Session forms have been incorrectly configured for this event."
77+
" Session creation has been disabled", "danger")
78+
return redirect(url_for('.index_view', event_id=event_id))
79+
speaker_form = json.loads(form_elems.speaker_form)
80+
session_form = json.loads(form_elems.session_form)
81+
speakers = DataGetter.get_speakers(event_id).all()
82+
83+
return self.render('/gentelella/admin/event/sessions/new.html',
84+
speaker_form=speaker_form, session_form=session_form, event=event, speakers=speakers)
85+
86+
@expose('/<int:session_id>/edit/', methods=('GET', 'POST'))
87+
@can_access
88+
def edit_view(self, event_id, session_id):
89+
90+
event = DataGetter.get_event(event_id)
91+
if not event.has_session_speakers:
92+
return self.render('/gentelella/admin/event/info/enable_module.html', active_page='sessions',
93+
title='Sessions', event=event)
94+
95+
session = get_session_or_throw(session_id)
96+
if request.method == 'POST':
97+
DataManager.edit_session(request, session)
98+
return redirect(url_for('.index_view', event_id=event_id))
99+
100+
form_elems = DataGetter.get_custom_form_elements(event_id)
101+
if not form_elems:
102+
flash("Speaker and Session forms have been incorrectly configured for this event."
103+
" Session creation has been disabled", "danger")
104+
return redirect(url_for('.index_view', event_id=event_id))
105+
session_form = json.loads(form_elems.session_form)
106+
speakers = DataGetter.get_speakers(event_id).all()
107+
return self.render('/gentelella/admin/event/sessions/edit.html', session=session,
108+
session_form=session_form, event=event, speakers=speakers)
109+
110+
@expose('/new/<user_id>/<hash>/', methods=('GET', 'POST'))
111+
def new_view(self, event_id, user_id, hash):
112+
invite = DataGetter.get_invite_by_user_id(user_id)
113+
event = DataGetter.get_event(event_id)
114+
if invite and invite.hash == hash:
115+
if request.method == 'POST':
116+
DataManager.add_session_to_event(request, event_id)
117+
return redirect(url_for('.index_view', event_id=event_id))
118+
return self.render('/gentelella/admin/sessions/new.html', event=event)
119+
120+
@expose('/<int:session_id>/invited/', methods=('GET', 'POST'))
121+
def invited_view(self, event_id, session_id):
122+
session = DataGetter.get_session(session_id)
123+
event = DataGetter.get_event(event_id)
124+
return self.render('/gentelella/admin/event/sessions/invited.html',
125+
session=session, event_id=event_id, event=event)
126+
127+
@expose('/<int:session_id>/add_speaker/', methods=('GET', 'POST'))
128+
def add_speaker_view(self, event_id, session_id):
129+
session = DataGetter.get_session(session_id)
130+
event = DataGetter.get_event(event_id)
131+
if not event.has_session_speakers:
132+
return self.render('/gentelella/admin/event/info/enable_module.html', active_page='sessions',
133+
title='Sessions', event=event)
134+
form_elems = DataGetter.get_custom_form_elements(event_id)
135+
if not form_elems:
136+
flash("Speaker form has been incorrectly configured for this event. Editing has been disabled", "danger")
137+
return redirect(url_for('.index_view', event_id=event_id))
138+
speaker_form = json.loads(form_elems.speaker_form)
139+
if request.method == 'GET':
140+
return self.render('/gentelella/admin/event/speakers/edit.html', event_id=event_id,
141+
event=event, speaker_form=speaker_form)
142+
if request.method == 'POST':
143+
DataManager.add_speaker_to_session(request, event_id, session_id)
144+
flash("The speaker has been added to session")
145+
return redirect(url_for('.index_view', event_id=event_id))
146+
147+
@expose('/<int:session_id>/accept', methods=('GET',))
148+
@can_accept_and_reject
149+
def accept_session(self, event_id, session_id):
150+
session = get_session_or_throw(session_id)
151+
DataManager.session_accept_reject(session, event_id, 'accepted')
152+
return redirect(url_for('.index_view', event_id=event_id))
153+
154+
@expose('/<int:session_id>/reject', methods=('GET',))
155+
@can_accept_and_reject
156+
def reject_session(self, event_id, session_id):
157+
session = get_session_or_throw(session_id)
158+
DataManager.session_accept_reject(session, event_id, 'rejected')
159+
return redirect(url_for('.index_view', event_id=event_id))
160+
161+
@expose('/<int:session_id>/trash', methods=('GET',))
162+
def trash_session(self, event_id, session_id):
163+
session = get_session_or_throw(session_id)
164+
session = trash_session(session_id)
165+
flash("The session has been deleted", "danger")
166+
if login.current_user.is_super_admin:
167+
return redirect(url_for('sadmin_sessions.display_my_sessions_view', event_id=event_id))
168+
return redirect(url_for('.index_view', event_id=event_id))
169+
170+
@expose('/<int:session_id>/restore_trash', methods=('GET',))
171+
def restore_session(self, event_id, session_id):
172+
restore_session(session_id)
173+
flash("The session has been restored", "success")
174+
return redirect(url_for('sadmin_sessions.display_my_sessions_view', event_id=event_id))
175+
176+
@expose('/<int:session_id>/delete', methods=('GET',))
177+
def delete_session(self, event_id, session_id):
178+
session = get_session_or_throw(session_id)
179+
delete_from_db(session, 'Session Deleted')
180+
flash("The session has been permanently deleted", "danger")
181+
return redirect(url_for('sadmin_sessions.display_my_sessions_view', event_id=event_id))
182+
183+
@expose('/<int:session_id>/restore/', methods=('GET',))
184+
def restore_session_view(self, event_id, session_id):
185+
session = get_session_or_throw(session_id)
186+
event = DataGetter.get_event(event_id)
187+
return self.render('/gentelella/admin/event/sessions/browse_revisions.html',
188+
session=session, event_id=event_id, event=event)
189+
190+
@expose('/<int:session_id>/restore/<int:version_id>', methods=('GET',))
191+
def restore_session_revision(self, event_id, session_id, version_id):
192+
session = get_session_or_throw(session_id)
193+
version = session.versions[version_id]
194+
version.revert()
195+
db.session.commit()
196+
flash("The session has been restored.", "success")
197+
return redirect(url_for('.index_view', event_id=event_id))
198+

app/views/public/ticketing.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ def index():
3232
@ticketing.route('/create/', methods=('POST',))
3333
def create_order():
3434
order = TicketingManager.create_order(request.form)
35-
if request.form.get('promo_code', '') != '':
36-
flash('The promotional code entered is valid. No offer has been applied to this order.', 'danger')
3735
return redirect(url_for('.view_order', order_identifier=order.identifier))
3836

3937

0 commit comments

Comments
 (0)