git://git.onelab.eu
/
plstackapi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f45031f
)
xosDeveloper view working
author
Scott Baker
<smbaker@gmail.com>
Mon, 14 Jul 2014 00:36:19 +0000
(17:36 -0700)
committer
Scott Baker
<smbaker@gmail.com>
Mon, 14 Jul 2014 00:36:19 +0000
(17:36 -0700)
planetstack/core/xoslib/dashboards/xosDeveloper.html
patch
|
blob
|
history
planetstack/core/xoslib/methods/__init__.py
patch
|
blob
|
history
planetstack/core/xoslib/methods/sliceplus.py
patch
|
blob
|
history
planetstack/core/xoslib/objects/sliceplus.py
patch
|
blob
|
history
planetstack/core/xoslib/static/js/xosDeveloper.js
patch
|
blob
|
history
planetstack/core/xoslib/static/js/xoslib/xos-backbone.js
patch
|
blob
|
history
diff --git
a/planetstack/core/xoslib/dashboards/xosDeveloper.html
b/planetstack/core/xoslib/dashboards/xosDeveloper.html
index
c6002d7
..
33d7ee7
100644
(file)
--- a/
planetstack/core/xoslib/dashboards/xosDeveloper.html
+++ b/
planetstack/core/xoslib/dashboards/xosDeveloper.html
@@
-24,6
+24,6
@@
</script>
<script type="text/template" id="developer-slicedetail-template">
</script>
<script type="text/template" id="developer-slicedetail-template">
- <td><%= name %></td>
\r
+ <td><%= name %></td>
<td><%= sliceInfo.roles[0] %></td><td><%= sliceInfo.sliverCount %></td><td><%= sliceInfo.siteCount %></td>
\r
</script>
</script>
diff --git
a/planetstack/core/xoslib/methods/__init__.py
b/planetstack/core/xoslib/methods/__init__.py
index
6c75063
..
0b891eb
100644
(file)
--- a/
planetstack/core/xoslib/methods/__init__.py
+++ b/
planetstack/core/xoslib/methods/__init__.py
@@
-37,9
+37,9
@@
try:
for view_url in view_urls:
if view_url[0] == "list":
for view_url in view_urls:
if view_url[0] == "list":
- urlpatterns.append(url(r'^
xoslib/
' + view_url[1] + '/$', view_url[3].as_view(), name=view_url[1]+'list'))
+ urlpatterns.append(url(r'^' + view_url[1] + '/$', view_url[3].as_view(), name=view_url[1]+'list'))
elif view_url[0] == "detail":
elif view_url[0] == "detail":
- urlpatterns.append(url(r'^
xoslib/' + view_url[1] + '/(?P<pk>[a-zA-Z0-9\-]+)/$', view_url[3].as_view(), name=view_url[1]+'list
'))
+ urlpatterns.append(url(r'^
' + view_url[1] + '/(?P<pk>[a-zA-Z0-9\-]+)/$', view_url[3].as_view(), name=view_url[1]+'detail
'))
finally:
sys.path = sys_path_save
finally:
sys.path = sys_path_save
diff --git
a/planetstack/core/xoslib/methods/sliceplus.py
b/planetstack/core/xoslib/methods/sliceplus.py
index
79aae3b
..
f990275
100644
(file)
--- a/
planetstack/core/xoslib/methods/sliceplus.py
+++ b/
planetstack/core/xoslib/methods/sliceplus.py
@@
-13,7
+13,7
@@
class SlicePlusIdSerializer(serializers.ModelSerializer):
sliceInfo = serializers.SerializerMethodField("getSliceInfo")
\r
\r
def getSliceInfo(self, slice):
\r
sliceInfo = serializers.SerializerMethodField("getSliceInfo")
\r
\r
def getSliceInfo(self, slice):
\r
- return slice.getSliceInfo()
\r
+ return slice.getSliceInfo(
user=self.context['request'].user
)
\r
\r
networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
\r
availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
\r
\r
networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
\r
availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
\r
@@
-26,6
+26,9
@@
class SlicePlusList(generics.ListCreateAPIView):
queryset = SlicePlus.objects.select_related().all()
serializer_class = SlicePlusIdSerializer
queryset = SlicePlus.objects.select_related().all()
serializer_class = SlicePlusIdSerializer
+ method_kind = "list"
+ method_name = "slicesplus"
+
def get_queryset(self):
return SlicePlus.select_by_user(self.request.user)
def get_queryset(self):
return SlicePlus.select_by_user(self.request.user)
@@
-41,6
+44,9
@@
class SlicePlusDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = SlicePlus.objects.select_related().all()
serializer_class = SlicePlusIdSerializer
queryset = SlicePlus.objects.select_related().all()
serializer_class = SlicePlusIdSerializer
+ method_kind = "detail"
+ method_name = "slicesplus"
+
def get_queryset(self):
return SlicePlus.select_by_user(self.request.user)
def get_queryset(self):
return SlicePlus.select_by_user(self.request.user)
diff --git
a/planetstack/core/xoslib/objects/sliceplus.py
b/planetstack/core/xoslib/objects/sliceplus.py
index
e35f4d1
..
2542fd7
100644
(file)
--- a/
planetstack/core/xoslib/objects/sliceplus.py
+++ b/
planetstack/core/xoslib/objects/sliceplus.py
@@
-27,12
+27,9
@@
class SlicePlus(Slice):
@staticmethod
def select_by_user(user):
@staticmethod
def select_by_user(user):
- print "XX"
if user.is_admin:
qs = SlicePlus.objects.all()
else:
slice_ids = [sp.slice.id for sp in SlicePrivilege.objects.filter(user=user)]
qs = SlicePlus.objects.filter(id__in=slice_ids)
if user.is_admin:
qs = SlicePlus.objects.all()
else:
slice_ids = [sp.slice.id for sp in SlicePrivilege.objects.filter(user=user)]
qs = SlicePlus.objects.filter(id__in=slice_ids)
- print qs
- print qs.all()
return qs
return qs
diff --git
a/planetstack/core/xoslib/static/js/xosDeveloper.js
b/planetstack/core/xoslib/static/js/xosDeveloper.js
index
5e81d85
..
eb83efe
100644
(file)
--- a/
planetstack/core/xoslib/static/js/xosDeveloper.js
+++ b/
planetstack/core/xoslib/static/js/xosDeveloper.js
@@
-10,20
+10,30
@@
DeveloperApp.SliceDetailView = Marionette.ItemView.extend({
className: 'developer_slicedetail'
\r
});
className: 'developer_slicedetail'
\r
});
+/*
DeveloperApp.SliceListView = Marionette.CollectionView.extend({
DeveloperApp.SliceListView = Marionette.CollectionView.extend({
+ tagName: "table",
\r
+ className: "table table-hover",
\r
+ template: "#developer-slicetable-template",
\r
+ childView: DeveloperApp.SliceDetailView,
\r
+});
\r
+*/
\r
+
\r
+DeveloperApp.SliceListView = Marionette.CompositeView.extend({
\r
tagName: "table",
\r
className: "table-striped table-bordered",
\r
template: "#developer-slicetable-template",
\r
childView: DeveloperApp.SliceDetailView,
\r
tagName: "table",
\r
className: "table-striped table-bordered",
\r
template: "#developer-slicetable-template",
\r
childView: DeveloperApp.SliceDetailView,
\r
+ childViewContainer: "tbody",
\r
});
\r
DeveloperApp.on("start", function() {
var developerSliceListView = new DeveloperApp.SliceListView({
});
\r
DeveloperApp.on("start", function() {
var developerSliceListView = new DeveloperApp.SliceListView({
- collection: xos.slices
\r
+ collection: xos.slices
Plus
\r
});
\r
console.log(developerSliceListView);
\r
DeveloperApp.mainRegion.show(developerSliceListView);
\r
});
\r
console.log(developerSliceListView);
\r
DeveloperApp.mainRegion.show(developerSliceListView);
\r
- xos.slices.fetch();
\r
+ xos.slices
Plus
.fetch();
\r
});
$(document).ready(function(){
});
$(document).ready(function(){
diff --git
a/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js
b/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js
index
b113535
..
59645e7
100644
(file)
--- a/
planetstack/core/xoslib/static/js/xoslib/xos-backbone.js
+++ b/
planetstack/core/xoslib/static/js/xoslib/xos-backbone.js
@@
-5,6
+5,8
@@
SITE_API = "/plstackapi/sites/";
USER_API = "/plstackapi/users/";
DEPLOYMENT_API = "/plstackapi/deployments";
USER_API = "/plstackapi/users/";
DEPLOYMENT_API = "/plstackapi/deployments";
+SLICEPLUS_API = "/xoslib/slicesplus/";
+
XOSModel = Backbone.Model.extend({
/* from backbone-tastypie.js */
//idAttribute: 'resource_uri',
XOSModel = Backbone.Model.extend({
/* from backbone-tastypie.js */
//idAttribute: 'resource_uri',
@@
-119,6
+121,7
@@
XOSCollection = Backbone.Collection.extend({
});
function xoslib() {
});
function xoslib() {
+ // basic REST
this.sliver = XOSModel.extend({ urlRoot: SLIVER_API });
this.sliverCollection = XOSCollection.extend({ urlRoot: SLIVER_API,
model: this.sliver});
this.sliver = XOSModel.extend({ urlRoot: SLIVER_API });
this.sliverCollection = XOSCollection.extend({ urlRoot: SLIVER_API,
model: this.sliver});
@@
-149,6
+152,12
@@
function xoslib() {
model: this.deployment});
this.deployments = new this.deploymentCollection();
model: this.deployment});
this.deployments = new this.deploymentCollection();
+ // enhanced REST
+ this.slicePlus = XOSModel.extend({ urlRoot: SLICEPLUS_API });
+ this.slicePlusCollection = XOSCollection.extend({ urlRoot: SLICEPLUS_API,
+ model: this.slicePlus});
+ this.slicesPlus = new this.slicePlusCollection();
+
this.listObjects = function() { return ["slivers", "slices", "nodes", "sites", "users", "deployments"]; };
};
this.listObjects = function() { return ["slivers", "slices", "nodes", "sites", "users", "deployments"]; };
};