added access control to energyflowdiagram in api and admin

pull/87/MERGE
13621160019@163.com 2021-12-03 13:51:14 +08:00
parent e37b83fd54
commit 8f2db8952f
4 changed files with 125 additions and 131 deletions

View File

@ -1,6 +1,7 @@
'use strict';
app.controller('EnergyFlowDiagramController', function($scope,
app.controller('EnergyFlowDiagramController', function(
$scope,
$window,
$translate,
$uibModal,

View File

@ -279,15 +279,14 @@ app.controller('EnergyFlowDiagramLinkController', function(
app.controller('ModalAddEnergyFlowDiagramLinkCtrl', function($scope, $uibModalInstance, params) {
$scope.operation = "ENERGY_FLOW_DIAGRAM.ADD_LINK";
$scope.energyflowdiagramlink = {
source_node: {id: null, name: null},
target_node: {id: null, name: null},
meter: {id: null, uuid: null, name: null, type: null},
};
$scope.energyflowdiagramnodes = params.energyflowdiagramnodes;
$scope.mergedmeters = params.mergedmeters;
$scope.energyflowdiagramlink = {
source_node: {id: null, name: null},
target_node: {id: null, name: null},
meter: {id: null, uuid: null, name: null, type: null},
};
$scope.energyflowdiagramnodes = params.energyflowdiagramnodes;
$scope.mergedmeters = params.mergedmeters;
$scope.ok = function() {
$uibModalInstance.close($scope.energyflowdiagramlink);
};
@ -299,8 +298,8 @@ app.controller('ModalAddEnergyFlowDiagramLinkCtrl', function($scope, $uibModalIn
app.controller('ModalEditEnergyFlowDiagramLinkCtrl', function($scope, $uibModalInstance, params) {
$scope.operation = "ENERGY_FLOW_DIAGRAM.EDIT_LINK";
$scope.energyflowdiagramlink = params.energyflowdiagramlink;
$scope.energyflowdiagramnodes = params.energyflowdiagramnodes;
$scope.mergedmeters = params.mergedmeters;
$scope.energyflowdiagramnodes = params.energyflowdiagramnodes;
$scope.mergedmeters = params.mergedmeters;
$scope.ok = function() {
$uibModalInstance.close($scope.energyflowdiagramlink);
};

View File

@ -1,84 +0,0 @@
<div class="inmodal">
<div class="modal-header">
<h4 class="modal-title">{{operation | translate}}</h4>
</div>
<div class="modal-body">
<form role="form" name="form_equipmentparameter" novalidate class="form-horizontal">
<div class="form-group">
<label class="col-sm-4 control-label">{{'EQUIPMENT.PARAMETER_NAME' | translate}}</label>
<div class="col-sm-8"><input ng-model="equipmentparameter.name" type="text" name="equipmentparametername" class="form-control" required="">
<div class="m-t-xs" ng-show="form_equipmentparameter.equipmentparametername.$invalid && form_equipmentparameter.equipmentparametername.$dirty">
<small class="text-danger" ng-show="form_equipmentparameter.equipmentparametername.$error.required">{{'EQUIPMENT.INPUT_PARAMETER_NAME' | translate}}</small>
</div>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<label class="col-sm-4 control-label">{{'EQUIPMENT.PARAMETER_TYPE' | translate}}</label>
<div class="col-sm-8">
<select ng-disabled="is_disabled" name="equipment_parameter_type" ng-model="equipmentparameter.parameter_type" class="form-control m-b">
<option value="constant">{{'EQUIPMENT.CONSTANT' | translate}}</option>
<option value="point">{{'EQUIPMENT.POINT' | translate}}</option>
<option value="fraction">{{'EQUIPMENT.FRACTION' | translate}}</option>
</select>
<div class="m-t-xs" ng-show="form_equipmentparameter.equipmentparameter.parameter_type.$invalid && form_equipmentparameter.equipmentparameter.parameter_type.$dirty">
<small class="text-danger" ng-show="form_equipmentparameter.equipmentparameter.parameter_type.$error.required">{{'EQUIPMENT.SELECT_PARAMETER_TYPE' | translate}}</small>
</div>
</div>
</div>
<div class="hr-line-dashed" ng-show=" equipmentparameter.parameter_type=='constant' "></div>
<div class="form-group" ng-show=" equipmentparameter.parameter_type=='constant' ">
<label class="col-sm-4 control-label">{{'EQUIPMENT.CONSTANT' | translate}}</label>
<div class="col-sm-8">
<input ng-model="equipmentparameter.constant" type="text" name="equipmentparameterconstant" class="form-control" >
<div class="m-t-xs" ng-show="form_equipmentparameter.equipmentparameterconstant.$invalid && form_equipmentparameter.equipmentparameterconstant.$dirty">
<small class="text-danger" ng-show="form_equipmentparameter.equipmentparameterconstant.$error.required">{{'EQUIPMENT.INPUT_CONSTANT' | translate}}</small>
</div>
</div>
</div>
<div class="hr-line-dashed" ng-show=" equipmentparameter.parameter_type=='point' "></div>
<div class="form-group" ng-show=" equipmentparameter.parameter_type=='point' " >
<label class="col-sm-4 control-label">{{'EQUIPMENT.POINT' | translate}}</label>
<div class="col-sm-8">
<ui-select ng-model="equipmentparameter.point.id" name="equipmentparameter.point_id" theme="bootstrap">
<ui-select-match allow-clear="false" placeholder="{{'COMMON.PLACEHOLDER' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="point.id as point in points | filter: $select.search">
<div ng-bind-html="point.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
<div class="m-t-xs" ng-show="form_equipmentparameter.point_id.$invalid && form_equipmentparameter.point_id.$dirty">
<small class="text-danger" ng-show="form_equipmentparameter.point_id.$error.required">{{'EQUIPMENT.SELECT_POINT' | translate}}</small>
</div>
</div>
</div>
<div class="hr-line-dashed" ng-show=" equipmentparameter.parameter_type=='fraction' "></div>
<div class="form-group" ng-show=" equipmentparameter.parameter_type=='fraction' ">
<label class="col-sm-4 control-label">{{'EQUIPMENT.PARAMETER_NUMERATOR_METER' | translate}}</label>
<div class="col-sm-8">
<ui-select ng-model="equipmentparameter.numerator_meter.uuid" name="equipmentparameter.numerator_meter_uuid" theme="bootstrap" required>
<ui-select-match allow-clear="false" placeholder="{{'COMMON.PLACEHOLDER' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="meter.uuid as meter in mergedmeters | filter: $select.search">
<div ng-bind-html="meter.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</div>
<div class="hr-line-dashed" ng-show=" equipmentparameter.parameter_type=='fraction' "></div>
<div class="form-group" ng-show=" equipmentparameter.parameter_type=='fraction' ">
<label class="col-sm-4 control-label">{{'EQUIPMENT.PARAMETER_DENOMINATOR_METER' | translate}}</label>
<div class="col-sm-8">
<ui-select ng-model="equipmentparameter.denominator_meter.uuid" name="equipmentparameter.denominator_meter_uuid" theme="bootstrap" required>
<ui-select-match allow-clear="false" placeholder="{{'COMMON.PLACEHOLDER' | translate}}">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="meter.uuid as meter in mergedmeters | filter: $select.search">
<div ng-bind-html="meter.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-white" ng-click="cancel()">{{'SETTING.CANCEL' | translate}}</button>
<button type="button" ng-disabled="form_meter.$invalid" class="btn btn-primary" ng-click="ok()">{{'SETTING.SAVE' | translate}}</button>
</div>
</div>

View File

@ -1,6 +1,6 @@
{
"info": {
"_postman_id": "ab4b1f3e-3892-4a0e-801b-4ec90d4592fe",
"_postman_id": "275f5f12-078c-421a-a050-f054e344dc2b",
"name": "MyEMS",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
@ -2039,7 +2039,7 @@
},
{
"key": "Token",
"value": "073b43c05dadd89b833c0595b81c49cb9c1a54ca52b024b301a001720e52c5bf3b95951d5c54766de1028d20301cbd2bb6ec3fb62f9e14d7254cbf3811fe6c93",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"description": "Login to get a valid token",
"type": "text"
}
@ -2073,7 +2073,7 @@
},
{
"key": "Token",
"value": "073b43c05dadd89b833c0595b81c49cb9c1a54ca52b024b301a001720e52c5bf3b95951d5c54766de1028d20301cbd2bb6ec3fb62f9e14d7254cbf3811fe6c93",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"description": "Login to get a valid token",
"type": "text"
}
@ -2083,13 +2083,13 @@
"raw": "{\"data\":{\"name\":\"MyEMS Energy Flow Diagram\"}}"
},
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1",
"raw": "{{base_url}}/energyflowdiagrams/2000000",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1"
"2000000"
]
}
},
@ -2108,19 +2108,19 @@
},
{
"key": "Token",
"value": "073b43c05dadd89b833c0595b81c49cb9c1a54ca52b024b301a001720e52c5bf3b95951d5c54766de1028d20301cbd2bb6ec3fb62f9e14d7254cbf3811fe6c93",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"description": "Login to get a valid token",
"type": "text"
}
],
"url": {
"raw": "{{base_url}}/energyflowdiagrams/2",
"raw": "{{base_url}}/energyflowdiagrams/2000000",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"2"
"2000000"
]
}
},
@ -2132,13 +2132,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1/nodes",
"raw": "{{base_url}}/energyflowdiagrams/1000000/nodes",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1",
"1000000",
"nodes"
]
}
@ -2149,19 +2149,32 @@
"name": "POST Create new Node of an Energy Flow Diagram",
"request": {
"method": "POST",
"header": [],
"header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text",
"description": "Any admin users' UUID"
},
{
"key": "Token",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"type": "text",
"description": "Login to get a valid token"
}
],
"body": {
"mode": "raw",
"raw": "{\"data\":{\"name\":\"10KV#3\"}}"
},
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1/nodes",
"raw": "{{base_url}}/energyflowdiagrams/1000000/nodes",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1",
"1000000",
"nodes"
]
}
@ -2172,21 +2185,34 @@
"name": "PUT Update an Node of an Energy Flow Diagram",
"request": {
"method": "PUT",
"header": [],
"header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text",
"description": "Any admin users' UUID"
},
{
"key": "Token",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"type": "text",
"description": "Login to get a valid token"
}
],
"body": {
"mode": "raw",
"raw": "{\"data\":{\"name\":\"10KV Input #1\"}}"
},
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1/nodes/1",
"raw": "{{base_url}}/energyflowdiagrams/1000000/nodes/3000000",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1",
"1000000",
"nodes",
"1"
"3000000"
]
}
},
@ -2196,17 +2222,30 @@
"name": "DELETE an Node of an Energy Flow Diagram",
"request": {
"method": "DELETE",
"header": [],
"header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text",
"description": "Any admin users' UUID"
},
{
"key": "Token",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"type": "text",
"description": "Login to get a valid token"
}
],
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1/nodes/3",
"raw": "{{base_url}}/energyflowdiagrams/1000000/nodes/3000000",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1",
"1000000",
"nodes",
"3"
"3000000"
]
}
},
@ -2218,13 +2257,13 @@
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1/links",
"raw": "{{base_url}}/energyflowdiagrams/1000000/links",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1",
"1000000",
"links"
]
}
@ -2235,19 +2274,32 @@
"name": "POST Create new Link of an Energy Flow Diagram",
"request": {
"method": "POST",
"header": [],
"header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text",
"description": "Any admin users' UUID"
},
{
"key": "Token",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"type": "text",
"description": "Login to get a valid token"
}
],
"body": {
"mode": "raw",
"raw": "{\"data\":{\"source_node_id\":1, \"target_node_id\":2, \"meter_uuid\":\"493cd112-6295-43c6-98aa-e7f801e7b7ba\"}}"
"raw": "{\"data\":{\"source_node_id\":1000000, \"target_node_id\":1000008, \"meter_uuid\":\"eb78f7f9-f26f-463b-92fa-d9daf5b3651c\"}}"
},
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1/links",
"raw": "{{base_url}}/energyflowdiagrams/1000000/links",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1",
"1000000",
"links"
]
}
@ -2258,21 +2310,34 @@
"name": "PUT Update a Link of an Energy Flow Diagram",
"request": {
"method": "PUT",
"header": [],
"header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text",
"description": "Any admin users' UUID"
},
{
"key": "Token",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"type": "text",
"description": "Login to get a valid token"
}
],
"body": {
"mode": "raw",
"raw": "{\"data\":{\"source_node_id\":1, \"target_node_id\":4, \"meter_uuid\":\"493cd112-6295-43c6-98aa-e7f801e7b7ba\"}}"
"raw": "{\"data\":{\"source_node_id\":1000000, \"target_node_id\":1000009, \"meter_uuid\":\"eb78f7f9-f26f-463b-92fa-d9daf5b3651c\"}}"
},
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1/links/1",
"raw": "{{base_url}}/energyflowdiagrams/1000000/links/3000000",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1",
"1000000",
"links",
"1"
"3000000"
]
}
},
@ -2282,17 +2347,30 @@
"name": "DELETE a Link of an Energy Flow Diagram",
"request": {
"method": "DELETE",
"header": [],
"header": [
{
"key": "User-UUID",
"value": "dcdb67d1-6116-4987-916f-6fc6cf2bc0e4",
"type": "text",
"description": "Any admin users' UUID"
},
{
"key": "Token",
"value": "bd16461ce31dca5c026ee17b1e6e10167d7558230fc6387b4149819a1a2b0d19b87b72687fa488ee41b358b7d229ab44f1011968308c0cf3e9d379e6ae6b2565",
"type": "text",
"description": "Login to get a valid token"
}
],
"url": {
"raw": "{{base_url}}/energyflowdiagrams/1/links/2",
"raw": "{{base_url}}/energyflowdiagrams/1000000/links/3000000",
"host": [
"{{base_url}}"
],
"path": [
"energyflowdiagrams",
"1",
"1000000",
"links",
"2"
"3000000"
]
}
},