コード例 #1
0
ファイル: views.py プロジェクト: Alasaad/Open-Assembly
def del_tag(request):
    if not request.user.is_authenticated() or not request.user.is_active:
        #needs to popup registration dialog instead
        return HttpResponse(
            simplejson.dumps({
                'FAIL': True
            }),  #need a better non-auth error here, interferes with view
            mimetype='application/json')

    if request.method == 'POST':
        obj_id = request.POST[u'obj']
        tag = str(request.POST[u'tag'])
        c_type = str(request.POST['c_type'])
        app_type = str(request.POST['app_type'])

        model_type = ContentType.objects.get(app_label=app_type, model=c_type)
        obj = model_type.get_object_for_this_type(pk=obj_id)
        del_group_tag.apply_async(args=[obj_id, c_type, tag])

        tagobj = Tag.objects.get(name=tag)
        taggedobj = TaggedItem.objects.get(tag_name=tag, object_id=obj.pk)
        delete_relationship_event.send(sender=tagobj,
                                       obj=tagobj,
                                       parent=obj,
                                       initiator=request.user)
        taggedobj.delete()
        results = {
            'linktaglist': get_link_tag_list(request.user, obj,
                                             get_links=True),
            'taglist': get_recommended_tag_list(obj, get_links=True),
            'FAIL': False
        }
        return HttpResponse(simplejson.dumps(results),
                            mimetype='application/json')
コード例 #2
0
ファイル: views.py プロジェクト: Alasaad/Open-Assembly
def add_tag(request):
    if not request.user.is_authenticated()  or not request.user.is_active:
        #needs to popup registration dialog instead
        return HttpResponse(simplejson.dumps({'FAIL':True}), #need a better non-auth error here, interferes with view
                                mimetype='application/json')

    if request.method == 'POST':
        obj_id = request.POST[u'obj']
        tag = str(request.POST[u'tag'])
        c_type = str(request.POST['c_type'])
        app_type = str(request.POST['app_type'])

        model_type = ContentType.objects.get(app_label=app_type, model=c_type)
        obj = model_type.get_object_for_this_type(pk=obj_id)

        Tag.objects.add_tag(obj, tag)
        add_group_tag.apply_async(args=[obj_id, c_type, tag])

        new_tag = Tag.objects.get(name=tag)
        try:
            relationship_event.send(sender=new_tag, obj=new_tag, parent=obj, initiator=request.user)
        except:
            pass
        results = {'linktaglist': get_link_tag_list(request.user, obj, get_links=True), 'taglist': get_recommended_tag_list(obj, get_links=True), 'FAIL': False}
        return HttpResponse(simplejson.dumps(results),
                    mimetype='application/json')
コード例 #3
0
ファイル: views.py プロジェクト: fragro/Open-Assembly
def del_tag(request):
    if not request.user.is_authenticated() or not request.user.is_active:
        # needs to popup registration dialog instead
        return HttpResponse(
            simplejson.dumps({"FAIL": True}),  # need a better non-auth error here, interferes with view
            mimetype="application/json",
        )

    if request.method == "POST":
        obj_id = request.POST[u"obj"]
        tag = str(request.POST[u"tag"])
        c_type = str(request.POST["c_type"])
        app_type = str(request.POST["app_type"])

        model_type = ContentType.objects.get(app_label=app_type, model=c_type)
        obj = model_type.get_object_for_this_type(pk=obj_id)
        del_group_tag.apply_async(args=[obj_id, c_type, tag])

        tagobj = Tag.objects.get(name=tag)
        taggedobj = TaggedItem.objects.get(tag_name=tag, object_id=obj.pk)
        delete_relationship_event.send(sender=tagobj, obj=tagobj, parent=obj, initiator=request.user)
        taggedobj.delete()
        results = {
            "linktaglist": get_link_tag_list(request.user, obj, get_links=True),
            "taglist": get_recommended_tag_list(obj, get_links=True),
            "FAIL": False,
        }
        return HttpResponse(simplejson.dumps(results), mimetype="application/json")
コード例 #4
0
    def read(self, request, app=None, model=None, obj_id=None):
        """
        Returns a single post if `blogpost_id` is given,
        otherwise a subset.

        """
        if app is not None and model is not None:
            try:
                base = ContentType.objects.get(app_label=app, model=model)
            except:
                return {
                    'error': True,
                    'type': 'Content Not Found',
                    'code': 404,
                    'app': app,
                    'model': model
                }
            if obj_id is not None:
                try:
                    con = Consensus.objects.get(object_pk=obj_id)
                    obj = base.get_object_for_this_type(pk=obj_id)
                    #get tags from convienent tag_helper function
                    tags = get_link_tag_list(None, con)
                    return {
                        'id':
                        obj.id,
                        'user_id':
                        obj.user.id,
                        'object':
                        base.get_object_for_this_type(pk=obj_id),
                        'tags': [{
                            'name': i[0],
                            'count': i[3]
                        } for i in tags],
                        'parent':
                        obj.parent.id,
                        'sources':
                        URLSource.objects.filter(object_pk=obj.pk,
                                                 is_video=False)
                    }
                except:
                    return {
                        'error': True,
                        'type': 'Content Not Found',
                        'id': int(obj_id),
                        'code': 404
                    }
            else:
                return base.model_class().objects.all()
        else:
            content = {}
            for fd in ForumDimension.objects.filter(is_content=True):
                content[fd.app_label + '_' + fd.model_class_name.lower()] = (
                    fd.get_model().objects.all())
            return content
コード例 #5
0
ファイル: handlers.py プロジェクト: Alasaad/Open-Assembly
    def read(self, request, app=None, model=None, obj_id=None):
        """
        Returns a single post if `blogpost_id` is given,
        otherwise a subset.

        """
        if app is not None and model is not None:
            try:
                base = ContentType.objects.get(app_label=app, model=model)
            except:
                return {'error': True, 'type': 'Content Not Found',
                        'code': 404, 'app': app, 'model': model}
            if obj_id is not None:
                try:
                    con = Consensus.objects.get(object_pk=obj_id)
                    obj = base.get_object_for_this_type(pk=obj_id)
                    #get tags from convienent tag_helper function
                    tags = get_link_tag_list(None, con)
                    return {'id': obj.id,
                        'user_id': obj.user.id,
                        'object': base.get_object_for_this_type(pk=obj_id),
                        'tags': [{'name': i[0], 'count': i[3]} for i in tags],
                        'parent': obj.parent.id,
                        'sources': URLSource.objects.filter(object_pk=obj.pk,
                                                             is_video=False)
                        }
                except:
                    return {'error': True, 'type': 'Content Not Found',
                            'id': int(obj_id), 'code': 404}
            else:
                return base.model_class().objects.all()
        else:
            content = {}
            for fd in ForumDimension.objects.filter(is_content=True):
                content[fd.app_label +
                    '_' + fd.model_class_name.lower()] = (fd.get_model().objects.all())
            return content