Пример #1
0
def add_bookmark(request):
    username = request.user.username
    N = getNote(username, 'bookmarkbook')
    T = getT(username)
    #W = getW(username)
    #w = W.objects.get(name='bookmarkbook')
    if request.method == 'POST': 
        tags = T.objects.all()
        #the same as in add scrap code, here we don't use form because tags in from is required
        #AddNForm = create_model_form("AddNForm_"+str(username), N, fields={'tags':forms.ModelMultipleChoiceField(queryset=tags)})     
        n = N()  
        post = request.POST.copy()
        url = post.get('url')
        if N.objects.filter(url=url).exists():            
            return render_to_response("include/notes/addNote_result.html",{'message':_('This bookmark aready exists! You can close this window, or it will be closed for you in 2 seconds.')})
        tag_names = post.getlist('item[tags][]')        
        tags = []
        for tag_name in tag_names:
            t, created = T.objects.get_or_create(name=tag_name)
#===============================================================================
#            
#            if created or not w.tags.filter(name=t.name).exists():
#                w.tags.add(t)
#===============================================================================
            #tags.append(t.id)
            tags.append(t.name) 
        
#===============================================================================
#        if not tag_names:
#            tags = [T.objects.get(name='untagged').id]
#===============================================================================
#===============================================================================
#        post.setlist('tags', tags)
#        
#        f = AddNForm(post, instance=n)        
#        log.debug("f.errors:"+str(f.errors))
#        f.save()
#===============================================================================

        if not tags or (len(tags) == 1 and tags[0] == u''):
            tags = None
        n.title = post.get('title')
        n.desc = post.get('desc')
        n.url = post.get('url')
        private = post.get('private', False)
        if private in ['true', 'on']:
            n.private = True
        else:
            n.private = False     
        #n.private = post.get('private', False)

        n.vote = post.get('vote')
        n.save()
        n.add_tags(tags, 'bookmarkbook') 
        n.save()        
        return render_to_response("include/notes/addNote_result.html",{'message':_('Bookmark is successfully added! You can close this window, or it will be closed for you in 1 second.')})
       
    else:
        tags = __get_ws_tags(request, username, 'bookmarkbook')  
        from django.forms import TextInput
        #by adding the tags field specifically here, we avoided it using tags of another user (a strange error which repeat even after changing class names and variable names)
        AddNForm = create_model_form("AddNForm_"+str(username), N, fields={},#{'tags':forms.ModelMultipleChoiceField(queryset=tags)},
                                                             options={'exclude':['deleted'],
                                                             'fields':['url','title','tags','desc','vote','private'],
                                                             'widgets':{'title': TextInput(attrs={'size': 60}),
                                                                       }})
        url = request.GET.get('url')
        if N.objects.filter(url=url).exists():
            b = N.objects.get(url=url)
            #addNoteForm = AddNForm(initial={'url': url, 'title':b.title, 'tags': b.tags.all()})
            existing = True         
            return render_to_response('bookmarkbook/notes/addNote.html', {'existing':existing, 'url':url, 'id':b.id, 'title':b.title}, context_instance=RequestContext(request)) 
        
        
        title = request.GET.get('title')          
        #default_tag_id = T.objects.get(name='untagged').id 
        addNoteForm = AddNForm(initial={'url': url, 'title':title#, 'tags': [default_tag_id]
                                        })        
        return render_to_response('bookmarkbook/notes/addNote.html', {'addNoteForm': addNoteForm, 'url':url, 'tags':tags}) #TODO:how to display url using the form's initial
Пример #2
0
def add_bookmark(request):
    username = request.user.username
    N = getNote(username, 'bookmarkbook')
    T = getT(username)
    #W = getW(username)
    #w = W.objects.get(name='bookmarkbook')
    if request.method == 'POST':
        tags = T.objects.all()
        #the same as in add scrap code, here we don't use form because tags in from is required
        #AddNForm = create_model_form("AddNForm_"+str(username), N, fields={'tags':forms.ModelMultipleChoiceField(queryset=tags)})
        n = N()
        post = request.POST.copy()
        url = post.get('url')
        if N.objects.filter(url=url).exists():
            return render_to_response(
                "include/notes/addNote_result.html", {
                    'message':
                    _('This bookmark aready exists! You can close this window, or it will be closed for you in 2 seconds.'
                      )
                })
        tag_names = post.getlist('item[tags][]')
        tags = []
        for tag_name in tag_names:
            t, created = T.objects.get_or_create(name=tag_name)
            #===============================================================================
            #
            #            if created or not w.tags.filter(name=t.name).exists():
            #                w.tags.add(t)
            #===============================================================================
            #tags.append(t.id)
            tags.append(t.name)


#===============================================================================
#        if not tag_names:
#            tags = [T.objects.get(name='untagged').id]
#===============================================================================
#===============================================================================
#        post.setlist('tags', tags)
#
#        f = AddNForm(post, instance=n)
#        log.debug("f.errors:"+str(f.errors))
#        f.save()
#===============================================================================

        if not tags or (len(tags) == 1 and tags[0] == u''):
            tags = None
        n.title = post.get('title')
        n.desc = post.get('desc')
        n.url = post.get('url')
        private = post.get('private', False)
        if private in ['true', 'on']:
            n.private = True
        else:
            n.private = False
        #n.private = post.get('private', False)

        n.vote = post.get('vote')
        n.save()
        n.add_tags(tags, 'bookmarkbook')
        n.save()
        return render_to_response(
            "include/notes/addNote_result.html", {
                'message':
                _('Bookmark is successfully added! You can close this window, or it will be closed for you in 1 second.'
                  )
            })

    else:
        tags = __get_ws_tags(request, username, 'bookmarkbook')
        from django.forms import TextInput
        #by adding the tags field specifically here, we avoided it using tags of another user (a strange error which repeat even after changing class names and variable names)
        AddNForm = create_model_form(
            "AddNForm_" + str(username),
            N,
            fields={},  #{'tags':forms.ModelMultipleChoiceField(queryset=tags)},
            options={
                'exclude': ['deleted'],
                'fields': ['url', 'title', 'tags', 'desc', 'vote', 'private'],
                'widgets': {
                    'title': TextInput(attrs={'size': 60}),
                }
            })
        url = request.GET.get('url')
        if N.objects.filter(url=url).exists():
            b = N.objects.get(url=url)
            #addNoteForm = AddNForm(initial={'url': url, 'title':b.title, 'tags': b.tags.all()})
            existing = True
            return render_to_response('bookmarkbook/notes/addNote.html', {
                'existing': existing,
                'url': url,
                'id': b.id,
                'title': b.title
            },
                                      context_instance=RequestContext(request))

        title = request.GET.get('title')
        #default_tag_id = T.objects.get(name='untagged').id
        addNoteForm = AddNForm(initial={
            'url': url,
            'title': title  #, 'tags': [default_tag_id]
        })
        return render_to_response('bookmarkbook/notes/addNote.html', {
            'addNoteForm': addNoteForm,
            'url': url,
            'tags': tags
        })  #TODO:how to display url using the form's initial
Пример #3
0
def add_scrap(request):
    username = request.user.username
    N = getNote(username, 'scrapbook')
    T = getT(username)
    #W = getW(username)
    #w = W.objects.get(name='scrapbook')  
    if request.method == 'POST': 
        tags = T.objects.all()
        #form require tags to be required. So don't use form now, and use the code from add_note in notebook.notes.views for adding a snippet
        #AddNForm = create_model_form("AddNForm_add_scrap_post_"+str(username), N, fields={'tags':forms.ModelMultipleChoiceField(queryset=tags)})     
        n = N() 
        post = request.POST.copy()
        tag_names = post.getlist('item[tags][]')
        tags = []
        for tag_name in tag_names:
            t, created = T.objects.get_or_create(name=tag_name)
#==============Don't need below any more since add_tags will do this logic=================================================================
#            if created or not w.tags.filter(name=t.name).exists():
#                w.tags.add(t)
#===============================================================================
            #tags.append(t.id)
            tags.append(t.name)    
        

        #if not tag_names:           
#                tags = [T.objects.get(name='untagged').id]
             
    
  

        if not tags or (len(tags) == 1 and tags[0] == u''):
            tags = None
        #f = AddNForm(post, instance=n)
        #log.debug("f.errors:"+str(f.errors))
        #TODO:handle errors such as url broken
        #n = f.save(commit=False)
        
        n.title = post.get('title')
        n.desc = post.get('desc')
        n.url = post.get('url')
        private = post.get('private', False)
        if private in ['true', 'on']:
            n.private = True
        else:
            n.private = False     
        n.vote = post.get('vote')
        n.save()
        n.add_tags(tags, 'scrapbook')   
 
        n.save() #called this specifically to save the url to the social db as well
        return render_to_response("include/notes/addNote_result.html",\
                                  {'message':_('Scrap is successfully added! You can close this window, or it will be closed for you in 1 second.')})
       
    else:        
        tags = __get_ws_tags(request, username, 'scrapbook')        
        from django.forms import TextInput
        #by adding the tags field specifically here, we avoided it using tags of another user (a strange error which repeat even after changing class names and variable names)
        AddNForm_scrap = create_model_form("AddNForm_add_scrap_get_"+str(username), N, fields={#'tags':forms.ModelMultipleChoiceField(queryset=tags)
                                                                                               }, options={'exclude':['deleted'],
                                                             'fields':['url','title','tags','desc','vote','private'],
                                                             'widgets':{'title': TextInput(attrs={'size': 80}),
                                                                       }})
        
        url = request.GET.get('url')
        title = request.GET.get('title')
        desc = request.GET.get('desc')
       
        #default_tag_id = T.objects.get(name='untagged').id  
        addNoteForm = AddNForm_scrap(initial={'url': url, 'title':title, 'desc':desc#, 'tags': [default_tag_id]
                                              })
        #no need of the custimized form in the scrapbook template
        return render_to_response('scrapbook/notes/addNote.html', {'addNoteForm': addNoteForm, 'desc':desc, 'url':url, 'tags':tags})
Пример #4
0
def add_scrap(request):
    username = request.user.username
    N = getNote(username, 'scrapbook')
    T = getT(username)
    #W = getW(username)
    #w = W.objects.get(name='scrapbook')
    if request.method == 'POST':
        tags = T.objects.all()
        #form require tags to be required. So don't use form now, and use the code from add_note in notebook.notes.views for adding a snippet
        #AddNForm = create_model_form("AddNForm_add_scrap_post_"+str(username), N, fields={'tags':forms.ModelMultipleChoiceField(queryset=tags)})
        n = N()
        post = request.POST.copy()
        tag_names = post.getlist('item[tags][]')
        tags = []
        for tag_name in tag_names:
            t, created = T.objects.get_or_create(name=tag_name)
            #==============Don't need below any more since add_tags will do this logic=================================================================
            #            if created or not w.tags.filter(name=t.name).exists():
            #                w.tags.add(t)
            #===============================================================================
            #tags.append(t.id)
            tags.append(t.name)

        #if not tag_names:


#                tags = [T.objects.get(name='untagged').id]

        if not tags or (len(tags) == 1 and tags[0] == u''):
            tags = None
        #f = AddNForm(post, instance=n)
        #log.debug("f.errors:"+str(f.errors))
        #TODO:handle errors such as url broken
        #n = f.save(commit=False)

        n.title = post.get('title')
        n.desc = post.get('desc')
        n.url = post.get('url')
        private = post.get('private', False)
        if private in ['true', 'on']:
            n.private = True
        else:
            n.private = False
        n.vote = post.get('vote')
        n.save()
        n.add_tags(tags, 'scrapbook')

        n.save(
        )  #called this specifically to save the url to the social db as well
        return render_to_response("include/notes/addNote_result.html",\
                                  {'message':_('Scrap is successfully added! You can close this window, or it will be closed for you in 1 second.')})

    else:
        tags = __get_ws_tags(request, username, 'scrapbook')
        from django.forms import TextInput
        #by adding the tags field specifically here, we avoided it using tags of another user (a strange error which repeat even after changing class names and variable names)
        AddNForm_scrap = create_model_form(
            "AddNForm_add_scrap_get_" + str(username),
            N,
            fields={  #'tags':forms.ModelMultipleChoiceField(queryset=tags)
            },
            options={
                'exclude': ['deleted'],
                'fields': ['url', 'title', 'tags', 'desc', 'vote', 'private'],
                'widgets': {
                    'title': TextInput(attrs={'size': 80}),
                }
            })

        url = request.GET.get('url')
        title = request.GET.get('title')
        desc = request.GET.get('desc')

        #default_tag_id = T.objects.get(name='untagged').id
        addNoteForm = AddNForm_scrap(initial={
            'url': url,
            'title': title,
            'desc': desc  #, 'tags': [default_tag_id]
        })
        #no need of the custimized form in the scrapbook template
        return render_to_response('scrapbook/notes/addNote.html', {
            'addNoteForm': addNoteForm,
            'desc': desc,
            'url': url,
            'tags': tags
        })