From 454c226bdb9e5c2826df5a8dea85eb89009fe402 Mon Sep 17 00:00:00 2001 From: Bruno Nocera Zanette <brunonzanette@gmail.com> Date: Mon, 6 Oct 2014 18:42:28 -0300 Subject: [PATCH] Add user's "tipo_perfil" information Add user's "tipo_perfil" information --- lib/json_user_section.py | 3 +++ lib/opendata_queries_definition.py | 40 +++++++++++++++++++++++++++++- lib/xml_user_section.py | 3 +++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/lib/json_user_section.py b/lib/json_user_section.py index 4822b97..f5b2599 100644 --- a/lib/json_user_section.py +++ b/lib/json_user_section.py @@ -382,6 +382,9 @@ def write_users_section (json, \ json.write_tag("uid",user_attr,",") json.write_tag("nome",name,",") + accType=qry.user_acctype(json.database, guid) + json.write_tag("tipo_perfil",accType,",") + # Write a list of user friend's names #write_userfriends_subsection(json, guid) diff --git a/lib/opendata_queries_definition.py b/lib/opendata_queries_definition.py index 24ffd64..ef5771b 100644 --- a/lib/opendata_queries_definition.py +++ b/lib/opendata_queries_definition.py @@ -34,6 +34,24 @@ qry_users_info = \ AND (e.access_id = 1 OR e.access_id = 2); ") #--------------------------------------------------------------------# +#--------------------------------------------------------------------# +# Argument: Post_ID / InfoType_ID +# Return: Essential information about the group or post, such as +# blog's excerpts and bookmark's link +qry_user_acctype = \ +(" SELECT \ + CASE \ + WHEN s.string = '1' THEN 'Ativista' \ + WHEN s.string = '2' THEN 'Pesquisador' \ + WHEN s.string = '3' THEN 'Usuario' \ + ELSE 'Desconhecido' \ + END \ + FROM elgg_metadata d, elgg_metastrings s \ + WHERE d.value_id = s.id \ + AND d.entity_guid = %s AND d.name_id = %s \ + AND (d.access_id = 1 OR d.access_id = 2); "); +#--------------------------------------------------------------------# + #--------------------------------------------------------------------# # Argument: Group_ID / InfoType_ID # Return: All InfoTypes' posts made by this group. @@ -160,7 +178,27 @@ qry_post_content = \ (" SELECT s.string\ FROM elgg_metadata d, elgg_metastrings s \ WHERE d.value_id = s.id \ - AND d.entity_guid = %s AND d.name_id = %s; ") + AND d.entity_guid = %s AND d.name_id = %s \ + AND (d.access_id = 1 OR d.access_id = 2); ") +#--------------------------------------------------------------------# + +#--------------------------------------------------------------------# +def user_acctype (db, user_guid): + + content = db.cursor() + + # 51477 = select * from elgg_metastrings where string='accType'; + content.execute(qry_user_acctype, (user_guid, 51477,)) + + if content.rowcount == 1: + user_acctype = content.fetchone()[0] + else: + user_acctype='' + print "ERRO! Nenhum ou Mais do que um resultado para a query" + + content.close() + + return user_acctype #--------------------------------------------------------------------# #--------------------------------------------------------------------# diff --git a/lib/xml_user_section.py b/lib/xml_user_section.py index 6d5c7ff..7eab369 100644 --- a/lib/xml_user_section.py +++ b/lib/xml_user_section.py @@ -315,6 +315,9 @@ def write_users_section (xml, \ # Write all user's information xml.write_tag("nome",name,'') + accType=qry.user_acctype(xml.database, guid) + xml.write_tag("tipo_perfil",accType,'') + # Write a list of user friend's names #write_userfriends_subsection(xml, guid) -- GitLab