Commit 0e50a5a6 authored by Eryk Leniart's avatar Eryk Leniart
parents 7514fbaf 86e0c0b4
...@@ -25,6 +25,10 @@ router.register(r'user_friendship', user_views.UserFriendshipViewSet) ...@@ -25,6 +25,10 @@ router.register(r'user_friendship', user_views.UserFriendshipViewSet)
router.register(r'user_event_request', user_views.UserEventRequestViewSet) router.register(r'user_event_request', user_views.UserEventRequestViewSet)
router.register(r'user_event', user_views.UserEventViewSet) router.register(r'user_event', user_views.UserEventViewSet)
router.register(r'user_api', user_views.UserAPIViewSet) router.register(r'user_api', user_views.UserAPIViewSet)
router.register(r'tag_api', tag_views.TagApiViewSet, base_name="tag_api")
router.register(r'tag_event', tag_views.TagEventViewSet, base_name="tag_event")
router.register(r'tag_discussion', tag_views.TagDiscussionViewSet, base_name="tag_discussion")
urlpatterns = patterns('', urlpatterns = patterns('',
......
from django.contrib import admin from django.contrib import admin
# Register your models here. # Register your models here.
from app.API.models import API
admin.site.register(API)
\ No newline at end of file
from django.contrib import admin from django.contrib import admin
# Register your models here. # Register your models here.
from app.Discussion.models import TextMessage, Discussion
admin.site.register(TextMessage)
admin.site.register(Discussion)
\ No newline at end of file
...@@ -14,9 +14,11 @@ class TextMessage(models.Model): ...@@ -14,9 +14,11 @@ class TextMessage(models.Model):
return self.text return self.text
class Discussion(models.Model): class Discussion(models.Model):
user = models.ForeignKey(User, related_name='user_creator_of_discussion',
blank=False, null=False, default=None)
question = models.CharField(max_length=100) question = models.CharField(max_length=100)
message = models.ManyToManyField(TextMessage, blank=True, null=True, related_name="conversations_participant") message = models.ManyToManyField(TextMessage, blank=True, null=True, related_name="conversations_participant")
tag = models.ForeignKey(Tag, related_name='place_of_discussion', blank=False, null=False, default=None) tag = models.ForeignKey(Tag, related_name='place_of_discussion', blank=False, null=False, default=None)
def __str__(self): def __str__(self):
return self.question return self.question
\ No newline at end of file
...@@ -6,7 +6,7 @@ from app.User.serializers import UserSerializer ...@@ -6,7 +6,7 @@ from app.User.serializers import UserSerializer
class DiscussionSerializer(serializers.HyperlinkedModelSerializer): class DiscussionSerializer(serializers.HyperlinkedModelSerializer):
class Meta: class Meta:
model = Discussion model = Discussion
fields = ('url', 'question', 'message', 'tag') fields = ('url', 'user', 'question', 'message', 'tag')
class TextMessageSerializer(serializers.HyperlinkedModelSerializer): class TextMessageSerializer(serializers.HyperlinkedModelSerializer):
class Meta: class Meta:
......
from django.contrib import admin from django.contrib import admin
# Register your models here. # Register your models here.
from app.Event.models import Event
admin.site.register(Event)
\ No newline at end of file
from django.contrib import admin from django.contrib import admin
# Register your models here. # Register your models here.
from app.Friendship.models import FriendshipRequest
admin.site.register(FriendshipRequest)
\ No newline at end of file
from django.contrib import admin from django.contrib import admin
# Register your models here. # Register your models here.
from app.Localization.models import Localization
admin.site.register(Localization)
from django.contrib.auth.models import User
from app.Localization.models import Localization
__author__ = 'Rafal'
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
help = 'Closes the specified poll for voting'
def add_arguments(self, parser):
parser.add_argument('poll_id', nargs='+', type=int)
def handle(self, *args, **options):
localizations = [
['Krakow', '52.025459', '19.204102', '1000'],
['Miasteczko AGH', '50.0679444', '19.9028223', '40'],
['Nowa Huta', '50.0752396', '20.0729312', '200'],
['Swiat','0', '0', '99999999999999']
]
print "Creating Localizations"
for localization in localizations:
print "Create {0}".format(localization[0])
new_localization = Localization.objects.create(name=localization[0], longitude=localization[1], latitude=localization[2], range=localization[3])
new_localization.save()
\ No newline at end of file
...@@ -7,6 +7,7 @@ class Localization(models.Model): ...@@ -7,6 +7,7 @@ class Localization(models.Model):
name = models.CharField(max_length=300) name = models.CharField(max_length=300)
longitude = models.DecimalField(max_digits=9, decimal_places=6, default=None) longitude = models.DecimalField(max_digits=9, decimal_places=6, default=None)
latitude = models.DecimalField(max_digits=9, decimal_places=6, default=None) latitude = models.DecimalField(max_digits=9, decimal_places=6, default=None)
range = models.IntegerField(default=None)
def __str__(self): def __str__(self):
return self.name return self.name
\ No newline at end of file
...@@ -5,5 +5,5 @@ from app.Localization.models import Localization ...@@ -5,5 +5,5 @@ from app.Localization.models import Localization
class LocalizationSerializer(serializers.HyperlinkedModelSerializer): class LocalizationSerializer(serializers.HyperlinkedModelSerializer):
class Meta: class Meta:
model = Localization model = Localization
fields = ('url', 'name', 'longitude', 'latitude') fields = ('url', 'name', 'longitude', 'latitude', 'range')
from django.contrib import admin from django.contrib import admin
# Register your models here. # Register your models here.
from app.Tag.models import Tag
admin.site.register(Tag)
from rest_framework import viewsets, permissions from rest_framework import viewsets, permissions
from app.API.models import API
from app.API.serializers import APISerializer
from app.Discussion.models import Discussion
from app.Discussion.serializers import DiscussionSerializer
from app.Event.models import Event
from app.Event.serializers import EventSerializer
from app.Tag.models import Tag from app.Tag.models import Tag
from app.Tag.serializers import TagSerializer from app.Tag.serializers import TagSerializer
from django.shortcuts import get_object_or_404
import rest_framework
from rest_framework.response import Response
class TagViewSet(viewsets.ModelViewSet): class TagViewSet(viewsets.ModelViewSet):
""" """
...@@ -9,4 +17,60 @@ class TagViewSet(viewsets.ModelViewSet): ...@@ -9,4 +17,60 @@ class TagViewSet(viewsets.ModelViewSet):
""" """
queryset = Tag.objects.all() queryset = Tag.objects.all()
serializer_class = TagSerializer serializer_class = TagSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
\ No newline at end of file
class TagApiViewSet(viewsets.ModelViewSet):
"""
API for articles
"""
queryset = Tag.objects.all()
serializer_class = TagSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def list(self, request, *args, **kwargs):
return Response(status=rest_framework.status.HTTP_400_BAD_REQUEST, data={"Request name of tag! Provide it by '../tag_name/"})
def retrieve(self, request, pk):
tag = get_object_or_404(self.queryset, name__iexact=pk)
queryset = API.objects.filter(tag=tag)
page = self.paginate_queryset(queryset)
serializer = APISerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
class TagEventViewSet(viewsets.ModelViewSet):
"""
API for articles
"""
queryset = Tag.objects.all()
serializer_class = TagSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def list(self, request, *args, **kwargs):
return Response(status=rest_framework.status.HTTP_400_BAD_REQUEST, data={"Request name of tag! Provide it by '../tag_name/"})
def retrieve(self, request, pk):
tag = get_object_or_404(self.queryset, name__iexact=pk)
queryset = Event.objects.filter(tag=tag)
page = self.paginate_queryset(queryset)
serializer = EventSerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
class TagDiscussionViewSet(viewsets.ModelViewSet):
"""
API for articles
"""
queryset = Tag.objects.all()
serializer_class = TagSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def list(self, request, *args, **kwargs):
return Response(status=rest_framework.status.HTTP_400_BAD_REQUEST, data={"Request name of tag! Provide it by '../tag_name/"})
def retrieve(self, request, pk):
tag = get_object_or_404(self.queryset, name__iexact=pk)
queryset = Discussion.objects.filter(tag=tag)
page = self.paginate_queryset(queryset)
serializer = DiscussionSerializer(page, many=True, context={'request': request})
return self.get_paginated_response(serializer.data)
\ No newline at end of file
from django.contrib import admin from django.contrib import admin
# Register your models here. # Register your models here.
from app.User.models import UserEventRequest, UserAPI, UserFriendship
from app.User.models import UserEvent
admin.site.register(UserFriendship)
admin.site.register(UserAPI)
admin.site.register(UserEvent)
admin.site.register(UserEventRequest)
\ No newline at end of file
from django.contrib.auth.models import User
from django.core.management import call_command
__author__ = 'Rafal'
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
help = 'Closes the specified poll for voting'
def add_arguments(self, parser):
parser.add_argument('poll_id', nargs='+', type=int)
def handle(self, *args, **options):
call_command('init_users')
call_command('init_localizations')
\ No newline at end of file
from django.contrib.auth.models import User
__author__ = 'Rafal'
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
help = 'Closes the specified poll for voting'
def add_arguments(self, parser):
parser.add_argument('poll_id', nargs='+', type=int)
def handle(self, *args, **options):
users = [
['admin', 'admin', 'admin@gmail.com', ],
['Antek', 'Antek', 'antek@gmail.com'],
['Rafal','Rafal', 'rafal@gmail.com'],
['Klaudia','Klaudia', 'klaudia@gmail.com']
]
print "Creating Users"
for user in users:
print "Create {0}".format(user[0])
new_user = User.objects.create(username=user[0], password=user[1], email=user[2],is_active=True, is_superuser=True, is_staff=True,)
new_user.set_password(user[1])
new_user.save()
\ No newline at end of file
...@@ -17,7 +17,7 @@ class BaseAPI(object): ...@@ -17,7 +17,7 @@ class BaseAPI(object):
parameters['resource'] = self.resource parameters['resource'] = self.resource
r = requests.get(self.site, auth=self.auth, params=parameters, verify=self.verifySSL) r = requests.get(self.site, auth=self.auth, params=parameters, verify=self.verifySSL)
if r.status_code == 200: if r.status_code == 200:
return json.dumps(r.json()) return r.json()
return False return False
def execute(self, method): def execute(self, method):
......
import json
from app.API.serializers import APISerializer from app.API.serializers import APISerializer
from lib.api.API import BaseAPI from lib.api.API import BaseAPI
...@@ -6,7 +7,28 @@ __author__ = 'Dominik Rosiek' ...@@ -6,7 +7,28 @@ __author__ = 'Dominik Rosiek'
class API(BaseAPI): class API(BaseAPI):
resource = "d5629ae6-3450-44fb-becb-4a418f354145" resource = "d5629ae6-3450-44fb-becb-4a418f354145"
site = "https://api.bihapi.pl/dane/krakow" site = "https://api.bihapi.pl/dane/krakow"
methods = ('default') methods = ('default', 'object')
def default(self): def default(self):
return self.GET(parameters=self.request.GET.dict()) return json.dumps(self.GET(parameters=self.request.GET.dict()))
def object(self):
data = self.GET(parameters=self.request.GET.dict())
results = []
try:
for obj in data['results']:
results.append(self.unpack(obj))
except TypeError as e:
results.append(self.unpack(data['results']))
return json.dumps(results)
def unpack(self, obj):
result = {}
for property in obj['properties']:
if property['key'] == 'APTEKI':
result['name'] = property['value']
elif property['key'] == 'OADR_GPS_S':
result['latitude'] = property['value']
elif property['key'] == 'OADR_GPS_D':
result['longitude'] = property['value']
return result
import json
from app.API.serializers import APISerializer from app.API.serializers import APISerializer
from lib.api.API import BaseAPI from lib.api.API import BaseAPI
...@@ -9,4 +10,4 @@ class API(BaseAPI): ...@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default') methods = ('default')
def default(self): def default(self):
return self.GET(parameters=self.request.GET.dict()) return json.dumps(self.GET(parameters=self.request.GET.dict()))
import json
from app.API.serializers import APISerializer from app.API.serializers import APISerializer
from lib.api.API import BaseAPI from lib.api.API import BaseAPI
...@@ -9,4 +10,4 @@ class API(BaseAPI): ...@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default') methods = ('default')
def default(self): def default(self):
return self.GET(parameters=self.request.GET.dict()) return json.dumps(self.GET(parameters=self.request.GET.dict()))
import json
from app.API.serializers import APISerializer from app.API.serializers import APISerializer
from lib.api.API import BaseAPI from lib.api.API import BaseAPI
...@@ -9,4 +10,4 @@ class API(BaseAPI): ...@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default') methods = ('default')
def default(self): def default(self):
return self.GET(parameters=self.request.GET.dict()) return json.dumps(self.GET(parameters=self.request.GET.dict()))
import json
from app.API.serializers import APISerializer from app.API.serializers import APISerializer
from lib.api.API import BaseAPI from lib.api.API import BaseAPI
...@@ -9,4 +10,4 @@ class API(BaseAPI): ...@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default') methods = ('default')
def default(self): def default(self):
return self.GET(parameters=self.request.GET.dict()) return json.dumps(self.GET(parameters=self.request.GET.dict()))
import json
from app.API.serializers import APISerializer from app.API.serializers import APISerializer
from lib.api.API import BaseAPI from lib.api.API import BaseAPI
...@@ -9,4 +10,4 @@ class API(BaseAPI): ...@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default') methods = ('default')
def default(self): def default(self):
return self.GET(parameters=self.request.GET.dict()) return json.dumps(self.GET(parameters=self.request.GET.dict()))
import json
from app.API.serializers import APISerializer from app.API.serializers import APISerializer
from lib.api.API import BaseAPI from lib.api.API import BaseAPI
...@@ -9,4 +10,4 @@ class API(BaseAPI): ...@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default') methods = ('default')
def default(self): def default(self):
return self.GET(parameters=self.request.GET.dict()) return json.dumps(self.GET(parameters=self.request.GET.dict()))
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