diff --git a/api/urls.py b/api/urls.py
index cc5dd5a..5dba548 100755
--- a/api/urls.py
+++ b/api/urls.py
@@ -1,6 +1,6 @@
from rest_framework import routers
-from .views import ProjectViewSet, SpecializationViewSet, UserViewSet
+from .views import ProjectViewSet, SpecializationViewSet, UserViewSet, LocationViewSet
router = routers.DefaultRouter()
@@ -8,5 +8,6 @@ router = routers.DefaultRouter()
router.register(r'projects', ProjectViewSet)
router.register(r'specializations', SpecializationViewSet)
router.register(r'users', UserViewSet)
+router.register(r'location', LocationViewSet)
urlpatterns = router.urls
diff --git a/api/views.py b/api/views.py
index 965a621..cd815e7 100755
--- a/api/views.py
+++ b/api/views.py
@@ -12,6 +12,9 @@ from users.models import User
from users.serializers import UserSerializer
from users.filters import UserFilterSet
+from common.models import Location
+from common.serializers import LocationSerializer
+from common.filters import LocationFilterSet
class ProjectViewSet(ModelViewSet):
queryset = Project.objects.all()
@@ -29,3 +32,10 @@ class UserViewSet(ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
filter_class = UserFilterSet
+
+
+class LocationViewSet(ModelViewSet):
+ queryset = Location.objects.all()
+ serializer_class = LocationSerializer
+ filter_class = LocationFilterSet
+
diff --git a/common/filters.py b/common/filters.py
new file mode 100644
index 0000000..ec7adf7
--- /dev/null
+++ b/common/filters.py
@@ -0,0 +1,17 @@
+from rest_framework_filters import FilterSet, AllLookupsFilter, RelatedFilter
+from .models import Location
+
+
+class LocationFilterSet(FilterSet):
+ id = AllLookupsFilter()
+ children = RelatedFilter('common.filters.LocationFilterSet')
+ level = AllLookupsFilter()
+ lft = AllLookupsFilter()
+ name = AllLookupsFilter()
+ parent = RelatedFilter('common.filters.LocationFilterSet')
+ rght = AllLookupsFilter()
+ tree_id = AllLookupsFilter()
+ type = AllLookupsFilter()
+
+ class Meta:
+ model = Location
diff --git a/common/serializers.py b/common/serializers.py
new file mode 100644
index 0000000..0f2e68f
--- /dev/null
+++ b/common/serializers.py
@@ -0,0 +1,20 @@
+from rest_framework.serializers import ModelSerializer
+
+from .models import Location
+
+
+class LocationSerializer(ModelSerializer):
+ class Meta:
+ model = Location
+
+ fields = (
+ 'id',
+ 'name',
+ 'children',
+ 'parent',
+ 'type',
+ 'lft',
+ 'rght',
+ 'level',
+ 'tree_id',
+ )
diff --git a/projects/templates/_trash/project_form.html b/projects/templates/_trash/project_form.html
index 63d0ed9..30753ef 100644
--- a/projects/templates/_trash/project_form.html
+++ b/projects/templates/_trash/project_form.html
@@ -245,6 +245,7 @@
function updateSelectData(){
+
}
$.ajax({
url: '/api/specializations?parent=1',
diff --git a/templates/partials/base.html b/templates/partials/base.html
index cd3b619..f5bb1e9 100644
--- a/templates/partials/base.html
+++ b/templates/partials/base.html
@@ -35,5 +35,6 @@
+{% block js_block %} {% endblock %}