summaryrefslogtreecommitdiff
path: root/web-server/opendc
diff options
context:
space:
mode:
Diffstat (limited to 'web-server/opendc')
-rw-r--r--web-server/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py7
-rw-r--r--web-server/opendc/api/v2/projects/projectId/portfolios/endpoint.py1
-rw-r--r--web-server/opendc/api/v2/projects/projectId/portfolios/test_endpoint.py2
-rw-r--r--web-server/opendc/models/scenario.py2
-rw-r--r--web-server/opendc/util/parameter_checker.py2
5 files changed, 6 insertions, 8 deletions
diff --git a/web-server/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py b/web-server/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py
index ab32aae2..1c5e0ab6 100644
--- a/web-server/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py
+++ b/web-server/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py
@@ -1,4 +1,5 @@
from opendc.models.portfolio import Portfolio
+from opendc.models.scenario import Scenario
from opendc.util.rest import Response
@@ -29,14 +30,14 @@ def POST(request):
portfolio.check_exists()
portfolio.check_user_access(request.google_id, True)
- scenario = Portfolio(request.params_body['scenario'])
+ scenario = Scenario(request.params_body['scenario'])
scenario.set_property('portfolioId', request.params_path['portfolioId'])
scenario.set_property('simulationState', 'QUEUED')
scenario.insert()
- portfolio.obj['portfolioIds'].append(portfolio.get_id())
+ portfolio.obj['scenarioIds'].append(scenario.get_id())
portfolio.update()
- return Response(200, 'Successfully added Portfolio.', portfolio.obj)
+ return Response(200, 'Successfully added Scenario.', scenario.obj)
diff --git a/web-server/opendc/api/v2/projects/projectId/portfolios/endpoint.py b/web-server/opendc/api/v2/projects/projectId/portfolios/endpoint.py
index c51dee14..0bc65565 100644
--- a/web-server/opendc/api/v2/projects/projectId/portfolios/endpoint.py
+++ b/web-server/opendc/api/v2/projects/projectId/portfolios/endpoint.py
@@ -26,7 +26,6 @@ def POST(request):
portfolio.set_property('projectId', request.params_path['projectId'])
portfolio.set_property('scenarioIds', [])
- portfolio.set_property('baseScenarioId', '-1')
portfolio.insert()
diff --git a/web-server/opendc/api/v2/projects/projectId/portfolios/test_endpoint.py b/web-server/opendc/api/v2/projects/projectId/portfolios/test_endpoint.py
index 5b4d9043..24416cc3 100644
--- a/web-server/opendc/api/v2/projects/projectId/portfolios/test_endpoint.py
+++ b/web-server/opendc/api/v2/projects/projectId/portfolios/test_endpoint.py
@@ -65,7 +65,6 @@ def test_add_portfolio(client, mocker):
},
'projectId': '1',
'scenarioIds': [],
- 'baseScenarioId': '-1',
})
mocker.patch.object(DB, 'update', return_value=None)
res = client.post(
@@ -81,5 +80,4 @@ def test_add_portfolio(client, mocker):
})
assert 'projectId' in res.json['content']
assert 'scenarioIds' in res.json['content']
- assert 'baseScenarioId' in res.json['content']
assert '200' in res.status
diff --git a/web-server/opendc/models/scenario.py b/web-server/opendc/models/scenario.py
index d7d959ca..8d53e408 100644
--- a/web-server/opendc/models/scenario.py
+++ b/web-server/opendc/models/scenario.py
@@ -21,6 +21,6 @@ class Scenario(Model):
portfolio = Portfolio.from_id(self.obj['portfolioId'])
user = User.from_google_id(google_id)
authorizations = list(
- filter(lambda x: str(x['projectId']) == str(portfolio.get_id()), user.obj['authorizations']))
+ filter(lambda x: str(x['projectId']) == str(portfolio.obj['projectId']), user.obj['authorizations']))
if len(authorizations) == 0 or (edit_access and authorizations[0]['authorizationLevel'] == 'VIEW'):
raise ClientError(Response(403, 'Forbidden from retrieving/editing scenario.'))
diff --git a/web-server/opendc/util/parameter_checker.py b/web-server/opendc/util/parameter_checker.py
index d1256009..14dd1dc0 100644
--- a/web-server/opendc/util/parameter_checker.py
+++ b/web-server/opendc/util/parameter_checker.py
@@ -48,7 +48,7 @@ def _incorrect_parameter(params_required, params_actual, parent=''):
type_pairs = [
('int', (int,)),
- ('float', (float,)),
+ ('float', (float, int)),
('bool', (bool,)),
('string', (str, int)),
('list', (list,)),