Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
whats-open
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jay J Kim
whats-open
Commits
6564a989
Commit
6564a989
authored
May 18, 2014
by
Renfred Harper
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add rest framework API for models
parent
17be1cd9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
81 additions
and
3 deletions
+81
-3
whats-open/website/serializers.py
whats-open/website/serializers.py
+24
-0
whats-open/website/urls.py
whats-open/website/urls.py
+10
-2
whats-open/website/views.py
whats-open/website/views.py
+47
-1
No files found.
whats-open/website/serializers.py
0 → 100644
View file @
6564a989
from
rest_framework
import
serializers
from
website.models
import
Category
,
Facility
,
Schedule
,
OpenTime
class
CategorySerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
Category
class
OpenTimeSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
OpenTime
class
ScheduleSerializer
(
serializers
.
ModelSerializer
):
open_times
=
OpenTimeSerializer
(
many
=
True
)
class
Meta
:
model
=
Schedule
class
FacilitySerializer
(
serializers
.
ModelSerializer
):
main_schedule
=
ScheduleSerializer
()
special_schedules
=
ScheduleSerializer
(
many
=
True
)
class
Meta
:
model
=
Facility
whats-open/website/urls.py
View file @
6564a989
from
django.conf.urls
import
patterns
,
url
from
django.conf.urls
import
patterns
,
include
,
url
from
website.views
import
*
from
rest_framework.routers
import
DefaultRouter
router
=
DefaultRouter
()
router
.
register
(
r'categories'
,
CategoryViewSet
)
router
.
register
(
r'facilities'
,
FacilityViewSet
)
router
.
register
(
r'schedules'
,
ScheduleViewSet
)
router
.
register
(
r'opentimes'
,
OpenTimeViewSet
)
urlpatterns
=
patterns
(
'website.views'
,
url
(
r'^
(?:ajax|api)/schedule/'
,
'ajax_schedule_data'
,
name
=
'schedule_data'
),
url
(
r'^
api/'
,
include
(
router
.
urls
)
),
url
(
r'^$'
,
'facility_grid'
,
name
=
'facility_grid'
),
)
whats-open/website/views.py
View file @
6564a989
...
...
@@ -4,9 +4,55 @@ from website.api import export_data
from
django.shortcuts
import
render_to_response
from
django.http
import
HttpResponse
from
django.views.decorators.http
import
condition
from
django.views.generic
import
ListView
,
DetailView
from
website.models
import
Facility
,
OpenTime
,
Category
,
Schedule
from
website.api
import
export_data
from
website.serializers
import
CategorySerializer
,
FacilitySerializer
,
ScheduleSerializer
,
OpenTimeSerializer
from
rest_framework
import
viewsets
from
rest_framework.response
import
Response
import
hashlib
import
json
# Rest Framework Class Views
class
CategoryViewSet
(
viewsets
.
ReadOnlyModelViewSet
):
queryset
=
Category
.
objects
.
all
()
serializer_class
=
CategorySerializer
class
FacilityViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Facility
.
objects
.
all
()
serializer_class
=
FacilitySerializer
class
ScheduleViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Schedule
.
objects
.
all
()
serializer_class
=
ScheduleSerializer
class
OpenTimeViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
OpenTime
.
objects
.
all
()
serializer_class
=
OpenTimeSerializer
class
FacilityListView
(
ListView
):
queryset
=
Facility
.
objects
.
all
()
serializer_class
=
FacilitySerializer
class
FacilityCategoryListView
(
ListView
):
model
=
Facility
def
get_queryset
(
self
):
return
Facility
.
objects
.
filter
(
category
=
self
.
kwargs
[
'category'
])
class
FacilityStatusListView
(
ListView
):
model
=
Facility
def
get_queryset
(
self
):
return
Facility
.
objects
.
all
()
class
FacilityDetailView
(
DetailView
):
model
=
Facility
class
OpenTimeDetailView
(
DetailView
):
model
=
OpenTime
def
facility_grid
(
request
):
"""Display the facilities in a grid. Main page."""
...
...
@@ -14,7 +60,7 @@ def facility_grid(request):
if
request
.
GET
[
'sort'
]
==
'location'
:
# Display the grid by location (instead of listing alphabetically)
pass
# Not implemented yet
return
render_to_response
(
'facility_grid.html'
,
return
render_to_response
(
'facility_grid.html'
,
context_instance
=
RequestContext
(
request
))
def
gen_etag
(
request
):
...
...
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