summaryrefslogtreecommitdiff
path: root/gstudio/models.py
diff options
context:
space:
mode:
authorKabir Kukreti <kabir@gnowledge.org>2012-03-20 15:53:51 +0530
committerKabir Kukreti <kabir@gnowledge.org>2012-03-20 15:53:51 +0530
commit7264ef6355baa26d72c6127e5fe8d1e623837204 (patch)
tree86c87f8315a9e0e50d29f1474516e8cd293a2211 /gstudio/models.py
parentd8f4eeaccba10db423f314d9284ccdad5c3e5a81 (diff)
downloadgnowsys-7264ef6355baa26d72c6127e5fe8d1e623837204.tar.gz
Bug in registration corrected.Graphs made for generic, graph fonts improved and hyperlinks added.Graph work done by interns: Kavita Maurya, Shefali Shetty, Ratna Gautami, Neetu Menon
Diffstat (limited to 'gstudio/models.py')
-rw-r--r--gstudio/models.py75
1 files changed, 46 insertions, 29 deletions
diff --git a/gstudio/models.py b/gstudio/models.py
index a1ddf941..885b345e 100644
--- a/gstudio/models.py
+++ b/gstudio/models.py
@@ -485,6 +485,7 @@ class Nodetype(Node):
(PUBLISHED, _('published')))
content = models.TextField(_('content'), null=True, blank=True)
+ content_org = models.TextField(_('content'), null=True, blank=True)
parent = models.ForeignKey('self', null=True, blank=True,
verbose_name=_('is a kind of'),
related_name='children')
@@ -667,39 +668,50 @@ class Nodetype(Node):
return attrs
def get_graph_json(self):
-
- predicate_id={"plural":"a1","altnames":"a2","contains_members":"a3","contains_subtypes":"a4"}
+
+
+ # predicate_id={"plural":"a1","altnames":"a2","contains_members":"a3","contains_subtypes":"a4","prior_nodes":"a5", "posterior_nodes":"a6"}
g_json = {}
g_json["node_metadata"]= []
-
+
nbh = self.get_nbh
-
+ predicate_id = {}
+ counter = 1
+ for key in nbh.keys():
+ val = "a" + str(counter)
+ predicate_id[key] = val
+ counter = counter + 1
+ #print predicate_id
+
+ attr_counter = -1
+
this_node = {"_id":str(self.id),"title":self.title,"screen_name":self.title, "url":self.get_absolute_url()}
+ g_json["node_metadata"].append(this_node)
+
for key in predicate_id.keys():
if nbh[key]:
try:
g_json[str(key)]=[]
g_json["node_metadata"].append({"_id":str(predicate_id[key]),"screen_name":key})
- g_json[str(key)].append({"from":self.id , "to":predicate_id[key],"value":1 })
+ g_json[str(key)].append({"from":self.id , "to":predicate_id[key],"value":1, "level":1 })
if not isinstance(nbh[key],basestring):
- for item in nbh[key]:
-
- g_json["node_metadata"].append({"_id":str(item.id),"screen_name":item.title, "title":item.title, "url":item.get_absolute_url()})
- g_json[str(key)].append({"from":predicate_id[key] , "to":item.id ,"value":1 })
-
- else:
- value={nbh["plural"]:"a4",nbh["altnames"]:"a5"}
- this_node[str(key)]=nbh[key]
-
- for item in value.keys():
- g_json["node_metadata"].append({"_id":str(value[nbh[key]]),"screen_name":nbh[key]})
- g_json[str(key)].append({"from":predicate_id[key] , "to":value[nbh[key]] ,"value":1 })
-
+ for item in nbh[key]:
+ # user
+ g_json["node_metadata"].append({"_id":str(item.id),"screen_name":item.title, "title":item.title, "url":item.get_absolute_url()})
+ g_json[str(key)].append({"from":predicate_id[key] , "to":item.id ,"value":1 })
+ else:
+ #value={nbh["plural"]:"a4",nbh["altnames"]:"a5"}
+ #this_node[str(key)]=nbh[key] key, nbh[key]
+ #for item in value.keys():
+ g_json["node_metadata"].append({"_id":attr_counter,"screen_name":nbh[key]})
+ g_json[str(key)].append({"from":predicate_id[key] , "to":attr_counter ,"value":1, "level":2 })
+ attr_counter-=1
+
except:
- pass
- g_json["node_metadata"].append(this_node)
+ pass
+ # print g_json
return json.dumps(g_json)
@@ -1171,8 +1183,8 @@ class Objecttype(Nodetype):
nbh['subjecttype_of']= self.subjecttype_of.all()
# get all the RTs for the objecttype
nbh.update(self.get_relationtypes)
-
- nbh['type_of'] = [self.parent]
+ if self.parent:
+ nbh['type_of'] = [self.parent]
nbh['contains_subtypes'] = Nodetype.objects.filter(parent=self.id)
# get all the objects inheriting this OT
@@ -1840,24 +1852,29 @@ class Intersection(Node):
reversion.register(NID)
-reversion.register(Node)
-reversion.register(Objecttype)
-reversion.register(Edge)
if not reversion.is_registered(Systemtype):
reversion.register(Systemtype)
+if not reversion.is_registered(Objecttype):
+ reversion.register(Objecttype , follow=["nodetype_ptr"])
+
+if not reversion.is_registered(Node):
+ reversion.register(Node , follow=["nid_ptr"])
+
+if not reversion.is_registered(Edge):
+ reversion.register(Edge , follow=["nid_ptr"])
+
+
if not reversion.is_registered(Processtype):
reversion.register(Processtype, follow=["changing_attributetype_set", "changing_relationtype_set"])
if not reversion.is_registered(Nodetype):
- reversion.register(Nodetype, follow=["parent", "metatypes"])
+ reversion.register(Nodetype, follow=["node_ptr","parent", "metatypes","prior_nodes", "posterior_nodes"])
if not reversion.is_registered(Metatype):
- reversion.register(Metatype, follow=["parent"])
+ reversion.register(Metatype, follow=["node_ptr","parent"])
-if not reversion.is_registered(Nodetype):
- reversion.register(Nodetype, follow=["prior_nodes", "posterior_nodes"])
if not reversion.is_registered(Relationtype):
reversion.register(Relationtype, follow=["left_subjecttype", "right_subjecttype"])