summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunil Shetye2024-09-21 19:40:39 +0530
committerSunil Shetye2024-09-22 16:40:18 +0530
commit3762d7316bfc215bc7b5ea44143c27445d022a4c (patch)
tree167973fd856b7717a453e338f790dc6e82affef7
parent1f925cc9456de86a6a707249dc78cf8221a21cff (diff)
downloadCommon-Interface-Project-3762d7316bfc215bc7b5ea44143c27445d022a4c.tar.gz
Common-Interface-Project-3762d7316bfc215bc7b5ea44143c27445d022a4c.tar.bz2
Common-Interface-Project-3762d7316bfc215bc7b5ea44143c27445d022a4c.zip
use new urls for getting and setting the block parameters
-rw-r--r--blocks/blocks/xcosblocks/serializers.py301
-rw-r--r--blocks/blocks/xcosblocks/tests.py12
-rw-r--r--blocks/blocks/xcosblocks/urls.py7
-rw-r--r--blocks/blocks/xcosblocks/views.py102
-rw-r--r--blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js26
-rw-r--r--blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js4
-rw-r--r--blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js2
7 files changed, 29 insertions, 425 deletions
diff --git a/blocks/blocks/xcosblocks/serializers.py b/blocks/blocks/xcosblocks/serializers.py
index 628df21e..d361549d 100644
--- a/blocks/blocks/xcosblocks/serializers.py
+++ b/blocks/blocks/xcosblocks/serializers.py
@@ -2,7 +2,7 @@ from rest_framework import serializers
from django.db.models import Prefetch
from .models import BlockType, Category, ParameterDataType, BlockPrefix, \
- BlockPrefixParameter, Block, BlockParameter, BlockPort, \
+ BlockPrefixParameter, \
NewBlock, NewBlockParameter, NewBlockPort
from .xcosblocks import *
@@ -55,305 +55,6 @@ class BlockPrefixParameterSerializer(serializers.ModelSerializer):
]
-class BlockPortSerializer(serializers.ModelSerializer):
- class Meta:
- model = BlockPort
- fields = [
- 'id',
- 'block',
- 'port_order',
- 'port_name',
- 'port_number',
- 'port_x',
- 'port_y',
- 'port_orientation',
- 'port_part',
- 'port_dmg',
- 'port_type',
- ]
-
-
-class BlockSerializer(serializers.ModelSerializer):
- blockprefix = BlockPrefixSerializer()
- main_category = CategorySerializer()
- categories = CategorySerializer(many=True)
- blockport_set = BlockPortSerializer(many=True)
-
- class Meta:
- model = Block
- fields = [
- 'id',
- 'name',
- 'blockprefix',
- 'main_category',
- 'categories',
- 'block_name',
- 'initial_display_parameter',
- 'simulation_function',
- 'block_image_path',
- 'block_width',
- 'block_height',
- 'p000_value_initial',
- 'p001_value_initial',
- 'p002_value_initial',
- 'p003_value_initial',
- 'p004_value_initial',
- 'p005_value_initial',
- 'p006_value_initial',
- 'p007_value_initial',
- 'p008_value_initial',
- 'p009_value_initial',
- 'p010_value_initial',
- 'p011_value_initial',
- 'p012_value_initial',
- 'p013_value_initial',
- 'p014_value_initial',
- 'p015_value_initial',
- 'p016_value_initial',
- 'p017_value_initial',
- 'p018_value_initial',
- 'p019_value_initial',
- 'p020_value_initial',
- 'p021_value_initial',
- 'p022_value_initial',
- 'p023_value_initial',
- 'p024_value_initial',
- 'p025_value_initial',
- 'p026_value_initial',
- 'p027_value_initial',
- 'p028_value_initial',
- 'p029_value_initial',
- 'p030_value_initial',
- 'p031_value_initial',
- 'p032_value_initial',
- 'p033_value_initial',
- 'p034_value_initial',
- 'p035_value_initial',
- 'p036_value_initial',
- 'p037_value_initial',
- 'p038_value_initial',
- 'p039_value_initial',
- 'p040_value_initial',
- 'p041_value_initial',
- 'p042_value_initial',
- 'p043_value_initial',
- 'p044_value_initial',
- 'p045_value_initial',
- 'p046_value_initial',
- 'p047_value_initial',
- 'p048_value_initial',
- 'p049_value_initial',
- 'p050_value_initial',
- 'p051_value_initial',
- 'p052_value_initial',
- 'p053_value_initial',
- 'p054_value_initial',
- 'p055_value_initial',
- 'p056_value_initial',
- 'p057_value_initial',
- 'p058_value_initial',
- 'p059_value_initial',
- 'blockport_set',
- ]
-
- @staticmethod
- def prefetch_category(queryset):
- return queryset.prefetch_related('categories')
-
- @staticmethod
- def prefetch_blockport(queryset):
- return queryset.prefetch_related('blockport_set')
-
-
-class BlockParameterSerializer(serializers.ModelSerializer):
- class Meta:
- model = BlockParameter
- fields = [
- 'id',
- 'block',
- 'p000',
- 'p000_type',
- 'p000_help',
- 'p001',
- 'p001_type',
- 'p001_help',
- 'p002',
- 'p002_type',
- 'p002_help',
- 'p003',
- 'p003_type',
- 'p003_help',
- 'p004',
- 'p004_type',
- 'p004_help',
- 'p005',
- 'p005_type',
- 'p005_help',
- 'p006',
- 'p006_type',
- 'p006_help',
- 'p007',
- 'p007_type',
- 'p007_help',
- 'p008',
- 'p008_type',
- 'p008_help',
- 'p009',
- 'p009_type',
- 'p009_help',
- 'p010',
- 'p010_type',
- 'p010_help',
- 'p011',
- 'p011_type',
- 'p011_help',
- 'p012',
- 'p012_type',
- 'p012_help',
- 'p013',
- 'p013_type',
- 'p013_help',
- 'p014',
- 'p014_type',
- 'p014_help',
- 'p015',
- 'p015_type',
- 'p015_help',
- 'p016',
- 'p016_type',
- 'p016_help',
- 'p017',
- 'p017_type',
- 'p017_help',
- 'p018',
- 'p018_type',
- 'p018_help',
- 'p019',
- 'p019_type',
- 'p019_help',
- 'p020',
- 'p020_type',
- 'p020_help',
- 'p021',
- 'p021_type',
- 'p021_help',
- 'p022',
- 'p022_type',
- 'p022_help',
- 'p023',
- 'p023_type',
- 'p023_help',
- 'p024',
- 'p024_type',
- 'p024_help',
- 'p025',
- 'p025_type',
- 'p025_help',
- 'p026',
- 'p026_type',
- 'p026_help',
- 'p027',
- 'p027_type',
- 'p027_help',
- 'p028',
- 'p028_type',
- 'p028_help',
- 'p029',
- 'p029_type',
- 'p029_help',
- 'p030',
- 'p030_type',
- 'p030_help',
- 'p031',
- 'p031_type',
- 'p031_help',
- 'p032',
- 'p032_type',
- 'p032_help',
- 'p033',
- 'p033_type',
- 'p033_help',
- 'p034',
- 'p034_type',
- 'p034_help',
- 'p035',
- 'p035_type',
- 'p035_help',
- 'p036',
- 'p036_type',
- 'p036_help',
- 'p037',
- 'p037_type',
- 'p037_help',
- 'p038',
- 'p038_type',
- 'p038_help',
- 'p039',
- 'p039_type',
- 'p039_help',
- 'p040',
- 'p040_type',
- 'p040_help',
- 'p041',
- 'p041_type',
- 'p041_help',
- 'p042',
- 'p042_type',
- 'p042_help',
- 'p043',
- 'p043_type',
- 'p043_help',
- 'p044',
- 'p044_type',
- 'p044_help',
- 'p045',
- 'p045_type',
- 'p045_help',
- 'p046',
- 'p046_type',
- 'p046_help',
- 'p047',
- 'p047_type',
- 'p047_help',
- 'p048',
- 'p048_type',
- 'p048_help',
- 'p049',
- 'p049_type',
- 'p049_help',
- 'p050',
- 'p050_type',
- 'p050_help',
- 'p051',
- 'p051_type',
- 'p051_help',
- 'p052',
- 'p052_type',
- 'p052_help',
- 'p053',
- 'p053_type',
- 'p053_help',
- 'p054',
- 'p054_type',
- 'p054_help',
- 'p055',
- 'p055_type',
- 'p055_help',
- 'p056',
- 'p056_type',
- 'p056_help',
- 'p057',
- 'p057_type',
- 'p057_help',
- 'p058',
- 'p058_type',
- 'p058_help',
- 'p059',
- 'p059_type',
- 'p059_help',
- ]
-
-
class ErrorSerializer(serializers.Serializer):
code = serializers.IntegerField()
error = serializers.CharField(
diff --git a/blocks/blocks/xcosblocks/tests.py b/blocks/blocks/xcosblocks/tests.py
index c57aa1ce..1db766a0 100644
--- a/blocks/blocks/xcosblocks/tests.py
+++ b/blocks/blocks/xcosblocks/tests.py
@@ -1,6 +1,6 @@
from django.test import TestCase
-from .models import Category, Block, BlockPort
+from .models import Category, NewBlock, NewBlockPort
PRINT_BLOCKS = False
@@ -16,7 +16,7 @@ class CategoryTestCase(TestCase):
self.assertEqual(str(category), 'Commonly Used Blocks')
print()
- block = Block.objects.get(id=66)
+ block = NewBlock.objects.get(id=66)
print(block)
self.assertEqual(str(block), 'POWBLK_f')
if PRINT_PORTS:
@@ -25,13 +25,13 @@ class CategoryTestCase(TestCase):
print(blockport)
print()
- blockport = BlockPort.objects.get(id=88)
+ blockport = NewBlockPort.objects.get(id=88)
print(blockport)
self.assertEqual(str(blockport), 'INTRPLBLK_f 1')
print()
categories = Category.objects.all().order_by('sort_order')
- allblocks = Block.objects.all().order_by('name')
+ allblocks = NewBlock.objects.all().order_by('name')
for category in categories:
blocks = allblocks.filter(categories=category)
print(category.id, category, len(blocks))
@@ -43,8 +43,8 @@ class CategoryTestCase(TestCase):
print()
namestring = 'A'
- allblocks = Block.objects.filter(name__istartswith=namestring)
- categories = Category.objects.filter(block__in=allblocks).distinct().order_by('sort_order')
+ allblocks = NewBlock.objects.filter(name__istartswith=namestring)
+ categories = Category.objects.filter(newblock__in=allblocks).distinct().order_by('sort_order')
for category in categories:
blocks = allblocks.filter(categories=category).order_by('name')
print(category.id, category, len(blocks))
diff --git a/blocks/blocks/xcosblocks/urls.py b/blocks/blocks/xcosblocks/urls.py
index dc8cf94e..9a08e996 100644
--- a/blocks/blocks/xcosblocks/urls.py
+++ b/blocks/blocks/xcosblocks/urls.py
@@ -1,19 +1,16 @@
from django.urls import path
from rest_framework.routers import DefaultRouter
-from .views import CategoryViewSet, BlockViewSet, BlockParameterViewSet, \
+from .views import CategoryViewSet, \
NewBlockViewSet, NewBlockParameterViewSet, \
- get_block_images, set_block_parameter, set_newblockparameters
+ get_block_images, set_block_parameter
router = DefaultRouter()
router.register(r'categories', CategoryViewSet)
-router.register(r'blocks', BlockViewSet)
-router.register(r'block_parameters', BlockParameterViewSet)
router.register(r'newblocks', NewBlockViewSet)
router.register(r'newblockparameters', NewBlockParameterViewSet)
urlpatterns = router.urls
urlpatterns += [
path(r'setblockparameter', set_block_parameter),
- path(r'setnewblockparameters', set_newblockparameters),
path(r'block_images', get_block_images)
]
diff --git a/blocks/blocks/xcosblocks/views.py b/blocks/blocks/xcosblocks/views.py
index 50bc7c03..2d7c5a70 100644
--- a/blocks/blocks/xcosblocks/views.py
+++ b/blocks/blocks/xcosblocks/views.py
@@ -5,13 +5,12 @@ import io
from rest_framework.parsers import JSONParser
from rest_framework.viewsets import ReadOnlyModelViewSet
-from .models import Category, Block, BlockParameter, BlockPort, \
+from .models import Category, \
NewBlock, NewBlockParameter, NewBlockPort
-from .serializers import CategorySerializer, BlockSerializer, \
- BlockParameterSerializer, BlockPortSerializer, ErrorSerializer, \
+from .serializers import CategorySerializer, \
+ ErrorSerializer, \
SetBlockParameterSerializer, \
- NewBlockSerializer, NewBlockParameterSerializer, NewBlockPortSerializer, \
- SetNewBlockParameterSerializer
+ NewBlockSerializer, NewBlockParameterSerializer, NewBlockPortSerializer
class CategoryFilterSet(FilterSet):
@@ -34,77 +33,12 @@ class CategoryViewSet(ReadOnlyModelViewSet):
filterset_class = CategoryFilterSet
-class BlockFilterSet(FilterSet):
- class Meta:
- model = Block
- fields = {
- 'id': ['exact'],
- 'name': ['istartswith'],
- 'categories': ['exact'],
- }
-
-
-class BlockViewSet(ReadOnlyModelViewSet):
- """
- Listing All Block Details
- """
- queryset = Block.objects.all().order_by('name')
- queryset = BlockSerializer.prefetch_category(queryset)
- queryset = BlockSerializer.prefetch_blockport(queryset)
- serializer_class = BlockSerializer
- filter_backends = [
- DjangoFilterBackend
- ]
- filterset_class = BlockFilterSet
-
-
def get_block_images(request):
if request.method == 'GET':
- queryset = Block.objects.all().values_list('block_image_path', flat=True)
+ queryset = NewBlock.objects.all().values_list('block_image_path', flat=True)
return JsonResponse(list(queryset), safe=False)
-class BlockParameterFilterSet(FilterSet):
- class Meta:
- model = BlockParameter
- fields = {
- 'block': ['exact'],
- 'block__name': ['exact'],
- }
-
-
-class BlockParameterViewSet(ReadOnlyModelViewSet):
- """
- Listing All Block Parameter Details
- """
- queryset = BlockParameter.objects.all()
- serializer_class = BlockParameterSerializer
- filter_backends = [
- DjangoFilterBackend
- ]
- filterset_class = BlockParameterFilterSet
-
-
-class BlockPortFilterSet(FilterSet):
- class Meta:
- model = BlockPort
- fields = {
- 'block': ['exact'],
- }
-
-
-class BlockPortViewSet(ReadOnlyModelViewSet):
- """
- Listing All Block Port Details
- """
- queryset = BlockPort.objects.all()
- serializer_class = BlockPortSerializer
- filter_backends = [
- DjangoFilterBackend
- ]
- filterset_class = BlockPortFilterSet
-
-
def set_block_parameter(request):
if request.method == 'POST':
stream = io.BytesIO(request.body)
@@ -195,29 +129,3 @@ class NewBlockPortViewSet(ReadOnlyModelViewSet):
DjangoFilterBackend
]
filterset_class = NewBlockPortFilterSet
-
-
-def set_newblockparameters(request):
- if request.method == 'POST':
- stream = io.BytesIO(request.body)
- data = JSONParser().parse(stream)
- serializer = SetNewBlockParameterSerializer(data=data)
- if serializer.is_valid():
- # process the data to get port
- try:
- port = serializer.getblockportserializer()
- return JsonResponse(port.initial_data)
- except Exception as e:
- error = 'getblockportserializer error: %s' % str(e)
- errorserializer = ErrorSerializer(data={
- 'code': 500, 'error': error})
- return JsonResponse(errorserializer, safe=False)
- else:
- error = 'getblockportserializer errors: %s' % serializer.errors
- errorserializer = ErrorSerializer(data={
- 'code': 500, 'error': error})
- return JsonResponse(errorserializer, safe=False)
- else:
- serializer = SetNewBlockParameterSerializer()
-
- return JsonResponse(serializer.data)
diff --git a/blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js b/blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js
index 196d75e4..87fd3653 100644
--- a/blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js
+++ b/blocks/eda-frontend/src/components/SchematicEditor/ComponentProperties.js
@@ -278,25 +278,23 @@ export default function ComponentProperties () {
/>
<ListItem>
- {compProperties !== undefined ? <ListItemText primary={link1} /> : isLoading ? <ListItemText primary={link4} /> : <ListItemText primary={link3} />}
+ {compProperties && compProperties.length > 0 ? <ListItemText primary={link1} /> : isLoading ? <ListItemText primary={link4} /> : <ListItemText primary={link3} />}
</ListItem>
{
Object.keys(val).map((keyName, i) => {
- if (keyName.match(/^p[0-9]*_value$/)) {
- const rootKeyName = keyName.substr(0, 4)
- const typeId = rootKeyName + '_type'
- const helpId = rootKeyName + '_help'
- const compType = compProperties && compProperties[typeId]
- const compHelp = compProperties && compProperties[helpId]
- const error = errorFields && errorFields[keyName]
- const helperText = error
- ? getErrorText(compType)
- : compHelp
- if (compProperties && compProperties[rootKeyName] !== null && compType !== null) {
+ const result = keyName.match(/^p0*([1-9]*[0-9])_value$/)
+ if (result && compProperties) {
+ const rootKeyId = parseInt(result[1])
+ const compProperty = compProperties[rootKeyId]
+ if (compProperty) {
+ const error = errorFields[keyName]
+ const helperText = error
+ ? getErrorText(compProperty.p_type)
+ : compProperty.p_help
return (
<ListItem key={i}>
- <TextField id={keyName} label={compProperties[rootKeyName]} value={val[keyName] || ''} helperText={helperText} error={error} size='small' variant='outlined' onChange={getInputValues} />
+ <TextField id={keyName} label={compProperty.p_label} value={val[keyName] || ''} helperText={helperText} error={error} size='small' variant='outlined' onChange={getInputValues} />
</ListItem>
)
}
@@ -306,7 +304,7 @@ export default function ComponentProperties () {
}
{
- compProperties !== undefined && <ListItem>
+ compProperties && compProperties.length > 0 && <ListItem>
<Button size='small' variant='contained' color='primary' onClick={setProps}>{link2}</Button>
</ListItem>
}
diff --git a/blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js b/blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js
index b1d40154..e2b5dc63 100644
--- a/blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js
+++ b/blocks/eda-frontend/src/redux/actions/componentPropertiesActions.js
@@ -24,7 +24,7 @@ const loadingSetCompProperties = (isLoading) => (dispatch) => {
// Actions for listing stored component properites on double click on component
export const getCompProperties = (block) => (dispatch) => {
dispatch(loadingGetCompProperties(block, true))
- const url = 'block_parameters/?block__name=' + block.style
+ const url = 'newblockparameters/?block__name=' + block.style
api.get(url)
.then(
(res) => {
@@ -36,7 +36,7 @@ export const getCompProperties = (block) => (dispatch) => {
parameter_values: block.parameter_values,
errorFields: block.errorFields,
displayProperties: block.displayProperties,
- compProperties: res.data[0]
+ compProperties: res.data
}
})
}
diff --git a/blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js b/blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js
index 0ea9c082..5b3815d0 100644
--- a/blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js
+++ b/blocks/eda-frontend/src/redux/reducers/componentPropertiesReducer.js
@@ -7,7 +7,7 @@ const InitialState = {
parameter_values: {},
errorFields: {},
isPropertiesWindowOpen: false,
- compProperties: {},
+ compProperties: [],
displayProperties: {},
isLoading: false
}