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)
router.register(r'user_event_request', user_views.UserEventRequestViewSet)
router.register(r'user_event', user_views.UserEventViewSet)
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('',
......
from django.contrib import admin
# 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
# 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):
return self.text
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)
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)
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
class DiscussionSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Discussion
fields = ('url', 'question', 'message', 'tag')
fields = ('url', 'user', 'question', 'message', 'tag')
class TextMessageSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
......
from django.contrib import admin
# 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
# 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
# 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):
name = models.CharField(max_length=300)
longitude = 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):
return self.name
\ No newline at end of file
......@@ -5,5 +5,5 @@ from app.Localization.models import Localization
class LocalizationSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Localization
fields = ('url', 'name', 'longitude', 'latitude')
fields = ('url', 'name', 'longitude', 'latitude', 'range')
from django.contrib import admin
# Register your models here.
from app.Tag.models import Tag
admin.site.register(Tag)
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.serializers import TagSerializer
from django.shortcuts import get_object_or_404
import rest_framework
from rest_framework.response import Response
class TagViewSet(viewsets.ModelViewSet):
"""
......@@ -9,4 +17,60 @@ class TagViewSet(viewsets.ModelViewSet):
"""
queryset = Tag.objects.all()
serializer_class = TagSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
\ No newline at end of file
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
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
# 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):
parameters['resource'] = self.resource
r = requests.get(self.site, auth=self.auth, params=parameters, verify=self.verifySSL)
if r.status_code == 200:
return json.dumps(r.json())
return r.json()
return False
def execute(self, method):
......
import json
from app.API.serializers import APISerializer
from lib.api.API import BaseAPI
......@@ -6,7 +7,28 @@ __author__ = 'Dominik Rosiek'
class API(BaseAPI):
resource = "d5629ae6-3450-44fb-becb-4a418f354145"
site = "https://api.bihapi.pl/dane/krakow"
methods = ('default')
methods = ('default', 'object')
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 lib.api.API import BaseAPI
......@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default')
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 lib.api.API import BaseAPI
......@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default')
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 lib.api.API import BaseAPI
......@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default')
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 lib.api.API import BaseAPI
......@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default')
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 lib.api.API import BaseAPI
......@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default')
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 lib.api.API import BaseAPI
......@@ -9,4 +10,4 @@ class API(BaseAPI):
methods = ('default')
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