Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CS123-Canteeneo
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Willard Torres
CS123-Canteeneo
Commits
daf16ac4
Commit
daf16ac4
authored
Nov 09, 2016
by
Willard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move stall & dish specific views to separate files
parent
380b8c23
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
144 additions
and
125 deletions
+144
-125
dish_views.py
canteeneo/dish_views.py
+67
-0
stall_views.py
canteeneo/stall_views.py
+72
-0
views.py
canteeneo/views.py
+5
-125
No files found.
canteeneo/dish_views.py
0 → 100644
View file @
daf16ac4
import
os.path
from
canteeneo
import
app
,
db
from
canteeneo.models
import
Stall
,
Dish
from
canteeneo.forms
import
DishRegisterForm
from
canteeneo.views
import
flash_form_errors
,
stall_validate
,
dish_validate
from
flask
import
render_template
,
redirect
,
url_for
,
request
from
flask_login
import
login_required
from
werkzeug.utils
import
secure_filename
@
app
.
route
(
'/stalls/<int:stall_id>/dishes/new'
,
methods
=
[
'GET'
,
'POST'
])
@
login_required
@
stall_validate
def
new_dish
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
form
=
DishRegisterForm
()
if
request
.
method
==
'POST'
:
if
form
.
validate
():
filename
=
secure_filename
(
form
.
image
.
data
.
filename
)
dish
=
Dish
(
form
.
name
.
data
,
form
.
description
.
data
,
form
.
price
.
data
,
stall
.
id
,
filename
)
form
.
image
.
data
.
save
(
os
.
path
.
join
(
app
.
config
[
'UPLOAD_FOLDER'
],
filename
))
db
.
session
.
add
(
dish
)
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stall'
,
stall_id
=
stall
.
id
))
else
:
flash_form_errors
(
form
)
return
redirect
(
url_for
(
'new_dish'
,
stall_id
=
stall
.
id
))
else
:
return
render_template
(
'newdish.html'
,
form
=
form
,
stall
=
stall
)
@
app
.
route
(
'/stalls/<int:stall_id>/dishes/<int:dish_id>/edit'
,
methods
=
[
'GET'
,
'POST'
])
@
login_required
@
dish_validate
def
edit_dish
(
stall_id
,
dish_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
dish
=
Dish
.
query
.
get
(
dish_id
)
form
=
DishRegisterForm
()
if
request
.
method
==
'POST'
:
if
form
.
validate
(
editing
=
True
):
dish
.
name
=
form
.
name
.
data
dish
.
description
=
form
.
description
.
data
dish
.
price
=
form
.
price
.
data
if
form
.
image
.
data
.
filename
is
not
u''
:
dish
.
image_path
=
secure_filename
(
form
.
image
.
data
.
filename
)
form
.
image
.
data
.
save
(
os
.
path
.
join
(
app
.
config
[
'UPLOAD_FOLDER'
],
dish
.
image_path
))
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stall'
,
stall_id
=
stall_id
))
else
:
flash_form_errors
(
form
)
return
redirect
(
url_for
(
'edit_dish'
,
stall_id
=
stall_id
,
dish_id
=
dish_id
))
else
:
form
.
name
.
data
=
dish
.
name
form
.
description
.
data
=
dish
.
description
form
.
price
.
data
=
dish
.
price
return
render_template
(
'editdish.html'
,
form
=
form
,
stall
=
stall
,
dish
=
dish
)
@
app
.
route
(
'/stalls/<int:stall_id>/dishes/<int:dish_id>/delete'
,
methods
=
[
'POST'
])
@
login_required
@
dish_validate
def
delete_dish
(
stall_id
,
dish_id
):
dish
=
Dish
.
query
.
get
(
dish_id
)
db
.
session
.
delete
(
dish
)
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stall'
,
stall_id
=
stall_id
))
\ No newline at end of file
canteeneo/stall_views.py
0 → 100644
View file @
daf16ac4
from
canteeneo
import
app
,
db
from
canteeneo.models
import
Stall
,
Location
from
canteeneo.forms
import
StallRegisterForm
from
canteeneo.views
import
flash_form_errors
,
stall_validate
from
flask
import
render_template
,
redirect
,
url_for
,
request
from
flask_login
import
login_required
,
current_user
@
app
.
route
(
'/stalls'
)
@
login_required
def
stalls
():
return
render_template
(
'stalls.html'
,
owner
=
current_user
,
stalls
=
current_user
.
stalls
.
all
())
@
app
.
route
(
'/stalls/<int:stall_id>'
)
@
login_required
@
stall_validate
def
stall
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
dishes
=
stall
.
dishes
.
all
()
return
render_template
(
'stall.html'
,
stall
=
stall
,
dishes
=
dishes
,
upload_folder
=
app
.
config
[
'UPLOAD_FOLDER'
])
@
app
.
route
(
'/stalls/new'
,
methods
=
[
'GET'
,
'POST'
])
@
login_required
def
new_stall
():
form
=
StallRegisterForm
()
form
.
location
.
choices
=
[(
loc
.
id
,
loc
.
name
)
for
loc
in
Location
.
query
.
all
()]
if
request
.
method
==
'POST'
:
if
form
.
validate
():
stall
=
Stall
(
form
.
name
.
data
,
form
.
description
.
data
,
current_user
.
id
,
form
.
location
.
data
)
db
.
session
.
add
(
stall
)
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stalls'
))
else
:
flash_form_errors
(
form
)
return
redirect
(
url_for
(
'new_stall'
))
return
render_template
(
'newstall.html'
,
form
=
form
)
@
app
.
route
(
'/stalls/<int:stall_id>/edit'
,
methods
=
[
'GET'
,
'POST'
])
@
login_required
@
stall_validate
def
edit_stall
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
form
=
StallRegisterForm
()
form
.
location
.
choices
=
[(
loc
.
id
,
loc
.
name
)
for
loc
in
Location
.
query
.
all
()]
if
request
.
method
==
'POST'
:
if
form
.
validate
(
editing
=
True
):
stall
.
name
=
form
.
name
.
data
stall
.
description
=
form
.
description
.
data
stall
.
location_id
=
form
.
location
.
data
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stalls'
))
else
:
flash_form_errors
(
form
)
return
redirect
(
url_for
(
'edit_stall'
,
values
=
[(
'stall_id'
,
stall_id
)]))
else
:
form
.
name
.
data
=
stall
.
name
form
.
description
.
data
=
stall
.
description
form
.
location
.
data
=
stall
.
location_id
return
render_template
(
'editstall.html'
,
form
=
form
,
stall
=
stall
)
@
app
.
route
(
'/stalls/<int:stall_id>/delete'
,
methods
=
[
'POST'
])
@
login_required
@
stall_validate
def
delete_stall
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
db
.
session
.
delete
(
stall
)
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stalls'
))
\ No newline at end of file
canteeneo/views.py
View file @
daf16ac4
...
...
@@ -3,9 +3,8 @@ from functools import wraps
from
canteeneo
import
app
,
login_manager
,
db
from
flask
import
flash
,
redirect
,
render_template
,
request
,
url_for
from
flask_login
import
login_required
,
login_user
,
logout_user
,
current_user
from
forms
import
OwnerLoginForm
,
OwnerRegisterForm
,
StallRegisterForm
,
DishRegisterForm
from
models
import
Owner
,
Stall
,
Location
,
Dish
from
werkzeug.utils
import
secure_filename
from
forms
import
OwnerLoginForm
,
OwnerRegisterForm
from
models
import
Owner
,
Stall
,
Dish
@
app
.
route
(
'/'
)
def
index
():
...
...
@@ -76,128 +75,6 @@ def dish_validate(f):
return
f
(
*
args
,
**
kwargs
)
return
wrapper
@
app
.
route
(
'/stalls'
)
@
login_required
def
stalls
():
return
render_template
(
'stalls.html'
,
owner
=
current_user
,
stalls
=
current_user
.
stalls
.
all
())
@
app
.
route
(
'/stalls/<int:stall_id>'
)
@
login_required
@
stall_validate
def
stall
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
dishes
=
stall
.
dishes
.
all
()
return
render_template
(
'stall.html'
,
stall
=
stall
,
dishes
=
dishes
,
upload_folder
=
app
.
config
[
'UPLOAD_FOLDER'
])
@
app
.
route
(
'/stalls/new'
,
methods
=
[
'GET'
,
'POST'
])
@
login_required
def
new_stall
():
form
=
StallRegisterForm
()
form
.
location
.
choices
=
[(
loc
.
id
,
loc
.
name
)
for
loc
in
Location
.
query
.
all
()]
if
request
.
method
==
'POST'
:
if
form
.
validate
():
stall
=
Stall
(
form
.
name
.
data
,
form
.
description
.
data
,
current_user
.
id
,
form
.
location
.
data
)
db
.
session
.
add
(
stall
)
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stalls'
))
else
:
flash_form_errors
(
form
)
return
redirect
(
url_for
(
'new_stall'
))
return
render_template
(
'newstall.html'
,
form
=
form
)
@
app
.
route
(
'/stalls/<int:stall_id>/edit'
,
methods
=
[
'GET'
,
'POST'
])
@
login_required
@
stall_validate
def
edit_stall
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
form
=
StallRegisterForm
()
form
.
location
.
choices
=
[(
loc
.
id
,
loc
.
name
)
for
loc
in
Location
.
query
.
all
()]
if
request
.
method
==
'POST'
:
if
form
.
validate
(
editing
=
True
):
stall
.
name
=
form
.
name
.
data
stall
.
description
=
form
.
description
.
data
stall
.
location_id
=
form
.
location
.
data
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stalls'
))
else
:
flash_form_errors
(
form
)
return
redirect
(
url_for
(
'edit_stall'
,
values
=
[(
'stall_id'
,
stall_id
)]))
else
:
form
.
name
.
data
=
stall
.
name
form
.
description
.
data
=
stall
.
description
form
.
location
.
data
=
stall
.
location_id
return
render_template
(
'editstall.html'
,
form
=
form
,
stall
=
stall
)
@
app
.
route
(
'/stalls/<int:stall_id>/delete'
,
methods
=
[
'POST'
])
@
login_required
@
stall_validate
def
delete_stall
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
db
.
session
.
delete
(
stall
)
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stalls'
))
@
app
.
route
(
'/stalls/<int:stall_id>/dishes/new'
,
methods
=
[
'GET'
,
'POST'
])
@
login_required
@
stall_validate
def
new_dish
(
stall_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
form
=
DishRegisterForm
()
if
request
.
method
==
'POST'
:
if
form
.
validate
():
filename
=
secure_filename
(
form
.
image
.
data
.
filename
)
dish
=
Dish
(
form
.
name
.
data
,
form
.
description
.
data
,
form
.
price
.
data
,
stall
.
id
,
filename
)
form
.
image
.
data
.
save
(
os
.
path
.
join
(
app
.
config
[
'UPLOAD_FOLDER'
],
filename
))
db
.
session
.
add
(
dish
)
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stall'
,
stall_id
=
stall
.
id
))
else
:
flash_form_errors
(
form
)
return
redirect
(
url_for
(
'new_dish'
,
stall_id
=
stall
.
id
))
else
:
return
render_template
(
'newdish.html'
,
form
=
form
,
stall
=
stall
)
@
app
.
route
(
'/stalls/<int:stall_id>/dishes/<int:dish_id>/edit'
,
methods
=
[
'GET'
,
'POST'
])
@
login_required
@
dish_validate
def
edit_dish
(
stall_id
,
dish_id
):
stall
=
Stall
.
query
.
get
(
stall_id
)
dish
=
Dish
.
query
.
get
(
dish_id
)
form
=
DishRegisterForm
()
if
request
.
method
==
'POST'
:
if
form
.
validate
(
editing
=
True
):
dish
.
name
=
form
.
name
.
data
dish
.
description
=
form
.
description
.
data
dish
.
price
=
form
.
price
.
data
if
form
.
image
.
data
.
filename
is
not
u''
:
dish
.
image_path
=
secure_filename
(
form
.
image
.
data
.
filename
)
form
.
image
.
data
.
save
(
os
.
path
.
join
(
app
.
config
[
'UPLOAD_FOLDER'
],
dish
.
image_path
))
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stall'
,
stall_id
=
stall_id
))
else
:
flash_form_errors
(
form
)
return
redirect
(
url_for
(
'edit_dish'
,
stall_id
=
stall_id
,
dish_id
=
dish_id
))
else
:
form
.
name
.
data
=
dish
.
name
form
.
description
.
data
=
dish
.
description
form
.
price
.
data
=
dish
.
price
return
render_template
(
'editdish.html'
,
form
=
form
,
stall
=
stall
,
dish
=
dish
)
@
app
.
route
(
'/stalls/<int:stall_id>/dishes/<int:dish_id>/delete'
,
methods
=
[
'POST'
])
@
login_required
@
dish_validate
def
delete_dish
(
stall_id
,
dish_id
):
dish
=
Dish
.
query
.
get
(
dish_id
)
db
.
session
.
delete
(
dish
)
db
.
session
.
commit
()
return
redirect
(
url_for
(
'stall'
,
stall_id
=
stall_id
))
@
login_manager
.
user_loader
def
load_user
(
owner_id
):
return
Owner
.
query
.
filter_by
(
id
=
int
(
owner_id
))
.
first
()
...
...
@@ -211,3 +88,6 @@ def flash_form_errors(form):
for
field
,
errors
in
form
.
errors
.
items
():
for
error
in
errors
:
flash
(
u'Error in the
%
s field -
%
s'
%
(
getattr
(
form
,
field
)
.
label
.
text
,
error
))
import
stall_views
import
dish_views
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment