Commit c33bfdf2 authored by Rafal's avatar Rafal

add beacons end point

parent c7421378
<div class="container"> <div class="container">
<table class="table borderless"> {% for beacon_manager in user_project.beacon_managers.all %}
<thead> {{ beacon_manager.beacon.uuid }}
<tr> {% endfor %}
<th class="col-md-2">Beacon</th>
<th>Linki</th>
</tr>
</thead>
</table>
{% for beacon_data in beacon_display %} {% for beacon_data in beacon_display %}
{% include 'user_panel/content/beacon_detail.html' %} {% include 'user_panel/content/beacon_detail.html' %}
{% endfor %} {% endfor %}
</div> </div>
\ No newline at end of file
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
{% for project in user_projects %}
<a href="/project/{{ project.id }}"> <a href="/project/{{ project.id }}">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 col-lg-offset-3" > <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 col-lg-offset-3" >
<div class="box opacity" > <div class="box opacity" >
...@@ -14,27 +15,14 @@ ...@@ -14,27 +15,14 @@
<span class="fa fa-4x fa-html5"></span> <span class="fa fa-4x fa-html5"></span>
</div> </div>
<div class="info"> <div class="info">
<h4 class="text-center">Gra miejska</h4> <h4 class="text-center">{{ project.name }}</h4>
<p>Gra miejska Juwenalia 2015</p> <p>{{ project.description }}</p>
</div> </div>
</div> </div>
</div> </div>
</a> </a>
{% endfor %}
<a href="/project/{{ project.id }}">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 col-lg-offset-3" >
<div class="box opacity" >
<div class="box-icon">
<span class="fa fa-4x fa-html5"></span>
</div>
<div class="info">
<h4 class="text-center">Gra miejska</h4>
<p>Gra miejska Juwenalia 2015</p>
</div>
</div>
</div>
</a>
</div> </div>
</div> </div>
......
...@@ -9,6 +9,7 @@ from django.template import RequestContext ...@@ -9,6 +9,7 @@ from django.template import RequestContext
# Create your views here. # Create your views here.
from rest_framework import viewsets from rest_framework import viewsets
import rest_framework import rest_framework
from rest_framework.decorators import detail_route
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.views import APIView from rest_framework.views import APIView
from Hub.models import Beacon, BeaconManager, Site, Category, UserProject from Hub.models import Beacon, BeaconManager, Site, Category, UserProject
...@@ -45,6 +46,17 @@ class UserProjectViewSet(viewsets.ModelViewSet): ...@@ -45,6 +46,17 @@ class UserProjectViewSet(viewsets.ModelViewSet):
queryset = UserProject.objects.all() queryset = UserProject.objects.all()
serializer_class = UserProjectSerializer serializer_class = UserProjectSerializer
@detail_route()
def beacons(self, request, pk=None):
user_project = UserProject.objects.get(pk=pk)
beacons = []
beacon_managers = user_project.beacon_managers.all()
for beacon_manager in beacon_managers:
serializer_beacon = BeaconSerializer(beacon_manager.beacon, context={'request': request})
beacons.append(serializer_beacon.data)
return Response(data=beacons)
class SiteViewSet(viewsets.ModelViewSet): class SiteViewSet(viewsets.ModelViewSet):
""" """
...@@ -131,23 +143,26 @@ def main_page(request): ...@@ -131,23 +143,26 @@ def main_page(request):
def dashboard(request): def dashboard(request):
context = RequestContext(request) context = RequestContext(request)
return render_to_response('user_panel/content/dashboard.html', {}, context) user_projects = UserProject.objects.filter(author = request.user)
data = {}
data['user_projects'] = user_projects
return render_to_response('user_panel/content/dashboard.html', data, context)
def project(request, project_id): def project(request, project_id):
context = RequestContext(request) context = RequestContext(request)
data = {} data = {}
user_project = UserProject.objects.get(id=project_id) user_project = UserProject.objects.get(id=project_id)
user_project_serializer = UserProjectSerializer(user_project, context={'request': request}) data['user_project'] = user_project
data['project_data'] = user_project_serializer.data #user_project_serializer = UserProjectSerializer(user_project, context={'request': request})
data['project_id'] = project_id #data['project_data'] = user_project_serializer.data
data['beacon_display'] = [] #data['project_id'] = project_id
beacon_managers = user_project.beacon_managers.all() #data['beacon_display'] = []
for beacon_manager in beacon_managers: # beacon_managers = user_project.beacon_managers.all()
beacon_serializer = BeaconSerializer(beacon_manager.beacon,context={'request': request}) # for beacon_manager in beacon_managers:
beacon_data = beacon_serializer.data # beacon_serializer = BeaconSerializer(beacon_manager.beacon,context={'request': request})
my_sites = beacon_manager.sites.filter(author=request.user.pk) # beacon_data = beacon_serializer.data
site_serializer = SiteSerializer(my_sites, many=True, context={'request': request}) # my_sites = beacon_manager.sites.filter(author=request.user.pk)
sites_data = site_serializer.data # site_serializer = SiteSerializer(my_sites, many=True, context={'request': request})
data['beacon_display'].append({'beacon':beacon_data,'sites' :sites_data}) # sites_data = site_serializer.data
# data['beacon_display'].append({'beacon':beacon_data,'sites' :sites_data})
return render_to_response('user_panel/content/project.html', data, context) return render_to_response('user_panel/content/project.html', data, context)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment