Browse Source

Small changes & bugfixes in graphviz backend & some fieldtypes

Yann Weber 9 years ago
parent
commit
7995bf7887

+ 4
- 3
EditorialModel/backend/graphviz.py View File

@@ -91,9 +91,9 @@ class EmBackendGraphviz(EmBackendDummy):
91 91
             for f in [ f for f in c.fields() if f.name not in c.em_class.default_fields_list().keys()]:
92 92
                 if f.rel_field_id is None:
93 93
                     if f.fieldtype == 'rel2type':
94
-                        rel_node_id = '%s%s'%(EmBackendGraphviz._component_id(c), EmBackendGraphviz._component_id(em.component(f.rel_to_type_id)))
94
+                        rel_node_id = '%s%s%s'%(EmBackendGraphviz._component_id(c), EmBackendGraphviz._component_id(em.component(f.rel_to_type_id)), f.uid)
95 95
 
96
-                        rel_node = '\t%s [ label="rel_to_type'%rel_node_id
96
+                        rel_node = '\t%s [ label="rel2type %s'% (rel_node_id, f.name)
97 97
 
98 98
                         if len(f.rel_to_type_fields()) > 0:
99 99
                             #rel_node += '| {'
@@ -104,7 +104,8 @@ class EmBackendGraphviz(EmBackendDummy):
104 104
                                     rel_node += '{ '
105 105
                                     first = False
106 106
                                 rel_node += rf.name
107
-                        rel_node += '}" shape="record"]\n'
107
+                        rel_node += '}' if len(f.rel_to_type_fields()) > 0 else ''
108
+                        rel_node += '" shape="record"]\n'
108 109
 
109 110
                         rel_field += rel_node
110 111
 

+ 2
- 2
EditorialModel/fieldtypes/bool.py View File

@@ -1,9 +1,9 @@
1 1
 #-*- coding: utf-8 -*-
2 2
 
3
-from .generic import GenericFieldType
3
+from .generic import SingleValueFieldType
4 4
 
5 5
 
6
-class EmFieldType(GenericFieldType):
6
+class EmFieldType(SingleValueFieldType):
7 7
 
8 8
     help = 'A basic boolean field'
9 9
 

+ 1
- 1
EditorialModel/fieldtypes/char.py View File

@@ -10,6 +10,6 @@ class EmFieldType(SingleValueFieldType):
10 10
     ## @brief A char field
11 11
     # @brief max_length int : The maximum length of this field
12 12
     def __init__(self, max_length=64, **kwargs):
13
-        self.max_length = max_length
13
+        self.max_length = int(max_length)
14 14
         super().__init__(**kwargs)
15 15
 

+ 15
- 0
EditorialModel/fieldtypes/dictionary.py View File

@@ -0,0 +1,15 @@
1
+#-*- coding: utf-8 -*-
2
+
3
+from .generic import MultiValueFieldType
4
+from . import char
5
+
6
+
7
+class EmFieldType(MultiValueFieldType):
8
+    
9
+    help = 'Fieldtype designed to handle translations'
10
+    
11
+    def __init__(self, value_max_length = 64, **args):
12
+        args['keyname'] = 'key'
13
+        args['key_fieldtype'] = char.EmFieldType(max_length = 4)
14
+        args['value_fieldtype'] = char.EmFieldType(value_max_length)
15
+        super().__init__(**args)

Loading…
Cancel
Save