Exemple #1
0
 def test_get_node_attribs(self):
     # Get a valid node
     nid = 1072
     node = ds.get_node_attribs(nid)
     self.assertTrue(isinstance(node, ds.Node))
     self.assertTrue('accomplish' in node.body)
     # Find 2 children
     self.assertEqual(len(node.children), 2)
     # Second child is about 'timeline context'
     self.assertTrue('timeline context' in node.children[1].title)
     # Parent node is about 'Website: tuin'
     parent_node = ds.get_node_attribs(nid=node.parent_id)
     self.assertTrue('Website: tuin' in parent_node.title)
     self.assertTrue(isinstance(node.parent.title, str))
     self.assertEqual(node.parent.title, 'Website: tuin')
Exemple #2
0
def node_add(pid, nid=None):
    form = NodeAdd()
    title = ""
    breadcrumb = ds.get_breadcrumb(pid, [ds.get_node_attribs(pid)])
    if request.method == 'POST':
        if form.validate_on_submit():
            node_vals = dict(
                title=form.title.data,
                body=form.body.data,
                parent_id=form.parent_id.data
            )
            if nid:
                node_vals['nid'] = nid
                ds.Node.edit(**node_vals)
                flash('Node modified', 'info')
            else:
                nid = ds.Node.add(**node_vals)
                flash('Node added', 'info')
            return redirect(url_for('main.node', nid=nid))
    else:
        if nid:
            title = "Edit Node"
            node_vals = ds.Node.query.filter_by(nid=nid).first()
            form.title.data = node_vals.title
            form.body.data = node_vals.body
            form.parent_id.data = node_vals.parent_id
        else:
            title = "Create Node"
            form.parent_id.data = pid
    return render_template('node_add.html', form=form, title=title, breadcrumb=breadcrumb)
Exemple #3
0
def node_outline(nid):
    form = NodeOutline()
    if request.method == "GET":
        # Get node information
        node_obj = ds.get_node_attribs(nid=nid)
        bc = ds.get_breadcrumb(nid=nid)
        params = dict(
            node=node_obj,
            breadcrumb=bc
        )
        # Initialize the form
        # form = NodeOutline(parent=node_obj.parent_id)
        # form.parent.choices = ds.get_tree(exclnid=nid)
        params['form'] = form
        # Add node_outline information
        return render_template('node_outline.html', **params)
    elif request.method == "POST":
        if isinstance(form.parent.data, int):
            params = dict(
                nid=nid,
                parent_id=form.parent.data
            )
            ds.Node.outline(**params)
            return redirect(url_for('main.node', nid=nid))
        else:
            flash("Parent ID must be Integer!", 'error')
            return redirect(url_for('main.node_outline', nid=nid))
Exemple #4
0
def node(nid):
    node_obj = ds.get_node_attribs(nid=nid)
    bc = ds.get_breadcrumb(nid=nid)
    params = dict(
        node=node_obj,
        breadcrumb=bc,
        searchForm=Search()
    )
    ds.History.add(nid)
    return render_template('node.html', **params)
Exemple #5
0
 def test_node_modify(self):
     # Test Node Add to parent 854 (CA Unicenter)
     params = dict(
         title="Test Node",
         body="Text with test Node. Abracadabra for search purpuse.",
         parent_id=854)
     nid = ds.Node.add(**params)
     # print("Node: {nid}".format(nid=nid))
     node = ds.get_node_attribs(nid)
     self.assertTrue(isinstance(node, ds.Node))
     self.assertTrue('Abracadabra' in node.body)
     # Now try to modify the node
     params["body"] = "Now remove special string and add kweepeer instead."
     params["nid"] = nid
     ds.Node.edit(**params)
     ds.Node.delete(nid)