Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
BeHub-web
Project
Project
Details
Activity
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dominik Rosiek
BeHub-web
Commits
d4f3d99f
Commit
d4f3d99f
authored
Nov 21, 2015
by
Rafal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add filtr by uuid
parent
8fd1ce8f
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
88 additions
and
16 deletions
+88
-16
urls.py
BeHub/BeHub/urls.py
+6
-1
admin.py
BeHub/Hub/admin.py
+1
-3
models.py
BeHub/Hub/models.py
+26
-2
serializers.py
BeHub/Hub/serializers.py
+19
-5
views.py
BeHub/Hub/views.py
+36
-5
No files found.
BeHub/BeHub/urls.py
View file @
d4f3d99f
...
...
@@ -6,10 +6,15 @@ from Hub import views as hub_views
router
=
routers
.
DefaultRouter
()
router
.
register
(
r'beacons'
,
hub_views
.
BeaconViewSet
)
router
.
register
(
r'projects'
,
hub_views
.
ProjectViewSet
)
router
.
register
(
r'beacon_managers'
,
hub_views
.
BeaconManagerViewSet
)
router
.
register
(
r'category'
,
hub_views
.
CategoryViewSet
)
router
.
register
(
r'sites'
,
hub_views
.
SiteViewSet
)
router
.
register
(
r'uuid'
,
hub_views
.
UuidBeaconViewSet
)
urlpatterns
=
patterns
(
''
,
url
(
r'^api/'
,
include
(
router
.
urls
)),
url
(
r'^admin/'
,
include
(
admin
.
site
.
urls
)),
url
(
r'^api/uuid/(?P<pk>[0-9]+)/$'
,
hub_views
.
UuidBeaconViewSet
.
as_view
()),
url
(
r'^api/uuid/(?P<pk>[0-9]+)/(?P<category_name>\w+)/$'
,
hub_views
.
UuidBeaconViewSet
.
as_view
()),
)
BeHub/Hub/admin.py
View file @
d4f3d99f
...
...
@@ -2,7 +2,5 @@ from django.contrib import admin
# Register your models here.
from
Hub.models
import
Beacon
from
Hub.models
import
Project
admin
.
register
(
Beacon
)
admin
.
register
(
Project
)
\ No newline at end of file
admin
.
register
(
Beacon
)
\ No newline at end of file
BeHub/Hub/models.py
View file @
d4f3d99f
from
django.db
import
models
# Create your models here.
class
Project
(
models
.
Model
):
class
Site
(
models
.
Model
):
link_url
=
models
.
CharField
(
max_length
=
2000
)
description
=
models
.
CharField
(
max_length
=
300
,
null
=
True
)
category
=
models
.
ManyToManyField
(
'Category'
,
null
=
True
)
def
__str__
(
self
):
return
self
.
link_url
class
Category
(
models
.
Model
):
name
=
models
.
CharField
(
max_length
=
300
,
null
=
True
)
private
=
models
.
BooleanField
()
def
__str__
(
self
):
return
self
.
name
class
Beacon
(
models
.
Model
):
uuid
=
models
.
CharField
(
max_length
=
300
,
unique
=
True
)
name
=
models
.
CharField
(
max_length
=
300
)
project
=
models
.
OneToOneField
(
'Project'
)
description
=
models
.
CharField
(
max_length
=
300
,
null
=
True
)
longitude
=
models
.
DecimalField
(
max_digits
=
9
,
decimal_places
=
6
)
latitude
=
models
.
DecimalField
(
max_digits
=
9
,
decimal_places
=
6
)
def
__str__
(
self
):
return
"name: {name}, uuid:{uuid}"
.
format
(
name
=
self
.
name
,
uuid
=
self
.
uuid
)
class
BeaconManager
(
models
.
Model
):
beacon
=
models
.
OneToOneField
(
'Beacon'
)
sites
=
models
.
ManyToManyField
(
'Site'
)
def
__str__
(
self
):
return
str
(
self
.
beacon
)
BeHub/Hub/serializers.py
View file @
d4f3d99f
from
rest_framework
import
serializers
from
Hub.models
import
Beacon
,
Project
from
rest_framework.decorators
import
detail_route
,
list_route
from
Hub.models
import
Beacon
,
BeaconManager
,
Category
,
Site
class
SiteSerializer
(
serializers
.
HyperlinkedModelSerializer
):
class
Meta
:
model
=
Site
fields
=
(
'id'
,
'url'
,
'link_url'
,
'description'
,
'category'
)
class
BeaconSerializer
(
serializers
.
HyperlinkedModelSerializer
):
class
Meta
:
model
=
Beacon
fields
=
(
'id'
,
'url'
,
'uuid'
,
'name'
,
'project'
,
'description'
,)
fields
=
(
'id'
,
'url'
,
'uuid'
,
'name'
,
'description'
,
'longitude'
,
'latitude'
)
class
BeaconManagerSerializer
(
serializers
.
HyperlinkedModelSerializer
):
sites
=
SiteSerializer
(
many
=
True
)
class
ProjectSerializer
(
serializers
.
HyperlinkedModelSerializer
):
class
Meta
:
model
=
BeaconManager
fields
=
(
'id'
,
'url'
,
'sites'
)
class
CategorySerializer
(
serializers
.
HyperlinkedModelSerializer
):
class
Meta
:
model
=
Project
fields
=
(
'id'
,
'url'
,
'link_url'
,
'description'
)
model
=
Category
fields
=
(
'id'
,
'url'
,
'name'
,
'private'
)
BeHub/Hub/views.py
View file @
d4f3d99f
...
...
@@ -2,8 +2,10 @@ from django.shortcuts import render
# Create your views here.
from
rest_framework
import
viewsets
from
Hub.models
import
Beacon
,
Project
from
Hub.serializers
import
BeaconSerializer
,
ProjectSerializer
from
rest_framework.response
import
Response
from
rest_framework.views
import
APIView
from
Hub.models
import
Beacon
,
BeaconManager
,
Site
,
Category
from
Hub.serializers
import
BeaconSerializer
,
BeaconManagerSerializer
,
SiteSerializer
,
CategorySerializer
class
BeaconViewSet
(
viewsets
.
ModelViewSet
):
...
...
@@ -13,9 +15,38 @@ class BeaconViewSet(viewsets.ModelViewSet):
queryset
=
Beacon
.
objects
.
all
()
serializer_class
=
BeaconSerializer
class
Project
ViewSet
(
viewsets
.
ModelViewSet
):
class
BeaconManager
ViewSet
(
viewsets
.
ModelViewSet
):
"""
API for places
"""
queryset
=
Project
.
objects
.
all
()
serializer_class
=
ProjectSerializer
\ No newline at end of file
queryset
=
BeaconManager
.
objects
.
all
()
serializer_class
=
BeaconManagerSerializer
class
SiteViewSet
(
viewsets
.
ModelViewSet
):
"""
API for places
"""
queryset
=
Site
.
objects
.
all
()
serializer_class
=
SiteSerializer
class
UuidBeaconViewSet
(
APIView
):
"""
API for places
"""
queryset
=
Beacon
.
objects
.
all
()
serializer_class
=
BeaconSerializer
def
get
(
self
,
request
,
pk
,
format
=
None
):
beacon
=
Beacon
.
objects
.
get
(
uuid
=
pk
)
beacon_manager
=
BeaconManager
.
objects
.
get
(
beacon
=
beacon
)
serializer
=
BeaconManagerSerializer
(
beacon_manager
,
context
=
{
'request'
:
request
})
return
Response
(
serializer
.
data
)
class
CategoryViewSet
(
viewsets
.
ModelViewSet
):
"""
API for places
"""
queryset
=
Category
.
objects
.
all
()
serializer_class
=
CategorySerializer
\ 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