Example #1
0
    def POST(self):
        from brave.notes.core.session import session
        form = self.form()
        error = ""
        if form.validates() and (len(form['category'].value) == 24 or 0 < len(form['newcategory'].value) <= 14):
            title = form['title'].value
            body = form['body'].value
            category = form['category'].value
            newcategory = form['newcategory'].value

            query = dict(user=session.user)
            if len(category) == 24:
                query[b'id'] = category
                cat = Category.objects(**query).first()
            else:
                query[b'title'] = newcategory
                cat = Category.objects(**query).first()
                
                if not cat:
                    cat = Category(session.user, newcategory)
                    cat.save()
            
            if cat:
                found = False
                for note in cat.notes:
                    if note.title == title:
                        found = True
                        break

                if not found:
                    note = Note()
                    note.title = title
                    note.text = body
                    cat.notes.append(note)
                    cat.save()
                    raise web.seeother(settings['path'] + '/notes/view/' + str(note.nid), absolute=True)
                else:
                    error = "Title already exists"
            else:
                error = "Category does not exist!"
        else:
            if not (0 < len(form['newcategory'].value) <= 14):
                error = "Category name needs be between 1-14 characters"
            elif len(form['category'].value) != 24:
                error = "Category ID not valid."
            for k in form.inputs:
                if k.note != None:
                    error = k.note
                    break

        return render.addnote(Category.objects.GetCategories(session.user), error)
Example #2
0
    def POST(self):
        from brave.notes.core.session import session
        form = self.form()
        error = ""
        if form.validates():
            title = form['title'].value
            body = form['body'].value
            category = form['category'].value

            query = dict(user=session.user)
            query[b'id'] = category
            cat = Category.objects(**query).first()
            
            if cat:
                found = False
                for note in cat.notes:
                    if note.title == title:
                        found = True
                        break

                if not found:
                    note = Note()
                    note.title = title
                    note.text = body
                    cat.notes.append(note)
                    cat.save()
                    raise web.seeother(settings['path'] + '/notes/view/' + str(note.nid), absolute=True)
                else:
                    error = "Title already exists"
            else:
                error = "Category does not exist!"
        else:
            for k in form.inputs:
                if k.note != None:
                    error = k.note
                    break

        return render.addnote(Category.objects.GetCategories(session.user), error)
Example #3
0
 def GET(self):
     from brave.notes.core.session import session
     return render.addnote(Category.objects.GetCategories(session.user), "")