Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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")
Ejemplo n.º 4
0
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")