]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Add more per-user stack support (2).
authorIan Main <imain@redhat.com>
Mon, 18 Jun 2012 16:47:34 +0000 (09:47 -0700)
committerIan Main <imain@redhat.com>
Mon, 18 Jun 2012 16:47:34 +0000 (09:47 -0700)
This finishes up the API calls with per-user returns of stacks and
events.

Change-Id: Iab6118f35978a6f62ad4d3454842cb7f3d686bc8
Signed-off-by: Ian Main <imain@redhat.com>
heat/db/api.py
heat/db/sqlalchemy/api.py
heat/engine/manager.py

index d784e8c8a9f6c29d9386ba7c0514c0da7a2a4b7b..66d611b8728ae702349787493c5873e4127fe44c 100644 (file)
@@ -140,6 +140,10 @@ def event_get_all(context):
     return IMPL.event_get_all(context)
 
 
+def event_get_all_by_user(context):
+    return IMPL.event_get_all_by_user(context)
+
+
 def event_get_all_by_stack(context, stack_id):
     return IMPL.event_get_all_by_stack(context, stack_id)
 
index f31b08d4817b0b5be37cd67fdaa60462e34fa096..5ed3a2995a9afc91c754b709542786b013846ff7 100644 (file)
@@ -226,6 +226,17 @@ def event_get_all(context):
     return results
 
 
+def event_get_all_by_user(context):
+    stacks = model_query(context, models.Stack).\
+                          filter_by(username=context.username).all()
+    results = []
+    for stack in stacks:
+        results.extend(model_query(context, models.Event).\
+                                   filter_by(stack_id=stack.id).all())
+
+    return results
+
+
 def event_get_all_by_stack(context, stack_id):
     results = model_query(context, models.Event).\
                         filter_by(stack_id=stack_id).all()
index fb5d284a28e19bbf2815cc4cf45279f582e7b89c..05bba3f244a0e3336edb02709079e6e25895d4bd 100644 (file)
@@ -299,7 +299,7 @@ class EngineManager(manager.Manager):
         arg3 -> Dict of http request parameters passed in from API side.
         """
         self._authenticate(context)
-        s = db_api.stack_get_by_name(None, stack_name)
+        s = db_api.stack_get_by_name(context, stack_name)
         if s:
             return s.raw_template.template
         return None
@@ -357,7 +357,7 @@ class EngineManager(manager.Manager):
 
             events = db_api.event_get_all_by_stack(context, st.id)
         else:
-            events = db_api.event_get_all(context)
+            events = db_api.event_get_all_by_user(context)
 
         return {'events': [self.parse_event(e) for e in events]}