diff options
| author | Georgios Andreadis <info@gandreadis.com> | 2020-07-10 10:21:46 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-08-24 19:48:01 +0200 |
| commit | 8aa174e70c01631ae4e00a6d208966fcd77cf972 (patch) | |
| tree | 35ec6527e8d7a0b4093e18c8cb501c293a18b5eb /web-server/opendc | |
| parent | 607e8c72d85bf79dcd9bf28df96b239e2764bc30 (diff) | |
Add implementation of portfolio and scenario UI structure
Diffstat (limited to 'web-server/opendc')
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,)), |
