def user_preferences(request, group_id, auth_id): try: grp = node_collection.one({'_id': ObjectId(auth_id)}) if request.method == "POST": lst = [] pref_to_set = request.POST['pref_to_set'] pref_list = pref_to_set.split(",") if pref_list: for each in pref_list: if each: obj = node_collection.one({'_id': ObjectId(each)}) lst.append(obj) if lst: ga_node = create_gattribute(grp._id, at_user_pref, lst) # gattribute = triple_collection.one({'$and':[{'_type':'GAttribute'},{'attribute_type':at_user_pref._id},{'subject':grp._id}]}) # if gattribute: # gattribute.delete() # if lst: # create_attribute=collection.GAttribute() # create_attribute.attribute_type=at_user_pref # create_attribute.subject=grp._id # create_attribute.object_value=lst # create_attribute.save() return HttpResponse("Success") else: list_at_pref = [] user_id = request.user.id if not at_user_pref: return HttpResponse("Failure") poss_attrs = grp.get_possible_attributes(at_user_pref._id) if poss_attrs: list_at_pref = poss_attrs['user_preference_off'][ 'object_value'] all_user_groups = [] for each in get_all_user_groups(): all_user_groups.append(each.name) st = node_collection.find({ '$and': [{ '_type': 'Group' }, { 'author_set': { '$in': [user_id] } }, { 'name': { '$nin': all_user_groups } }] }) data_list = set_drawer_widget(st, list_at_pref) return HttpResponse(json.dumps(data_list)) except Exception as e: print "Exception in userpreference view " + str(e) return HttpResponse("Failure")
def app_selection(request,group_id): print "grpid=",group_id ins_objectid = ObjectId() if ins_objectid.is_valid(group_id) is False : group_ins = collection.Node.find_one({'_type': "Group","name": group_id}) auth = collection.Node.one({'_type': 'Author', 'name': unicode(request.user.username) }) if group_ins: group_id = str(group_ins._id) else : auth = collection.Node.one({'_type': 'Author', 'name': unicode(request.user.username) }) if auth : group_id = str(auth._id) else : pass try: grp=collection.Node.one({"_id":ObjectId(group_id)}) if request.method == "POST": lst=[] apps_to_set = request.POST['apps_to_set'] apps_list=apps_to_set.split(",") if apps_list: for each in apps_list: if each: obj=collection.Node.one({'_id':ObjectId(each)}) lst.append(obj); gattribute=collection.Node.one({'$and':[{'_type':'GAttribute'},{'attribute_type.$id':at_apps_list._id},{'subject':grp._id}]}) if gattribute: gattribute.delete() if lst: create_attribute=collection.GAttribute() create_attribute.attribute_type=at_apps_list create_attribute.subject=grp._id create_attribute.object_value=lst create_attribute.save() return HttpResponse("Success") else: list_apps=[] if not at_apps_list: return HttpResponse("Failure") poss_atts=grp.get_possible_attributes(at_apps_list._id) if poss_atts: list_apps=poss_atts['apps_list']['object_value'] st = get_all_gapps() print "inapp_list view",st,list_apps data_list=set_drawer_widget(st,list_apps) return HttpResponse(json.dumps(data_list)) except Exception as e: print "Error in app_selection "+str(e)
def user_preferences(request, group_id, auth_id): try: grp = node_collection.one({'_id': ObjectId(auth_id)}) if request.method == "POST": lst = [] pref_to_set = request.POST['pref_to_set'] pref_list=pref_to_set.split(",") if pref_list: for each in pref_list: if each: obj = node_collection.one({'_id':ObjectId(each)}) lst.append(obj); if lst: ga_node = create_gattribute(grp._id, at_user_pref, lst) # gattribute = triple_collection.one({'$and':[{'_type':'GAttribute'},{'attribute_type':at_user_pref._id},{'subject':grp._id}]}) # if gattribute: # gattribute.delete() # if lst: # create_attribute=collection.GAttribute() # create_attribute.attribute_type=at_user_pref # create_attribute.subject=grp._id # create_attribute.object_value=lst # create_attribute.save() return HttpResponse("Success") else: list_at_pref=[] user_id=request.user.id if not at_user_pref: return HttpResponse("Failure") poss_attrs=grp.get_possible_attributes(at_user_pref._id) if poss_attrs: list_at_pref=poss_attrs['user_preference_off']['object_value'] all_user_groups=[] for each in get_all_user_groups(): all_user_groups.append(each.name) st = node_collection.find({'$and':[{'_type':'Group'},{'author_set':{'$in':[user_id]}},{'name':{'$nin':all_user_groups}}]}) data_list=set_drawer_widget(st,list_at_pref) return HttpResponse(json.dumps(data_list)) except Exception as e: print "Exception in userpreference view "+str(e) return HttpResponse("Failure")
def switch_group(request,group_id,node_id): ins_objectid = ObjectId() if ins_objectid.is_valid(group_id) is False : group_ins = collection.Node.find_one({'_type': "Group","name": group_id}) auth = collection.Node.one({'_type': 'Author', 'name': unicode(request.user.username) }) if group_ins: group_id = str(group_ins._id) else : auth = collection.Node.one({'_type': 'Author', 'name': unicode(request.user.username) }) if auth : group_id = str(auth._id) else : pass try: node=collection.Node.one({"_id":ObjectId(node_id)}) exstng_grps=node.group_set if request.method == "POST": node.group_set=[] new_grps = request.POST['new_grps'] new_grps_list=new_grps.split(",") if new_grps_list: for each in new_grps_list: if each: node.group_set.append(ObjectId(each)); node.save() return HttpResponse("Success") else: coll_obj_list = [] data_list=[] user_id=request.user.id all_user_groups=[] for each in get_all_user_groups(): all_user_groups.append(each.name) st = collection.Node.find({'$and':[{'_type':'Group'},{'author_set':{'$in':[user_id]}},{'name':{'$nin':all_user_groups}}]}) for each in node.group_set: coll_obj_list.append(collection.Node.one({'_id':each})) data_list=set_drawer_widget(st,coll_obj_list) return HttpResponse(json.dumps(data_list)) except Exception as e: print "Exception in switch_group"+str(e) return HttpResponse("Failure")